针对常用51单片机下载程序问题做下详解
目前为止,接触单片机已有不少,从选择元器件、原理图、PCB、电路硬件调试、软件开发也算小有心得。
单片机软件开发里面第一步当属下载程序了,如果这一步都有问题,那么后面的一切便无从谈起,记得当初刚接触单片机时,对于下载电路方法及原理也是一头雾水。好在随着经验的积累以及自己的努力探求,现在对此问题算是有了点点自己的经验理解。故今天在此针对常用51单片机下载程序问题做下详解,以求新手们少走弯路。
原理
单片机的TXD、RXD是TTL电平,所以你得万变不离其宗的将其它信号转成TTL电平,只有这样给单片机下载程序才有可能成功!其中CH340、PL2303等芯片是直接将USB信号转换为TTL电平,而MAX232等芯片是将TTL转换为RS232信号或者将RS232信号转换为TTL.下面请看利用这种原理的两种常用方法:
方法一:
请看图一,这是我们最常见的单片机下载电路了,其中从②到⑥属于大家常用的USB转串口线,用这种方案的好处是,如果自己的PC带有串口(可能很老的机器没有USB接口),那么就可以直接给单片机开发板下载程序,因为采用这种方法的开发板必定带有串口接口嘛。当然,如果PC仅有USB接口而不带串口,那么只能找根USB转串口线了(其电路原理就是图中②到⑥),这里我推荐大家使用采用CH340芯片的USB转串口线,而不要采用PL2303的USB转串口线,因为PL2303价钱便宜所以山寨的水货较多,这会导致下载电路不稳定,甚至无法正常下载。同时此方案的坏处是电路板上必定要做一个9针串口接口(太巨大了),这必将增加了电路PCB的面积,当然也就增加了成本啦!(顺便发表下个人见解:那个9针接口实在太丑,又大又重,无形中便降低了自己的设计档次,哈哈。所以不推荐这种方法!)
请看图二,这是我经常采用的单片机下载电路。实践证明效果非常好,几乎没出过任何问题!它的好处是只需要找根普通的USB2.0线(如图二中②)就可以下载了,比找根USB转串口线要轻松的多,同时由于将串口9针接口换成了USB接口,所以电路板的体积、重量也减少了不少,也显得更美观时尚,呵呵。在此强调一点:推荐使用CH340芯片(可以用CH340G,它引脚间距大很容易焊接)而不是PL2303,上文已说PL2303水货多,况且PL2303的外围电路比较复杂,这也给硬件电路的调试增加了难度。当然如果项目对成本特敏感,那么采用价钱相对较低的PL2303也无可厚非。大家看到没,图二的电路结构比图一要简化很多,那么是不是可以说明图二的性能比图一要更好呢?应该是吧!简单的结构出问题的概率当然更小了!
值得一提的是在使用CH340时,有些问题得注意下,因为很多同学反映用CH340下程序失败,但其实一般都很容易解决的。经本人总结常见原因有三:
一:某些CH340的引脚给单片机供了电导致单片机断电不彻底(下载程序要断电重启),从而导致程序没法下载。解决方案:在CH340的TXD引脚反向串联一个二极管(推荐肖特基二极管)、在CH340的RXD引脚串联一个约300欧姆的电阻。如此单片机可以彻底断电,问题解决!!(特别注意:此种情况不适用于stm32等芯片)
二:有些同学在给单片机供电时,为了防反接保护电路,在电源处串联了个二极管,由于二极管的正向压降导致单片机供电不足,从而导致程序无法下载。解决方案:将二极管用0欧电阻代替或者采用正向压降很小的二极管,以确保单片机的正常供电。问题解决!!
三:有些同学由于粗心将CH340的TXD引脚连接了单片机的TXD引脚,RXD引脚连接了单片机的RXD引脚,这自然不能下载程序了,一收一发不用多说吧,呵呵。解决方案:将CH340的TXD引脚连接单片机的RXD引脚,RXD引脚连接单片机的TXD引脚。问题解决!
介绍一个非常好用的单片机仿真软件PROTEUS(带下载链接)
首先把proteus软件链接发给需要的朋友
百度网盘链接:https://pan.baidu.com/s/1gaWBwyVgbQGEDL-29Zkqhg
提取码:ddgd
想自学低端单片机的小伙伴们,可以延续我以下的思路自学。
从事单片机教学多年,虽说不够精通,但带领学生入门单片机足够了。说实话,一个从没有接触过计算机语言的初学者,因为没有程序的概念,学习单片机是有一定难度的。但如果方法得当,则能再最短时间内入门,也会为之后的深入学习打好一个良好的基础。以下我将从几方面来总结入门单片机需要做的几步。
首先,选好设备。一台电脑是必备,计算机可用来写程序,也可用来做仿真。最好能买一块单片机的开发板,最简单的那种,包含流水灯,数码管,按键,显示屏即可,淘宝网价钱不等,100不到就能买到好的。这样能接触到实物,直接用实物进行调试,更易于单片机的学习和开发。
其次,学会安装并使用软件,包括程序软件和仿真软件。程序软件现在已经发展到Keil 4版本了,仿真软件proteus的使用也非常方便,布置流水灯,电子表,点阵,1602,12864等都可以练习。其实我觉得用仿真软件入门单片机足够了。
在设计产品之前,有必要做一些理论上的充电。需要预备的理论基础包括进制、数字电平、发光二极管、keil软件和proteus软件的使用。
以下简单介绍以下proteus软件的实用。
仿真软件proteus的使用方法和步骤
1、打开软件
2、保存,选路径,取名字。
3、从元件库中选择元器件。
点击元件库,点击P,填写元器件型号或者关键字,双击或者单击ok。
选中某个元器件,在图面上双击鼠标左键,该元件便放在图面上了。
上图中红色单片机框形是单击鼠标时的情形,再单击就放下了。
4、连线
将鼠标放在你想要连线的起始端(会出现一个红色小方框),单击,移动鼠标至你想要连接的终端(出现红色小方框),单击,这样便完成一条连接线了。
5、将keil软件生成的*.hex文件下载至单片机中。
双击单片机,在program file右边路径中选取找到*.hex文件并添加,ok。
6、点击运行图标,运行程序看仿真效果。
相关问答
51单片机 为什么没法 下载 程序?-ZOL问答注意这个软件上设置的单片机型号必须与芯片上标注的型号完全相同,如果你使用的是STC89C52RC而设置的是STC89C52没有RC,也会出现无法下载程序的情况。检查串口T...
单片机下载 程序方法?你好,单片机下载程序的方法主要有以下几种:1.使用单片机编程器:将编写好的程序通过编程器连接到单片机上,通过编程器将程序下载到单片机的存储器中。2.使...
为何我的STC 51单片机下载 ,提示上电后没反应( 软件 没反应)-ZOL问答检查数据线有木有问题,TX和RX有没有接正确,单片机焊好了没,有无虚焊,晶振电路有无起振,复位电路是否正常··基本就这些了,软件一般没问题~~你可以向qq发一点你...
51单片机 , 下载 不了程序?正确的编程工具,例如Keil或IAR。其次,检查连接器文件和编译器设置是否正确。最后,如果使用的是自定义平台或外部ISP,确保正确连接和设置。...其次,检查连接...
at89c 51 plcc封装 单片机 如何 下载 程序?at89c51必须是专用的编程器下载程序,还必须用专用的软件。而plcc封装的还要做一个转接板,因编程器只能插直插DIP封装的。现在还用at89c51plcc的单片机,太落后...
开发 51单片机 用什么 软件 编程?51单片机采用keilC51编写程序。51单片机采用keilC51编写程序。
博鱼APP官方入口(官方)APP 下载 安装IOS/Android通用版/手机app单片机的最小系统一般包含如下几个电路:1)复位电路单片机的复位有两种情况:复位引脚出现高电平复位,如STC的51单片机;复位引脚出现低电平复位,如S...
keilc是什么 软件 ?KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易...
51单片机 程序开发都有什么开发工具?编译器:ATMEL一般为keil其他厂商使用它们自己推荐的编译器代码编辑工具:UE等,这个看自己习惯,现在的编译器一般自带代码编辑的功能但一般功能较弱仿真工具:...
51单片机 能直接运行的文件格式是?51单片机能直接运行的文件是.bin,但编译软件生成的是.hex文件,它们的差别是后者包含了8位地址偏移量,而前者是纯粹的程序代码。在烧录时,下载工具装载的是.h...