proteus51仿真——LED

proteus51仿真——LED

LED灯部分总结:

1.本部分包括单个LED闪烁、跑马灯、交通灯。

2.LED介绍:LED是有极性的,当电流从正极流进、负极流出时,LED发光。

3.LED接法:(1)管脚—LED正极—LED负极—限流电阻—GND (2)电源—限流电阻—LED正极—LED负极—管脚。当为(1)接法时,管脚需要高电平,LED才能发光;当为(2)接法时,管脚需要低电平,LED才能发光。

4.限流电阻的作用:顾名思义,这个电阻串联在电路里,目的是限制电流的大小。因为若无该电阻,则此电路中电流极大,超过LED和管脚的承受范围,会导致LED和管脚甚至单片机烧毁。改变电阻大小,可以改变LED发光强度。

5.如果限流电阻值太大,使得电流很小,则可能即使电路和程序都正确,LED也不发光。可以在proteus里单步运行,观察管脚上电平的高低。

 

遇到的问题:

1.proteus里的电路没问题,c语言程序也没问题。但是生成的hex烧录到单片机里,LED就是没反应。后来将keil卸载重装了一遍,重写了遍代码,编译时发现如下问题:ERROR L257 UNKNOWN,上网查了后,按照如下操作做了,hex就能生成,且烧录到单片机可以正常运行。

proteus51仿真——LED

2.注释时中文会乱码,在edit—configuration—encoding,选择chinese GB2312即可。

 

3.在选择下拉电阻时,经实践发现,在两个工程里,即使是同一原理图,同规格大小的下拉电阻在两工程里表现并不一样。在一个工程里,选择10k的下拉电阻即可实现下拉;而在另一工程里,10k的阻值显示高电平,1k时显示不定,470R时显示低电平。

 

4.调试时遇到如下问题——(running with code size limit:2k)原因是***版本不对,换了一个就好了。版本里面一定要有Prof.developers……这一项。

proteus51仿真——LED

 

5.在keil里编写.c文件,字没有变颜色,究其原因,是因为该编辑的文本并没有添加进工程,添加进工程后即可发现字体变成相应颜色,且此时生成的hex文件是正确的,能够烧录到单片机正常运行。

 

获取完整仿真文件,可关注公众号:一名追风的少年。后台回复:proteus-LED

proteus51仿真——LED