?? sdisp.sdi
字號:
,,,;該程序實現在三個數碼管上顯示123,顯示停留5秒鐘
,,,;然后以0.5秒為間隔閃動5次,不斷循環。
,,,;采用靜態顯示方式
,,,LED EQU 8000H ;左邊第1個數碼管的地址
,,,BUFFER EQU 30H ;顯示緩沖區首地址
,,,FLASH BIT 00H ;閃爍標志
,,, ORG 0
0000,02 00 30,, LJMP START
,,, ORG 30H
0030,75 81 60,START,START: MOV SP,#60H
0033,D2 00,, SETB FLASH ;使顯示常亮
0035,78 30,, MOV R0,#BUFFER
0037,7A 03,, MOV R2,#3 ;給顯示緩沖區的單元數
0039,74 01,, MOV A,#1
003B,F6,LOOP1,LOOP1: MOV @R0,A ;給顯示緩沖區賦值
003C,04,, INC A
003D,08,, INC R0
003E,DA FB,, DJNZ R2,LOOP1
0040,12 00 56,LOOP,LOOP: LCALL DISP ;顯示數據
0043,12 00 A2,, LCALL DELAY5S ;延時5秒鐘
0046,7B 0A,, MOV R3,#10 ;閃爍10次
0048,12 00 56,LL1,LL1: LCALL DISP
004B,12 00 93,, LCALL DELAY ;延時0.5秒
004E,B2 00,, CPL FLASH ;閃爍標志取反實現顯示的閃爍
0050,DB F6,, DJNZ R3,LL1
0052,D2 00,, SETB FLASH ;閃爍標志置1,實現顯示常亮
0054,80 EA,, SJMP LOOP
,,,;顯示子程序
,,,;當FLASH標志為1時,將顯示緩沖區的16進制數顯示出來
,,,;當FLASH標志為0時,熄滅所有顯示器
,,,;使用寄存器為A、R0、R2和DPTR
0056,78 30,DISP,DISP: MOV R0,#BUFFER
0058,7A 03,, MOV R2,#3 ;一共有3個數碼管
005A,90 80 00,, MOV DPTR,#LED ;送數碼管地址
005D,30 00 18,, JNB FLASH,DISP2 ;若閃爍標志為0,則轉移
0060,C0 83,DISP1,DISP1: PUSH DPH ;保護數碼管地址
0062,C0 82,, PUSH DPL
0064,E6,, MOV A,@R0
0065,90 00 83,, MOV DPTR,#TAB ;指向顯示段碼的碼表
0068,93,, MOVC A,@A+DPTR ;查表將需要顯示的數據變換為顯示段碼
0069,D0 82,, POP DPL
006B,D0 83,, POP DPH
006D,F0,, MOVX @DPTR,A ;段碼送數碼管顯示
006E,08,, INC R0 ;指向下一個要顯示的數據
006F,E5 83,, MOV A,DPH
0071,24 10,, ADD A,#10H
0073,F5 83,, MOV DPH,A ;指向下一個數碼管
0075,DA E9,, DJNZ R2,DISP1 ;沒有顯示完則繼續
0077,22,, RET
0078,E4,DISP2,DISP2: CLR A
0079,F0,, MOVX @DPTR,A ;熄滅數碼管
007A,E5 83,, MOV A,DPH
007C,24 10,, ADD A,#10H
007E,F5 83,, MOV DPH,A ;指向下一個數碼管
0080,DA F6,, DJNZ R2,DISP2
0082,22,, RET
0083,3F 06 5B 4F,TAB,TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H
008B,7F 6F 77 7C,, DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H
,,,;延時0.5秒子程序
,,,;使用寄存器:R5、R6和R7
0093,7D 02,DELAY,DELAY: MOV R5,#2 ;延時0.5秒子程序
0095,7E FA,D1,D1: MOV R6,#250
0097,7F FA,D2,D2: MOV R7,#250
0099,00,D3,D3: NOP
009A,00,, NOP
009B,DF FC,, DJNZ R7,D3
009D,DE F8,, DJNZ R6,D2
009F,DD F4,, DJNZ R5,D1
00A1,22,, RET
,,,;延時5秒子程序
,,,;使用寄存器:R4
00A2,7C 0A,DELAY5S,DELAY5S:MOV R4,#10 ;延時5秒子程序
00A4,12 00 93,DD1,DD1: LCALL DELAY
00A7,DC FB,, DJNZ R4,DD1
00A9,22,, RET
000E,,, END
,,,
,,,
,,,
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -