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

📄 iobeep_a1.asm

📁 AT89C58单片机的蜂鸣器和按钮的程序
💻 ASM
字号:
; =================================================================
; 深圳思瑞科技  SRI Technology Studio.
; http://www.sri.cn, http://www.sricn.com
; mail: support@sri.cn, xjb@sri.cn
;
; 转载请注明该出处
;
; -----------------------------------------------------------------
; 源文件名: IOBeep_A1.ASM
; 程序名称: 使用IO口输出控制嗡鸣器
; 实现方法: 使嗡鸣器发出2000Hz的频率的声音
;           (制造噪音的程序,仅供学习)
; 学习目的: 1、学习如何实现I/O口输出控制,并使用延时输出方波
;           2、程序延时
; =================================================================

; -----------------------------------------------------------------
; 与实际功能无直接相关的常数设置
; -----------------------------------------------------------------
MCU_FREQUENCY   EQU     33000           ; MCU主频,用于计算延时,为
                                        ; 了常量计算准确,用KHz表示
MCU_TIMES       EQU     12              ; 每指令周期所需的时钟周期
                                        ; 标准51核MCU为12

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

                org     0030h
Main:
                call Delay50us
                mov     R0, #1
                mov     R1, #0
MainLoop:
                clr     T0
                mov     A, R0
                call    Delay100usIn12M
                setb    T0
                mov     A, R0
                call    Delay100usIn12M
                inc     R1
                cjne    R1, #100, MainLoop
                mov     R1, #0
                inc     R0
                cjne    R0, #20, MainLoop
                mov     R0, #0
                jmp     MainLoop

; -----------------------------------------------------------------
; 延时50微秒单位
; A = 50微秒单位倍数
Delay50us:
                mov     R7, A
Delay50us_Loop:
                mov     R6, #(MCU_FREQUENCY/MCU_TIMES-3)/2
                djnz    R6, $
                djnz    R7, Delay50us_Loop
                ret

                end

⌨️ 快捷键说明

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