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

📄 anjian.asm

📁 按键显示汇编
💻 ASM
字号:
                 DAT BIT P1.2 ;HD7279A的DATA连接于P1.2
                 KEY BIT P3.2 ;HD7279A的KEY连接于P3.2
                 CS BIT P1.0 ;HD7279A的CS连接于P1.0
                  CLK BIT P1.1 ;HD7279A的CLK连接于P1.1
                  ORG 000H
                    LJMP START
                   ORG 100H
START:             MOV SP,#2FH
                   MOV P1,#11011011B ;I/O口初始化
                   MOV TIMER,#50 ;延时约25MS
START_DELAY:       MOV TIMER1,#255
START_DELAY1:      DJNZ TIMER1,START_DELAY1
                   DJNZ TIMER,START_DELAY
                    MOV DATA_OUT,#10100100B ; 发复位(清除)指令
                    LCALL SEND
                    SETB CS ; 恢复CS为高电平
                     MOV DATA_OUT,#00010101B ;有键按下,发送读键盘指令
                     LCALL SEND
                     LCALL RECEIVE
                     SETB CS ;设CS为高电平
                       MOV B,#10 ;16 进制--BCD转换
                     MOV A,DATA_IN
MAIN:              JB KEY,MAIN ;检测是否有键按下

                   DIV AB
                    MOV TEN,A
                      MOV DATA_OUT,#10100001B ;发2次左移指令,使当前显示
                                                 ;内容左移,留出空位供显示新
                                                       ;数据
                      LCALL SEND ; 发送指令到HD7279A
                    MOV DATA_OUT,#10100001B 
                     LCALL SEND
                     MOV DATA_OUT,#10000001B ;下载数据且译码指令(第2位)
                         LCALL SEND
                      MOV DATA_OUT,TEN ; 发送十位数字到HD7279A
                       LCALL SEND
                       MOV DATA_OUT,#10000000B ; 下载数据且译码指令(第1
                                                                           ;位)
                        LCALL SEND
                      MOV DATA_OUT,B ;发送个位数字到HD7279A
                      LCALL SEND
                         SETB CS
WAIT:                JNB KEY,WAIT ;等待按键放开
                      LJMP MAIN
;*******************************************
; 发送1个字节到 HD7279,高位在前
;*******************************************
SEND:                  MOV BIT_COUNT,#8 ;设定位记数器 =8
                       CLR CS ; 设CS

⌨️ 快捷键说明

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