应该是用keil写C语言程序实现,声明一个变量num计按键次数,按键一次num加1,大于2再回1,再用if语句判断num的值确定显示1或2盏灯。

1、首先我们先打开keil。2、接着,我们要定义好库函数,void main(){while(1)//不断循环显示{dispaly();}}void dispaly(){P0=smg[1];//选择显示数字几,P1=0x7f;//控制是否点亮数码管。3、接着,我们加上一条

我们打开Proteus软件,点击左边菜单栏的P按钮 然后再搜索框里输入80c51,选择第一个就是80c51单片机 同理,我们在搜索框里面输入led 找到Optoelectronics,然后再里面选择LED-RED 红色的led,当然其他颜色也可以 点击鼠标右键可以

Keil uVision4实例 51单片机控制LED灯闪烁,关键看C语言的编程细节。建立项目:LED灯闪烁。新建C文件:LED灯闪烁 引用51头文件。将所有的灯都点亮。让所有的灯全部灭了。添加循环语句。添加一个变量。使用循环语句创造延迟。

以51单片机为例 LED接到P1.0端口的 include “reg51.h”sbit LED=P1^0;mail(){ LED=0; //初始化LED为关闭状态 while(1){ LED=1; //点亮LED } } 完 最主要还要看看你的硬件

1. P0是指单片机的一组IO口,一共有8个输入或输出IO口(P0^0,P0^1,P0^2,P0^3,P0^4,P0^5,P0^6,P0^7),至少能点亮8个LED 2. P0=0x00,就是对这组IO赋值或传数据,0x00是一个16进制数,转成二进制

单片机Keil软件是如何点亮一盏灯的?

最简单的,就是直接延时,如下图,实现灯1亮;然后灯1灭;再然后灯2亮;再灭掉:第二种是用定时器,如下图,先是灯1亮半秒,再全熄半秒;再灯2亮半秒,再全熄半秒:

sbit led2 = P1^3;void Delay(unsigned int x){ unsigned int i, j;for(i = 0; i < x; i++) for(j = 0; j <= 148; j++);} //KEY1按一下LED1亮 再按一下LED1灭 //KEY2按下LED2亮 LED1灭

1分别控制P2.0,P2.1举例子 sbit S2=P1^1;sbit LED1=P2^0;sbit LED2=P2^1;void main (void){ while(1){ LED1 = S1; //如果LED接高电平点亮这两句分别加个~ 即 LEDx = ~Sx;LED2 = S2;} }

如果是PC机需要配置一块MOXA的TTL板卡来实现高低电瓶输出:1、先设定LED灯是低电平亮还是高电瓶亮,这里假设低电平;2、设置一个定时器,在定时器里面写代码,分别发送高、低电瓶值可实现交替闪耀;例程:include

LED =0xff;P1=LED;while(1){ LED=0xe7;P1=LED;delayms(1000);LED=0xdb;P1=LED;delayms(1000);LED=0xbd;P1=LED;delayms(1000);LED=0x7e;P1=LED;delayms(1000);} }

LED1=!LED1;LED2=!LED2;}

写出点亮2盏LED灯的c语言程序?

8个LED流水灯依次循环亮的C语言程序,问题详细内容为:我用的是PROTUSE做的仿真程序,想让这8个流水灯依次亮从P0到P7口要它的C语言程序可以在KEILC51里面运行的,希望在每句C语言后面有个解释不用WHILE和for语句i高分悬赏我

led8=0;delay(100000);//大约延时900ms leda=1;//全部灯亮 } }

1、可以通过左移函数_crol_()和右移函数_cror_()来实现LED等的来回流动。2、具体实现方法可以参考如下程序:

P3=0xdf;//第六个灯亮 delay();P3=0xbf;//第七个灯亮 delay();P3=0x7f;//第八个灯亮 delay();} }

while(1){ P1=0xfe; //点亮第一个LED for(i=200;i>0;i--)for(j=500;j>0;j--);P1=0xfd; //点亮第二个LED for(i=200;i>0;i--)for(j=500;j>0;j--);P1=0xfb; //点亮第三个LED for

keil软件用单片机控制8个LED流水灯来回点亮(C语言程序)

毕业设计名称:单片机点阵式LED显示屏设计 毕业设计主要研究内容及研究意义:研究内容:1、用8051单片机显示字体 2、PROTEUS软件和KEIL软件的使用3、单片机的控制程序 4、点阵屏幕的使用 研究意义:利用51单片机和C语言程序的控制

Keil uVision4实例 51单片机控制LED灯闪烁,关键看C语言的编程细节。建立项目:LED灯闪烁。新建C文件:LED灯闪烁 引用51头文件。将所有的灯都点亮。让所有的灯全部灭了。添加循环语句。添加一个变量。使用循环语句创造延迟。

while(1); // 添加一个无限循环,防止程序重新启动 return 0;} 现在,这个程序应该只会让LED闪烁三次,然后停止。

上图程序,最后是“长灭”。如果想要“常亮”,就在 SJMP $ 前,插入一行:MOV P2,#0 即可。

LED = 1; //熄灭小灯 for (i=0; i<30000; i++); //延时一段时间 } } 大家把这个程序编译一下,下载到里,就会发现 LED2 这个小灯会闪烁了。

用keil编一个led灯闪烁程序

keil使用教程编写第一个led灯程序1、新建一个空文件夹2、打开keil-->newuVisionproject3、选择目录,命名文件4、选择芯片5、添加文件6、编写C51单片机程序7、生成可以加载单片机里的hex文件8、编译生成hex文件9、将hex文件

要实现Proteus和Keil软件联调,需要安装一个插件,然后在proteus和keil中设置。其实,这两个软件联调,真的没有什么用,调试一个小程序时,单步调试还可以,调试大程序就不适用了。keil编译好了,在proteus仿真测试就行,仿真

打开Proteus8.6软件 点击菜单栏file,找到New Project,单击 修改工程名字和工程路径 单击next直到finished并完成建立工程 在键盘上按字母P或者找到工作区的P按钮,跳出搜索元器件界面,输入STM32F103R6、RES和LED-RED找到对应的

进入Proteus的ISIS,鼠标左键点击菜单“Debug”, 选中“use romote debuger monitor”,如图所示。此后,便可实现KeilC与Proteus连接调试。6、KeilC与Proteus连接仿真调试 单击仿真运行开始按钮 ,我们能清楚地观察到每一个引脚

我们打开Proteus软件,点击左边菜单栏的P按钮 然后再搜索框里输入80c51,选择第一个就是80c51单片机 同理,我们在搜索框里面输入led 找到Optoelectronics,然后再里面选择LED-RED 红色的led,当然其他颜色也可以 点击鼠标右键可以

1、打开keil软件,在工具栏点击Project选项选择new uVision Project创建新的工程并保存,步骤如下图所示:2、创建新的文件,按快捷键“ctrl+s”命名为led.c并保存,步骤如下:3、将创建的51.c文件添加到51项目中,鼠标右

keil+proteus仿真实验,点亮第一个led灯

在主函数中编写程序,实现LED点亮和灭的时间控制。可以使用if语句或while语句来判断时间是否达到要求,然后控制LED灯的点亮和灭。在main函数中添加延时函数,以实现上电后30秒后LED灯开始点亮的要求。下面是一个简单的示例程序

P1=0x00; //将P1口全部置为0,熄灭LED灯 delay(1000); //延时1秒 } } 上述程序的作用是在单片机的P1口上间隔点亮一盏LED灯,每隔1秒钟灯的状态会发生一次变化,即由点亮状态变为熄灭状态,再由熄灭状态变为点亮状态

1、创建项目,如图所示。2、创建延迟函数。3、创建C语言主函数。设计unsigned char k=0;变量。4、添加循环效果。5、点亮灯,通过k++,改变效果。6、添加延迟效果,单片机就可以控制8个灯依次亮,全亮了,然后再依次灭。

具体来说,使用for循环来控制LED灯的亮灭顺序。在每次循环中,通过给P1端口赋值来控制LED灯的亮灭状态。例如,给P1端口赋值为0x01,那么第一个LED灯就会亮起,其他LED灯则熄灭。然后使用delay函数来延迟一段时间,以便观察

LED_D1 =1;//=1亮灯 ,=0灭灯当也要看电路,完善的电路还会有驱动电路如三极管点了,也要看LED固定的那端是接地还是接VCC。最终无非就是通过单片机的IO口输出一个0或1来是LED二极管电路正向导通形成发光。

单片机控制一个LED灯亮灭需要怎样的程序?

你的电路图画错了,发光二极管放反了,或者把+5V换成地
用了两个 P 口? 应该是 16 个灯? 每八个,移位? #include typedef unsigned int unit16; typedef unsigned char unit8; unit16 j; unit8 i, c, d; main() { while(1) { c = 0x80; d = 0x01; for(i = 0; i < 8; i++) { P0 = ~(c >> i); P1 = ~(d << i); for(j = 0; i < 5000; j++); } } }
1、用精确定时的方法,设置流水灯运行时的时间间隔,延时时间为500MS。 2、#include "reg51.h"首先写出单片机的头函数。 3、#include "intrins.h"输入位移函数。 4、unsigned int count=0,led;定义函数。 5、输入主函数,定义单片机的端口,写入延时函数。 6、中断跳转,使流水灯运行起来。
自己现成想的汇编的要不要啊哈哈 MOV A,#0011111 LOOP: MOV P0,A CALL DELAY RR A JMP LOOP DELAY: ;延时程序 MOV R3,#20 D1:MOV R4,#20 D2:R5,#248 DJNZ R5,$ DJNZ R4,D2 DJNZ R2,D1 RET 这只是2个灯右移程序,如果达到你想要的效果还有计数8次然后进入计数左移动8次,懂基本原理什么都好办哎!纠结!!!!!!!!!
//请依照你的硬件输入相对值#defineKEY_ACTIVE_LEVEL(请输入)#defineKEY1_PIN(请输入)#defineKEY2_PIN(请输入)#defineLED_ON_LEVEL(请输入)#defineLED_LOW_LEVEL(请输入)#defineLED_PIN(请输入)unsignedcharis_key1_press(void){reutrn(KEY1_PIN==KEY_ACTIVE_LEVEL)l}unsignedcharis_key2_press(void){reutrn(KEY2_PIN==KEY_ACTIVE_LEVEL)l}voidset_led_to(unsignedcharvalue){LED_PIN=value;}voidmain(void){while(1){if(is_key1_press()&&is_key2_press()){set_led_to(LED_ON_LEVEL);}else{set_led_to(LED_OFF_LEVEL);}}}
初始化部分你要自己根据芯片资料写,数码管部分可以根据数码管的资料做数组xs[10]={0x3b……}要看数码管引脚定义了,看原理图看不出来的,可以做个200MS的定时器,然后计数5次就是1S 直接给数码管的IO口附数组的值,如P1=xs[5];要看你给的是哪个IO口了,我这边看不清你的原理图,LED亮200MS后就换动作太快,看不出效果,可以把时间加长
单片机编程语言很多,大致分成三类:机器语言、汇编语言、高级语言。机器语言由于繁琐容易出错,大部分用户已经不再便用。 1.单片机的汇编语言 汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少,程序执行效率高,由于它一条指令就对应一条机器码,每一步的执行动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。但是不同的类型的单片机,其汇编语言可能有点差异,所以不易移植,因为他们的指令系统是有区别的。但懂得汇编语言可帮助了解影响川可语言效率的特殊规定。例如,懂得汇编语言指令就可以便用在片内ram作变量的优势,因为片外变量需要几条指令才能设署累加器和数据指针进行存取。同样的,当要求便用浮点数和启用函数时也只有具备汇编编程经验才能避免生成庞大的、效率低的程序,对于这方面的编程,没有汇编语言是做不到的。 2.单片机的C语言 单片机的C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言具有功能丰富的库函数,运算谏磨快,编译效率高,有良好的可移植性,而且可以实现直接对系统硬件的控制。此外,C语言程序具有完整的程序模块结构,从而为软件开发中栗用模块化程序设计方法提供了有力的保障。与汇编相比,有如下优点: 对单片机的指令系统不要求了解,仅要求对51的存储器结构有初步了解,至于寄存器分配、不同存储器的寻址及数据类型等细节均由编译器管理。程序有规范的结构,可分为不同的函数。这种方式可便程序结构化,将可变的选择与特殊操作组合在一起,改善了程序的可读性。 编程及程序调试时间显著缩短,从而提高效率。提供的库包含许多标准子程序,具有较强的数据处理能将已编好程序可容易的植入新程序,因为它具有方便的模块化编程技术。 功能强而有弹性,提供的库包含许多标准子程序,具有较强的数据处理能力,能将已编好程序容易的植入新程序,因为它具有方便的模块化编程技术。 单片机C语言作为一种非常方便的语言而得到广泛的支持,(语言程序本身并不依赖于机器硬件系统,基本上不做修改就可根据单片翻U均不同较快地移植过来。 用单片机c语言进行程序设计,已成为单片机软件开发的一个主流,作为一个技术全面并涉足较大规模的软件系统开发的单片机开发人员最好能够掌握基本的C语言编程。 拓展资料 单片机,全称单片微型计算机(英语:Single-Chip Microcomputer),又称微控制器(Microcontroller),是把中央处理器、存储器、定时/计数器(Timer/Counter)、各种输入输出接口等都集成在一块集成电路芯片上的微型计算机。与应用在个人电脑中的通用型微处理器相比,它更强调自供应(不用外接硬件)和节约成本。它的最大优点是体积小,可放在仪表内部,但存储量小,输入输出接口简单,功能较低。由于其发展非常迅速,旧的单片机的定义已不能满足,所以在很多应用场合被称为范围更广的微控制器;由于单芯片微电脑常用于当控制器故又名single chip microcontroller,但是目前在中国大陆仍多沿用“单片机”的称呼。
主要是keil c编程器,现在已经出了四个版本,从KEIL uVision1到KEIL uVision4,常用的版本是KEIL uVision3.此外还有与它兼容,使用同一套编译器的C51编译器的众多仿真软件,比如silicon IDE,常用于51单片机。