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

作者&投稿:福雨 (若有异议请与网页底部的电邮联系)
AVR单片机C编程4个开关控制4个灯。要求上电清零,开关灯一一对应。当1个开关按下,其它开关不起作用。~

需要给你完成吗

#includesbit key1=P1^0;sbit key2=P1^1;sbit key3=P1^2;sbit key4=P1^3;sbit led1=P1^4;sbit led2=P1^5;sbit led3=P1^6;sbit led4=P1^7;main(){while(1) { led1=key1; led2=key2; led3=key3; led4=key4; }}

仿真通过(为了你前途着想,这个代码留了一个缺陷,自己去研究发现改良吧)如果是开关判断的就用楼上的吧 楼上的代码也是为了你前途着想啊,,自己改吧..没必要那么长的

#include <reg51.h>

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++);
}
}



#include <REGX52.H>

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; 

}

}


 }

}




c语言与单片机c语言的区别急求
C语言与单片机C语言的区别:一、通用性与专用性 C语言是一种通用的编程语言,广泛应用于各种领域,包括桌面应用、网页开发、嵌入式系统等。而单片机C语言更偏向于在嵌入式系统中的应用,特别是针对单片机的编程。单片机C语言具有更强的针对性和专用性,它更多地关注与硬件直接交互的特性和功能。二、硬件...

如何快速的学会单片机C语言编程
开始用功学习。切记不要只看书,要读懂书中例子程序,且动手编程实现它。3、学习编程语言最好的方法是读程序,读程序是学习C语言入门最快,也是最好的方法。我们大家都应该有个体验。读了之后就要写,这一点来不得半点懒惰。如果你C语言功底扎实,按照选定教材钻研几天便可上手开发单片机软件。

...4位一体数码管显示0000—FFFF的16进制(C语言编程)怎么编程?
\/\/ 1\\x0d\\x0a0x5B,\/\/ 2\\x0d\\x0a0x4F,\/\/ 3\\x0d\\x0a0x66,\/\/ 4\\x0d\\x0a0x6D,\/\/ 5\\x0d\\x0a0x7D,\/\/ 6\\x0d\\x0a0x07,\/\/ 7\\x0d\\x0a0x7F,\/\/ 8\\x0d\\x0a0x6F,\/\/ 9\\x0d\\x0a0x77,\/\/ A\\x0d\\x0a0x7C,\/\/ B\\x0d\\x0a0x39,\/\/ C\\x0d\\x0a0x...

c语言编程由开关k1控制四盏灯的亮灭
要求不明确。用什么型号单片机?用开关k1控制四盏灯一起亮灭,还是分别控制每盏灯亮灭?下面以51单片机为例,P1^0接按键到地,P0^0~3以灌电流驱动方式分别接led1~led4。用Kei uVisionl编译。1.控制四盏灯一起亮灭 include<reg51.h> sbit key1 = P1^0;sbit led1 = P0^0;sbit led2 =...

电子信息工程专业学生在大学期间需要掌握些什么能力?
比赛结果很好,我们获得了黑龙江省一等奖,这也是我的第二次获奖,这次获奖给了我很大的鼓舞,接下来我发现必须要学单片机C语言编程了,汇编编程非常烦琐,一个全面的人才不能只将知识局限于某一方面。从大三开始学校里有各种电子设计竞赛,我总是积极报名参加,为自己寻找锻炼的机会,我为此放弃了我最喜欢的篮球、足球运动,...

c++跟单片机哪个比较好?
c++跟单片机肯定单片机比较好。一般都是先学C语言,再到C++,再到单片机,循环渐进,单片机很重要,学好了对就业会有很大帮助。单片机比C++要难,而且两者也没有直接的关联,单片机编程用的基本都是汇编,C++这种高级语言很少用到,单片机类基本都是C,少部分开发板有用lua、python等语言的,但是很少,正统...

