即:在程序开始时LED灯以跑马灯的形式闪烁,当有按键按下时切换为流水灯的形式闪烁,当再次按下按键时切换为跑马灯,如此循环。步骤:1.在proteus软件中画出原理图,单片机选用AT89C51,参考原理图4所示。2.在keil中编程,并使用keil提供的调试

看下,中间有没有加其它驱动了,主要是看LED两端是高电位还是低电位~

用Proteus仿真时,单片机的RST复位引脚是不起作用的,即在RST引脚加高电平,单片机也不会复位的,要实现相当于复位的功能,可以在某个I/O引脚加一个按钮,当这个按钮按下时,就回到第一行程序执行就可以了。

1、P0口如果不加上拉电阻的话是高阻态,这是没办法识别高低电平的,也就是无论你对P0赋什么值,它都不会出现0或1的结果。解决办法:加一个10K的上拉排阻到P0口。2、图中你的P0口和LED并没有真正连接上吧,你用了

大家好,我现在用proteus作at89c51的“从左到右的流水灯实验”,但不知为什么执行时灯都没有亮。

8.怎么玩转单片机-8位LED左移 包你学会单片机 单片机智能控制,单片机源代码 /*--- 名称:IO口高低电平控制 内容:左移,直至LED全部点亮,左移符号 ---*/ includereg52.h //包含头文件,一般情况不需要改动,头文件

