刚刚学,我用avr stdio4 编写蜂鸣器响的程序没出错,下载到板上响不了...
发布网友
发布时间:2024-10-22 08:13
我来回答
共4个回答
热心网友
时间:2024-11-13 21:00
你硬件对不对?看样子,你程序是设定蜂鸣器是高电平触发的。
楼上的程序写错了。。。。。。
#define bell 5 //以5口为例
#define bell_on PORTA|=(1<<bell)//蜂鸣器响
#define bell_off PORTA&=~(1<<bell)//蜂鸣器关
#define bell_port DDRA|=(1<<bell)//设置端口输出
热心网友
时间:2024-11-13 21:06
1. 将延时改长一些试试,比如0.5秒周期;
2. 看看板上的单片机时钟源、M103兼容熔丝位(若有的话),设置是否正确;
3. 未知你这个电路是自己搭的,还是标准实验板。若自己搭电路要注意,蜂鸣器耗电较大,需要有三极管驱动,还要求瞬间提供较大启动电流的能力,因此,最好给蜂鸣器并联一个104及以上的电容器,否则,有时后驱动不响。
热心网友
时间:2024-11-13 21:00
#define bell_on PORTA|=0B00000001//蜂鸣器响
#define bell_off PORTA&=0B11111110//蜂鸣器关
热心网友
时间:2024-11-13 21:00
#define bell_on PORTA|=(PORTA<<1)//蜂鸣器响
#define bell_off PORTA&=~(PORTA<<1)//蜂鸣器关
#define bell_port DDRA|=(DDRA<<1)//设置端口输出
错
应该是:
#define bell 5 //以5口为例
#define bell_on PORTA|=(bell<<1)//蜂鸣器响
#define bell_off PORTA&=~(bell<<1)//蜂鸣器关
#define bell_port DDRA|=(bell<<1)//设置端口输出