版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、單片機(jī)的鍵盤和顯示實(shí)驗(yàn)報(bào)告 實(shí)驗(yàn)?zāi)康?. 掌握單片機(jī)I/O的工作方式;2. 掌握單片機(jī)以串行口方式0工作的LED顯示;3. 掌握鍵盤和LED顯示的編程方法。 實(shí)驗(yàn)器材1. G6W仿真器一臺2. MCS51實(shí)驗(yàn)板一臺3. PC機(jī)一臺4. 電源 一臺 實(shí)驗(yàn)內(nèi)容及要求實(shí)驗(yàn)硬件線路圖見附圖從線路圖可見,8051單片機(jī)的P1口作為8個按鍵的輸入端,構(gòu)成獨(dú)立式鍵盤。四個LED顯示器通過四個串/并移位寄存器74LS164接口至8051的串行口,該串行口應(yīng)工作在方式0發(fā)送狀態(tài)下,RXD端送出要顯示的段碼數(shù)據(jù),TXD則作為發(fā)送時鐘來對顯示數(shù)據(jù)進(jìn)行移位操作。編寫一個計(jì)算器程序,當(dāng)某一鍵按下時可執(zhí)行相應(yīng)的加、減、乘
2、、除運(yùn)算方式,在四個顯示器上顯示數(shù)學(xué)算式和最終計(jì)算結(jié)果。注:通過按鍵來選擇加、減、乘、除四種運(yùn)算方式。輸入兩個數(shù)字均為一位十進(jìn)制數(shù),可預(yù)先放在內(nèi)存中。 實(shí)驗(yàn)框圖 (見下頁) 思考題1. 當(dāng)鍵盤采用中斷方式時,硬件電路應(yīng)怎樣連接? P1.4P1.7是鍵輸出線,P1.0P1.3是掃描輸入線。輸入與門用于產(chǎn)生按鍵中斷,其輸入端與各列線相連,再通過上拉電阻接至+5 V電源,輸出端接至8051的外部中斷輸入端。 2.74LS164移位寄存器的移位速率是多少?實(shí)驗(yàn)中要求計(jì)算的式子和結(jié)果之間相差一秒,移位寄存器的移位速率應(yīng)該是每秒一位吧。其實(shí)這個問題確實(shí)不知道怎么回答。否有否P1口置輸入讀P1口開 始顯示“
3、0000”是否有鍵按下?延遲消抖是否有鍵按下?是讀鍵碼加法運(yùn)算減法運(yùn)算除運(yùn)算LED顯示用的段碼與教科書所提供的不同,本實(shí)驗(yàn)采用如下段碼:顯示數(shù)符段碼顯示數(shù)符段碼0BBHADBH109HBF1H2EAHCB2H36BHDE9H459HEF2H573HFD2H6F3H40H70BH04H8FBHA1H97BH1AH滅00HPDAH實(shí)驗(yàn)代碼:ORG 0000HAJMP MAINORG 0030HMAIN:MOV 41H,#0BBH ;對幾個存放地址進(jìn)行初始化 MOV 42H,#0BBH MOV 43H,#0BBH MOV 44H,#0BBH MOV SCON,#00H ;初始化串行口控制寄存器,設(shè)置
4、其為方式0 LCALL DISPLAY ;初始化顯示KEY:MOV R3,#08H;用來存放兩個數(shù)據(jù) MOV R4,#02H MOV P1,#0FFH ;初始化P1口 MOV A,P1 ;讀取按鍵狀態(tài) CPL A ;取正邏輯,高電平表示有鍵按下 JZ KEY ;A=0時無鍵按下,重新掃描鍵盤 LCALL DELAY1;消抖 MOV A,P1 ;再次讀取按鍵狀態(tài) CPL A JZ KEY ;再次判別是否有鍵按下 PUSH AKEY1:MOV A,P1 CPL A ANL A,#0FH ;判別按鍵釋放 JNZ KEY1 ;按鍵未釋放,等待 LCALL DELAY1;釋放,延時去抖動 POP A J
5、B ACC.0,ADD1 ;K1按下轉(zhuǎn)去ADD1 JB ACC.1,SUB1 ;K1按下轉(zhuǎn)去SUB1 JB ACC.2,MUL1 ;K1按下轉(zhuǎn)去MUL1 JB ACC.3,DIV1 ;K1按下轉(zhuǎn)去DIV1 LJMP KEYADD1:LCALL BUFFER ;顯示加數(shù)和被加數(shù) MOV 43H,#049H LCALL DISPLAY ;顯示加號 MOV A,R3 ADD A,R4 DA A MOV R3,A ;相加結(jié)果放入R6 ANL A,#0FH MOV R4,A ;結(jié)果個位放入R7 MOV A,R3 SWAP A ;半字節(jié)交換,高四位放入低四位 ANL A,#0FH MOV R3,A ;結(jié)果
6、的高位放入R6 LCALL L;顯示緩存區(qū)設(shè)置 LCALL DELAY2;延時一秒后顯示 LCALL DISPLAY LJMP KEYSUB1:LCALL BUFFER ;顯示減數(shù)和被減數(shù) MOV 43H,#40H LCALL DISPLAY ;顯示減號 MOV A,R3 CLR CY ;CY清零 SUBB A,R4 ;做減法 PUSH A RLC A ;帶進(jìn)位循環(huán)左移,最高位放入CY JC F ;判斷最高位,若為1則跳轉(zhuǎn)到負(fù)數(shù)ZHENG: POP A MOV R4,A MOV R3,#00H ;高位清零 SJMP OUTFU:POP A CPL A ;取絕對值 INC A MOV R4,A
7、MOV R3,#11H ;顯示負(fù)號OUT: LCALL L ;顯示緩存區(qū)設(shè)置 LCALL DELAY2 ;延時1s后顯示 LCALL DISPLAY LJMP KEYMUL1:LCALL BUFFER ;顯示兩位乘數(shù) MOV 43H,#99H LCALL DISPLAY ;顯示乘號 MOV A,R3 MOV B,R4 MUL AB ;結(jié)果放入AB,A中是低8位,B中是高8位 MOV B,#0AH DIV AB ;十進(jìn)制轉(zhuǎn)換 MOV R4,B ;結(jié)果個位放入R7MOV R3,A ;結(jié)果的十位放入R6 LCALL L LCALL DELAY2 LCALL DISPLAY ;延時1s后顯示 LJMP
8、 KEYDIV1:LCALL BUFFER ;顯示除數(shù)和被除數(shù) MOV 43H,#62H LCALL DISPLAY ;顯示除號 MOV A,R3 MOV B,R4 DIV AB ;A除以B MOV R4,B ;余數(shù)放在R4中 MOV R3,A ;商放在R3中 MOV A,R4 MOVC A,A+DPTR ;調(diào)用段選號 MOV 41H,A ;顯示余數(shù) MOV A,R3 MOVC A,A+DPTR MOV 43H,A ;顯示商 MOV 42H,#00H MOV 44H,#00H LCALL DELAY2 ;延時1S后顯示 LCALL DISPLAY LJMP KEYBUFFER: MOV 41H
9、,#22H ;顯示初始化,在做計(jì)算之前顯示兩個操作數(shù),顯示等號 MOV DPTR,#TABL MOV A,R4 MOVC A,A+DPTR MOV 42H,A MOV A,R3 MOVC A,A+DPTR MOV 44H,A RETDISPLAY:MOV R5,#04H;共四位需要顯示 MOV R0,#41HDISPLAY1:MOV A,R0 MOV SBUF,ADISPLAY2:JNB TI,DISPLAY2;是否傳完了 CLR TI INC R0 DJNZ R5,DISPLAY1 RETL:MOV A,R4 MOVC A,A+DPTR MOV 41H,A ;R4對應(yīng)的段碼 MOV A,R3
10、 MOVC A,A+DPTR MOV 42H,A ;R3對應(yīng)的段碼 MOV 43H,#00H MOV 44H,#00H RETDELAY1: ;普通延時MOV R1,#20HDS1:MOV R2,#0FFHDS2:DJNZ R2,DS2 DJNZ R1,DS1 RETDELAY2:MOV R6,#14H ;定時1S MOV TMOD,#01HDS3:MOV TH0,#3CH MOV TL0,#0B0H ;50ms SETB TR0LOOP:JNB TF0,LOOP CLR TF0 CLR TR0 DJNZ R6,DS3 ;1s到,中斷返回 RETTABL:DB 0BBH 09H 0EAH 6B
11、H ;段碼表 DB 59H 73H 0F3H 0BH DB 0FBH 7BH 00H 0DBH DB 0F1H 0B2H 0E9H 0F2H DB 0D2H 40H實(shí)驗(yàn)結(jié)果及分析按鍵1:8+2= 結(jié)果:10按鍵2:8-2= 結(jié)果: 6按鍵3:8*2= 結(jié)果:16按鍵4:8/2= 結(jié)果:4從上面的結(jié)果可以看出,本次實(shí)驗(yàn)基本完成了實(shí)驗(yàn)要求。本次實(shí)驗(yàn)主要運(yùn)用了鍵盤接口和LED顯示方面的知識,掌握了如何讀取鍵盤狀態(tài)和消抖:MOV P1,#0FFH ;初始化P1口 MOV A,P1 ;讀取按鍵狀態(tài) CPL A ;取正邏輯,高電平表示有鍵按下 JZ KEY ;A=0時無鍵按下,重新掃描鍵盤 LCALL DELAY1;消抖 MOV A,P1 ;再次讀取按鍵狀態(tài) CPL A JZ KEY ;再次判別是否有鍵按下 PUSH AKEY1:MOV A,P1 CPL A ANL A,#0FH ;判別按鍵釋放 JNZ KEY1 ;按鍵未釋放,等待 LCALL DELAY1;釋放,延時去抖動 POP A在計(jì)算過程的顯示中復(fù)習(xí)了定時器的知識:DELAY2:MOV R6,#14H ;定
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025江西省建筑安全員考試題庫附答案
- 《急救護(hù)理困擾》課件
- 《護(hù)理教育學(xué)輔導(dǎo)》課件
- 【大學(xué)課件】土木工程概論 土木工程材料
- 高端裝備數(shù)字化智能工廠項(xiàng)目可行性研究報(bào)告寫作模板-備案審批
- 《莫言英文簡介》課件
- 單位人力資源管理制度匯編大全十篇
- 甘肅省武威市涼州區(qū)2024-2025學(xué)年高一上學(xué)期期末考試歷史試卷(含答案)
- 循環(huán)經(jīng)濟(jì)產(chǎn)業(yè)園雨污分流改造及再生水回用項(xiàng)目可行性研究報(bào)告寫作模板-備案審批
- 單位管理制度收錄大合集【職工管理篇】
- DB14-T 2730-2023 產(chǎn)后康復(fù)管理師等級劃分與評定
- 《預(yù)防流感》主題班會教案3篇
- 湖南省炎德英才大聯(lián)考2025屆高二數(shù)學(xué)第一學(xué)期期末考試試題含解析
- 中等職業(yè)學(xué)?!稒C(jī)械制造工藝基礎(chǔ)》課程標(biāo)準(zhǔn)
- DBJ33T 1312-2024 工程渣土再生填料道路路基技術(shù)規(guī)程
- 高級流行病學(xué)與醫(yī)學(xué)統(tǒng)計(jì)學(xué)智慧樹知到期末考試答案章節(jié)答案2024年浙江中醫(yī)藥大學(xué)
- 服務(wù)開口合同模板
- 2024年200MW-400MWh電化學(xué)儲能電站設(shè)計(jì)方案
- 2024數(shù)據(jù)采集合同模板
- SH/T 3227-2024 石油化工裝置固定水噴霧和水(泡沫)噴淋滅火系統(tǒng)技術(shù)標(biāo)準(zhǔn)(正式版)
- (正式版)JBT 7248-2024 閥門用低溫鋼鑄件技術(shù)規(guī)范
評論
0/150
提交評論