×
单片机 > 单片机程序设计 > 详情

51单片机程序——定时器控制蜂鸣器

发布时间:2020-09-01 发布时间:
|
#include
#define uint unsigned int 
 
sbit bb=P3^5;                  //位定义蜂鸣器接口
sbit led1=P0^0;       //位定义LED接口
unsigned int i=0;
 
void delay(uint z);       //延迟函数声明
 
void main()
{
TMOD=0x01;                 //TMOD赋值,以确定T0和T1的工作方式       
TH0=(65536-50000)/256;   //计算初值,并将其写入TH0、TL0或TH1、TL1
TL0=(65536-50000)%6;
EA=1;   //打开总中断
ET0=1;   //打开定时器0中断
TR0=1;   //启动定时器0
while(1)
{
if(i==20)   //定时器计数时间20*50MS=1S
{
i=0;               //清除标志位
led1=0;
bb=0;
delay(500);
led1=1;
bb=1;
delay(500);
}
}
}
 
void exter0() interrupt 1       //定时器0中断函数
{
TH0=(65536-50000)/256; //中断函数中也需要赋定时器初值
TL0=(65536-50000)%6;
i++;                        //定时器每50MS就使i加一
}
 
void delay(uint z) //延迟函数
{
uint x,y;
for(x=z;x>0;x--)
for(y=20;y>0;y--);
}

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
51单片机CO2检测显示程序解析