/*单片机,用定时中断实现每隔0.2秒让接在P1口的8个小灯从左往右循环点亮。*/ include include define uchar unsigned char uchar a,b;uchar b=1;uchar a=0xfe;void main(){ EA=1;IT1=

51单片机 的左移右移,首先在开始要调用"intrins.h"的文件包,这个文件包含_cror_(右移),_crol_(左移);然后通过for语句来控制;for(m=20;m>0;m--)for(n=20;n>0;n--)for(k=250;k>0;k--);理解这三句

ORG 0000H ; 试试 SJMP MAIN ORG 0040H MIAN:MOV A,#11111110B MOV R2, #8 LOOP: MOV P2,A LCALL D_1s RL A DJNZ R2, LOOP MOV A,#01111111B MOV R2, #8 LOOP1: MOV P2,A LCALL D_

主要是左移补0或者补1的问题。P1=>>1|0;P1=<<1|1; 补1是灭,补0是亮。刚好之前写过,看一下和你的不同之处。include"reg52.h"define uint unsigned int void delay(uint z){ uint x,y;for(x=z;x>0;x

void main(){ uchar a,temp;temp=0xfe;for (a=8;a>0;a--)//循环8次,即流水灯8个循环8次即可点亮8个 { P1=temp;temp=_crol_(temp,1);//移动 delay(100);} temp=0x7f;//注意这一句,如果没有这一句,

初学求助,Proteus仿真8051单片机8个LED左移右移问题

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

if(P1==0x7f) // 这个7f改成ff { P1=0xfe;} 以后移位还是用这个吧P1 = _crol_(P1,1);

流水灯可以说是单片机里面的Hello World,也就是最基础的部分。这里我们利用Proteus绘制单片机流水灯的电路图,keil c51编写流水灯的程序。仿真既可以帮助我们学习,也可以检验电路是否合理。防止电路已经焊接完成,但设计不合理的

P1初值1111 1110 做一个左移1位 那么需要一个中间数, 不能直接用P1, 可以写 x=0xfe;x=x<<1;P1=x;

1,char定义的变量在单片机c语言里可能被认为是带符号数据,所以你可以将char a改为 unsigned char a试试;2,_crol_(a,1);这个函数并不能改变a的值,将其改为a =_crol_(a,1);试试。拙见供参考。

用proteus画仿真图时,元件的每个引脚都必须有一段导线与其它元件或电路相连才行,不能用引脚直接连接。见下图,所有按键右边都有一个结点(那个小红点),这样才行的。

接在p0.0脚上的led是会亮的,程序也对,是因为led正极的连线有问题,重新画一下,而接在p0.1的led是不会亮的,因不是发光二极管,就是普通的二极管,就算程序p0.1输出低电平就不亮的。

C语言编程流水灯利用proteus仿真只亮一个灯

用记事本打开Keil根目录下的TOOLS.INI文件,在[C51]栏目下加入TDRVx=BIN\VDM5DLL(ProteusVSMMonitor-51Driver),其中“TDRVx”中的“x”要根据实际情况写,不要和已有的号重复,比如TDRV6。运行keil程序,建立一个新的工

点击“Debug”标签页,在右半部分,选择“使用”(这个DEBUG标签页共有两种仿真方式可选,左边的是keil软件仿真器,右边的是外部仿真器),点击下拉框,

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

这里我们利用Proteus绘制单片机流水灯的电路图,keil c51编写流水灯的程序。仿真既可以帮助我们学习,也可以检验电路是否合理。防止电路已经焊接完成,但设计不合理的情况。我们打开Proteus软件,点击左边菜单栏的P按钮 然后再搜索框

Proteus和Keil软件联调,使用循环右移功能仿真流水灯程序?

你在Keil中生成了hex文件没有?在连接调试的时候,要右键点击单片机,把生成的hex文件添加进去,同时在Debug选项中要选择哪个什么Use Simulator(忘了),打开监控,再试试~~~

图片不是很清晰,看出两点问题:1、555输出管脚OUT是灰色的,作为时钟信号可能得加一下上拉电阻;2、发光二极管,得选用LED-RED、LED-GREEN,才能看到亮灭变化。我建议直接将555电路部分,用库里的CLOCK替代,先验证数字电路

原因是,主程序中不论执行哪种模式:mode1();mode2();mode3();mode4();都需要延时的,这个时间应该是比较长的,只有执行一遍后才检查按一次,所以,按键就是等待这么长的时间,才能识别到一次。如果有这个延时期间按键

另外,关机时必须先关闭所有的程序,再按正常的顺序退出,否则有可能损坏应用程序。总而言之,电脑出现的故障,既有复杂故障也有简单故障,其中大部分故障都有一定的蛛丝马迹,甚至是一些十分明显的外观表现,比如电容器体积膨胀

流水灯可以说是单片机里面的Hello World,也就是最基础的部分。这里我们利用Proteus绘制单片机流水灯的电路图,keil c51编写流水灯的程序。仿真既可以帮助我们学习,也可以检验电路是否合理。防止电路已经焊接完成,但设计不合理的

keilc和proteus仿真流水灯问题

单片机原理流水灯实验报告: 一、实验目的:进一步熟习keil仿真软件、proteus仿真软件的使用。认识并熟习单片机I/O口和LED灯的电路构造,学会建立简单的流水灯电路。掌握C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注

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

用proteus来仿真51的步骤:工具/原料:Proteus,keil c51 1、首先我们打开Proteus软件,点击左边菜单栏的P按钮,然后再搜索框里输入80c51,选择第一个就是80c51单片机;2、然后在搜索框里面输入led,找到Optoelectronics,然后再里

这里我们利用Proteus绘制单片机流水灯的电路图,keil c51编写流水灯的程序。仿真既可以帮助我们学习,也可以检验电路是否合理。防止电路已经焊接完成,但设计不合理的情况。我们打开Proteus软件,点击左边菜单栏的P按钮 然后再搜索框

利用Proteus和keil仿真51单片机流水灯

简单的来讲,就是用proteus画图,包括CPU和LED那些,然后再Keil中选择同一型号的CPU(例如用89C51的,proteus里用这CPU,keil里最好也选用这个型号)。编译通过之后生成hex文件。在proteus中点击CPU按右键,有个功能可以烧写hex文件的,写进去之后按仿真就行了。这是个大概的流程,具体的步骤建议你上网找一下,挺繁琐的,但是你自学会一次之后,以后就都没问题了
晕!这个程序当然不会看到效果! 不知道你选的是多少的晶振!一般12M晶振,运行一条MOV指令也就1u秒的时间!你这个程序运行一圈也就10多u秒。灯还没全亮或是全灭就换了!当然看不到效果!找本程序的书好好看看吧!你的延时也不够,试试下面的: ORG 0000H LJMP START ORG 0030H START: MOV P1 , #0FEH ACALL DELAY MOV P1 , #0FDH ACALL DELAY MOV P1 , #0FBH ACALL DELAY MOV P1 , #0F7H ACALL DELAY MOV P1 , #0EFH ACALL DELAY MOV P1 , #0DFH ACALL DELAY MOV P1 , #0BFH ACALL DELAY MOV P1 , #7FH ACALL DELAY AJMP START DELAY:MOV R0,#255 ;延时,约65毫秒 DEL1: MOV R1,#255 DEL2: DJNZ R1,DEL2 DJNZ R0,DEL1 RET END
简单的来讲,就是用proteus画图,包括CPU和LED那些,然后再Keil中选择同一型号的CPU(例如用89C51的,proteus里用这CPU,keil里最好也选用这个型号)。编译通过之后生成hex文件。在proteus中点击CPU按右键,有个功能可以烧写hex文件的,写进去之后按仿真就行了。这是个大概的流程,具体的步骤建议你上网找一下,挺繁琐的,但是你自学会一次之后,以后就都没问题了
先用proteus软件制作一个简单的原理图,就是待会程序放在里面仿真的图,这时候图一定要正确。否则待会把程序放进去,也不会出现我们想要的效果,例如,电阻值啊 led灯的正负极啊和上拉电阻的阻值。 然后就是用keil软件编写程序了,具体步骤如下图 现在开始把文件加到工程文件夹下 设置仿真的芯片属性,晶振之类的 5 把原理图和程序结合,就可以实现仿真了
没有任何问题 如果你是第一次用proteus,那么我有理由怀疑你是LED用错了 那个带箭头的发光LED是不会发光的,要用RGB那三种LED 如图:用你的程序仿真的,能跑
电阻R1~R7与地线的连接端,是电阻引脚直接与上面的横导线相接触的吧?这样是不通的,在电阻的每个引脚上都必须画一段导线与上面的横导线相连,连接后应该出一个结点。而你的仿真图没有,说明这7个电阻没接到地线上。用proteus画仿真图时,元件的每个引脚都必须有一段导线与其它元件或电路相连才行,不能用引脚直接连接。见下图,所有按键右边都有一个结点(那个小红点),这样才行的。
计算机仿真和实际还是会有差别的!本身仿真也只是程序,程序有跑飞的概率!
330欧~10K欧都行 I = (5V - 1.6V) / R 5V是IO口输出电压 1.6V是LED灯的压降 I 一般是3~10A,最高不超过20A