#include<reg51.h>
#define uchar unsigned char
uchar times,led;
sbit key1=P1^0;
sbit key2=P1^1;
void t0isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
times++;
}
void rolled()
{
P0=led;
led=(led>>1)|0x80;
if(led==0xff)led=0x7f;
}
main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
ET0=1;
EA=1;
led=0x7f;
while(1)
{
if(key1==0)
{
if(times>=10){times=0;rotled();}
}
if(key2==0)
{
if(times>=20){times=0;rotled();}
}
}
}
追问void rolled()
{
P0=led;
led=(led>>1)|0x80;}
if(led==0xff)led=0x7f;
P0口控制Led?这段是什么意思??
追答因为你没有具体要求,这里假设P0控制LED,这段意思是LED右移一位循环显示,也就是流水灯。
本回答被提问者采纳