#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit R_Key = P3 ^ 4;
sbit L_Key = P3 ^ 5;
sbit PWM_OUT = P3 ^ 6;
bit OUT;
unsigned char SG1;
void DELAY_MS (unsigned int a)
{
unsigned int i;
while( a-- != 0)
{
for(i = 0; i < 600; i++);
}
}
void T_C_init (void)
{
TMOD = 0x11;
EA = 1;
TH0 = 0xFF;
TL0 = 0xF5;
ET0 = 1;
TR0 = 1;
}
void T_C0 (void) interrupt 1 using 1
{
unsigned int a;
if(OUT==0)
{
a= 0x0A*SG1+0x01F3;
a= 0xFFFF - a;
TH0 = a/0xFF;
TL0 = a%0xFF;
OUT = 1;
PWM_OUT=1;
}
Else
{
a= 0x4E1F - (0x0A*SG1+0x01F3);
a= 0xFFFF - a;
TH0 = a/0xFF;
TL0 = a%0xFF;
OUT = 0;
PWM_OUT=0;
}
}
void main (void)
{
P3M0 = 0x60;
P3M1 = 0x00;
DELAY_MS (500);
T_C_init ();
SG1=15;
while(1)
{ SG1=12;
DELAY_MS (60);
SG1=18;
DELAY_MS (60);
}
}
|