打印

STC单片机与C8051的调试如何进行

[复制链接]
6422|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
moderatan|  楼主 | 2012-12-15 09:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
沙发
阿南| | 2012-12-15 09:23 | 只看该作者
STC是可以通过串口直接下载烧写的,用keil软件仿真。如果想用硬件仿真就用普通的仿真器了。

使用特权

评论回复
板凳
NE5532| | 2012-12-15 09:53 | 只看该作者
补充楼上,没有仿真器一样调程序。

使用特权

评论回复
地板
forgot| | 2012-12-15 11:54 | 只看该作者
程序很复杂?

使用特权

评论回复
5
uet_cache| | 2012-12-15 12:10 | 只看该作者
串口下载。不能仿真

使用特权

评论回复
6
moderatan|  楼主 | 2012-12-15 12:14 | 只看该作者
阿南 发表于 2012-12-15 09:23
STC是可以通过串口直接下载烧写的,用keil软件仿真。如果想用硬件仿真就用普通的仿真器了。 ...

请教下,如果用普通仿真器的话,应该怎么连接呢?单片机要把哪几个口接出来?

使用特权

评论回复
7
moderatan|  楼主 | 2012-12-15 12:15 | 只看该作者
NE5532 发表于 2012-12-15 09:53
补充楼上,没有仿真器一样调程序。

没有仿真器的话,就在keil里面调试吗?还是应该怎么样操作?

使用特权

评论回复
8
moderatan|  楼主 | 2012-12-15 12:39 | 只看该作者
forgot 发表于 2012-12-15 11:54
程序很复杂?

因为是要先把板子的样片做出来,所以要留出以后调试的接口。之前用c8051f330时是留出了C2D口的(貌似是这样写的)。不知道STC的单片机应该留什么接口出来呢?

使用特权

评论回复
9
NE5532| | 2012-12-15 13:11 | 只看该作者
本帖最后由 NE5532 于 2012-12-15 13:14 编辑

请看鄙人拙作《脱离仿真器玩单片机》,学会了方法,3、5000行汇编根本不要仿真器。

使用特权

评论回复
10
logokfu| | 2012-12-15 19:17 | 只看该作者
NE5532 发表于 2012-12-15 13:11
请看鄙人拙作《脱离仿真器玩单片机》,学会了方法,3、5000行汇编根本不要仿真器。 ...

OTP用户伤不起

使用特权

评论回复
11
NE5532| | 2012-12-15 20:12 | 只看该作者
亲,这年代很少有单独OTP的产品了……

使用特权

评论回复
12
cjmqgsx| | 2012-12-16 09:07 | 只看该作者
又见到多位STC高手

使用特权

评论回复
13
autopccopy| | 2012-12-16 09:37 | 只看该作者
本帖最后由 autopccopy 于 2012-12-16 09:56 编辑

(85)

STC15F 新系列是可以硬件仿真的,使用型号为:IAP15F2K61S2(低压版为:IAP15L2K61S2), 要先用STC-ISP 15F V6.24下载控件,分单芯片仿真和双芯片仿真两种方式:

具体为:http://www.stcisp.com/STC-ICE-VER2.htm
官方链接:http://www.****ducst/STC-ICE-VER2-chinese.DOC

双芯片仿真方式:http://www.stcisp.com/stc15fz/stcfz1.html




stc_fz13s1.jpg (134.15 KB )

stc_fz13s1.jpg

stcemu3a.jpg (89.43 KB )

stcemu3a.jpg

使用特权

评论回复
评论
moderatan 2012-12-17 08:54 回复TA
很详细的介绍。STC最新出来的15系列是可以仿真了。谢谢 
14
lihaolongli| | 2012-12-16 14:05 | 只看该作者
STC也可以也能仿真?

使用特权

评论回复
15
shell.albert| | 2012-12-16 14:08 | 只看该作者
STC也能仿真?

使用特权

评论回复
16
lirunze| | 2012-12-16 14:17 | 只看该作者
肯定不能

使用特权

评论回复
17
阿南| | 2012-12-17 09:21 | 只看该作者
re 6楼:在板子上焊接单片机管脚对应的DIP的座,仿真时将仿真器的仿真头插在DIP座上就可以了。

使用特权

评论回复
18
coody| | 2012-12-17 10:12 | 只看该作者
IAP15F2K61S2系列官方有仿真代码,可以试试

使用特权

评论回复
19
yinhaix| | 2015-10-28 15:18 | 只看该作者

使用特权

评论回复
20
无量寿经| | 2015-10-28 21:23 | 只看该作者
任何一个型号的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所示。



使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

10

帖子

0

粉丝