1. 程式人生 > >微控制器擴充套件IO口

微控制器擴充套件IO口

微控制器如何擴充套件IO口?

首先我們先講講為什麼要擴充套件IO口。在我們使用51微控制器的時候,有時候會出現IO口不夠用的情況。比如鍵盤!這個時候IO口的資源就十分有限了。

按鍵是我們常用的器件,做某些東西的時候又不能缺少按鍵。如果一個按鍵對應一個IO口,那麼可想而知,按鍵所佔的IO口的數量是很大的。微控制器IO口的資源是有限的,因此我們要採取一些方法來擴充套件微控制器的IO口,控制按鍵所佔的微控制器IO口。

下面有幾種方法可以擴充套件微控制器的IO口:

1. 通過資料快取器、鎖存器來擴充套件微控制器IO口。

這裡採用74HC164來擴充套件微控制器IO口。


2. 採用可程式設計I/O介面擴充套件晶片。

8255A是Intel公司生產的8位可程式設計並行介面晶片。內部有3個可程式設計的並行I/O口:PA口、PB口、PC口。


3. 採用矩陣鍵盤也可以減少IO口的使用。

矩陣鍵盤是常用的一種方式。可以根據掃描的方法來得到按鍵按下的位置


4. 採用A/D獲取按鍵的位置。

因為每個按鍵按下時,獲得的電壓不同。因此啟動AD取樣,根據得到的電壓值的不同,判斷按鍵的位置。


相關推薦

微控制器擴充套件IO

微控制器如何擴充套件IO口? 首先我們先講講為什麼要擴充套件IO口。在我們使用51微控制器的時候,有時候會出現IO口不夠用的情況。比如鍵盤!這個時候IO口的資源就十分有限了。 按鍵是我們常用的器件,做

51微控制器IO擴充套件晶片用法(74HC165,74HC595)

IO口擴充套件晶片,主要是解決微控制器IO口太少。 74HC165:資料從並轉串 74HC595:資料從串轉並 兩種晶片,都是通過時序電路,加上移位功能,進行資料傳輸 74HC165:資料從並轉串。以下例項,實現8個獨立按鍵,控制數碼管的8段 #include <reg52.h

PIC微控制器IO對映問題

