很简单的
#include<reg52h>
#define uchar unsigned char
#define uint unsigned int
sbit fengmingqi=P0^0; //声明IO口
void delay(uint x)//延时子函数
{
uint i,j;
for(i=x;i>0;i--)
for(j=50;j>0;j--);
}
void main(void)
{
while(1) //循环
{
fengmingqi=1; //p00口高电平,蜂鸣器发声
delay(500); //延时
fengmingqi=0; //p00口低电平,蜂鸣器不发声
delay(500); //延时
}
}
我看是你那个8550的电路有问题吧!应该是电源接8550的E级,B级接单片机口,C级接蜂鸣器的一端,而蜂鸣器的另一端接DC0V,如果让蜂鸣器工作,则P25给低电平,8550导通,蜂鸣器工作。也没听说过8050的三极管。
如果是蜂鸣器的话,那么加一个电平信号就可以发声了。\x0d\FMQ EQU P10\x0d\ORG 0000H\x0d\LJMP MAIN\x0d\ORG 0030H\x0d\MAIN:\x0d\CPL FMQ\x0d\LCALL DELAY\x0d\SJMP MAIN\x0d\DELAY:\x0d\MOV R2,#200\x0d\DLY:\x0d\MOV R3,#250\x0d\DJNZ R3,$\x0d\DJNZ R2,DLY\x0d\RET\x0d\END
60秒。fpga通过设计程序将DS1302RTC时间通过串口设置定时报警时间,其串口调试助手可以看到时间信息并设置秒表来提示用户定时报警时间则为60秒,设置成功实现了上位机和FPGA开发板同时可以显示时间、设置时间、蜂鸣器报警、LED灯闪烁等功能。
#include<reg51h>
#define uchar unsigned char
#define uint unsigned int
sbit SPK=P1^0;
sbit K1=P1^7;
//发声函数,注意这里是用扬声器,不能用普通的蜂鸣器
void Alarm(uchar t)
{
uchari,j;
for(i=0;i<200;i++)
{
SPK=~SPK;
for(j=0;j<t;j++); //由参数t行成不同的频率产生不同的声音
}
}
voidmain()
{
SPK=0;
while(1)
{
if(K1==1)
{
Alarm(90);
Alarm(120);
}
}
}
以上就是关于51单片机,编写延时程序,控制蜂鸣器发声;全部的内容,包括:51单片机,编写延时程序,控制蜂鸣器发声;、请问下,下面是我的电路,该怎么编写程序才可以使蜂鸣器响,我一直弄它就是不响 P2^5就是接单片机中的P2^5、单片机用汇编语言怎么写一个蜂鸣器程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)