//12M,T042us,19.80ms,9~ 45 ?
//
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit PWM1=P3^0;
sbit KEY1=P2^6;
uint aa;
uint xx;
uint jiajainum;
/******************** ??1??@12.000MHz?? **************************/
void delay1ms(unsigned int a) //?? 0us
{
unsigned int b;
while(a--)
{
for(b=0;b<600;b++);
}
}
void tuoji_init()//50
{
TMOD = 0x01;
TH0 = 0x0FF;
TL0 = 0x0CE;
EA = 1;
ET0 = 1;
TR0 = 1;
PWM1=1;
}
void chudong_pwm(uchar temp1)
{
if(aa==temp1) // ??9-28-45(??90?,???,??90?);
PWM1=0;
}
void keyscan()
{
if(KEY1==0)//????1
{
delay1ms(3);
if(KEY1==0)
{
while(!KEY1);
//xx++;
}
} }
void main()
{
xx=9;
tuoji_init();
while(1)
{
keyscan();
if(xx>45)
{
xx=9;
}
}
}
void dingshi0() interrupt 1
{
TH0 = 0x0FF;
TL0 = 0x0CE;
chudong_pwm(xx);
aa++;
jiajainum++;
if(jiajainum>2000)
{
jiajainum=0;
xx++;
}
if(aa==387)
{
aa=0;
PWM1=1;
}
}
|