节目调整了! ! 经常有朋友在知乎上提问,谈论如何实现花哨的水灯,如何用按钮控制LED灯,还有一些C语言输出的例子和自己想象的不一样等等。死东西。 编写程序的方法有数千种。 各个知乎高手不可能涵盖所有的问题。 他们只能提供指导。 最重要的是掌握故障排除的方法。 其中,调试程序就是让程序一步步进行。 一步执行,当出现疑难问题时,我们可以用这种方法来检查单片机寄存器和数据变量是否按正常逻辑运行。 当我们慢慢掌握这项技能的时候,无论问题有多大,我们都可以排除故障,甚至可以让我们少走很多弯路。 废话不多说,开始吧,老兵们✌✌
实验环境:Keil软件,版本:C51 V9.54
STC-ISP综合下载软件,版本:V6.88
仿真芯片:IAP15W4K58S4
51单片机在线仿真环境搭建
第一步:将STC单片机的头文件和仿真驱动文件添加到Keil软件中,点击Prepare进行添加;
添加STC单片机仿真文件
步骤2:选择Keil软件的安装位置。 我们大多数人都安装了用于开发STM32的Keil软件。 记得添加到51单片机开发环境文件夹中,然后点击“确定”。
选择安装目录
添加完成后,会弹出对话框提示添加成功。
添加成功对话框
第三步:打开Keil软件新建一个工程,检查是否添加成功。 新建工程时可以看到“STC MCU Database”
有STC微控制器选项
选择Database后,可以看到很多STC单片机型号。
STC单片机型号
我这里使用的是宏晶公司的IAP15W4K58S4芯片。 选择芯片并点击“确定”
模拟环境设置
第1步:找到“Options for TARGET…”选项并单击
第二步:在弹出的对话框中找到“调试”选项,选择“STC Monitor 51 Driver”选项。
选择效果好的点击“确定”
第三步:点击“Settings”设置单片机的模拟端口
在弹出的对话框中选择USB转串口。 这里的端口是COM20(根据自己的串口情况选择),波特率为115200(也可以是其他波特率,可以根据自己的情况选择),设置好后点击“确定”选项
这样我们的开发环境就搭建好了
编写代码验证
这里我们先用一个程序来打开和关闭LED灯来测试一下。
首先按照正常方式下载,看看效果。
在调试之前,我们首先要对模拟单片机进行一个小操作,即下载一个ST宏晶公司提供的监控程序。 我们的每个 STM32 微控制器都配有自己的监控程序。 在“STC-ISP”软件中找到“Keil仿真设置”,然后选择我们的单片机型号,点击“将选定的目标单片机设置到仿真芯片”
在Keil软件仿真中,我们首先在while循环中设置断点。 由于串口的通信速度不高,如果延迟时间过长,仿真很容易崩溃。 我这里将延迟改为1ms。 您可以尝试改变串口通讯方式尝试提高速度
在线模拟调试效果
总结:
1、仿真是单片机学习过程和项目开发过程中非常重要的技能。 业内称方案调整
2、宏晶公司的模拟单片机采用串口模拟,因此数据返回速度存在限制。 这需要一些技巧。 稍后我还会向大家介绍使用proteus进行在线调试,并介绍一些仿真技巧,敬请期待