51单片机流水灯延时的问题,仿真软件proteus。

#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar temp;
sbit D1=P2^3;
void delay(uint);
void main()
{
// D1=0;
temp=0xfe;
P1=temp;
delay(840);
while(1)
{

P1=0xff;
delay(840);
temp=_crol_(temp,1);
P1=temp;
delay(840);

}
}
void delay(uint z)
{
uint x,y;
for(x=100;x>0;x--)
for(y=z;y>0;y--);
}
仿真的时候流水灯第一个灯一闪而过。后面就正常运行了亮一秒,熄灭一秒,下一个灯才开始亮

第1个回答  2012-03-17
你程序就是这样的
temp=0xfe;
P1=temp; 第一个灯亮
delay(840); 灯亮的时间
while(1)循环里

P1=0xff;灯全灭
delay(840); 灭的时间
temp=_crol_(temp,1); 循环移位
P1=temp;
delay(840); 灯亮的时间
第2个回答  2012-03-15

51单片机流水灯延时的问题,仿真软件proteus。
temp=_crol_(temp,1); 循环移位 P1=temp;delay(840); 灯亮的时间

怎么用proteus来仿真51
编写一段LED流水灯程序,将其编译为HEX文件。然后,在Proteus中打开单片机模块,加载该程序,并将晶振频率设置为12Mhz,以匹配实际应用需求。最后,点击下方的三角形图标开始仿真。在仿真过程中,注意观察引脚接口的电压变化,你会看到LED流水灯按照预期进行工作。通过Proteus,你可以直观地预览和调试51单片机...

51单片机C程序实验LED灯:[2]左到右的流水灯
说明:实现一排灯从左到右依次一个一个点亮熄灭,实现流水灯 proteus电路图 元件清单:(分别是) 51单片机 电容 瓷片电容(也可用普通电容) 晶振 红色二极管 电阻 电路图的连接方法 程序清单 说明:本例有两种程序写法 第一种是入门级别比较基础的写法 先是依旧延时子程序,然后主程序利用直接赋值,与...

怎么用proteus来仿真51
1、首先我们打开Proteus软件,点击左边菜单栏的P按钮,然后再搜索框里输入80c51,选择第一个就是80c51单片机;2、然后在搜索框里面输入led,找到Optoelectronics,然后再里面选择LED-RED,红色的led,当然其他颜色也可以;3、接着我们点击鼠标右键可以选择led为合适的方向,方便我们的绘图;4、然后我们放上res...

c51单片机怎么用两个按键控制两个数码管的加减,加到99就好,求程序
1、首先先在proteus画出仿真图,方便仿真程序。2、接着来编写程序,先来写入头函数。2、根据自己在proteus画的图,定义一下管脚根据你的原理图进行编写。3、然后写一个延时函数,来调节流水灯的时间间隔延时时间自己定义。4、下图就是主函数,包括流水灯的反复循环和j流水灯的方向。5、检查没有错误,...

单片机上运行的结果和用仿真软件运行的结果为什么不一样
嗯 这是正常情况,因为仿真软件毕竟是虚拟的,proteus主要是用来学习的,真正的时间还是要靠自己去在实际中去调整。从一个很明显的例子中可以看出:郭天祥的单片机教学视频中有个定时器一秒的例子,如果把那个程序原原本本的复制到proteus,结果显然不是一秒。要追其根本原因,是因为晶振的原因,尽管在软件...

单片机原理流水灯实验报告
单片机原理流水灯实验报告: 一、实验目的:进一步熟习keil仿真软件、proteus仿真软件的使用。认识并熟习单片机I\/O口和LED灯的电路构造,学会建立简单的流水灯电路。掌握C51中单片机I\/O口的编程方法和使用I\/O口进行输入输出的注意事项。二、实验原理:MCS-51系列单片机有四组8位并行I\/O口,记作P0、P1、P2...

用proteus做的流水灯,很简单的,怎么不亮呀?
2、51单片机的拉电流(输出电流)能力很弱,灌电流能力较强。拉电流不足以驱动发光二极管,灌电流则可以。3、应该将电阻接地端改为接电源,LED负极接P0口,这样,输出低电平时,LED正常发光。检查一下单片机的晶振和复位电路,看看单片机是否工作了。用Proteus仿真时,单片机的RST复位引脚是不起作用的,即...

关于单片机流水灯 为什么我的灯都不亮啊??与proteus联调时还说代码没...
P0=_crol_(P0,1);这个函数=_crol_在哪里 很明显你的HEX文件没有生成,而且你的二极管负端全部都接的高电平,按照你这种接法 必须让你二极管的正端的电压高于VCC,那是不可能的。所以你重新看哈hex文件是否生成,再把二极管换过来

MCS51单片机实现的8个led流水灯系统叙述单片机程序时需要安装的电脑软件...
MCS-51单片机实现的8个led流水灯系统叙述单片机程序时需要安装的电脑软件有哪?KEIL,PROTEUS。

相似回答
大家正在搜