keybeep_a1.asm

来自「AT89C58单片机的蜂鸣器和按钮的程序」· 汇编 代码 · 共 80 行

ASM
80
字号
; =================================================================
; 深圳思瑞科技  SRI Technology Studio.
; http://www.sri.cn, http://www.sricn.com
; mail: support@sri.cn, xjb@sri.cn
;
; 转载请注明该出处
;
; -----------------------------------------------------------------
; 源文件名: KeyBeep_A1.asm
; 程序名称: 根据按键不同播放不同频率的声音
; 学习目的: 1、学习如何实现I/O口输出控制,并使用延时输出方波
; =================================================================


; -----------------------------------------------------------------
; 代码段
                org     0000h
                jmp     Main

                org     0030h

$include (..\..\LIBRARY\libbeep.inc)
$include (..\..\LIBRARY\libkey.inc)
$include (..\..\LIBRARY\libsdb-51e.inc)

; -----------------------------------------------------------------
Main:
                mov     A, #0FFh
                call    Key_GetDown

                cjne    A, #KEY1, Main_NotKey1
                mov     R0, #100
                mov     R1, #BEEPFREQ_C
                jmp     Main_Play
Main_NotKey1:

                cjne    A, #KEY2, Main_NotKey2
                mov     R0, #115
                mov     R1, #BEEPFREQ_D
                jmp     Main_Play
Main_NotKey2:

                cjne    A, #KEY3, Main_NotKey3
                mov     R0, #135
                mov     R1, #BEEPFREQ_E
                jmp     Main_Play
Main_NotKey3:

                cjne    A, #KEY4, Main_NotKey4
                mov     R0, #150
                mov     R1, #BEEPFREQ_F
                jmp     Main_Play
Main_NotKey4:

                cjne    A, #KEY5, Main_NotKey5
                mov     R0, #165
                mov     R1, #BEEPFREQ_G
                jmp     Main_Play
Main_NotKey5:

                cjne    A, #KEY6, Main_NotKey6
                mov     R0, #180
                mov     R1, #BEEPFREQ_A
                jmp     Main_Play
Main_NotKey6:

                cjne    A, #KEY7, Main_NotKey7
                mov     R0, #200
                mov     R1, #BEEPFREQ_B
                jmp     Main_Play
Main_NotKey7:
                jmp     Main

Main_Play:
                call    Beep_Play

                jmp     Main

                end

⌨️ 快捷键说明

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