我們可以在手冊上看到管腳分佈表: 和管腳對映有關的是:RP0~RP31(雙向對映,既能夠做輸出對映也能夠作為輸入對映),共32個管腳                                         RPI32~RPI43(只能夠作為輸入對映,不能夠作為輸出

使用微控制器普通IO模擬串列埠的三種方法

隨著微控制器的使用日益頻繁,用其作前置機進行採集和通訊也常見於各種應用,一般是利用前置 機採集各種終端資料後進行處理、儲存,再主動或被動上報給管理站。這種情況下下,採集會需 要一個串列埠,上報又需要另一個串列埠,這就要求微控制器具有雙串列埠的功能,但我們知道一般的51 系列只提供一個串列埠,那麼另一

深入解讀微控制器IO模擬IIC程式設計

在微控制器的開發過程中,經常會使用IIC介面連線外部感測器獲得相應的資料。一旦我們的IIC介面數目較多而微控制器固有的IIC介面不夠的情況,這時一個微控制器普通IO口模擬IIC的做法可以解決我們的尷尬。這篇部落格詳細的介紹STM32F103的IO口模擬IIC的詳細做法。

微控制器小白學步系列(二十) IO原理

IO口操作是微控制器實踐中最基本最重要的一個知識,本篇花了比較長的篇幅介紹IO口的原理。也是查閱了不少資料,確保內容正確無誤,花了很長時間寫的。IO口原理原本需要涉及很多深入的知識,而這裡盡最大可能做了簡化方便理解。這樣對於以後解決各種IO口相關的問題會有很大的幫助。 IO口等效模型是本人獨創的方法,通

STC微控制器之我見(一)-----IO

本文以STC12C5A60S2系列微控制器為例來介紹: 先介紹準雙向口模式,其拉電流為200mA左右,比如P2.0口外接一個100歐電阻和小led燈珠。做實驗的時候會發現燈珠的亮度其實很低,因為電流太小。當設定成強推輓輸出時會發現燈珠明顯比較亮,因為此時的電流已經達到了20

02微控制器IO操作

 其實真的不能再簡單了哦,就是三個暫存器。 1.PxSEL:設定某一個的IO口是作為基本的IO口還是作為第二功能的介面來使用。(0:基本IO,1:外設功能) 2.PxDIR:設定作為基本功能的IO口到底是作為輸入還是輸出使用。(0:輸入,1:輸出) 3.PxINP:設定某一

51微控制器---IO (準雙向和雙向的區別)

P0口:雙向8位三態I/O口P1口:準雙向8位I/O口P2口:準雙向8位I/O口P3口:準雙向8位I/O口這裡特別要主要準雙向與雙向三態I/O的區別:P1口,P2口,P3口是3個8位準雙向的I/O口,各口線在片內均有固定的上拉電阻,當這三個準雙向I/O口作輸入口使用時,要想該口先寫1,另外準雙向I/O口無高阻

關於微控制器IO接開關三極體的疑惑

關於以下問題的不完全解答: 1、對於NPN型管,高電平驅動。基極電阻與微控制器IO內部上拉電阻為串聯,增加基極電阻也就增加了該電阻的分壓。當電阻較小時分壓不夠,可能使IO口電位低於達到高電平的最小電壓,從而被外部拉低。 2、對於PNP型管,低電平驅動。若如下面方式連線,則三

STM32的IO

enum 都是 芯片 復用 一個 article 模擬 font 下拉 STM32 的 IO 口 能夠由軟件配置成例如以下 8 種模式: 1、輸入浮空 2、輸入上拉 3、輸入下拉 4、模擬輸入 5、開漏輸出 6、推挽輸出 7、推挽式復用功能 8、開漏復用功能 每一個

巧妙的IO按鍵掃描方法

添加 files 模塊 不能 zoom 二極管 2個 排列 什麽 在做項目的時候,我們經常要用到比較多的按鍵,而且IO資源緊張,於是我們就想方設法地在別的模塊中節省IO口,好不容易擠出一兩個IO口,卻發現仍然不夠用,實在沒辦法了就添加一個IC來掃鍵。一個IC雖然價格不高,但

stm8 io重映射

它的 分享 byte -- 系列 而是 ash 一次 stm8s STM8S003F3端口可以設置重映射,如pin16的PC6管腳,默認復用功能是SPI_MOSI功能,可以重映射為TIM1_CH1,也就是timer1的1通道。映射方式並不像STM32那樣有個AFR寄存器來配

STM32F030如何正確配置IO的復用功能

追蹤 ini its 映射模式 輸入 parameter eve com typedef   本文所使用的單片機型號為STM32F030C8T6.   在030系列的單片機中,PA2引腳除了作為普通的IO引腳用作輸入輸出功能以外,還可以作為內部外設串口1,串口2,定時器15

關於stm32的IO的封裝

ret 0x03 stm32 UNC 怎樣 out part div red 前言:STM32的PA,PB各有16腳,用不上那麽多,該怎樣處理呢? 註:unchar 是 unsigned char 關於輸出同時操作8位 1 //*********************

51單片機:IO擴展芯片用法(74HC165,74HC595)

效果 urn bit put AD NPU com 數據 輸入 IO口擴展芯片,主要是解決單片機IO口太少。 74HC165:數據從並轉串 74HC595:數據從串轉並 兩種芯片,都是通過時序電路,加上移位功能,進行數據傳輸 74HC165:數據從並轉串。以下

15 核心裡控制IO

核心裡控制IO口 在linux核心裡mmu已經啟用,不能直接訪問實體地址,必須要把實體地址對映到一個虛擬地址上,然後通過該虛擬地址來訪問原實體地址。 相關函式: void *ioremap(cookie, size) //用於把指定的實體地址對映到一個虛擬地址上

微控制器I/O推輓輸出與開漏輸出的區別(open-drain與push-pull)

推輓(push-pull):推輓輸出的器件是指輸出腳內部整合有一對互補的MOSFET,當Q1導通、Q2截止時輸出高電平;而當Q1截止導通、Q2導通時輸出低電平。一個導通另一個就截止。 集電極開路:輸出端相當於孤立三極體的集電極. 要得到高電平狀態需要上拉電阻才行. 適合於做電流型的驅動,其吸收電

STM3216位IO操作的一些教訓

 最近在用TFT屏的時候走啦不少彎路,因為TFT屏都是16位的,所以大部分的都是採用一組IO口對應16個數據位剛好並口傳輸資料,最近因為IO口緊缺,所以想要改成串列埠,但是發現串列埠重新整理螢幕太慢所以最後改成8位的並口,但是STM32操作IO口的暫存器是16位的。也就是說用並口的話一

stm32 PB3 PB4 PA15引腳作為普通IO使用指南

stm32的PB3 PB4 PA15引腳可以在使用SWD模擬和燒錄的情況下釋放出來,作為普通IO口使用。 初始化程式碼如下: GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCm