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

📄 zlg7289a.asm

📁 周立功的7289功能在这里了
💻 ASM
字号:
;********************************************************************
;* 公司名称: 吉林工程技术师范学院                                   *
;* 模 块 名:数码管驱动模块 		芯片型号:ZLG7289A          *
;* 创 建 人:韩林			日    期:2006-10-26        *
;* 修 改 人:韩林			日    期:2006-11-23        *
;* 功能描述:ZLG7289A芯片可以驱动8位共阴极数码管动态显示.           *
;* 其他说明:该芯片为SPI接口.共28引脚.                              *
;* 版    本:V1.0                                                   *
;* E-MAIL  : HANLINXP@163.COM		 QQ: 33737559               *
;*                                                                  *
;*       		 COPYRIGHT@2006 - 2007                      *
;*                                                                  *
;********************************************************************
        SCLK_7289A BIT P2.0      ;ZLG7289A的始终控制信号
        SDIO_7289A BIT P2.1      ;ZLG7289A的数据控制信号
        CS_7289A   BIT P2.2      ;ZLG7289A的片选控制信号
        KEY_7289A  BIT P2.3      ;ZLG7289A的按键控制信号
        COMMAND_7289A EQU 3AH    ;ZLG7289A的控制缓冲区
        DAT_7289A EQU 3BH        ;ZLG7289A的数据缓冲区
        REDAT_7289A EQU 3CH      ;ZLG7289A接收键盘的数据缓冲区
        SORD BIT 20H.0           ;判断是单指令还是带数据的指令0->单指令,1->带数据指令
;********************************************************************
;* 子程序名称: INIT_ZLG7289A                                        * 
;* 子程序说明: ZLG7289A初始化,初始化命令:0XA4                      *
;* 调用子程序: ZLG7289A_T                                           *
;* 影响寄存器: 3AH,20H.0                                            *
;* 影响标志位: 无                                                   *
;* 输      入: 无                                                   *
;* 返      回: 无                                                   *
;* 设  计  者:韩林		      日    期:2006-10-26          *
;* 修  改  者:韩林		      日    期:2006-11-23          *
;* E - MAIL  :HANLINXP@163.COM	      QQ:33737559                  *
;*                                                                  *
;*			COPYRIGHT@2006 - 2007                       *
;*                                                                  *
;********************************************************************
INIT_ZLG7289A:
        MOV COMMAND_7289A,#0A4H
        CLR SORD
        ACALL ZLG7289A_T
        RET
;********************************************************************
;* 子程序名称: ZLG7289A_T                                           *
;* 子程序说明: 发送数据SORD = 0为单指令,SORD = 1为带数据的指令    *
;* 调用子程序: TR_7289A                                             *
;* 影响寄存器: A,3AH,20H.0                                          *
;* 影响标志位: 无                                                   *
;* 输      入: COMMAND_7289A(3AH),SORD(20H.0)                       *
;* 返      回: 无                                                   *
;* 设  计  者:韩林		      日    期:2006-10-26          *
;* 修  改  者:韩林		      日    期:2006-11-23          *
;* E - MAIL  :HANLINXP@163.COM	      QQ:33737559                  *
;*                                                                  *
;*			COPYRIGHT@2006 - 2007                       *
;*                                                                  *
;********************************************************************
ZLG7289A_T:
        CLR SCLK_7289A           ;初始ZLG7289A的电平信号
        CLR SDIO_7289A
        CLR CS_7289A            ;选通ZLG7289A
        MOV A,COMMAND_7289A        ;发送控制字
        ACALL TR_7289A
        JNB SORD,RETURN_ZLG     ;如果是单指令则发送数据完毕
        MOV A,DAT_7289A
        ACALL TR_7289A
RETURN_ZLG:
        SETB CS_7289A           ;复位AT89S51
        SETB SCLK_7289A
        SETB SDIO_7289A
        RET
