|
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit S2=P3^4;
sbit S3=P3^5;
sbit fm=P2^3;
uchar pwm,num;
void delay(uint ms)
{
uchar i;
while(ms--)
{
for(i=0;i<120;i++);
}
}
void bee()
{
fm=0;
delay(100);
fm=1;
delay(100);
}
void keyscan()
{
if(S2==0)
{
delay(50);
if(S2==0)
{
if(pwm<32)
{
pwm++;
delay(100);
}
else
{
bee();
}
}
}
if(S3==0)
{
delay(50);
if(S3==0)
{
if(pwm>1)
{
pwm--;
delay(100);
}
else
{
bee();
}
}
}
}
void init_t0()
{
TMOD=0x01;
TH0=(65536-500)/256;
TL0=(65536-500)%256;
EA=1;
ET0=1;
TR0=1;
}
void t0() interrupt 1
{
TR0=0;
TH0=(65536-500)/256;
TL0=(65536-500)%256;
num++;
if(num>32)
{
num=0;
}
if(num<=pwm)
{
P1=0xff;
P0=0x00;
}
else
{
P1=0x00;
P0=0xff;
}
TR0=1;
}
void main()
{
init_t0();
num=0;
pwm=16;
while(1)
{
keyscan();
}
}
|
|