问:proteus8仿真51单片机的时候,为什么只有两个灯亮?
问题
解答
不知道题主编译能否通过,我这里是不能通过。我单片机用的是AT89C51,也许与编译器加载的代码不同的原因吧。
我将程序的“头文件”改了之后就可以编译通过了。仿真也是的结果也是正确的。题主可以试着先改一下头文件。
)
题主也说了:“现在只亮2个(不论是高电平触发还是低电平触发)”
既然有两个灯亮,那么证明程序是导入进去了。首先可以自己检查一下,导入进入的hex文件是不是你写的那个程序。
如果导入的程序文件没有问题,那么就电路图的问题了。可以重新连接一下线路,应该是一些导线没有连接上。
针对题主的情况,保险起见推荐这种直接连接的方式,不要使用连线标号。
还有就是如果连接正常,你将电路图放大 一些就会发现会出现“节点”。三条或三条导线相交时就会有一个节点。这也是导线连接正常的一个标志。
51单片机实例讲解,由按钮控制灯亮程序
按钮控制灯亮接线原理图如图11所示。在单片机的P1口的低4位按上按钮,在高4位接上发光二极管。当按下SB1时(P1.0口为“0”),LED1发亮(P1.4口为“0”)。同理,若分别按下SB2、SB3、SB4,则对应的端口P1.5、P1.6、P1.7输出低电平,对应的发光二极管LED2、LED3、LED4就发亮。
若同时按下两个以上的按钮,则对应的发光二极管发亮。例如按下SB1和SB3,则对应的输出端口P1.4和P1.6输出为低电平,对应的发光二极管LED1、LED3发亮。
(1)按钮控制灯亮硬件电路(见图11)。
图11 按钮控制灯亮接线原理图
(2)按钮控制灯亮硬件电路元器件(见表3)。
表3 按钮控制灯亮硬件电路元器件表
(3)按钮控制灯亮程序流程图(见图12)。
图12 由按钮控制灯亮程序流程图
(4)按钮控制灯亮程序。
相关问答
单片机 C语言编写点亮两盏led灯?可以通过左移函数_crol_()和右移函数_cror_()来实现LED等的来回流动。具体实现方法可以参考如下程序:#include#include#defineuintunsignedi...
51 单片机 如何同时点亮2个led?51单片机(也称为8051单片机)可以通过IO口控制LED的点亮和熄灭。要同时点亮两个LED,您可以按照以下步骤操作:1.连接LED:将两个LED连接到单片机的两个IO口上...
通过51 单片机 设计用开关控制 两个灯 的交替点亮?按键触发外部中断0LEDAEQUP1.0LEDBEQUP1.1ORG0000HSTARTORG0003HINT_X0ORG0030H;初始化START:CLREA;关总中断SE...
单片机 汇编语言按键控制流水灯, 两个 开关k1,k2。实现功能按下k1,流水灯左移动,按下k2,流水灯右移动?假设P0.0接k1,P0.1接k2,k1或k2闭合时,P0.0或P0.1为低电平0,断开时为高电平1;P2口的8位接8个发光二极管的阳极,发光二极管的阴极通过下拉电阻接地,要点亮相...
单片机 设计中多个LED灯如何连接?因为LED是非线性元件,每个元件的制造不可能100%都一样(跟线性元件一样),所以每个LED灯的在压降不相同,并一起会亮暗不均匀,所以要分开各支路供电,另外是LED...
单片机 怎么让 两个 程序同时进行?在单片机中,可以让两个程序同时进行的一种方法是使用多任务处理技术。可以通过将两个程序分别拆分成多个小任务,然后分配给不同的处理器或线程来并行运行。另...
单片机 两位数码管显示两位数?单片机两位数码管可以显示两位数。这是因为数码管是一种能够显示数字的电子元件,每个数码管可以显示0-9的数字。而两位数码管由两个数码管组成,每个数码管可以...
单片机 怎样同时采集 两个 传感器的信号?两个办法:1.在while(1)循环内遍历你所有的采样函数.2.用PIC的定时器中断,设置一个时间片比如20ms,到时间后就进入调度函数,依照优先级高低(也可以不管优先级...
有 两个 按钮S1和S2,此外另有8盏LED灯,要求通过 单片机 控制8盏LED灯,当按钮S1按下时,前4?你这还是学单片机的吗,这可是特别基础的了啊你这还是学单片机的吗,这可是特别基础的了啊
高手, 单片机 程序里面可以同时出现 两个 中断吗?单片机程序里是不可能同时进入两个中断的。1、会有出现同时两个中断满足进入中断的条件,这时就会根据中断优先级进行判断先进入那个中断服务程序里,高优先级...