單片機(jī)實(shí)驗(yàn) IO口的輸入輸出實(shí)驗(yàn)_第1頁
單片機(jī)實(shí)驗(yàn) IO口的輸入輸出實(shí)驗(yàn)_第2頁
單片機(jī)實(shí)驗(yàn) IO口的輸入輸出實(shí)驗(yàn)_第3頁
單片機(jī)實(shí)驗(yàn) IO口的輸入輸出實(shí)驗(yàn)_第4頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、. 實(shí)驗(yàn)二 I/O口輸入、輸出實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?. 學(xué)習(xí)I/O口的使用方法。2. 學(xué)習(xí)延時(shí)子程序、查表程序的編寫和使用。二、參考程序框圖開始讀入P1口值置計(jì)數(shù)初值=0P1口置1將讀入的值輸出到P0P1=0FFH?YN輸入值右移1位到CyCy=0?N計(jì)數(shù)值+1Y以計(jì)數(shù)值查段碼表段碼輸出到P2開始延時(shí)設(shè)置初始值數(shù)據(jù)輸出左移一位 三、程序設(shè)計(jì)1、P0口循環(huán)點(diǎn)亮程序 ORG 0030HSTART : MOV P2,#00H; /消影 MOV A ,#01H; /LOOP : MOV P2 ,A; /點(diǎn)亮一個(gè)led燈 ACALL DELAY; /延時(shí)500ms RL A; /左移一位 AJMP LOOP

2、; /跳轉(zhuǎn)循環(huán)DELAY : MOV R7,#10; /延時(shí)程序DE1 : MOV R6,#200;DE2 : MOV R5,#123; DJNZ R5,$; DJNZ R6,DE2; DJNZ R7,DE1; RET END 2、I/O口輸入輸出(方法一) ORG 0000H; START : MOV P2,#00H; /初始化 MOV P0,#00H; MOV P1,#0FFH; /p1口初始化給ffh值 MOV DPTR,#TABLE; /表地址存入DPTR MOV 50H,#0FEH; /比較初值載入地址50hL0 :MOV A,P1; /按鍵消抖 CJNE A,#0FFH,L1; A

3、JMP L0;L1 :MOV A,P1; CJNE A,#0FFH,LL1; AJMP L0;LL1 :CJNE A,50H,LL2; /是否與地址50h中數(shù)據(jù)相等 MOV P0,A; /相等 輸出對應(yīng)led燈 MOV A,#00H; MOVC A,A+DPTR; MOV P2,A; /輸出表格數(shù)據(jù)到數(shù)碼管 LCALL DELAY; /延時(shí) LJMP START; /返回程序開頭LL2 :XCH A,50H; /交換數(shù)據(jù) RL A; /左移 XCH A,50H; /再次交換,此時(shí)地址50h中數(shù)據(jù)左移一位 INC DPTR; /表格數(shù)據(jù)地址加一 LJMP LL1; /返回 繼續(xù)比較DELAY :

4、 MOV R7,#01H; /延時(shí)程序DE1 : MOV R6,#28H;DE2 : MOV R5,#5AH; DJNZ R5,$; DJNZ R6,DE2; DJNZ R7,DE1; RET TABLE : ;/DB 0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H; DB 06H,5BH,4FH,66H,6DH,7DH,07H,7FH; /表格數(shù)據(jù) END 程序二(方法二)ORG 0000H MOV P2,#00H; /I./O口初始化 MOV P1,#0FFH; /P1口賦FFH初值 MOV P0,#00H; START : MOV P2,#00H; /P2清0;

5、MOV P0,#00H; /P0清0; MOV R1 ,P1; MOV A,R1; /讀P1口 CJNE A,#0FFH,L1; /是否有數(shù)據(jù)輸入 AJMP START; /無輸入則跳轉(zhuǎn),繼續(xù)查詢 LCALL DELAY; L1 : MOV R1,P1; /消除按鍵抖動(dòng) MOV A,R1; CJNE A, #0FFH,LL1; AJMP START;LL1 : CJNE A,#0FEH,LL2; /是否按鍵1輸入 MOV P2,#06H; /是則P2輸出相應(yīng)的按鍵號碼 CPL A; /A取反 MOV P0,A; /輸出到P0口 LCALL DELAY; /延遲 AJMP LP; /跳轉(zhuǎn)到LPL

6、L2 : CJNE A,#0FDH,LL3; /是否按鍵2輸入 MOV P2,#5BH; /以下同上 CPL A; MOV P0,A; LCALL DELAY; AJMP LP;LL3 : CJNE A,#0FBH,LL4; /判斷按鍵3是否按下 MOV P2,#4FH; CPL A; MOV P0,A; LCALL DELAY; AJMP LP;LL4 : CJNE A,#0F7H,LL5; /判斷按鍵4是否按下 MOV P2,#66H; CPL A; MOV P0,A; LCALL DELAY; AJMP LP;LL5 : CJNE A,#0EFH,LL6; /判斷按鍵5是否按下 MOV

7、P2,#6DH; CPL A; MOV P0,A; LCALL DELAY; AJMP LP;LL6 : CJNE A,#0DFH,LL7; /判斷按鍵6是否按下 MOV P2,#7DH; CPL A; MOV P0,A; LCALL DELAY; AJMP LP;LL7 : CJNE A,#0BFH,LL8; /判斷按鍵7是否按下 MOV P2,#07H; CPL A; MOV P0,A; LCALL DELAY; AJMP LP;LL8 : CJNE A,#7FH,LP; /判斷按鍵8是否按下 MOV P2,#7FH; CPL A; MOV P0,A; LCALL DELAY;LP : AJMP START; /跳轉(zhuǎn)回程序開頭DELAY : MOV R7,#01H; /延時(shí)程序DE1 : MOV R6,#28H;DE2 : MOV R5,#5AH; DJNZ R5,$; DJNZ R6,DE2; DJNZ R7,DE1; RET END 四、思考題 1、LED循環(huán)方向更改:RL A; 改成 RR A; 1S的延時(shí)程序: DELAY : MOV R7,#20; /延時(shí)程序DE1 : MOV R6,#200;DE2 : MO

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論