51单片机串口仿真流程介绍
目前STC的仿真都是基于Keil环境的,所以若需要使用串口工具仿真用户代码,则必须要安装Keil软件。
Keil软件安装完成后,还需要安装STC的仿真驱动。STC的仿真驱动的安装步骤如下:
首先开STC-ISP下载软件;
然后在软件右边功能区的“Keil 仿真设置”页面中点击“添加型号和头文件到Keil中 添加STC仿真器驱动到Keil中”按钮:
按下后会出现如下画面:
将目录定位到Keil软件的安装目录,然后确定。
安装成功后会弹出如下的提示框:
在Keil的相关目录中可以看到如下的文件,即表示驱动正确安装了。
以上步骤执行一次即可,如果是仿真新出的单片机,则需要下载最新版本的STC-ISP软件,重新安装一次仿真驱动。
由于在默认状态下,STC的主控芯片并不是一颗仿真芯片,不具有仿真功能,所以若需要进行仿真,则还需要将STC的主控芯片设置为仿真芯片。
制作仿真芯片步骤如下:
首先使用STC通用USB转串口工具将MCU与电脑进行连接;
然后打开STC的ISP下载软件,并在串口号的下拉列表中选择串口工具所对应的串口号;
选择MCU单片机型号;
选择用户程序运行的IRC频率,制作仿真芯片时选择的频率与所仿真的用户程序所设置的频率一致,才能达到真实的运行效果。
然后在软件右边功能区的“Keil 仿真设置”页面中点击“将所选目标单片机设置为仿真芯片”按钮,
按下后会出现如下画面:
接下来需要按一下STC通用USB转串口工具上的“电源开关”给MCU供电【冷启动】,即可开始制作仿真芯片。
若设置成功,会出现如下的画面:
到此,仿真芯片便制作成功了。若没有使用STC-ISP软件对仿真芯片进行下载操作,此步骤做一次即可重复进行仿真。
制作完仿真芯片后给MCU重新上电,然后再开始仿真。
接下来我们打开一个项目进行仿真:
然后进行下面的项目设置:
按下快捷键“Alt+F7”或者选择菜单“Project”中的“Option for Target ‘Target1’”
在“Option for Target ‘Target1’”对话框中对项目进行配置:
第1步、进入到项目的设置页面,选择“Debug”设置页;
第2步、选择右侧的硬件仿真“Use …”;
第3步、在仿真驱动下拉列表中选择“STC Monitor-51 Driver”项;
第4步、点击“Settings”按钮,进入串口的设置画面;
第5步、对串口的端口号和波特率进行设置,串口号要选择STC通用USB转串口工具所对应的串口,波特率一般选择115200或者57600。
确定完成仿真设置。
详细步骤如下图所示:
注意:第3步在仿真驱动下拉列表中选择“STC Monitor-51 Driver”项,不是“Keil Monitor-51 Driver”。
完成了上面所有的工作后,即可在Keil软件中按“Ctrl+F5”开始仿真调试。
若硬件连接无误的话,将会进入到类似于下面的调试界面,并在命令输出窗口显示当前的仿真驱动版本号和当前仿真监控代码固件的版本号,如下图所示:
仿真调试过程中,可执行复位、全速运行、单步运行、设置断点等多中操作。
如上图所示,可在程序中设置多个断点,断点设置的个数目前最大允许20个
(理论上可设置任意个,但是断点设置得过多会影响调试的速度)。
如果开始仿真或者仿真过程中报错,可能导致原因如下:
- 1.制作完仿真芯片后没有重新给MCU进行上电复位,就开始仿真。
- 2.如果使用U8W/U8W-Mini进行仿真的话,需要先设置“直通模式”,具体方法参考5.9章节介绍。
- 3.仿真程序不能使用P3.0/P3.1口。仿真监控程序占用P3.0/P3.1口,但不占用串口1,用户可以将串口1切换到其它通道再使用。
- 4.仿真监控程序占用内部扩展RAM(XDATA)的最后768字节,如果程序使用XDATA+768字节大于芯片XDATA的上限,也会出错。
- 5.仿真的程序里面不能修改系统时钟频率。
- 6. P3.0/P3.1口数据受到干扰。仿真通过P3.0/P3.1口与KEIL驱动进行通信,如果数据受到干扰会导致仿真出错。故障排查参考:
- (1)使用优质的USB线、串口工具与目标板连接线;
- (2)P3.0/P3.1口外围电路上不要接影响通信的元器件;
- (3)如果使用台式机的话,连接机箱背后的USB接口,尽量不要使用延长线;
- (4)板子上如果有电机等干扰比较大的器件,仿真之前先断开。