資源描述:
《單片機(jī)原理與接口技術(shù) 應(yīng)用型高等教育計算機(jī)類 李明 畢萬新 技能訓(xùn)練技能訓(xùn)練5 1源程序.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、技能訓(xùn)練5-1仿真訓(xùn)練一、訓(xùn)練題目:中斷控制多種顯示樣式二、訓(xùn)練目的:熟練掌握在Proteus環(huán)境下原理圖繪制;掌握Proteus環(huán)境下的源程序編輯與編譯;掌握中斷方式下程序的編制方法;掌握中斷返回的使用方法;掌握Proteus仿真調(diào)試方法;三、實訓(xùn)任務(wù):按鈕SW1由引入單片機(jī),每按一次變換一種顯示樣式,共四種顯示樣式,顯示樣式編號由P2口輸出到數(shù)碼管(共陽極)顯示,每種顯示樣式的具體內(nèi)容由P1口輸出到數(shù)碼管(共陰極)顯示,參考電路如技能訓(xùn)練5-1圖1所示。顯示樣式1:顯示樣式數(shù)碼管顯示0~9數(shù)碼;顯示樣式2:顯示樣式數(shù)碼管顯示9~0數(shù)碼;顯示樣式3:顯示樣式數(shù)碼管順時方
2、向依次顯示數(shù)碼筆畫;顯示樣式4:顯示樣式數(shù)碼管逆時方向依次顯示數(shù)碼筆畫;四、訓(xùn)練準(zhǔn)備:復(fù)習(xí)外部中斷的設(shè)置、入口地址、中斷引腳、響應(yīng)條件和編程方法等知識。按任務(wù)要求準(zhǔn)備電路圖和程序。參考電路:如技能訓(xùn)練5-1圖1所示技能訓(xùn)練5-1圖1中斷控制多種顯示樣式參考源程序:FLAGEQU2FH.0ORG0000H;PC復(fù)位地址LJMPSTART;主程序入口地址ORG0003H;外部中斷0矢量地址LJMPINT_0;外部中斷0服務(wù)程序入口地址ORG0100H;主程序入口地址START:SETBFLAGMOVR0,#00MOVP1,#00MOVSP,#60H;堆棧初始化SETBIT0;
3、將外部中斷0設(shè)置為下降沿觸發(fā)方式SETBEA;CPU開中斷SETBEX0;外部中斷0開中斷JBFLAG,$;標(biāo)志沒變等待LOOP:MOVSP,#60H;堆棧初始化MOVA,#00HMOVCA,@A+DPTR;查表CJNEA,#1BH,L1;沒到表的終止標(biāo)志,轉(zhuǎn)到L1處顯示樣式MOVDPL,22H;表的終止標(biāo)志到,表首地址重新送給DPTRMOVDPH,23HAJMPLOOP;轉(zhuǎn)到LOOP處從表首處開始重新顯示樣式L1:MOVP1,ALCALLDELAY;調(diào)用延時INCDPTR;調(diào)整表指針AJMPLOOPORG0300H;外部中斷0服務(wù)程序INT_0:CLRFLAGMOVDP
4、TR,#LOOP;保護(hù)LOOP地址MOV20H,DPHMOV21H,DPLMOVP1,#00;顯示樣式數(shù)碼管起始狀態(tài)為滅I1:CJNER0,#00,I2MOVDPTR,#TABLE0;顯示樣式1,查TABLE0表MOV22H,DPL;保存顯示樣式1表首地址MOV23H,DPHAJMPI6;跳轉(zhuǎn)到I6,輸出顯示模式I2:CJNER0,#01,I3MOVDPTR,#TABLE1;顯示樣式2,查TABLE1表MOV22H,DPL;保存顯示樣式2表首地址MOV23H,DPHAJMPI6;跳轉(zhuǎn)到I6,輸出顯示模式I3:CJNER0,#02,I4MOVDPTR,#TABLE2;顯示樣
5、式3,查TABLE2表MOV22H,DPL;保存顯示樣式3表首地址MOV23H,DPHAJMPI6;跳轉(zhuǎn)到I6,輸出顯示模式I4:CJNER0,#03,I5MOVDPTR,#TABLE3;顯示樣式4,查TABLE3表MOV22H,DPL;保存顯示樣式4表首地址MOV23H,DPHAJMPI6;跳轉(zhuǎn)到I6,輸出顯示模式I5:MOVR0,#00MOVDPTR,#TABLE0MOV22H,DPL;保存顯示模式0表首地址MOV23H,DPHI6:MOVA,R0;二進(jìn)制轉(zhuǎn)十進(jìn)制MOVB,#10DIVABMOVA,BLCALLDISP;調(diào)用查表程序MOVP2,A;輸出顯示樣式編號IN
6、CR0PUSH21H;返回LOOP處PUSH20HRETIDELAY:MOVR7,#10;延時程序D1:MOVR6,#200D2:MOVR5,#248DJNZR5,$DJNZR6,D2DJNZR7,D1RETDISP:INCA;查顯示樣式表TABLEMOVCA,@A+PCRETTABLE:DB0F9H,0A4H,0B0H,99H;共陽極數(shù)碼管1~4數(shù)碼的段值TABLE0:DB3FH,06H,5BH,4FH,66H,6DH,7DHDB07H,7FH,6FH,1BH;共陰極數(shù)碼管1~9數(shù)碼的段值、1BH為結(jié)束碼TABLE1:DB6FH,7FH,07H,7DH,6DH,66H,
7、4FHDB5BH,06H,3FH,1BH;共陰極數(shù)碼管9~1數(shù)碼的段值、1BH為結(jié)束碼TABLE2:DB01H,02H,04H,08H,10H,20H,01H,02H,40H,10HDB08H,04H,40H,20H,01H,1BH;共陰極數(shù)碼管筆畫段值、1BH為結(jié)束碼TABLE3:DB01H,20H,10H,08H,04H,02H,1BH;共陰極數(shù)碼管筆畫段值、1BH為結(jié)束碼END五、實訓(xùn)步驟:1.按照硬件電路原理圖(技能訓(xùn)練5-1圖1),在Proteus環(huán)境下完成原理圖繪制2.根據(jù)實訓(xùn)任務(wù)設(shè)計出相應(yīng)的源程序3.在Prote