STC89C52RC單片機共有4個雙向的8位并行I/O端口,片內I/O端口作為輸出使用時,最常用的應用控制是相應的I/O引腳上的LED點亮與熄滅。
1.P1口1.1 位電路結構由三部分組成:
(1)1個數據輸出鎖存器,用于輸出數據位的鎖存;
(2)2個三態的數據輸入緩沖器BUF1和BUF2,用于讀鎖存數據和讀引腳數據的輸入緩沖;
(3)輸入驅動電路,由1個場效應管(FET)和1個片內上拉電阻組成。
P1口某一位的位電路結構如下圖所示:
圖1-1
P1口只能作為通用的I/O口使用。
(1)P1口作為輸出口時,若CPU輸出1,Q=1,Q*=0,場效應管截止,P1口引腳的輸出為1;若CPU輸出0,Q=0,Q*= 1,場效應管導通,P1口引腳的輸出為0。
(2)P1口作為輸入口時,分為“讀鎖存器”和“讀引腳”兩種方式!白x鎖存器”時,鎖存器的輸出端Q的狀態經輸入緩沖器BUF1進入內部總線;“讀引腳”時,先向鎖存器寫1,使場效應管截止,P1.x引腳上的電平經輸入緩沖器BUF2進入內部總線。
1.3 P1口特點P1口由于有內部上拉電阻,沒有高阻抗輸入狀態,故為準雙向口。作為輸出口時,不需要在片外接上拉電阻。
P1口“讀引腳”輸入時,必須先向鎖存器寫入1。
2.循環移位原理循環移位法是采用循環程序結構進行編程。我們在程序一開始就給 P1口送一個數,這個數本身就讓P1.0先低,其他位為高,然后延時一段時間,再讓這個數據向高位移動,然后再輸出至P1口,這樣就實現“流水”效果了。
3.接口芯片本項目選擇的擴展I/O芯片是74HC595。74HC595芯片是一種串入并出的芯片,有8位串行輸入/輸出或者并行輸出移位寄存器,具有高阻、關、斷三態。
下表說明了74HC595芯片的引腳功能。
圖1-2
接口電路圖如下,可以看到U4中Q0-Q7接LED,U5Q0-Q7接矩陣。
圖1-3
圖 1-4
SDI為數據輸入引腳,與11、12引腳都接51單片機。SDO引腳為數據輸出。
二、實驗目的掌握流水燈系統的基本組成以及工作原理。使設計出來的流水燈達到設計任務書的技術要求。
三、實驗內容擴展I/O口,連接8個LED,編寫程序使其從右到左的流水方式點亮。
四、實驗設備硬件設備:51單片機開發版、USB線一根,12v電源適配器一個。
圖1-3
軟件工具:STC-ISP-15XX-V6.82,keil。
五、核心代碼連接設備,將USB線一端接PC,一端接單片機開發板,開發板接12V電源,打開電源開關
圖1-4
打開STC-ISP下載工具
圖1-4
選擇好單片機型號STC89C52RC,掃描串口號,其他設置為默認;然后點擊打開程序文件,出現下圖
圖1-5
進入目錄obj,選擇需要下載的hex文件打開;關閉電源→點擊下載/編輯→打開電源,程序開始下載,出現下圖則操作成功
圖1-6
七、實驗驗證將開發板電源關閉,然后再打開,查看板上8個LED是否按流水的方式依次從右到左點亮,如果來回循環點亮則說明實驗成功。
(1)思考題1是否可以讓8個LED燈跳著點亮?
(2)思考題2從左到右依次點亮是否也可以做到,怎么編寫?
完整的Word格式單片機流水燈實驗指導書文檔51黑下載地址:
流水燈.doc
(4.87 MB, 下載次數: 6)
歡迎光臨 (http://www.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |