|
- #include <REG51.h>
- sfr AUXR = 0x8e;
- sfr P3M0 = 0xB2;
- sfr P3M1 = 0xB1;
- sbit led = P3^3;
- sbit ledgao =P3^4; //調(diào)亮
- sbit leddi =P3^5; //調(diào)暗
- sbit fmq =P3^1; //蜂鳴器
- static unsigned char num;
- static unsigned char light;
- #define kg_NO() led=1
- #define kg_OFF() led=0
- void Timer0Init(void) //100微妙@11.0592MHz
- {
- AUXR |= 0x7F; //定時(shí)器時(shí)鐘12T模式
- TMOD &= 0xF0; //設(shè)置定時(shí)器模式
- TL0 = 0xA4; //設(shè)定初值
- TH0 = 0xFF; //設(shè)定初值
- ET0 = 1; //開定時(shí)器
- TR0=1; //定時(shí)器0中斷
- }
- void tm0_isr() interrupt 1 //定時(shí)器0中斷
- {
- light++;
- if(light>100)
- {
- light=0;
- }
- }
- void main()
- {
- EA=1;
- Timer0Init();
- P3M0 = 0x00;
- P3M1 = 0x0A;
- ledgao =1;
- leddi =1;
-
- fmq =0;
- num=3;
- while(1)
- {
- if(ledgao==0)
- {
- num++;
- if(num>100)
- {
- num=100;
- fmq=!fmq;
- }
- }
- if(leddi==0)
- {
- num--;
- if(num<=1)
- {
- num=1;
- fmq=!fmq;
- }
-
- if(light<=num)
- {
- kg_NO();
- }
- if(light>num)
- {
- kg_OFF();
- }
- }
- }
- }
復(fù)制代碼
|
|