資源描述:
《單片機試驗源程序》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、單片機實驗指導書(實驗源程序)實驗二.三I/O接口實驗1、輸出實驗例1:ORG0000HAJMPSTARTORGOO33H;-主程序開始■■…START:MOVP1,#OFFHACALLDELAYCLRP1.0ACALLDELAYSETBP1.0CLRPl.lACALLDELAYSETBPl.lCLRP1.2ACALLDELAYSETBPl.2CLRPl.3ACALLDELAYMOVP1,#OFOHACALLDELAYAJMPSTART;—一延時了程序-…-DELAY:MOVR5,#10LOOP:MOVR6,#200LOOP1:MOVR7,#250LOOP2:DJNZR7,L
2、OOP2DJNZR6,LOOP1DJNZR5,LOOPRET;跳轉(zhuǎn)到初始化程序;是所有LED熄滅;調(diào)用延時子程序;P1.0輸出低電平,使LED3點亮;調(diào)用延時子程序;P1.0輸出高電平,使LED3熄滅;P1.1輸岀低電平,使LED4點亮;調(diào)用延時子程序;P1.1輸出高電平,使LED4熄火;P1.2輸岀低電平,使LED5點亮;調(diào)用延時子程序;P1.2輸出高電平,使LED5熄滅;P1.3輸出低電平,使LED6點亮;調(diào)用延吋子程序;LED3?LED6全部發(fā)光;調(diào)川延時子程序;返回到標號START處再循環(huán)START:MOVP1,#()FFHACALLDELAYMOVMOVACALLM
3、OVACC,#0FEHPl,ACCDELAYR0,#03H例2:ORG0000H;跳轉(zhuǎn)到初始化程序AJMPSTARTORGOO33H;???■■主程序開始;是所有LED熄滅;調(diào)用延時了程序;ACC?]'先裝入LED3亮的數(shù)據(jù)(二進制的11111110);將ACC的數(shù)據(jù)送P1口;調(diào)用延時了程序;上句送到P1口的數(shù)據(jù)就點亮了LED1,所以將數(shù)據(jù)再移L00P3:RLAMOVPl,AACALLDELAYDJNZR(),LOOP3MOVPl,#0F0HACALLDELAYAJMPSTART;延時子程序■■…DELAY:MOVR5,#10LOOP:MOVR6,#200LOOP1:MOVR
4、7,#250LOOP2:DJNZR7,LOOP2DJNZR6,LOOP1DJNZR5,LOOPRET動3次就完成一個4位流水過程;將ACC中的數(shù)據(jù)左移一位;把人02移動過的數(shù)據(jù)送pl口顯示;調(diào)用延吋子程序;沒有移動夠4次繼續(xù)移動;LED3?LED6全部發(fā)光;調(diào)用延吋子程序;返回到標號START處再循環(huán)2、輸入實驗例1:?■匕■匕■匕■”■匕■“■匕?匕?“■匕■“■匕?丄.?匕■匕?”■匕?”■匕?”?匕??滬?p?p?p?p?滬?滬?p;*K1控制LED3亮滅交替*vlxvlxvlxvlxvlxvlxvlxkL^vlxkL^vlxkL^vlxvlxvlx?<1*<1*<1*
5、?卜<1*<1*<1*<1*<1*<1*<1*<1*?卜?卜<1*org0star:movp1,#0hmovp3,#0ffhstl:jbp3.2,$jnbp3.2,$cplpl.Osjmpstlend例2:;*按壓實驗板上的按鈕KI,控制P1.0的LED亮滅*;*按壓KI,LED點亮,再次按壓KI,LED熄滅*;*程序沒有進行按鍵消抖動處理,控制結(jié)果會因為按鍵抖動而出錯*;*按壓K1十次,大概有3?5次輸岀會因為按鍵抖動而發(fā)牛錯誤*;*實驗時請多按兒次,觀察一下效果,加深對按鍵消抖動重要性的認識**1^?丄?■匕?”^2^?上?卜?卜*1^???丄??丄■???卜?丄?■匕?
6、”^2^?匕?卜?丄????丄■*1*???卜?卜?匕?卜*1*???丄■?丄■???卜■匕?丄??匕?卜?丄????丄■?丄■???卜■匕?丄?*X*?匕?丄?*x*?丄????丄?ORG0000HAJMPSTART;跳轉(zhuǎn)到初始化程序7、^rj%^prj*rp^pr
8、^rj^rj*rj*r
9、^rjwrj*r
10、^rj%^p*
11、*rj%rj%rj%rj^rjw*pr
12、^rjwrp^p*
13、*rj%rj%*
14、*rj^rjwrj*r
15、^rjwr^r
16、^r
17、%r^r
18、^rj%rj*rj^rjwrj*r
19、^rjwr
20、^rj*rjwr^r
21、^rprjwrj*rj^rjw;*按壓實驗板上的按鈕KI,控制P1.0的LED亮滅*;*按壓KI,LED點亮,再次按壓KI,LED熄滅*;*程序進行了按鍵消抖動處理,不會出現(xiàn)控制結(jié)果出錯的現(xiàn)象*;*由此可以看出按鍵軟件消抖動的功效*?^prjwr