⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 display_xian.asm

📁 基于51单片机的频率计设计
💻 ASM
字号:
DisplayBuffer EQU 40H
Disp1  EQU  35H         ;输出数据10进制(高位)
Disp2  EQU  36H
Disp3  EQU  37H     

        
       ORG 0000H
       LJMP MAIN
       ORG 0100H
MAIN:  MOV Disp1,#07H    ;10进制初值
       MOV Disp2,#45H
       MOV Disp3,#65H
       
       MOV R0,#DisplayBuffer       ;分别取出每一位,放到DisplayBuffer
       MOV A,Disp1
       ANL A,#0F0H
       SWAP A
       MOV @R0,A
       INC R0
       MOV A,Disp1
       ANL A,#0FH
       MOV @R0,A
       INC R0
       MOV A,Disp2
       ANL A,#0F0H
       SWAP A
       MOV @R0,A
       INC R0
       MOV A,Disp2
       ANL A,#0FH
       MOV @R0,A
       INC R0
       MOV A,Disp3
       ANL A,#0F0H
       SWAP A
       MOV @R0,A
       INC R0
       MOV A,Disp3
       ANL A,#0FH
       MOV @R0,A

        ;MOV 40H,#00
        ;MOV 41H,#07
        ;MOV 42H,#04
        ;MOV 43H,#05
        ;MOV 44H,#06
        ;MOV 45H,#05
DISPLAY:
       MOV   R1,#DisplayBuffer       ;指向显示数据首址
       MOV   R4,#11111110b      ;扫描控制字初值
PLAY:  MOV   A,R4          ;扫描字放入A
       MOV   P2,A          ;从P2口输出
       MOV   A,@R1         ;取显示数据到A
       MOV   DPTR,#TAB     ;取段码表地址
       MOVC  A,@A+DPTR     ;查显示数据对应段码
       MOV   P1,A          ;段码放入P1口
       LCALL  Delay
       INC   R1            ;指向下一地址
       MOV   A,R4            ;扫描控制字放入A
       JNB   ACC.5,DISPLAY    ;扫到第六位时结束
       RL   A               ;A中数据循环左移
       MOV   R4,A            ;放回R5内
       AJMP  PLAY            ;跳回PLAY循环

TAB: DB 3FH,06H,5BH,4FH,66H
     DB 6DH,7DH,07H,7FH,6FH            ;"0""1""2" "3""4""5""6""7" "8""9""
     
Delay:
       MOV R6,#2
Del:
       MOV R7,#249
       DJNZ R7,$
       DJNZ R6,Del
       RET

       END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -