程序是调出来的!!经常有小伙伴在知乎里面提问,说怎么实现花样流水灯,怎么实现按键控制LED灯,还有C语言的一些例子怎么输出的和自己想的不一样等等诸如此类的问题,我想说的是机器是个死东西,程序的写法有千千万种,各路知乎大神不可能涵盖所有问题,只能提供指导思路,重要的还是自己要掌握排除问题的方法,其中调试程序就是让程序一步一步的执行,当出现疑难杂症时我们可以用这种方法去查看单片机寄存器和数据变量是否按照正常的逻辑运行,当我们慢慢掌握了这个技能,就算再大的问题也能排查出来,甚至能让我们少走很多弯路,话不多说,老铁们开始干吧✌✌
实验环境:Keil软件,版本:C51 V9.54
STC-ISP综合下载软件,版本:V6.88
仿真芯片:IAP15W4K58S4
51单片机在线仿真环境搭建
第一步:将STC单片机的头文件以及仿真驱动文件添加到Keil软件中,单击准备添加;
添加STC单片机仿真文件
第二步:选择Keil软件的安装位置,我们绝大部分人安装了开发STM32的keil软件,这里记得选择添加到51单片机开发环境文件夹,然后点击“确定”。
选择安装目录
添加好后会弹出提示添加成功对话框
添加成功对话框
第三步:打开Keil软件新建工程,查看是否添加成功,新建一个工程可以看到有"STC MCU Database"
有STC单片机选项
选好Database后可以看到很多的STC单片机的型号
STC单片机型号
我这里使用的是宏晶公司IAP15W4K58S4芯片,选择好芯片点击“OK”
仿真环境设置
第一步:找到“Options for TARGET...”选项单击
第二步:在弹出的对话框中找到“Debug”选项里面选择“STC Monitor 51 Driver”选项
选择好的效果,然后点击“OK”
第三步:点击“Settings”设置好单片机的仿真端口
在弹出的对话框中选择USB转串口的端口,我这里的端口是COM20(根据自身串口情况选择),波特率选择115200(其他波特率也可以,大家可以根据自身情况选择),设置好后点击“OK”选项
这样我们就把开发开发环境设置好了
编写代码验证
这里先用一个LED灯亮灭的程序来测试下
先按照普通的方式下载进去看下效果
在进行调试之前我们先好对仿真单片机进行一点小操作,也就是下载一个ST宏晶公司提供的监控程序,像我们的STM32单片机每片都是自带监控程序的,在“STC-ISP”软件中找到"Keil仿真设置",然后选择好我们的单片机型号,点击“将所选目标单片机设置位仿真芯片”
在Keil软件端仿真,我们先在while循环中下个断点,由于串口的通讯速度不高,延时时间太长仿真很容易崩溃,我这里将延时改成1ms,大家可以尝试将串口通信速度提高试下
在线仿真调试效果
总结:
1、仿真在单片机学习过程以及项目开发过程中是非常重要的一个技能,行业里都说程序是调出来的
2、宏晶公司的仿真单片机因为是使用串口仿真,所有在数据回传速度上有限制,这方面需要一些技巧,后期我还会给大家介绍用proteus来在线调试以及介绍一些仿真技巧,敬请期待
相关文章