永发信息网

51单片机C编程,4个开关控制4个灯。要求上电清零,开关灯一一对应。当1个开关按下,其它开关不起作用。

答案:2  悬赏:40  手机版
解决时间 2021-02-16 12:23
51单片机C编程,4个开关控制4个灯。要求上电清零,开关灯一一对应。当1个开关按下,其它开关不起作用。
最佳答案

#include
sbit led1=P2^0;
sbit led2=P2^1;
sbit led3=P2^2;
sbit led4=P2^3;
sbit sw1=P2^4;
sbit sw2=P2^5;
sbit sw3=P2^6;
sbit sw4=P2^7;
bit a1,a2,a3,a4,panduan;
void main()
{
 led1=led2=led3=led4=1;
 while(1)
 {
if(panduan==0) 
{
 while((sw1&&sw2&&sw3&&sw4)==0);
}
  panduan=1;
if(a1==0)
{
if(sw1==0)
{
led1=0;
a2=1;
a3=1;
a4=1;
}
else
{
led1=1;
a2=0;
a3=0;
a4=0; 
}
}


if(a2==0)
{
if(sw2==0)
{
led2=0;
a1=1;
a3=1;
a4=1;
}
else
{
led2=1;
a1=0;
a3=0;
a4=0; 
}
}


if(a3==0)
{
if(sw3==0)
{
led3=0;
a2=1;
a1=1;
a4=1;
}
else
{
led3=1;
a2=0;
a1=0;
a4=0; 
}
}


if(a4==0)
{
if(sw4==0)
{
led4=0;
a2=1;
a3=1;
a1=1;
}
else
{
led4=1;
a2=0;
a3=0;
a1=0; 
}
}


 }
}
全部回答

仿真通过(为了你前途着想,这个代码留了一个缺陷,自己去研究发现改良吧)如果是开关判断的就用楼上的吧 楼上的代码也是为了你前途着想啊,,自己改吧..没必要那么长的#include 
void delay(unsigned char n);
void main()
{
P2=0x30;
while(1)
{
delay(200);
if(P2!=0x30)
{
P2=P2;
P2&=0xcf;
}
}
}
void delay(unsigned char n)
{
unsigned char i;
while(n--)
{
for(i=0;i<100;i++);
}
}
追问谢谢你啊,我知道了,我认为你那程序dalay程序应该在前面我试试看。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
开发商可以拿到预售许可证后捂盘不售吗
为什么雾霾发生的时候是逆温,但仍然会感觉比
牢脉所主的病证是A.热证B.食滞C.癥瘕D.崩漏E.
— Could you _____ take care of my dog—Th
信誉楼的鞋多长时间包退换
资兴市郴州曼婕妮亚(东华步行街)地址在什么地
面对面怎么去啊,有知道地址的么
【有什么技术可以学】数学不好能学什么技术还
显卡各参数重要程度排名
我在朋友家里工作 (他家开了厂子)开始说的话
去加拿大麦吉尔大学交流办签证手续
汽车喷漆只喷局部的话,真的会像4S店说的会造
解方程二点5x加零点3x=7问x=多少
2014年巴西世界杯足球赛将于6月12日至7月13日
乐陵市田马王社区村民委员会在哪里啊,我有事
推荐资讯
昨天去网吧上网刚坐下,有2个MM就过来,给我
某校去年有学生x人,今年比去年增加了百分之20
为什么老是流鼻血,一天两三次??
关于英国和法国的比较,正确的是A 都是工农业
TCL王牌电器直营店地址在哪,我要去那里办事
保时捷卡宴速度传感器怎样测量好坏
1.0升等于多少毫升?
双城区哈尔滨华丽杀猪菜哪位知道具体地址啊
今年调剂到青岛大学信息与信号处理专业,已经
如果一个女生送给你她自己做的绣花鞋垫,代表
途观车子后装一键启动经常启动不了车子
(  )的管理任务的管理状态不会直接表现为
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?