单片机C51编程(C语言):1到100的求和显示,在数码管里显示出来.
include <reg51.h> include <stdio.h> define uchar unsigned char void convert();void display();void delay();\/\/共阴:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F code unsigned char Led[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x...

单片机c语言编程时会用到哪些常用的C语
关键字 用 途 说 明 auto 存储种类说明 用以说明局部变量,缺省值为此 break 程序语句 退出最内层循环 case 程序语句 Switch语句中的选择项 char 数据类型说明 单字节整型数或字符型数据 const 存储类型说明 在程序执行过程中不可更改的常量值 continue 程序语句 转向下一次循环 default 程序语句 Switch...

C语言与单片机C语言的区别 急求
4、C只是一种高级语言。它除具有一般高级语言的功能特性外,它可以很好的操作底层的硬件接口。在C语言的基础上,如果你把一些单片机的端口或特殊功能寄存器加于定义,使之方便于在写语句的时候,直接直观的编写。这样就差不多是单片机C语言。C语言的特性差不多都可以用于单片机C语言,因为它们的编译机理...

单片机编程 让4个数码管一开始显示0000,通过控制开关,对应按一下,对应...
MOV 70H,#0 MOV 71H,#0 MOV 72H,#0 MOV 73H,#0 KS:JNB P3.2,LED LCALL XS LJMP KS LED:GW:INC 70H MOV 70H,A CJNE A,#10,WQ MOV 70H,#0 GW:INC 70H MOV 70H,A CJNE A,#10,WQ MOV 70H,#0 GW:INC 70H MOV 70H,A CJNE A,#10,WQ MOV 70H,#0 GW:INC...

新疆维吾尔自治区15578626834: 求解读51单片机用四个按键独立控制四个led的c程序 -
牛别先力: #include<reg51.h> //k2~k4 分别控制le1~le4 void delay(unsigned int x) //延时函数 {while(x--); //延时数减一 }void key_event (unsigned char d) //根据扫描到的键值,亮相应的LED{switch(d){case 14: P1^=(1<<0); break; //k1 键按下了case 13:...

新疆维吾尔自治区15578626834: 求由51单片机控制4x4键盘输入,4个数码管(采用动态扫描)显示 C语言编程思路! -
牛别先力: 可以这样写,先计算按了几下了,按下若小于4次,让四个段选端前几个端导通,按下数超过或等于4次你就可以用扫屏的方式来显示就好了.比如第一下按的是8你就可以设置if和else语句组合啊!先有个数组d[]={0xf7;0xfb;0xfd;0xfe}//段选,按了几下设为变量uint a//无符号字符型,if(a<4){if(a=1)P2=d[a-2];P1=data[8];delay();········if(a-1){··········}if(a-2){··········}};else(············)太多了我就不写了.

新疆维吾尔自治区15578626834: 51系列单片机 程序设计 用4个开关控制步进电机进行启动停止正转和反转 -
牛别先力: 设计思路: 1、分析功能需求:四个按键控制步进电机的四种状态,那么必须要在程序中有IO口按键扫描程序; 而且步进电机的控制一定要先设置好定时器. 2、功能模块定义:四个按键对应四个函数,每个函数实现不同功能,对于正反转,先...

新疆维吾尔自治区15578626834: 单片机实现 4个开关的控制 -
牛别先力: /*51单片机12M晶体,指令周期1微秒 开关1~4,分别为P1.0~P1.3,高电平接通,低电平断开*/#include uchar T20mS;void InitTimer0(void) { TMOD = 0x01; TH0 = 0x0B1; TL0 = 0x0E0; EA = 1; ET0 = 1; TR0 = 1; } void Timer0Interrupt(void) interrupt ...

新疆维吾尔自治区15578626834: 急..急求单片机at89c51的.用汇编语言:单片机p0(p0.0,p0.1,p0.2,p0.3)4个端口接有4个开关 -
牛别先力: ORG 0000H LJMP MAIN ORG 0030H MAIN: ORL p0,#0FH ;在读P0口时先对P0口写1 MOV A,p0 ANL A,#0FH MOV DPTR,#LED7 ;根据从P0口读到的数据查表,TAB中存放数码管的显示码表 MOVC A,@A+DPTR MOV p1,A ;把码表值送数码管显示 AJMP MAIN;共阳数码管显示码表 LED7: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H DB 80H,90H,88H,83H,86H,0A1H,86H,8EH

新疆维吾尔自治区15578626834: 51单片机如何控制四个两相四线57步进电机 -
牛别先力: 呃...这么简单的问题...你把步进电机的驱动程序做成一个子程序,两相四线的导通次序可以通过一个表格或数组来实现.然后,判断开关的状态,再调用上述子程序.接线图嘛...如果你不想用驱动芯片,也可以用8条IO口线来控制一个电机,外围电路的话,可以用两个H桥来控制一个电机,每个H桥驱动两相中的一相,这样需要四个8位端口,标准51刚好够用,但是就没法接按钮了,所以需要扩展.如果采用步进电机专用驱动芯片的话,则用两条IO口线就可以控制它的正反转和停止了,那么一个8位的端口就可以控制4个电机.专用驱动芯片有很多种,比如A3977,或者A4988等等,资料也很多.如果说到这份上你还是不懂的话,,,自己看着办吧.

新疆维吾尔自治区15578626834: 程序开始,p1口前4个灯亮,按下按键,前4个灯灭,后4个灯亮.89c51单片机 -
牛别先力: #includesbit key=P2^0; void main() { while(1) { P1=0xF0; if(key==0) P1=0x0F; } }

新疆维吾尔自治区15578626834: 求 四个开关通过P1口高八位控制低八位的led 的 单片机c程序 -
牛别先力: 应该是高四位控制低四位.程序如下:#include main() { unsigned char xa; while(1) { xa=P1; if(xa&0xf0 !=0xf0) P1=xa>>4; }}

新疆维吾尔自治区15578626834: 51单片机四个按键输入四个密码一个按确认的c程序 -
牛别先力: 不是的,前面的判断加上for(j=0;j<4;j++) { in[j]=0; }的处理是,如果用户对密码的错误输入次数超过3次,就对密码数组(4个字符的串)置零,也就是恢复初始值的4个零状态. 呵呵,这个Keil C程序做得很简洁.

新疆维吾尔自治区15578626834: 51单片机通过4个按键控制4路12V继电器,按下一个按键时启动相应的继电器. -
牛别先力: 我帮做稍等差肯定条件没说明白全断没吸合先按字面意思假设八继电器由P1口驱高电平效及所谓打程序按键扫描自处理前键值KEY并1-4键键值定义KEY1、KEY2、KEY3、KEY4 MOV P1,#0C3H;加入主程序初始化1、4键控制继电器吸合 MOV ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网