|
#include<reg52.h>
sbit key1 = P3^4;
sbit key2 = P3^5;
sbit pwm1 = P0^1;
unsigned int target =12,percent = 0;
void Timer0Initial();
void initial_Timer();
void delay(unsigned int x);
void keyscan();
void keyscan()
{
delay(30);
if(key1 == 0)
{
delay(10);
if(key1 == 0)
{
if(target >= 10)
target -= 1;
}
}
if(key2 == 0)
{
delay(10);
if(key2 == 0)
{
if(target <= 20)
target += 1;
}
}
}
void initial()
{
key1 = 1;
key2 = 1;
initial_Timer();
}
void Timer0Initial()
{
TH0 = (65536-65)/256;
TL0 = (65536-65)%256;
}
void initial_Timer()
{
EA = 1;
ET0 = 1;
TMOD = 0x01;
Timer0Initial();
TR0 = 1;
}
void delay(unsigned int x)
{
unsigned int i,j;
for(i=x;i>0;i--)
for(j=110;j>0;j--);
}
void main()
{
initial();
while(1)
{
keyscan();
}
}
void Timer0() interrupt 1 using 0
{
percent+=1;
if(percent<=target)
pwm1=1;
else
pwm1=0;
if(percent==200)
percent=0;
Timer0Initial();
}
|
评分
-
查看全部评分
|