为什么往51单片机烧录软件时,工具识别不到串口?

为什么往51单片机烧录软件时,工具识别不到串口?,第1张

STC51单片机通过串口ISP方式烧录程序,用这种烧录方式,单片机必须是上电冷启动,这是STC单片机的歼悄设计使然。烧录程序时,下载软件老是显示“正在检查目标单片机”,标明单片机和PC机没有通过串口建立握手信号。虽然驱动安装好了,但以下原因仍然影响正常烧录:

1、单片机没有可靠上电冷启动。

2、单片机复位电路氏禅渣有问题。

3、单片机晶振电路没有工作。

4、下载器与单片机连线有问题。

5、袭晌下载波特率过高。

串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。

从两者之间的定义就可以看得出:串口是个物理接口,端口是个逻辑窗口。怎么理解呢?以我们经常册没用的电脑为例—我们电脑有很多串口,比如RS232,RS485等等,这些就是串口,本身就在一种接口。那逻辑窗口是什么呢?请大家回忆一下学习51单片机的时候(或者stm32时候用FlyMC)下载程序的时候,是不是要选一个COM?这个COM不是固定的,你插上它就有,不插就没有,这就是它为什么是一个逻辑值的原因。通俗的说,端口只是串口的一个标识ID而已,不同的ID对应着不同的连接口。任何一个芯片滑笑都要在有电的时候去工作,那么它必然就有一个VCC,一个GND,这个VCC和GND就是两个引脚,除了这些,还有一些其他的引脚,比如RST,普通的IO都是引脚。AVR系列单片机烧录程序的方法大概有以下三种:使用ISP编程器对芯片进行在线烧录、专业高压编程器烧录、通过JTAG接口使用JTAG仿真器烧录。但是它们都有一个共同的特点:但是总是要借助于其他设备或者编程器,下载稍嫌麻烦,本文笔者给大家介绍如果通过PC机的普通串口给AVR芯片烧录程序,本文以ATMega16为例。

相信大家都用过STC系列的51单片机,STC系列的单片机烧录程序都很简单,只需要通过串口就可以实现程序的烧录。于是就想让AVR的芯片也能实现通过串口就能下载的功能,这样就可以省去购买UsbAsp下载

图1线或者高压编程器的费用,而且使用更加方便。仔细研究AVR的芯片手册,就会发现常用的一些AVR芯片如:ATMega16、ATMega32等都是带有BootLoader功能的,这个BootLoader功能可以读写芯片的整个FLASH存储区,甚至可以改写BootLoader区,而且还有另外一个特点:如果BootLoader功能开启以后,每次复位都会从BootLoader 启动。

于是就有一个大概的思路了,可以给AVR的芯片写一个BootLoader的串口通信程序,每次复位以后BootLoader 区的程序就会得到运行,运行以后首先检测是否有烧录请求,如果有就更新FLASH中的程序,如果没有烧录请求,则执行FLASH中原有的程序。经过几天的努力这个通过串口给ATMega16烧录信姿含程序的固件和上位机终于完成了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12539402.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-26
下一篇2025-08-26

发表评论

登录后才能评论

评论列表(0条)

    保存