|
- /*********************************************************************************************
- 修改:劉海龍
- 程序名:測試
- /*********************************************************************************************/
- #include <reg52.h>
- sbit relay1=P1^3;
- sbit relay2=P1^4;
- sbit k=P0^0;
- unsigned char cou, TIME_HH,TIME_MM,TIME_SS;
- void main()
- {
- TMOD=0x01;
- TH0 = 0x3c; // 重置定時(shí)常數(shù)
- TL0 = 0xb0;
- EA=1; ET0=1;
- TR0=0;
- while(1){
- if(k==0){
- TR0=1;//如果k按鍵按下開始計(jì)時(shí)
- relay1=0;//繼電器1通電
- }
- }
- }
- void timer0() interrupt 1
- {
- cou++; // 軟計(jì)數(shù)器加1
- if(cou > 19){ // 計(jì)數(shù)值到100(1s)
- cou = 0; // 軟計(jì)數(shù)器清零
- TIME_SS++; // 秒計(jì)數(shù)器加1(進(jìn)位10ms*100=1s)
-
- if(TIME_SS > 59){ // 秒計(jì)數(shù)值到60
-
- TIME_SS = 0; // 秒計(jì)數(shù)器清零
- TIME_MM++; // 分計(jì)數(shù)器加1(進(jìn)位60s=1m)
- if(TIME_MM > 59){ // 分計(jì)數(shù)到60
- TIME_MM = 0; // 分計(jì)數(shù)器清零
- TIME_HH++; // 時(shí)計(jì)數(shù)器加1(進(jìn)位60m=1h)
- if(TIME_HH = 0)relay1=0;
- if(TIME_HH = 1)relay1=1;//1小時(shí)到關(guān)繼電器1
- if(TIME_HH = 2)relay2=0;//又到1小時(shí)開繼電器2
- if(TIME_HH = 3)relay2=1;//又到一小時(shí)關(guān)繼電器2
- if(TIME_HH = 4){ // 計(jì)數(shù)到4h
- TIME_HH = 0; // 時(shí)計(jì)數(shù)器清零重新循環(huán)
- relay1=0;
- }
- }
- }
- }
- TH0 = 0x3c; // 重置定時(shí)常數(shù)
- TL0 = 0xb0;
-
-
- }
- /************************************END*********************************************************/
復(fù)制代碼 |
評(píng)分
-
查看全部評(píng)分
|