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

📄 keysmanagement.asm

📁 自制51单片机学习板 自制51单片机学习板
💻 ASM
字号:
;*****************************************************
;
;     This programme is for study Ver2.0.0 beta
;This programme must be run in 12MHz standard settings
;              The keys management
;               Designer: Mr.Koii
;         Copyright 2002-2003 koiistudio
;     2003.04.04 at Changsha. H.N. P.R.China.
;
;*****************************************************

;*****************************************************
;键盘中断处理程序
;*****************************************************

keys_int:               clr     ea
                        clr     ie1
                        mov     p2,#0
                        mov     a,p1
                        cpl     a
                        anl     a,#0fh
                        cjne    a,#0,keys_reader
                        clr     ie1
                        setb    ea
                        reti
keys_reader:            call    time10ms
                        mov     a,p1
                        cpl     a
                        anl     a,#0fh
                        mov     keys_byte,a
keys_reader_0:          mov     a,p1
                        cpl     a
                        anl     a,#0fh
                        cjne    a,#0,keys_reader_0

;*****************************************************
;按键处理程序
;*****************************************************

keys_management:        call    beep1
                        mov     a,keys_byte
                        cjne    a,#01h,keys_check_2
                        sjmp    keys_1
keys_check_2:           cjne    a,#02h,keys_check_3
                        sjmp    keys_2
keys_check_3:           cjne    a,#04h,keys_check_4
                        sjmp    keys_3
keys_check_4:           cjne    a,#08h,keys_check_err
                        sjmp    keys_4
keys_check_err:         clr     ie1
                        setb    ea
                        reti

keys_1:                 jmp     keys_manage_1
keys_2:                 jmp     keys_manage_2
keys_3:                 jmp     keys_manage_3
keys_4:                 jmp     keys_manage_4

;*****************************************************
;1键处理
;*****************************************************

keys_manage_1:          mov     a,r4                        ;增加延时时间,即减慢流动速度
                        cjne    a,#50,keys_manage_1_0
                        call    beep2
                        clr     ie1
                        setb    ea
                        reti
keys_manage_1_0:        add     a,#5
                        mov     r4,a
                        clr     ie1
                        setb    ea
                        reti

;*****************************************************
;2键处理
;*****************************************************

keys_manage_2:          mov     a,r4                        ;增加延时时间,即减慢流动速度
                        cjne    a,#5,keys_manage_2_0
                        call    beep2
                        clr     ie1
                        setb    ea
                        reti
keys_manage_2_0:        clr     c
                        subb    a,#5
                        mov     r4,a
                        clr     ie1
                        setb    ea
                        reti

;*****************************************************
;3键处理
;*****************************************************

keys_manage_3:          mov     a,r3                        ;改变流动花样
                        cjne    a,#3,keys_manage_3_0
                        mov     r3,#0
                        clr     ie1
                        setb    ea
                        reti
keys_manage_3_0:        inc     r3
                        clr     ie1
                        setb    ea
                        reti

;*****************************************************
;4键处理
;*****************************************************

keys_manage_4:          mov     a,r3                        ;改变流动花样
                        cjne    a,#0,keys_manage_4_0
                        mov     r3,#3
                        clr     ie1
                        setb    ea
                        reti
keys_manage_4_0:        dec     r3
                        clr     ie1
                        setb    ea
                        reti

⌨️ 快捷键说明

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