51单片机程序下载、ISP及串口基础知识
本文详细介绍了串口、51单片机的ISP下载等基础知识,已经学过单片机的也可以看看,加强一下对这方面的了解。
串口
串行接口简称串口,也称串行通信接口,是采用串行通信方式的扩展接口。
我们比较熟悉的USB接口,全名通用串行总线(Universal Serial BUS),就属于串口。
串行接口按电气标准及协议来分还包括UART、RS232、RS422、RS485等。
老式的台式计算机和部分笔记本上则有RS232串口,这里RS232指的是RS232电平的串口。后来由于这种串口使用很少、速度较慢、体积较大而逐渐在笔记本甚至台式机上被淘汰了。而51单片机等中含有UART串口,UART这里指的是TTL电平的串口。
UART与RS232区别主要在于其电平定义不同。TTL电平是5V的,而RS232是负逻辑电平,它定义+5~+12V为低电平,而-12~-5V为高电平。
标准串口即RS232串口(通常指COM接口),如图。
由于USB接口与单片机的TTL串口无法直接连接,一般通过转换芯片来连接。连接到USB接口的转换芯片一般需要在电脑上安装驱动。
USB转RS232串口(常用转换芯片为CH341,价格10-20元)
RS232转TTL(电平转换芯片MAX232)
MAX232电路图
USB转TTL串口(常称为USB转TTL升级小板,USB-TTL转接板,常用转换芯片为PL2303,价格6-10元)
PL2303电路图
USB - RS232串口 - TTL串口 转接板
USB-RS232电路图
通常成品学习板上都是USB接口或者RS232串口+USB接口。一方面USB接口负责给单片机供电,另一方面,USB转TTL或RS232转TTL已经集成的学习板上。
51单片机程序的烧写
我们最常见的51单片机是美国Atmel公司生产的AT系列单片机和中国宏晶公司生产的STC系列单片机。早期的AT89C51系列(89后面是字母C)单片机,下载程序时需要使用专门的烧写器烧写进去,单片机烧写程序时必须从电路上取下来,非常麻烦。后来推出了支持ISP(In System Programming)在线编程的AT89S51系列单片机,只需连接几根线即可烧写程序,也不需取下单片机。
标准10芯ISP插头
如图,学习板的左上角为标准10芯ISP插座
标准10芯ISP插座的接口定义
ISP下载电路图
AT89S51系列单片机下载程序时,计算机端可使用ProgISP等软件来下载。
AT89S51系列单片机的ISP下载是通过P1^5、P1^6、P1^7、RST引脚来下载的,而宏晶国产STC单片机则具有串口ISP功能,可直接使用串口,将程序下载进单片机。即将USB转TTL的TXD接单片机的RXD,RXD接单片机的TXD(实际中一些TTL转接板可能会把TXD、RXD标反,如果反了,交换即可)。STC系列的单片机在上电的时候会执行在ISP FLASH的ISP程序。只要在串口上收到连续的0x7F,便会进入ISP模式。所以STC单片机下载程序时,需要先在计算机端程序中点下载,然后给单片机通电。另外STC单片机需使用宏晶专用的单片机下载程序STC-ISP下载。
下载程序顺序如下:
1、设置单片机型号,COM口,波特率等参数。
2、装载好要烧的单片机程序。
3、点击“下载”。
4、给单片机上电。
5、下载软件显示:正在下载....
6、下载完成。
STC-ISP软件:
下载程序时注意,如果使用USB接口转串口的需安装对应驱动(PL2303、CH341等)。安装好驱动后连接上学习板或下载线,可以在设备管理其中看到相应的串口,如图:
如何给Atmega328P单片机烧录Arduino引导程序
用USBISP/USBasp编程器给Atmega328P下载Arduino bootloader引导程序bootloader引导程序是什么
Arduino UNO引导程序下载接口
几种常见的下载器和6P转接头
Arduino Bootloader下载
总结
bootloader引导程序是什么
犹如电脑主板的BIOS,开机或重启时先自动进行BIOS设置。有些单片机出厂时芯片厂商已经烧录好了引导程序,例如串口方式下载的引导程序。单片机复位或重新上电时先从引导程序执行代码检测是否有其他命令需要执行,再跳转到用户程序代码执行。
Arduino开发板预先写入了bootloader,通过USB转串口芯片下发下载命令给Arduino开发板使其复位进入bootloader,bootloader识别到下载命令后接着引导新的用户程序下载到单片机内部flash,若没有识别到下载命令则跳转到原来的用户应用程序继续执行。
对于新出厂的atmega328p芯片内部是没有arduino引导程序的,需要用户预先下载bootloader后才能用串口下载自己的应用程序.在某些罕见情况下旧的bootloader会导致一些bug,这个时候写入新版本bootloader可能会解决问题。
Arduino UNO引导程序下载接口
Arduino UNO使用的是AVR芯片,AVR芯片烧写程序是通过ICSP(in-circuit serial programmming)硬件接口来实现的,左上角是atmega16u2芯片作为USB转TTL串口用,也有ICSP接口,不用去下载引导程序,右边中间ICSP作为Atmega328P芯片的引导程序下载接口
几种常见的下载器和6P转接头
安装USBasp驱动
免驱版直接插入电脑就能被识别到
下载器与Arduino UNO开发板连接
USBas驱动与烧录软件下载地址:https://pan.baidu.com/s/1ovbBz5D4a2MRvxWPAloXYg 提取码:mg21
Arduino Bootloader下载
连接好下载器和Arduino uno开发板或atmega328p单片机最小系统ICSP引脚,打开ProgISP下载软件
熔丝位配置好后点写入,再点读出,看是否与写入相同!
固件在Arduino安装目录中找到,如下图
引导程序下载好后,打开Arduino IDE给Arduino UNO开发板下载一个例程检查芯片能否通过串口下载Arduino的用户应用程序。
总结
烧写bootloader与使用编程器给单片机烧写程序是一样的,有的厂商的单片机出厂时已烧录好自己的引导程序,有的没有,烧录方法也会不同。长期发布类似文章,欢迎关注,欢迎随时留言,需要程序或者软件也可以在下方留言喔!
相关问答
我只有一块 at 89c2051的 单片机 芯片,肿么 下载 程序进去,貌似只...2,将编程器与电脑的串口或USB接口连接;3,将芯片放置于编程器插座上;4,启动烧...单片机程序。编程器的价格30-50元左右,购买时先了解一下是否支持at89c2051。...
AT 89S52 单片机 怎么 下载 程序?AT89S52有两种下载程序的方式,分别是并行编程和串行编程(ISP)。这两种编程方式都需要使用专用的下载器,建议使用ISP方式,可以在不拆卸单片机芯片的情况下直...
51 单片机 与 下载器 的联接,我有USB那样的 下载器 ,但是不知道它...不能用,isp下载器只能下载at89s51,52和avr的单片机,不能下89c的。看看新机器是否是win7,那个要更新usb的win7驱动驱动装了没有?虽然有的下载器号称是免驱的...
at 89s52 单片机 可以用普中 下载 程序?是的,可以使用,要有专门的烧录线是的,可以使用,要有专门的烧录线
ATmega128 单片机 ,用的USBISP 下载 ,为什么无法烧进去程序?STC-ISP软件,通过COM串口232转TTL,及USB转TTL(模拟串口),可以对STC系列单片机进行编程下载程序。目前其它系列单片机还没有该功能,ATmega128及...
51 单片机 的 下载器 和atmega16的 下载器 一样? - 176****2660 的...不一样
At 89s51系列 单片机 ,肿么从电脑上 下载 程序-ZOL问答这个单片机有ISP功能,所以可以用串口下载程序到单片机。你需要从Atmel的供应商那里索求下载软件。我觉得自己电脑通过isp下载线与单片机的isp下载引脚连接使...
用手机数据线怎么把程序烧录到 单片机 中?-ZOL问答用USB双头线烧写STC单片机AT89S52是用USB下载线烧写用编程器烧,或者买个烧录坐烧看是什么单片机喽,51和AVR的话用USBasp,淘宝一下有很多(10多块);软件用prog...
怎么样往 单片机AT 89S51烧录程序-ZOL问答他是通过MAX232串口芯片来连接电脑与AT89S51单片机的P1.5,P1.6和P1.7端口,通过专门的ISP编程软件把.HEX(十六进制文件)或.BIN(二进制文件)文件下载到单片机里。...
AT单片机 是哪个公司?爱特梅尔公司,主要产品是ATtiny24。爱特梅尔公司,主要产品是ATtiny24。