資料介紹
我們?nèi)祟惪梢酝ㄟ^連接手腳上神經(jīng)網(wǎng)絡(luò),肌腱,控制著我們的肌肉做出各種動(dòng)作,完成各種造型。那單片機(jī)里的肌腱和神經(jīng)就是今天我們要講的主角----單片機(jī)的IO口。
我們學(xué)習(xí)單片機(jī),到底學(xué)什么呢?最終落腳點(diǎn),就是落在單片機(jī)的IO口上,其實(shí)最終就是操作單片機(jī)的IO口,什么串口通訊,IIC通信協(xié)議,中斷,定時(shí)器,最終在單片機(jī)上體現(xiàn)出來的還是我們對(duì)單片機(jī)IO口的操作。既然那么重要,今天我們就來好好的說一說單片機(jī)的IO口。
說起單片機(jī)的IO口,大家肯定會(huì)笑話小編,這么簡(jiǎn)單的東西,還要你說。對(duì),它是簡(jiǎn)單,看遍你是個(gè)人寫的單片機(jī)教程,最開始講編程就是從操作單片機(jī)IO口開始,都是從點(diǎn)亮一個(gè)LED燈開始,是的,點(diǎn)亮一個(gè)LED燈,就是對(duì)單片機(jī)IO的最簡(jiǎn)單的操作,要么給高電平,要么給低電平,這也是操作IO的唯一的兩個(gè)方法。怎么說?舉個(gè)例子:要在某個(gè)IO上輸出PWM信號(hào),其實(shí)就是有規(guī)律的在這個(gè)IO上交替的給高低電平,給的速度快慢決定了PWM信號(hào)的頻率,給的高電平的時(shí)間所占一個(gè)高低電平周期的多少,決定了這個(gè)PWM信號(hào)的占空比。這么一說,高大上的PWM信號(hào)是不是就簡(jiǎn)單多了。
說了這么多,下面我們具體來說STC51單的IO的配置和各個(gè)模式的區(qū)別。
STC的51單片機(jī)為了更多更能的使用和運(yùn)用于不同場(chǎng)合,STC51單片機(jī)設(shè)計(jì)了4中IO口模式,分別是:準(zhǔn)雙向IO口模式、推挽輸出模式、高阻輸入模式和開漏輸出模式。每個(gè)IO口的模式配置,需要兩個(gè)寄存器結(jié)合起來進(jìn)行設(shè)置。這兩個(gè)寄存器分別是PnM1和PnM0,(在STC8系列芯片中n=0,1,2,3,4,5,6,7),以P0口為例,配置P0口需要P0M1和P0M0兩個(gè)寄存器進(jìn)行配置,具體如下圖:
即P0M1寄存器的第0位和P0M0寄存器的第0位組合起來配置P0.0位的模式,P0M1寄存器的第1位和P0M0寄存器的第1位組合起來配置P0.1位的模式,P0口的其他位以此類推。具體的PnM1和PnM0寄存器的組合方式如下表所示:
1、準(zhǔn)雙向I/O模式題
準(zhǔn)雙向I/O模式與標(biāo)準(zhǔn)51相比,雖然在內(nèi)部結(jié)構(gòu)上是不同的,但在用法上類同,比如要作為輸入時(shí)都必須先寫“1”置成高電平,然后才能去讀引腳的電平狀態(tài)。兼容傳統(tǒng)的51單片機(jī),在上電復(fù)位后,常規(guī)的IO都是準(zhǔn)雙向IO模式。在準(zhǔn)雙向IO模式下,端口輸出1時(shí)能力很弱,允許外部將其拉低,輸出0時(shí)驅(qū)動(dòng)能力很強(qiáng),可以吸收很大電流(20mA)。從輸出示意圖可以看出,在此模式下有三個(gè)晶體管來適應(yīng)不同的需求。當(dāng)端口寄存器輸出1且引腳也為1時(shí),晶體管“弱上拉”打開,提供基本的驅(qū)動(dòng)電流,如果引腳輸出的1被外部電路拉低時(shí),“極弱上拉”打開,且關(guān)閉“弱上拉”,此時(shí)外部需要有足夠的灌電流來拉低引腳電平;當(dāng)端口寄存器為1,且引腳懸空時(shí),“極弱上拉”打開,提供微弱的電流來維持引腳的高電平;當(dāng)端口寄存器由0變到1時(shí),“強(qiáng)上拉”打開來加快引腳上電平從0到1的轉(zhuǎn)換,強(qiáng)上拉打開后,引腳上電平由0到1的轉(zhuǎn)換需要兩個(gè)時(shí)鐘周期,所以需要讀外部狀態(tài)的時(shí)候,在端口寫1后需要加兩個(gè)空操作來等待引腳電平的轉(zhuǎn)換,完了讀取到的狀態(tài)才是實(shí)際引腳狀態(tài)。
準(zhǔn)雙向IO輸出示意圖
2、推挽輸出模式
推挽輸出的特點(diǎn)是不論輸出高電平還是低電平都能驅(qū)動(dòng)較大的電流,比如輸出高電平時(shí)可以直接點(diǎn)亮LED(要串聯(lián)幾百歐限流電阻),而在準(zhǔn)雙向I/O模式下很難辦到。
推挽輸出模式輸出示意圖
3、高阻輸入模式
此模式下,電流既不能流入也不能流出,這樣可以獲得比較高的輸入阻抗,這在模擬比較器和ADC應(yīng)用中是必需的。高阻態(tài)是數(shù)字電路中的術(shù)語,它既不是高電平也不是低電平,上一級(jí)電路輸出到高阻輸入接口,此接口不會(huì)對(duì)上一級(jí)電路的狀態(tài)有影響,和沒接一樣,不產(chǎn)生電流的衰減,電平也由接入的電平?jīng)Q定,電路分析時(shí)高阻態(tài)可做開路理解??梢园阉醋鬏敵觯ㄝ斎耄╇娮璺浅4蟆_@樣在做ADC轉(zhuǎn)換的時(shí)候是必須要的,我們都知道電壓表的內(nèi)阻我們認(rèn)為是無窮大的,在此,我們用ADC轉(zhuǎn)換實(shí)現(xiàn)電壓表的時(shí)候,就需要在高阻模式下進(jìn)行。注意,在此模式下,不提供20mA的灌電流的吸收能力。
高阻輸入模式示意圖
4、開漏輸出模式
開漏輸出模式既可讀外部狀態(tài),又可以對(duì)外輸出高低電平,但是必須加上拉電阻。當(dāng)端口鎖存器輸出0時(shí),內(nèi)部將關(guān)閉所有上拉晶體管,此時(shí)可以提供20mA的灌電流吸收能力;當(dāng)端口寄存器輸出1是,外部必須接上拉電阻,這也是此模式下的最大的優(yōu)點(diǎn)----電氣兼容性好,外部上拉電阻接3V電源,就能和3V邏輯器件接口,如果上拉電阻接5V電源,又可以與5V邏輯器件接口。
開漏輸出模式示意圖
STC8A特例一 ----內(nèi)部集成了上拉電阻
內(nèi)部已經(jīng)集成了3.7K的上拉電阻,可以通過上拉電阻控制寄存器實(shí)現(xiàn)禁止和使能。使能上拉電阻控制寄存器相關(guān)位后,對(duì)應(yīng)引腳上將接通單片機(jī)內(nèi)部的3.7K電阻,可以省去外部上拉電阻,禁止上拉電阻控制寄存器后將斷開內(nèi)部上拉電阻。官方給出的資料顯示,此3.7K上拉電阻實(shí)測(cè)為4.2K左右,而且在P3.0和P3.1上的上拉電阻可能會(huì)略小一些。
STC8A特例二----施密特觸發(fā)控制
每一個(gè)IO口都對(duì)應(yīng)有施密特觸發(fā)控制位,都可程序控制其使能和禁止。具體使能和禁止的區(qū)別,請(qǐng)參看下表。
本文轉(zhuǎn)載自: 單片機(jī)技術(shù)宅(作者: 小代126)
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請(qǐng)聯(lián)系小編進(jìn)行處理。
(mbbeetchina)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 基于STC51單片機(jī)的風(fēng)扇
- 【轉(zhuǎn)載】配置Keil C51配置開發(fā) STC51單片機(jī)過程
- 基于STC51單片機(jī)控制的電機(jī)調(diào)速度系統(tǒng)設(shè)計(jì)方案 32次下載
- AT89C51、AT89S51、STC89C51有什么區(qū)別? 9次下載
- STC單片機(jī)特殊的IO的用法資料下載
- STC51單片機(jī)的中斷與定時(shí)器進(jìn)行配置的參考資料免費(fèi)下載
- STC單片機(jī)的IO方波脈沖輸出的方法資料和程序免費(fèi)下載
- 51單片機(jī)的IO端口概念知識(shí)點(diǎn)和結(jié)構(gòu)資料免費(fèi)下載
- STC51單片機(jī)的printf函數(shù)的用法和注意事項(xiàng)詳細(xì)說明
- STC51單片機(jī)的必備軟件使用 19次下載
- STC51單片機(jī)串口溫度c程序 28次下載
- STC51單片機(jī)核心板(走線圖) 33次下載
- 基于STC51單片機(jī)的串口收發(fā)的源代碼 55次下載
- 基于STC51單片機(jī)的串口使用的程序源代碼 49次下載
- STC51單片機(jī)設(shè)計(jì)設(shè)置軟件 3次下載
- 遠(yuǎn)程IO與分布式IO的區(qū)別 1322次閱讀
- C51單片機(jī)的IO口介紹(下) 1375次閱讀
- IO與NIO有何區(qū)別 687次閱讀
- AT與STC單片機(jī)的主要區(qū)別 9496次閱讀
- 配置PROFINET IO設(shè)備 1223次閱讀
- HAL庫GPIO輸入模式在cubemx中的配置 1639次閱讀
- stc與at單片機(jī)的區(qū)別 3.3w次閱讀
- stm32的IO模式具體意義 3056次閱讀
- 淺談STC單片機(jī)特殊IO的用法 9268次閱讀
- STC51單片機(jī)的IO配置問題解決方案 1.1w次閱讀
- 關(guān)于STC單片機(jī)IO口的狀態(tài)和配置IO口的工作類型等資料概述 1.1w次閱讀
- STC51單片機(jī)EEPROM的使用方法 3.3w次閱讀
- 關(guān)于單片機(jī)stc15芯片學(xué)習(xí)的串口通信測(cè)試問題 3695次閱讀
- AT89C51單片機(jī)和8051單片機(jī)有什么區(qū)別 4.7w次閱讀
- 單例模式分成餓漢模式和懶漢模式解析 1613次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多