;利用8051串行口,和并行輸出串行移位寄存器74LS164, ;擴(kuò)展一位數(shù)碼顯示在數(shù)碼顯示器上循環(huán)顯示0-9這10個(gè)數(shù)字。 ;晶振頻率為11.0592MHZ ;4C00為50ms定時(shí)常數(shù) ORG 0000H LJMP START ORG 000BH ;定時(shí)器0中斷程序入口地址 AJMP INTT0 ORG 0040H START: MOV SP,#60H MOV TMOD,#01H ;定時(shí)器0方式 1 MOV TL0,#00H ;延時(shí) 50mS 的常數(shù) MOV TH0,#4CH MOV R0,#0 MOV R1,#20 MOV SCON,#00H ;置串口工作方式 0 CLR TI CLR RI SETB TR0 ;開(kāi)中斷 SETB ET0 SETB EA SJMP $ INTT0: ;定時(shí)器0中斷子程序 PUSH ACC ;保護(hù)現(xiàn)場(chǎng) PUSH PSW CLR ET0 ;關(guān)定時(shí)器0中斷 CLR TR0 MOV TL0,#00H ;延時(shí) 50mS 的常數(shù) MOV TH0,#4CH DJNZ R1,EXIT MOV R1,#20 ;延時(shí)一秒的常數(shù) MOV DPTR,#DATAb ;置表格基址 MOV A,R0 ;置表格偏移量 MOVC A,@A+DPTR ;讀表格數(shù)據(jù) CLR TI MOV SBUF,A ;串行發(fā)送數(shù)據(jù) INC R0 CJNE R0,#0AH,EXIT ;判斷是否到表尾 MOV R0,#00H ;調(diào)整表格偏移量 EXIT: SETB TR0 SETB ET0 ;開(kāi)定時(shí)器0中斷 POP PSW POP ACC ;恢復(fù)現(xiàn)場(chǎng) RETI DATAb: ;數(shù)碼管顯示常數(shù)表 DB 03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,09H ;0 1 2 3 4 5 6 7 8 9 END |
|