对于STC89C52RC单片机,下载程序时需要上位机软件和USB转串口线。 上位机软件负责打开.hex格式的机器码文件。 机器代码文件记录了每条程序指令对应的地址信息。 下载过程中,上位机软件根据.hex文件记录指令内容和对应的地址信息。 ,通过USB转串口线,与单片机预设的系统程序进行串口通信,从而将.hex记录的信息传输到单片机内部的Flash存储器中,实现程序的烧录和下载。 ## 【8.2 烧录程序所需的工具和软件】 ### (1)XP 或WIN7 系统的计算机一台。 我没有用其他更高的系统测试过,应该问题不大。 ![]()图8.2.2 带串口的单片机最小系统### (2) 带9针串口、1个LED灯、电源切换开关、可供电的stc89c52rc单片机核心板5V电源。 对于不需要硬件平台的编程练习,本教程使用的学习板原理图已经在网上连载帖子的附件信息中分享了。 也可以根据原理图自行焊接一块学习板,或者使用其他厂家带串口的单片机学习板来学习。 串口是微控制器与计算机之间进行通信的接口。 是STC89C52RC单片机下载程序的通道。 LED灯用于观察单片机是否正常运行程序。
电源切换开关方便了烧录程序时所需的断电和通电操作。 该微控制器系统由 5V 供电。 ![]()图8.2.3 USB转串口线### (3) 主控芯片为CH340的USB转RS232串口线。 我之所以推荐主控芯片是CH340的USB转RS232串口线,是因为CH340的下载线在烧录程序时非常稳定可靠。 此USB转串口线可以在淘宝上购买。 ![]()图 8.2.4 USB 电源线 ### (4) 5V 供电的 USB 电源线。 此 USB 电缆可以从计算机的 USB 端口获取电源,也可以从输出 5V 的手机充电器获取电源。 获得电力。 但我建议大家使用输出5V的手机充电器供电,因为很多电脑的USB口供电干扰比较大,会影响程序烧录。 ![]()图8.2.5 USB转串口驱动安装程序### (5) 主控芯片为CH340 USB转RS232串口线驱动安装程序。 该驱动程序通常由 USB 转 RS232 串口电缆的制造商提供。 不过建议使用附件中我给大家推荐的驱动。 毕竟这个程序是经过我验证和测试的。 ![]() 图 8.2.6 上位机软件 ### (6)“stc-isp-15xx-v6.85I”上位机软件由鸿晶单片机官方免费提供,兼具烧录程序和串口助手功能 上位机软件可从宏晶单片机官网下载。
这个软件有很多功能。 除了下载程序和串口助手的功能外,还可以用于配置和自动生成所需的初始化代码。 当然,本教程后面主要用到的是这个软件的两个功能,下载程序和串口助手。 因此,您选择的软件版本必须是v6.85I以上,因为早年有些版本只有烧录功能而没有串口助手功能。 ## 【8.3 将.hex文件烧录到单片机中的操作过程】前面第6节已经教了您将驱动LED灯的C源代码编译成.hex文件的操作过程。 同时,在D盘的“stc89c52rc”文件夹中已经生成了一个机器码文件“stc89c52rc.hex”,现在教大家如何将该文件烧录到单片机中。该程序的功能就是让单片机驱动LED灯闪烁![]()图8.3.1.1双击启动图标安装USB转串口驱动![]()图8.3.1.2安装USB转串口驱动driver![]()图8.3.1.3驱动安装成功###第一步:在主机“stc-isp-15xx-v6.85I”上安装USB转串口驱动,烧录软件为安装的用户软件。要与计算机进行通信,需要使用 USB 转串口线,为了使 USB 转串口线正常工作,必须预先安装 USB 转串口驱动程序。
具体操作如下:从本篇连载的附件中下载“USB转串口驱动CH340.zip”文件压缩包。 解压后打开该文件夹,找到“SETUP.EXE”安装应用程序,双击启动。 ,在弹出的界面中,点击“安装”按钮,完成驱动安装。 ![]()图8.3.2.1 打开WIND7系统计算机的管理窗口![]()图8.3.2.2 打开设备管理器窗口![]()图8.3.2.3 查看COM端口号![]( )图 8.3。 2.4 记录当前使用的COM口号###第二步:连接硬件线,同时记录序列号。 将USB转串口线插入电脑的USB端口。 此时USB转串口线的另一端连接到51学习板的9针。 串行端口。 同时电源线一端由输出5V手机充电器USB口供电,电源线另一端连接51学习板的USB供电口。 此时可以通过51学习板的电源拨动开关来控制电源的通断。 然后找到串口号。 方法是:以电脑WIN7系统为例,右键单击桌面上的“计算机”,单击并在下拉菜单中选择“管理”选项,在弹出的窗口中单击“设备管理器” ”选项切换到相应的设置窗口中,双击“端口(COM 和 LPT)”选项。 在展开的下拉选项中,您将看到“USB-SERTAL CH340 (COM3)”。 这个COM3就是我们要记住的序列号。 请记住该串行端口号,后续步骤中将使用到该端口号。
您的序列号可能不是COM3,请参考您电脑上显示的序列号。 ———————————-步骤之间的分隔线——— — ——————————–![]()图8.3.3双击打开上位机软件### 第三步:打开上位机用户软件“stc-isp-15xx-v6.85I.exe”。 该软件可以在宏晶单片机官网下载。 获得的软件压缩包解压后才能使用。 无需安装。 双击打开“stc-isp-15xx-v6.85I.exe”。 会弹出“温馨提醒”窗口。 按“确定”即可进入真正的工作界面。 ![]()图8.3.4 设置烧录(下载)选项 ### 步骤4:选择单片机型号。 在“MCU型号”下拉菜单中选择“STC89C/LE52RC”型号。 如果中途弹出推荐其他机型的窗口,可以忽略。 我们只需要寻找型号“STC89C/LE52RC”进行学习即可。 ###第五步:设置串口号。 单击“串口”右侧的选项。 在“串口”下拉菜单中,选择与第二步中记录的串口号COM3相同的串口号(您的串口号可能不相同)。 为COM3,请根据您电脑的实际显示情况选择)。
### 步骤6:设置最小波特率和最大波特率。 将“最小波特率”设置为2400,“最大波特率”设置为9600。如果波特率设置得太高,可能会导致烧录(下载)失败。 ### 步骤7:导入.hex格式的机器码文件。 单击“打开程序文件”按钮。 在弹出的对话框中选择D盘下“stc89c52rc”文件夹中的“stc89c52rc.hex”并双击。 将“stc89c52rc.hex”导入上位机用户软件。 ![]() 图8.3.8 等待51学习板断电再上电 ### 步骤八:开始下载,点击“下载/烧写”按钮,会看到提示信息“检测中”目标单片机..”此时需要通过电源波动开关将51学习板断电,然后重新上电才能正常下载。 很多人也把这个开机过程称为“冷启动”。 之所以需要断电再上电,是因为单片机内部预设的系统程序只会在上电的短暂瞬间检查是否收到需要重新烧写程序的指令。 如果没有收到编程指令,单片机就会将整个话语权从原来的系统程序转移到我们的用户程序来接管,所以这个串口后面的时间就交给我们的用户程序来使用。 因此,每次烧录程序时,都会先启动上位机的下载命令。 此时上位机不断向单片机发送请求下载的命令。 不过,此时单片机并不关注这些指令,因为此时单片机的话语权已经交给了单片机。 此时我们的用户程序不受预设系统程序的控制,所以只有在断电再上电的情况下,系统内置程序才会检测并响应这个下载命令。
还有一点,其实并不是所有的单片机厂家在烧录程序时都需要“冷启动”,也不是所有的单片机都支持串口编程。 各个厂家的单片机编程程序的方式会有一些差异,但基本原理是相同的,或多或少是相同的。 ![]()图8.3.9 烧录(下载)成功###第九步:“冷启动”,观察操作是否成功。 执行完上一步9的“冷启动”后,如果发现“……操作成功!” 提示信息表明程序下载成功。 这时你会发现51学习板上的一个LED灯一直在闪烁。 它开始闪烁是因为我们的LED灯程序正在驱动它,这意味着我们的程序在单片机上正常工作。 附加说明: * (1) 以后,每当重新编译C源代码时,都会生成最新版本的.hex格式文件。 因此,每次烧录程序时,都必须返回步骤7再次执行,才能导入最新版本。 操作.hex格式文件时,请确保正在烧录的程序是最新版本的.hex烧录文件。 ##【8.4 51学习板下载程序失败时的解决办法】 – (1)可以先松开单片机卡座,稍微移动单片机,然后将单片机拧紧。 卡座必须将单片机夹紧,以免接触不良。 – (2) 更换电源。 很多电脑USB口的供电干扰非常大,严重影响下载程序。 请将USB电源线插入手机充电器的5V USB端口。 效果显着,下载成功率显着提高。
– (3) 检查确保所选微控制器型号为STC89C/LE52RC。 如果软件弹出推荐其他类型单片机的窗口,忽略它,我们会选择STC89C/LE52RC。 – (4) 检查STC-ISP 编程软件是否选择了匹配的COM 口。 – (5)通过串口编程程序进入单片机。 单片机的串口为P3.0和P3.1。 两条线经过232转换芯片,然后连接到USB转串口线。 因此,在烧录程序时,请确保P3.0和P3.1这两个IO口不能通过跳线连接到其他外围元件。 – (6) 点击“下载/烧录”后,记得断电再开机。 检查是否烧录成功。 – (7) 确保最小波特率始终设置为 2400,最大波特率始终设置为 9600。如果仍然不起作用,请尝试将最大波特率更改为 2400。 – (8) 如果仍然不起作用工作时,退出软件,拔掉USB转串口线,同时切断电源(必须把整个电源线拔掉!),重新插入USB转串口线,重新插入电源线,打开电源,然后重新打开软件。 – (9)如果仍然不行,请先关闭学习板电源(必须拔掉整个电源线!),然后重新启动计算机。 – (10)总之:如果还是不行,就按照上面的步骤多操作几次。 – (11)如果最后还是不行,请尝试更换其他USB口,或者换一台电脑尝试。