单片机C语言程序设计:报警与旋转灯
          
            时间:09-04 13:57 阅读:2932次
*温馨提示:点击图片可以放大观看高清大图
                
         
        
		  
               简介:名称:报警与旋转灯
说明:定时器控制报警灯旋转显示,并发出仿真警报声。
               
                        
          
            /*名称:报警与旋转灯
说明:定时器控制报警灯
旋转显示,并发出仿真警报声。
*/
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitSPK=P3^7;
ucharFRQ=0x00;
//延时
voidDelayMS(uintms)
{
 uchari;
 while(ms--)for(i=0;i<120;i++);
}
 
//INT0中断函数
voidEX0_INT()interrupt0
{
TR0=~TR0;//开启或停止两定时器,分别控制报警器的声音和LED旋转
TR1=~TR1;
if(P2==0x00)
 elseP2=0xe0;//开3个旋转灯
 }
 P2=0x00;//关闭所有LED
//定时器0中断
voidT0_INT()interrupt1
{
TH0=0xfe;
TL0=FRQ;
SPK=~SPK;
}
//定时器1中断
voidT1_INT()interrupt3
{
TH1=-45000/256;
TL1=-45000%256;
P2=_crol_(P2,1);
}
//主程序
voidmain()
{
P2=0x00;
SPK=0x00;
TMOD=0x11;//T0、T1方式1
TH0=0x00;
TL0=0xff;
IT0=1;
IE=0x8b;//开启0,1,3号中断
IP=0x01;//INT0设为最高优先
TR0=0;
TR1=0;//定时器启停由INT0控制,初始关闭
while(1)
 {
FRQ++;
DelayMS(1);
 }
}
