《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 其他 > 教程:51單片機IO口應用實驗

教程:51單片機IO口應用實驗

2023-01-31
來源:滑小稽筆記
關鍵詞: 51單片機 寄存器 IO口

  IO(Input/Output),即輸入輸出端口,就是單片機的IO口,STC89C52RC單片機具有4組IO口,P0~P3,每一組IO都有8個IO口,且8個IO口都可以單獨讀寫,也就是說STC89C52RC單片機具備32個可以單獨讀寫的IO口,這些端口可以通過程序來控制輸出高低電平,高電平5V,低電平0V,也可以通過程序讀取端口輸入的電平狀態(tài),IO端口的操作有兩種方式,一種是位帶操作,這種操作是單獨控制其中某一個IO端口,還有一種是總線式操作,就是可以同時給P0~P3這4組IO中的其中一組進行賦值,同時令8個IO口同時輸出或者輸入信號。

  2.1 位帶操作

  2.1.1 原理圖

251.JPG

  2.1.2 數(shù)據(jù)的輸出

250.JPG

  第13行:利用sbit關鍵字定義一個端口名稱,把P1.0端口定義成LED,之后的開發(fā)中,所有的端口定義都需要用到sbit關鍵字,這個格式需要牢記

  第22行~第27行:延時函數(shù),通過2級循環(huán)完成的延時功能,由于單片機外部時鐘是12MHz,所以程序執(zhí)行起來會非常快,如果沒有延時函數(shù),在這個實驗中,就無法實現(xiàn)LED的閃爍功能(因為人眼并沒有那么快)

  第35行:控制P1.0輸出低電平,即0V,由于硬件電路LED的正極通過一個電阻接到了5V上,根據(jù)二極管的單向導電性,當負極為0V時,LED就會發(fā)光,當負極為5V時,LED就會熄滅,電阻起到了限制電流的作用,防止電流過大燒毀LED

  第36行:調(diào)用延時函數(shù),設置延時500ms

  第37行:控制P1.0輸出高電平,即5V。

  注:主循環(huán)里面的不停地將P1.0端口設置成0V和5V的過程就可以控制LED不停的亮滅,其中延時函數(shù)就是為了讓人眼能夠看到這個過程,如果沒有延時函數(shù),就會因為程序執(zhí)行的過快導致無法看到閃爍的效果。

  2.1.3 數(shù)據(jù)的輸入

249.JPG

  這段程序和上一段數(shù)據(jù)輸出的程序差不多,重點看以下幾個位置

  第14行:利用關鍵字sbit定義端口P1.7在程序中的名稱為KEY

  第35行~第43行:檢測按鍵是否按下的流程

 ?。?)檢測到P1.7端口為低電平,即0V,因為按鍵的一端接單片機P1.7端口,另一端接在了GND上,所以按下后端口被強制拉到0V,抬起后,單片機P1.7端口到恢復5V

  (2)延時一段時間(延時去抖動):延時的原因是由于機械按鍵按下后不是嚴格的按下,而是會有一段電平不穩(wěn)定的時間,所以需要用程序將這段時間的電平忽略掉

 ?。?)經(jīng)過10ms后再一次檢測到P1.7位低電平,這時,才能夠確定按鍵的確按下了,此時P1.0輸出低電平點亮LED

  第44行~第47行:按鍵沒有按下時,P1.7是默認的高電平,此時控制P1.0輸出高電平

  2.2 總線操作

  2.2.1 原理圖

248.JPG

  2.2.2 數(shù)據(jù)的輸出

247.JPG

  當控制這種多個LED的時候,位帶操作就顯得比較麻煩,因為光sbit定義就需要8個,所以此時可以直接控制P1寄存器來控制LED狀態(tài),通過直接將數(shù)據(jù)寫入P1寄存器來控制LED狀態(tài)。

  第28行:定義P1寄存器數(shù)據(jù),將8位二進制代碼轉換成16進制數(shù)據(jù),由于LED接在了P1端口上,所以每個燈的狀態(tài)如下表所示

246.JPG

  其中LED7為數(shù)據(jù)最高位,所以數(shù)據(jù)應該是1111 1110,而不是0111 1111

  第32行~第36行:利用for循環(huán),循環(huán)8次將數(shù)據(jù)送入P1寄存器,P1寄存器的數(shù)據(jù)會直接映射在P1端口上。

  2.2.3 數(shù)據(jù)的輸入

245.JPG

  數(shù)據(jù)輸入這一部分代碼明顯少了很多,因為這里面不需要延時函數(shù),所以直接刪去了延時函數(shù),在編程時,如果沒有用到的函數(shù)可以直接注釋掉或者刪除,因為如果有函數(shù)沒有調(diào)用,編譯會報警告,但是并不影響程序執(zhí)行結果,重點看17行的代碼,將P3讀取到的數(shù)據(jù)直接寫入P1寄存器中,因為8個按鍵接在了P3端口上,LED接在了P1端口上,所以剛好可以通過按鍵來實現(xiàn)LED的控制。



更多信息可以來這里獲取==>>電子技術應用-AET<<

mmexport1621241704608.jpg

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權者。如涉及作品內(nèi)容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:[email protected]
主站蜘蛛池模板: 日韩欧美亚洲每的更新在线 | 国产91一区二这在线播放 | 亚洲成av人片在线观看无码 | 精品日韩一区二区三区 | 曰韩毛片| 色手机在线| 国产精品视频免费观看调教网 | 日韩久久久精品中文字幕 | 国产欧美一区二区三区免费 | 亚洲二区在线观看 | 成人男女18免费o | 国产一区二区三区日韩欧美 | 亚洲国产精品网 | 在线はじめてのおるすばん | 国产做a爰片久久毛片a | 久青草国产97香蕉在线视频xx | 亚洲欧美日韩精品久久亚洲区 | 精品72久久久久久久中文字幕 | 加勒比综合 | 欧美一级大片免费看 | 欧美日韩永久久一区二区三区 | www欧美com| 亚洲国产激情一区二区三区 | 久草视频免费在线 | 国产成人综合在线 | 午夜不卡av免费 | 日韩在线1 | 韩国一级性生活片 | 亚洲欧美网址 | 欧美日韩一区二区中文字幕视频 | 精品无人区一区二区三区a 精品午夜国产在线观看不卡 | 加勒比综合在线 | 牛人国产偷窥女洗浴在线观看 | 成年人在线观看免费 | 国产精品成人一区二区 | 国产一级做性视频 | 九九精品视频一区在线 | 在线观看视频亚洲 | 久草视频免费在线播放 | 伊人情人综合网 | 日韩精品一区二三区中文 |