51的烧录与调试
上一篇我们下载了Keil的C51和MDK版本,可以书写代码了,但是如何将我们写的代码烧录/下载到51单片机中呢?
这需要使用一个程序:STC-ISP,它是STC公司发明的一种在线调试技术 ???
不是说我们要使用STC-ISP进行代码的下载/烧录吗?这个在线调试是什么东西?实际上,STC-ISP主要有两大功能:1,下载程序 2,在线调试/在线仿真
两者的区别很明显:直接下载程序,我们的单片机就会按照程序运行,不会停下;而在线调试就是我们可以控制程序的运行,可以实现程序一步一步的运行,同时还可以通过Keil的调试窗口看到我们想看的变量具体的数值。
一,前置准备:下载CH340驱动
STC-ISP是建立在串口之上使用的,我们在使用STC-ISP之前,需要确保电脑和单片机之间已经实现了串口通信,作为小白,听到“串口”可能就懵逼了,但是我们现在不需要理解,可以简单理解为要让电脑和单片机进行通信,那么如何实现他们的通信呢?
我们的电脑有USB接口 ,而单片机芯片使用的是串口接口,这是两种不同的接口,直接连接显然是不能让两者进行通信的,我们的单片机电路板上有一个CH340芯片(即USB转串口芯片),它可以将电脑的USB信号转换为串口信号,我们使用一个数据线将电脑的USB接口和CH340接口连接起来,CH340芯片再连接到51单片机的串口上,就能实现电脑和单片机的通信了
上面只是将硬件方面配置好了,但是还有一个关键步骤 就是驱动CH340,让CH340工作起来,将USB接口模拟为传统的串口,我们只需要在电脑上下载CH340驱动就行了:双击下面的程序即可(安装包在评论区)
如果我们只是硬件连接了电脑和单片机,没有下载CH340驱动的话,打开电脑的设备管理器就会看到以下情况:出现黄色感叹号
当我们下载完CH340之后,就能看到:
说明电脑找到了串口,两者可以通信了
二,下载STC-ISP
直接双击下面的程序即可:选哪个都行(我选了最新版本)
三,添加芯片型号
TC-ISP下载器支持多种STC单片机型号,不同型号的芯片在硬件架构、存储器大小、外设功能等方面存在差异。添加芯片型号是为了确保下载器能够正确识别目标芯片的特定参数和通信时的注意事项
STC定期推出新型号单片机,通过手动添加型号(下面的方式)可以扩展下载器对新芯片的支持,无需等待软件版本更新
我们打开STC-ISP,按照以下步骤 :选择仿真设置-》选择单片机型号-》添加单片机型号(添加到和C51,UV4同一级目录下,不要点进C51,UV4里面)
四,直接烧录程序
配置下图中的选项即可:
芯片型号:依据自己使用的芯片选择
扫描串口:点击可以自动寻找我们前面建立的通信,如果没有CH340什么前面的通信没有建立起来
打开文件夹:找到keil生成的HEX文件(Keil要按照下图设置 才能生成HEX文件)
生成的HEX文件在Objects文件夹之下:
频率:大多51单片机都是12M
下载/编辑:点击之后,电脑开始将程序烧录到单片机,但是单片机此时会拒绝接受程序(只有单片机上电的一瞬间 它才会接受程序),所以点击之后,要重启一下
五,在线调试
在线调试就是可以让代码一步一步运行,如何配置呢:
1,配置STC-ISP
和前面直接下载程序的区别是:不要直接点击下载(但是其他选项要配置),而是找到Keil仿真设置 ——》将所选芯片设置为仿真芯片
同样的,单片机重启一次 它才能将程序下载到单片机(这里下载的是监控程序)
然后会跳出下面的提示:需要我们将USB线拔掉 重新插上
2,配置keil
按照下图配置:
注意:波特率我这里必须是115200,STC-ISP也是115200(要保证相同),有时就算保证相同,但是不是115200也会出现问题,可能与芯片本身的要求有关
COM5也要与STC-ISP保持一致
然后点击“放大镜”按钮就能进行在线调试了: