- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
基于89c52单片机简易的门铃设计程序--第1页
程序要多写,多看,多改。
Main.c
//此语句定义了单片机的一些特殊功能寄存器
typedefunsignedintu16;//对数据类型进行声明定义
typedefunsignedcharu8;
sbitbeep=P1^5;
sbitk1=P3^1;
u8ding,dong,flag,stop;
u16n;
voiddelay(u16i)
{
while(i--);
}
voidtime0init()//定时器0初始化
{
TMOD=0X01;//定时器0方式1
TH0=0Xff;
TL0=0X06;//定时250us
//TR0=1;
EA=1;
ET0=1;
}
1/4
基于89c52单片机简易的门铃设计程序--第1页
基于89c52单片机简易的门铃设计程序--第2页
程序要多写,多看,多改。
voidbiaohaoinit()//各个标号初始化
{
ding=0;//“叮”声音计数标志
dong=0;//“咚”声音计数标志
n=0;//定时0.5s标志
flag=0;
stop=0;//结束标志
}
voidmain()
{
time0init();
biaohaoinit();
while(1)
{
if(k1==0)//判断按键是否已经按下
{
delay(1000);//消抖
if(k1==0)
{
TR0=1;//打开定时器0
while(!stop);
}
}
2/4
基于89c52单片机简易的门铃设计程序--第2页
基于89c52单片机简易的门铃设计程序--第3页
程序要多写,多看,多改。
}
}
voidtime0()interrupt1
{
n++;
TH0=0Xff;
TL0=0X06;//250us
if(n==2000)//定时0.5s,叮响0.5秒,“咚”响0.5秒
{
n=0;
if(flag==0)
{
flag=~flag;
}
else
{
flag=0;
stop=1;
TR0=0;//关闭定时器0
}
}
if(flag==0)
{//通过改变定时计数时间可以改变门铃的声音
3/4
基于8
文档评论(0)