微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机C语言程序设计:用定时器设计的门铃

单片机C语言程序设计:用定时器设计的门铃

时间:08-31 来源:互联网 点击:

/* 名称:用定时器设计的门铃


说明:按下按键时蜂鸣器发出叮咚的门铃声。


*/


#includereg51.h>


#define uchar unsigned char


#define uint unsigned int


sbit Key=P1^7;


sbit DoorBell=P3^0;


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(p400) //若需要拖长声音,可以调整 400 和 800


{


TH0=(8192-700)/32; //700us 定时


TL0=(8192-700)%32;

}

else if(p800)

{

TH0=(8192-1000)/32; //1ms 定时


TL0=(8192-1000)%32;

}
else

{

TR0=0;

p=0;

}

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top