mini2440裸机程序之一--蜂鸣器

本文介绍了一种使用MDK SDK和汇编语言在mini2440开发板上实现蜂鸣器间断鸣叫的方法。通过设置特定寄存器(如PGPBCON、PGPBDATE和PGPBUPE),并利用延时程序,实现了对蜂鸣器的精确控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开发板:mini2440
SDK:MDK
开发语言:汇编
本次目的:能够完成开发板上蜂鸣器的间断鸣叫

1、开发板硬件电路
        mini2440裸机程序之一--蜂鸣器

              
2、程序
PGPBCON EQU 0X56000010
PGPBDAT EQU 0X56000014
PGPBUP EQU 0X56000018
AREA beeptest, CODE, READONLY
ENTRY
START
LDR R0, =PGPBCON
LDR R1, [R0]
ORR R1, R1, #0X01
STR R1, [R0]
BEEPON
LDR R0, =PGPBDAT
LDR R1, [R0]
ORR R1, R1, #0X01
STR R1, [R0]

MOV R2, #0X100000 
                            ; 注意: 这是延时程序所用到寄存器,一定要到主程序中给予初值,如果在DELAY中,编译器测不予通过
BL DELAY

BEEPOFF
LDR R0, =PGPBDAT
LDR R1, [R0]
BIC R1, R1, #0X1
STR R1, [R0]

MOV R2, #0X100000
                         ; 注意: 这是延时程序所用到寄存器,一定要到主程序中给予初值,如果在DELAY中,编译器测不予通过    
BL DELAY
B BEEPON

DELAY

SUB R2, R2, #0X01
CMP R2, #0X0
BNE DELAY
MOV PC, LR

NOP
END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值