标题:
请教一下大家单片机蜂鸣器程序的问题
[打印本页]
作者:
hu1007110281
时间:
2021-5-2 09:01
标题:
请教一下大家单片机蜂鸣器程序的问题
为啥我按图连接的电路,程序烧进去了,但是按下K1蜂鸣器却不响,是单片机程序的问题吗?
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit Key=P2^5;
sbit DoorBell=P2^7;
uint p=0;
//主程序
void main()
{
DoorBell=0;
TMOD=0x00; //T0 方式 0
TH0=(8192-700)/32; //700us 定时
TL0=(8192-700)%32;
IE=0x82;
while(1)
{
if(Key==0) //按下按键启动定时器
{
TR0=1;
while(Key==0);
}
}
}
//T0 中断控制点阵屏显示
void Timer0() interrupt 1
{
DoorBell=~DoorBell;
p++;
if(p<400) //若需要拖长声音,可以调整 400 和 800
{
TH0=(8192-700)/32; //700us 定时
TL0=(8192-700)%32;
}
else if(p<800)
{
TH0=(8192-1000)/32; //1ms 定时
TL0=(8192-1000)%32;
}
else
{
TR0=0;
p=0;
}
}
复制代码
51hei截图20210501211116.png
(82.39 KB, 下载次数: 66)
下载附件
2021-5-2 09:01 上传
作者:
欣欣
时间:
2021-5-2 12:03
程序没问题,我已经实验过了,可以发声的。
作者:
96317
时间:
2021-5-2 12:07
按键不用延时消抖的嘛
作者:
dj3365191
时间:
2021-5-2 18:58
蜂鸣器要接到Q1集电极与地之间才能正常发声
作者:
birdzhyli
时间:
2021-5-2 23:14
仿真和实际电路还是有区别的,没有限流电阻,三极管可能已经OVER了
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1