|
/****************************************
基于51單片機的警報器制作代碼及原理圖
*********************************************/
#include<reg51.h>
sbit P1_4=P1^4;
unsigned int time_base=0;
/*unsigned char a; */ //計數(shù)變量
void timer1() interrupt 3 /* T1中斷服務(wù)程序 */
{
time_base++;
if(time_base<1000)
{
TH1=(65536-500)/256;
TL1=(65536-500)%256; /* 重載計數(shù)初值 */
P1_4=!P1_4;
}
else if(time_base>=1000&&time_base<3000)
{
TH1=(65536-250)/256;
TL1=(65536-250)%256; /* 重載計數(shù)初值 */
P1_4=!P1_4;
}
if(time_base>=3000)
{ time_base=0; }
}
void main ()
{
P1_4=0; /* 置燈初點亮 */
TMOD=0x10; /* T1方式 1 定時 */
TH1=(65536-500)/256; /* 預(yù)置計數(shù)初值 */
TL1=(65536-500)%256;
EA=1;ET1=1; /* 開中斷 */
TR1=1; /* 啟動定時/計數(shù)器 */
while(1); /* 等待中斷 */
}
|
|