十分钟内有问必答立即下载 单片机一个按键控制一个程序 四个按键分别控制4种流水灯,一:左移 二
答案:1 悬赏:30 手机版
解决时间 2021-01-07 15:52
- 提问者网友:放下
- 2021-01-07 11:45
十分钟内有问必答立即下载 单片机一个按键控制一个程序 四个按键分别控制4种流水灯,一:左移 二
最佳答案
- 五星知识达人网友:拜訪者
- 2021-01-07 12:49
#include
#include
unsigned char fun=4,led1=0xfe,led2=0xfc;
sbit key1=P1^0;
sbit key2=P1^1;
sbit key3=P1^2;
sbit key4=P1^3;
void t0isr() interrupt 1
{
TH0=(65536-60000)/256;
TL0=(65536-60000)%256;
switch(fun)
{
case 0:P0=led1;led=_crol_(led1,1);break;
case 1:P0=led1;led=_cror_(led1,1);break;
case 2:P0=led2;led=_crol_(led2,2);break;
case 3:P0=led2;led=_cror_(led2,2);break;
default: break;
}
}
main()
{
TMOD=0x01;
TH0=(65536-60000)/256;
TL0=(65536-60000)%256;
TR0=1;
ET0=1;
EA=1;
while(1)
{
if(key1==0)
{
while(key1==0);
fun=0;
}
if(key2==0)
{
while(key2==0);
fun=1;
}
if(key3==0)
{
while(key3==0);
fun=2;
}
if(key4==0)
{
while(key4==0);
fun=3;
}
}
}追问14到17行出问题了,我编译了一下,说是不能识别追答#include
#include
unsigned char fun=4,led1=0xfe,led2=0xfc;
sbit key1=P1^0;
sbit key2=P1^1;
sbit key3=P1^2;
sbit key4=P1^3;
void t0isr() interrupt 1
{
TH0=(65536-60000)/256;
TL0=(65536-60000)%256;
switch(fun)
{
case 0:P0=led1;led1=_crol_(led1,1);break;
case 1:P0=led1;led1=_cror_(led1,1);break;
case 2:P0=led2;led2=_crol_(led2,2);break;
case 3:P0=led2;led2=_cror_(led2,2);break;
default: break;
}
}
main()
{
TMOD=0x01;
TH0=(65536-60000)/256;
TL0=(65536-60000)%256;
TR0=1;
ET0=1;
EA=1;
while(1)
{
if(key1==0)
{
while(key1==0);
fun=0;
}
if(key2==0)
{
while(key2==0);
fun=1;
}
if(key3==0)
{
while(key3==0);
fun=2;
}
if(key4==0)
{
while(key4==0);
fun=3;
}
}
}追问上边定义个中间变量led就好第三行fun=4,是什么意思啊?
#include
unsigned char fun=4,led1=0xfe,led2=0xfc;
sbit key1=P1^0;
sbit key2=P1^1;
sbit key3=P1^2;
sbit key4=P1^3;
void t0isr() interrupt 1
{
TH0=(65536-60000)/256;
TL0=(65536-60000)%256;
switch(fun)
{
case 0:P0=led1;led=_crol_(led1,1);break;
case 1:P0=led1;led=_cror_(led1,1);break;
case 2:P0=led2;led=_crol_(led2,2);break;
case 3:P0=led2;led=_cror_(led2,2);break;
default: break;
}
}
main()
{
TMOD=0x01;
TH0=(65536-60000)/256;
TL0=(65536-60000)%256;
TR0=1;
ET0=1;
EA=1;
while(1)
{
if(key1==0)
{
while(key1==0);
fun=0;
}
if(key2==0)
{
while(key2==0);
fun=1;
}
if(key3==0)
{
while(key3==0);
fun=2;
}
if(key4==0)
{
while(key4==0);
fun=3;
}
}
}追问14到17行出问题了,我编译了一下,说是不能识别追答#include
#include
unsigned char fun=4,led1=0xfe,led2=0xfc;
sbit key1=P1^0;
sbit key2=P1^1;
sbit key3=P1^2;
sbit key4=P1^3;
void t0isr() interrupt 1
{
TH0=(65536-60000)/256;
TL0=(65536-60000)%256;
switch(fun)
{
case 0:P0=led1;led1=_crol_(led1,1);break;
case 1:P0=led1;led1=_cror_(led1,1);break;
case 2:P0=led2;led2=_crol_(led2,2);break;
case 3:P0=led2;led2=_cror_(led2,2);break;
default: break;
}
}
main()
{
TMOD=0x01;
TH0=(65536-60000)/256;
TL0=(65536-60000)%256;
TR0=1;
ET0=1;
EA=1;
while(1)
{
if(key1==0)
{
while(key1==0);
fun=0;
}
if(key2==0)
{
while(key2==0);
fun=1;
}
if(key3==0)
{
while(key3==0);
fun=2;
}
if(key4==0)
{
while(key4==0);
fun=3;
}
}
}追问上边定义个中间变量led就好第三行fun=4,是什么意思啊?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