大神手把手教你STC单片机片上仿真法

出处:维库电子市场网 发布于:2016-09-26 15:22:40

    什么是仿真?
    我们举一个汽车设计的例子来说明一下吧。大家一定在影视剧或电视广告中看过这样的镜头:在一个大大的厂房里,一辆崭新的小汽车正在以很高的速度撞向一面厚厚的水泥墙。坐在车上的两个人面不改色心不跳,一动不动地等待着死亡。他们为何如此冷静,因为“他们”是实验用的假人。说时迟那时快,汽车已经撞到了墙上,巨大的声响夹杂着飞溅的碎片充满了空间,汽车在撞击中破了相。旁边的几台高速摄像机记录下了这一切。这是真实的撞击实验,目的是为了得出这款车型在出现意外时,是否能保住人的小命。安装在假人身上的传感器所得出的数据,能帮助工程师们发现安全隐患,改进汽车的设计。可以说,以上就是仿真,一辆真车和两个假人有计划地撞墙,模拟了真实车祸情况。仿真让实验变得可能,因为没有一个真人愿意坐在车里参与这场实验。当真实情况很难在开发时再现时,仿真就可以帮助开发者完成必要的实验。这就如同单片机开发中,我们在自己的实验板上去开发一款产品一样。当我们设计好了一个产品的功能,我们要在实验板上模拟用户的操作,看看操作是否正常,产品的反应速度和稳定性如何。这些都是在仿真——模仿用户使用的真实情况。
    而本文要介绍的是仅使用单片机的“片上仿真”。片上仿真是基于单片机本身的仿真,也就是说只要一片单片机,不需要额外购买别的东西,就可以实现仿真。对于单片机爱好者来说,片上仿真是性价比的选择,你甚至不需要修改电路,用给单片机HEX文件的电路就能实现仿真。各大单片机公司都已开发出不同性能的支持片上仿真的单片机。其中STC公司有一款性能很不错的片上仿真单片机——IAP15F2K61S2。下面我就给大家介绍一下片上仿真环境的建立,还有进入仿真界面的操作流程,以一个实例告诉大家如何进行仿真调试。这是一些非常简单的操作,只要按照本文的步骤操作,就一定能顺利学会。
   

    
    仿真电路连接
    建立单片机仿真环境,主要的工作是设置软件的参数,而硬件电路的连接是很简单的事。如果你已经制作出了ISP线,并成功地给单片机写入了HEX文件。那么从某种意义上讲,你已经完成了单片机仿真的硬件电路连接。也就是说,单片机仿真电路与ISP电路是完全相同的。如果是这样,我为什么还要花时间来讲仿真电路的连接呢?因为虽然电路连接相同,但单片机不同了。所以我们不能使用STC12C5A60S2和STC12C4052AD来仿真,因为这两款芯片不带仿真功能。而带仿真功能的单片机IAP15F2K61S2是发布的15系列单片机,它有着不相同的引脚定义。我们只要熟悉了它的新引脚定义,再来制作电路就不难了。
    首先明显的是引脚定义的不同,虽然IAP15F2K61S2也是40脚的单片机,但如果把它直接插在我们做好的ISP线里,你会发现单片机是不工作的。不仅IO接口不兼容,连VCC电源输入的位置也不同。接下来是外部晶体的使用, IAP15F2K61S2单片机不需要接外部晶体,因为它的内部集成了一个高的时钟源,可以用软件设置成5~30MHz的时钟频率。这一改进对我们使用者的意义是:不论我们做何应用,都不需要外接晶体的电路了。只要连接VCC和GND,单片机就可以工作。再连接TXD和RXD,单片机就能ISP和仿真了。


    可仿真单片机IAP15F2K61S2


    /仿真电路原理图


    新建仿真环境
    硬件电路连接完毕后,下面开始步骤较多的软件设置,请大家一定按我介绍的步骤仔细进行。


    第1步:到STC-ISP V6.36软件,目前只有V6.36及以上版本支持仿真功能。


    第2步:点击软件右侧的“KEIL关联设置”选项卡。仿真相关的操作都在这个选项卡里完成。
    第3步:接着点击“添加MCU型号到Keil中”。这个操作效果是把STC芯片的仿真程序与KEIL软件绑定在一起,这样KEIL软件中的仿真功能才能操作STC单片机硬件。


    第4步:在弹出的“浏览文件夹”窗口中找到KEIL软件的安装目录,并点击“确定”(默认是在C:\Keil中)。
    第5步:点击“将IAP15F2K61S2设置为2.0版仿真芯片”,在此处可以仿真的芯片有两款:IAP15F2K61S2和IAP15L2K61S2,前一款是F表示5V电源电压的芯片,后一款是L表示3.3V电源电压的芯片。我们以5V芯片为例。


    第6步:按下第5步的按钮后,按键变灰,下方状态窗口出现“正在检测目标单片机……”。这个提示的意思是你需要给单片机重新上电了,和之前给单片机写入HEX文件的方法相同。此时在硬件上让单片机冷启动,即会出现程序的提示,显示完成。大家可能不明白了,不是要仿真吗,为什么还要程序呢?其实这次的是仿真所需要的仿真处理程序,而不是我们要运行的HEX程序文件。仿真处理程序的功能是接收KEIL软件通过串口发出的仿真指令,再用这个指令去操控单片机寄存器和IO接口什么的。由此可见仿真处理程序是必不可少的。


    第7步:打开KEIL,打开你想要仿真的项目,我打开一个P1接口流水灯的程序,一会我们也以此为例详细讲解。
    第8步:点击Target Options按键,或在菜单栏中点击Projectà Options for Target。


    第9步:进入Options窗口后,点击Device选项卡。
    第10步:在Database下拉列表中选择“STC MCU Database”项,选中后就会出现STC系列单片机的型号。
    第11步:在左侧型号中选择“STC15F2K60S2”项,这里选的是系列型号,包括同系列的很多款单片机。


    第12步:选择“Debug”选项卡,这里面都是与仿真相关的设置。
    第13步:选中窗口右上方的项目。
    第14步:在下拉列表中选择“STC Monitor-51 Driver”项。
    第15步:选择好后,点击右侧的“Settings”按钮。


    第16步:在弹出的窗口中可以设置仿真用串口通信的串口号和波特率。串口号就选择单片机正在使用的串口。
    第17步:在波特率下拉列表中选择115200或57600,这个部分涉及到仿真的稳定性。所以要根据你的经验来设置。如果你是次使用,可以多设置几个值看看,哪一个稳定就用哪个。如果仿真时出现错误提示也可能与此有关。


    第18步:设置完成后回到主界面。点击DebugàStart/Stop Debug Session或按键盘上的Ctrl+F5开始仿真。这个操作是开始或停止仿真的切换按钮。如果我们之前的设置都是正确的,单片机硬件也接通了电源,这时KEIL软件会切换到仿真界面。


    第19步:点击仿真界面下的“Run”按钮或按键盘上的F5键就能全速运行程序了。如果一切正常,你将会在单片机硬件电路上看到8个LED顺序点亮,呈现流水灯效果。想复位单片机,可以按左边的“RST”按钮。


    第20步:在全速仿真运行的状态下,点击“Stop”键停止仿真。


    注意:如果在进入仿真界面或点击“Run”按钮后,出现上面的提示窗口,则表示你之前的设置存在问题,或者是硬件电路的部分有异常。解决的办法是:首先把KEIL软件退回到正常编程状态,然后重新给单片机上电,再尝试进入仿真界面。如果还不行,则重新给单片机仿真处理程序。还不行的话,就选择KEIL仿真设置里的其他波特率,再重复前面的尝试。实在没有办法的话就只能重启电脑试试了。

关键词:单片机

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

相关技术资料
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!