1,實驗目的:(1)了解數(shù)碼管與單片機的借接口方法; (2)了解數(shù)碼管性能及動態(tài)顯示編程方法; (3)了解單片機系統(tǒng)中定時器控制的基本方法;
2,實驗內(nèi)容: 用定時器實現(xiàn)定時,六位數(shù)碼管動態(tài)顯示123456. 3,實驗接線圖:
圖片1.png (18.7 KB, 下載次數(shù): 120)
下載附件
實驗鏈接圖
2017-7-1 20:51 上傳
4,實驗程序流程: 主程序:數(shù)碼管初始化->LED燈初始化->定時器初始化->第一位數(shù)碼管循環(huán)顯示等待。 中斷服務程序:定時器重新賦初值->切換LED燈狀態(tài)->改變數(shù)碼管顯示位->改變數(shù)碼管顯示值
5,實驗步驟: 將試驗箱和電腦連接即可。 6,參考程序: ORG 0000H LJMP SE13
ORG 000BH ;中斷入口地址 LJMP INTERRUPT
ORG 05E0H SE13: MOV SP,#53H MOV P2,#0ffh MOV A,#81H MOV DPTR,#0FF23H MOVX @DPTR,A ;選中數(shù)碼管
MOV 7EH,#01H MOV 7DH,#02H MOV 7CH,#03H MOV 7BH,#04H MOV 7AH,#05H MOV 79H,#06H
T_INIT: MOV TMOD,#01H ;定時器0工作方式1 ORL IE,#82H ;中斷使能 MOV TL0,#0B0H MOV TH0,#3CH ;定時器初始化 MOV R5,#20 SETB TR0 ;開定時
SSEE: MOV 30H,#20H ;數(shù)碼管位選 MOV 31H,#7EH ;數(shù)碼管段選 MOV R7,#06H ;數(shù)碼管顯示個數(shù)
SSE1: MOV DPTR,#0FF20H MOV A,30H CPL A MOVX @DPTR,A ;位選送入數(shù)據(jù) MOV R0,31H MOV A,@R0 MOV DPTR,#TAB MOVC A,@A+DPTR MOV DPTR,#0FF21H ;字形碼 MOVX @DPTR,A ;段選送入數(shù)據(jù) MOV A,30H RR A ;切換數(shù)碼管顯示位 MOV 30H,A DEC 31H ;改變數(shù)碼管顯示數(shù)值 MOV A,#0FFH MOVX @DPTR,A DJNZ R7,SSE1;
LJMP SSEE ;
INTERRUPT: ;PUSH A MOV TL0,#0B0H MOV TH0,#3CH ;重新賦初值 ;MOV A,23H DJNZ R5,RETU ;1秒到了? MOV R5,#20 ;延時計數(shù)復位
MOV 78H,79H MOV 79H,7AH MOV 7AH,7BH MOV 7BH,7CH MOV 7CH,7DH MOV 7DH,7EH MOV 7EH,78H
RETU:RETI
TAB: ;數(shù)碼管顯示0~F對應值 DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEH END
0 0 1 0 0 0 0 0 B 0 0 0 1 0 0 0 0 1 1 0 1 1 1 1 1 B 1100 0000
|