任何一个型号的STC单片机(包括10年前出厂的),都可以通过串口+keil环境进行在线仿真,现在的STC15系列,连串口都不再占用。以下内容来源于《51单片机轻松入门—基于STC15W4K系列》第一章。
1.3.2 硬件仿真(利用STC专用仿真芯片仿真,可仿真所有功能) (1)仿真设置步骤 如图1-58所示,在STC程序下载软件中首先选择“Keil仿真设置”页面,点击“添加型号和头文件到Keil中”,在出现的目录选择窗口中,定位到Keil的安装目录(比如“C:\Keil818\”),“确定”后出现“STC MCU型号添加成功”的提示信息,点“确定”。 图1-58 安装Keil版本的仿真驱动 在Keil中新建项目,出现如图1-59 对话框,选择“STC MCU Database”项,然后从列表中选择相应的MCU型号,在此选择“STC15W4K32S4”,点击“OK”完成选择。 图1-59 芯片种类选择
然后按通常的步骤编写代码,编译成功后,点KEIL工具栏图标file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image002.jpg进入设置工程界面,选Debug选项卡,如图1-60所示,选择右侧的硬件仿真“Use …”,在仿真驱动下拉列表中选择“STC Monitor-51 Driver”项,然后点击“Settings”按钮,对串口的端口号和波特率进行设置,波特率一般选择115200或者57600。然后选中“LoadApplication at Startup”和“Run to main()”,最后确定即可。
图1-60 硬件仿真设置步骤 然后准备一颗IAP15W4K58S4按正确方向插入前面的实验电路,实验电路仍然与电脑串口相连,然后按图1-58所示操作,先选择仿真芯片运行时的R/C时钟频率或使用外部晶振,然后点击“将IAP15W4K58S4设置为仿真芯片”按钮,给电路板上电,此时就将会有程序向芯片中下载,下载时间最快大约需要10秒,当程序下载完成后仿真器便制作完成了,IAP15W4K58S4设置成仿真芯片后,要想再变成一般的单片机无需任何操作,直接将它当作单片机下载程序使用就可以了。 确认前面我们所创建的项目编译没有错误后,按“Ctrl+F5”或工具栏图标file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image002.jpg开始调试,若硬件连接无误的话,将会进入到与软件仿真类似的调试界面,只是现在可以一步一步执行程序并控制硬件动作了,断点设置的个数目前最多允许20个(理论上可设置任意个,但是断点设置得过多会影响调试的速度)。 有时进入调试环境可能会失败,这时可将整个程序代码注释掉,只写一个最简单的主函数,编译后再尝试进入调试环境,若顺利进入,说明是软件代码(比如串口程序)占用了仿真调试接口,否则可能是仿真串口号选择有误或硬件问题,比如仿真芯片问题或计算机出来的串口工作不正常。 (2)仿真代码占用资源 ① 程序空间:仿真代码占用程序区最后6K字节的空间,比如用IAP15W4K58S4仿真,用户程序只能占52K(0x0000~0xCFFF)空间,程序最大不能超过52×1024=53248字节,用户程序不要使用从0xD000到0xE7FF的6K字节空间。 ② 常规RAM(data,idata) : 0字节 ③ XRAM(xdata) : 占用最后768字节空间(0x0D00 – 0x0FFF, 用户在程序中不要使用),对于IAP15W4K58S4,只要程序占用XRAM不超过4096-256-768=3072字节即可。 ④ I/O : P3.0/P3.1,用户在程序中不得操作P3.0/P3.1,不要使用INT4/T2CLKO/P3.0, 不要使用T2/P3.1。
对于IAP型号单片机,对EEPROM的操作是通过对多余不用的程序区进行IAP模拟实现的,此部分要修改程序(IAP起始地址)。如IAP15W4K58S4单片机的EEPROM区的位置如图1-61所示。
|