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