;********************************************************************
;* 子程序名称: ZLG7289A_R                                           *
;* 子程序说明: 从ZLG7289A读回数据                                   *
;* 调用子程序: TR_7289A,RE_7289A                                    *
;* 影响寄存器: A,3AH,20H.0                                          *
;* 影响标志位: 无                                                   *
;* 输      入: COMMAND_7289A,SORD                                   *
;* 返      回: 无                                                   *
;* 设  计  者:韩林		      日    期:2006-10-26          *
;* 修  改  者:韩林		      日    期:2006-11-23          *
;* E - MAIL  :HANLINXP@163.COM	      QQ:33737559                  *
;*                                                                  *
;*			COPYRIGHT@2006 - 2007                       *
;*                                                                  *
;********************************************************************
ZLG7289A_R:
        CLR SCLK_7289A
        CLR SDIO_7289A
        CLR CS_7289A
        MOV A,#015H
        ACALL TR_7289A
        NOP
        NOP
        ACALL RE_7289A
        SETB CS_7289A
        SETB SCLK_7289A
        SETB SDIO_7289A
        RET
;********************************************************************
;* 子程序名称: TR_7289A                                             *
;* 子程序说明: 向ZLG7289A发送一个字节                               *
;* 调用子程序: 无                                                   *
;* 影响寄存器: A,B                                                  *
;* 影响标志位: C                                                    *
;* 输      入: A                                                    *
;* 返      回: 无                                                   *
;* 设  计  者:韩林		      日    期:2006-10-26          *
;* 修  改  者:韩林		      日    期:2006-11-23          *
;* E - MAIL  :HANLINXP@163.COM	      QQ:33737559                  *
;*                                                                  *
;*			COPYRIGHT@2006 - 2007                       *
;*                                                                  *
;********************************************************************
TR_7289A:
        MOV B,#8
LP_TR7289A:
        RLC A
        MOV SDIO_7289A,C
        SETB SCLK_7289A
        NOP
        NOP
        CLR SCLK_7289A
        NOP
        DJNZ B,LP_TR7289A
        RET
;********************************************************************
;* 子程序名称: RE_7289A                                             *
;* 子程序说明: 从ZLG7289A读回一个字节                               *
;* 调用子程序: 无                                                   *
;* 影响寄存器: A,B                                                  *
;* 影响标志位: C                                                    *
;* 输      入: 无                                                   *
;* 返      回: REDAT_7289A                                          *
;* 设  计  者:韩林		      日    期:2006-10-26          *
;* 修  改  者:韩林		      日    期:2006-11-23          *
;* E - MAIL  :HANLINXP@163.COM	      QQ:33737559                  *
;*                                                                  *
;*			COPYRIGHT@2006 - 2007                       *
;*                                                                  *
;********************************************************************
RE_7289A:
        MOV B,#8
LP_RE7289A:
        SETB SCLK_7289A
        MOV C,SDIO_7289A
        RLC A
        CLR SCLK_7289A
        NOP
        NOP
        DJNZ B,LP_RE7289A
        MOV REDAT_7289A,A
        RET
;********************************************************************
;* 子程序名称: DISP_7289A                                           *
;* 子程序说明: 将首地址为30H~37H的数据显示到数码管上               *
;* 调用子程序: ZLG7289A_T                                           *
;* 影响寄存器: R0,R1,R2                                             *
;* 影响标志位: SORD                                                 *
;* 输      入: 30H~37H                                             *
;* 返      回: 无                                                   *
;* 设  计  者:韩林		      日    期:2006-10-26          *
;* 修  改  者:韩林		      日    期:2006-11-23          *
;* E - MAIL  :HANLINXP@163.COM	      QQ:33737559                  *
;*                                                                  *
;*			COPYRIGHT@2006 - 2007                       *
;*                                                                  *
;********************************************************************
DISP_7289A:
        MOV R0,#30H             ;数据缓冲区
        MOV R1,#0C8H            ;地址缓冲区
        MOV R2,#8               ;数据位数
        SETB SORD               ;发带数据的命令
LP_DISP:MOV COMMAND_7289A,R1
        MOV DAT_7289A,@R0
        LCALL ZLG7289A_T
        INC R1
        INC R0
        DJNZ R2,LP_DISP
        RET

⌨️ 快捷键说明

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