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

📄 adisplay_s.asm

📁 本文件是用keil编程的
💻 ASM
字号:
;ADISPLAY_S.ASM   串行口显示子程序
;功能:            DP-51板显示测试子程序
;说明:            显示从DBUF0指定单元开始的5个数据
;定义变量
DBUF0      DATA    40H                ;显示缓冲区首址
DBUF1      DATA    41H
DBUF2      DATA    42H
DBUF3      DATA    43H
DBUF4      DATA    44H
BUF        EQU     45H                ;存放中间变量
SP_BT      DATA    60H                ;堆栈指针初值    
LENTH      EQU     05H                ;显示缓冲区长度
FRIT       DATA    P1                 ;定义位口
SDA	   BIT	   P1^0
CLK	   BIT     P1^1	
   
           ORG	   4000H
           LJMP	   MAIN            

           ORG     4100H
MAIN:      MOV     SP,       #60H      ;给指针SP置初值
           MOV     DBUF0,    #00H      ;给显示缓冲区初值
           MOV     DBUF1,    #0dH      ;d
           MOV     DBUF2,    #12H      ;p
           MOV     DBUF3,    #05H      ;5
           MOV     DBUF4,    #01H      ;1  
       
JMPUP:     LCALL   DISPLAY
           AJMP    JMPUP
           
DISPLAY:  
           MOV     R2,       #7FH     ;给位码初值
           MOV     R0,       #DBUF0   ;给显示缓冲区首值
ZCQ:       MOV     A,        @R0
           LCALL   TAB                ;查表取段码
           ACALL   DISP		      ;送段码输出
           MOV     BUF,      FRIT
           ANL     BUF,      #07H
           MOV     A,        R2       ;保证不影响其它位送位码
           ORL     A,        BUF       
           MOV     FRIT,     A
           LCALL   DELAY              ;调延时子程序
 	   MOV	   FRIT,#0FFH
           INC     R0
           MOV     A,        R2
           RR      A
           MOV     R2,       A
           CJNE    R0,       #45H,  ZCQ;5位显示完吗?
	   MOV	   FRIT,     #0FFH
           RET

DISP:
	   MOV	   R3,#08H
DUP:	   RLC	   A
	   MOV	   SDA,C
	   CLR	   CLK
	   SETB	   CLK
	   DJNZ	   R3,DUP
	   RET

;延时子程序
DELAY:     MOV     R7,      #50H     ;12M时钟下延时1MS	
DELAY0:    MOV     R6,      #10H
DELAY1:    DJNZ    R6,      DELAY1
           DJNZ    R7,      DELAY0
           RET
;查表子程序
TAB:       INC     A	             ;基地址加一
           MOVC    A,       @A+PC    ;查段码表,取其相应的段码
           RET
DB         0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,80H,090H,088H,083H,0c6H,0a1H,86H,8eH,0bfH,89H,8cH
	   ;(0-9 A-F)共阳段码表
           END                       ;程序结束         	
           
           		

⌨️ 快捷键说明

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