一、實(shí)驗(yàn)?zāi)康?/strong>- 掌握單片機(jī)I/O的工作方式。
- 熟悉51單片機(jī)的匯編指令。
- 掌握單片機(jī)以串行口方式0工作的LED顯示。
- 掌握鍵盤(pán)和LED顯示的編程辦法。
二、實(shí)驗(yàn)設(shè)備STC89C52單片機(jī)實(shí)驗(yàn)板、串口下載線、USB連接線、電腦
三、實(shí)驗(yàn)原理及內(nèi)容利用一個(gè)與P0-0引腳連接的按鍵控制P2-0連接LED的亮、滅兩種狀態(tài),按p24,p27,p26,p27,p2口,8個(gè)燈分別作 左移動(dòng),右移動(dòng),停止,右移,左移。
實(shí)驗(yàn)原理:
89C52一般有四組共32個(gè)IO口,每一個(gè)IO口均可以程序控制其輸出電平為高(1)或低(0),在LED的正極接VCC,負(fù)極接89C52的IO口,通過(guò)控制IO口的輸出為低電平(0V),則VCC經(jīng)LED與89C52的IO形成電流回路,LED點(diǎn)亮。
實(shí)驗(yàn)步驟:
軟件操作過(guò)程參考實(shí)驗(yàn)一。
實(shí)驗(yàn)接線圖:
連接方法:JP10(P2) 與 J12 (LED燈)連接,JP11(P0) 與 JP5(按鍵接口)連接
1.012.jpg (53.89 KB, 下載次數(shù): 75)
下載附件
2017-8-13 02:31 上傳
獨(dú)立按鈕電路圖:
1.013.jpg (21.26 KB, 下載次數(shù): 65)
下載附件
2017-8-13 02:31 上傳
程序代碼(匯編版):
亮燈控制程序:
ORG 0000H
LJMP START
org 0030h
主 程 序 :
- <font color="rgb(0, 0, 0)">START:
- MOV P3, #0FFH
- JNB P0.7,FUN0 ; 檢測(cè)按鍵
- JNB P0.4,FUN1
- JNB P0.5,FUN2
- JNB P0.6,FUN3 ;關(guān)閉按紐
- AJMP START
- FUN0: LCALL DL10MS ;消岸抖動(dòng)
- JB P0.7,START
- WAITL0: JNB P0.7,WAITL0 ;等待鍵釋放
- FUN01: LCALL FUN00
- AJMP START
- FUN1: LCALL DL10MS ;消岸抖動(dòng)
- JB P0.4,START
- WAITL1: JNB P3.3,WAITL1 ;等待鍵釋放
- FUN10: LCALL FUN11
- AJMP START
- FUN2: LCALL DL10MS ;消岸抖動(dòng)
- JB P0.5,START
- WAITL2: JNB P0.5,WAITL2 ;等待鍵釋放
- FUN20: LCALL FUN22
- AJMP START
-
- FUN3: LCALL DL10MS ;消岸抖動(dòng)
- JB P0.6,START
- WAITL3: JNB P0.6,WAITL3 ;等待鍵釋放
- MOV P2,#0FFH ;關(guān)顯示
- LJMP START
-
- FUN00: MOV A,#0FEH ;左移子程序
- FUN000: MOV P2,A
- LCALL DL05S
- JNB ACC.7,OUT ;檢測(cè)是否結(jié)束
- RL A
- AJMP FUN000
- OUT: RET
-
- FUN11: MOV A,#07FH ;右移子程序
- FUN111: MOV P2,A
- LCALL DL05S
- JNB ACC.0,OUT ;檢測(cè)是否結(jié)束
- RR A
- AJMP FUN111
-
- FUN22:MOV A,#0AAH ;間隔顯示子程序
- MOV P2,A
- LCALL DL30S
- CPL A
- MOV P2,A
- LCALL DL30S
- RET
-
- 延時(shí)程序 :
- DL512:MOV R2,#0FFH ;延時(shí)500US
- LOOP1: DJNZ R2,LOOP1
- RET
-
- DL10MS:MOV R3,#14H ;延時(shí)10MS
- LOOP2: LCALL DL512
- DJNZ R3,LOOP2
- RET
-
- DL05S:MOV R4,#0AH ;延時(shí)100MS
- LOOP3: LCALL DL10MS
- DJNZ R4,LOOP3
- RET
-
- DL30S:MOV R5,#03H ;延時(shí)300MS.
- LOOP4:LCALL DL05S
- DJNZ R5,LOOP4
- RET
-
- end</font>
復(fù)制代碼
4、實(shí)驗(yàn)收獲與體會(huì)從實(shí)驗(yàn)結(jié)果來(lái)看,本次實(shí)驗(yàn)成功完成了實(shí)驗(yàn)要求。
實(shí)驗(yàn)剛開(kāi)始,由于對(duì)實(shí)驗(yàn)本身原理,電路圖等的不熟悉,導(dǎo)致我們犯了一些小錯(cuò)誤,在詢問(wèn)了同學(xué)后很快得到了改正,也從中獲益匪淺。不僅熟悉了新知識(shí),加強(qiáng)了動(dòng)手實(shí)踐能力,而且成功完成試驗(yàn)更讓我們對(duì)學(xué)習(xí)充滿了熱情。并且,做實(shí)驗(yàn)時(shí)要有十足的耐心,當(dāng)發(fā)現(xiàn)有問(wèn)題時(shí)要一點(diǎn)一點(diǎn)的檢查排除,手忙腳亂更容易出錯(cuò)。
完整單片機(jī)實(shí)驗(yàn)報(bào)告下載(word格式 可編輯):
http://www.raoushi.com/bbs/dpj-88784-1.html
作者: iofree 時(shí)間: 2019-2-4 10:59
按鍵程序,消抖是關(guān)鍵和難點(diǎn)……
作者: wweqaz 時(shí)間: 2020-3-20 22:02
消抖延時(shí)200毫秒再判斷一次按鍵是否按下就可以了
| 歡迎光臨 (http://www.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |