DRG 2450 ;显示子程序4
2450 79 08 DISPLAY: MOV R1 , #08H ;设右移次数为8次→R1 2452 A8 F0 MOV R0 ,B ;
2454 7A 20 MOV R2 , #20H ;DG5数位码→R2 2456 90 80 00 L00P1: MOV DPTR , #8000H;数码锁存器地址→DPTR 2459 E6 MOV A , @R0 ; 245A F0 MOVX @DPTAR,A ;
245B 90 60 00 MOV DPTR , #8000H;数位锁存器地址→DPTR 245E EA MOV A , R2 ;
245F F0 MOVX @DPTR, A ;DG5显示符号“0”/“A”
/……
2460 12 24 80 LCALL DELAY4 ; 2463 03 RR A , ; 2464 FA MOV R2 ,A ; 2465 08 INC R0 , ;
2466 D9 EE DJNZ R1 ,LOOP ;DG4~DG0 显示“1”~
“5”/“B”~“F”
2468 22 RET
4)延时子程序
DRG 2480H ;延时1.53ms子程序
2480 7F 02 DELAY4: MOV R7 , #02 ; 2482 7E FF LOOP2: MOV R6 , #OFFH; 2484 DE FE LOOP1: DJNZ R6 , LOOP1 ; 2486 DF FA DKNZ R7 , LOOP2 ; 2488 22 RET ;
五、实验步骤
1.编好程序并翻译为机器码;
15
2.接好电路;
3.键入源程序和驱动码序列表; 4.运行程序并观察显示器工作情况。
六、思考题
1、从左端开始先由一只数码管跳“跳迪斯科”舞蹈3次,然后跟上第二只数码管共同跳舞蹈3次,依次类推直至6只数码管同时显示,跳舞6次后返回程序起始点。
2、动态交替显示。(选做)
16