基于ISD51的MCS51在线调试方法.doc

上传人:土8路 文档编号:10042759 上传时间:2021-04-13 格式:DOC 页数:4 大小:1.71MB
返回 下载 相关 举报
基于ISD51的MCS51在线调试方法.doc_第1页
第1页 / 共4页
基于ISD51的MCS51在线调试方法.doc_第2页
第2页 / 共4页
基于ISD51的MCS51在线调试方法.doc_第3页
第3页 / 共4页
基于ISD51的MCS51在线调试方法.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于ISD51的MCS51在线调试方法.doc》由会员分享,可在线阅读,更多相关《基于ISD51的MCS51在线调试方法.doc(4页珍藏版)》请在三一文库上搜索。

1、文章编号 :1009 - 2269 (2010) 02 - 0021 - 043基于 ISD51 的 MC S51 在线调试方法权建军(兰州石化职业技术学院 电子电气工程系 , 甘肃 兰州 730060)摘要 : 介绍了一种 M CS51 的在线系统调试方法 . 采用德国 KEIL 软件的 ISD ( In Syst e m De bug2ger) 功能 ,可以不用价格较贵的硬件仿真器进行系统的在线实时仿真调试 . 详细介绍了硬件配置 、 ISD51 与用户程序的整合以及 KEIL 软件的设置. 最后 ,通过一个开发实例详细介绍了该调试方 法 . 该方法对于教学以及实际开发都很有意义 .关键词

2、 :中图分类号 :ISD51 ;系统调试 ;硬件配置 ;程序整合文献标志码 : AT P 314行 .0引言单片机的仿真调试广泛采用仿 真软 件 , 配 合缺点 :占用单片机的一个串口 ,同时一个用做波特率发 生 器 的 定 时 器 被 占 用 . 此 外 , 程 序 有 近600 个 Byt e , 也在一定程度上占用了 程序 存储 空 间 ,使得本可以使用 89C51 芯片的系统可能不得 不使用 89C52 等芯片. 如果不使用 89 S52 等在线 可编程芯片 ,还需要用编程器擦写程序.仿真器进行 . 由于需要昂贵的仿真器硬件 ,使得在教学环节受到了限制 . 教学环节大多采 用软 件 仿

3、 真或实验箱上进行 ,实际应用性不强 ,影响教学效 果 . 因此 ,学习使用成本低廉的在线 ISD51 开发工 具 ,进行真题真做 ,就十分有必要了 .ISD51 的硬件配置只需要将目标 板的 M CU 串口 ( R XD 、T XD) 及电源 、地线通过 M A X232 接 到 PC 机 的 R S232 串口即可 (如图 1 所示) .2ISD51 的介绍ISD51 ( 在线调试 器) 是 KEIL 软件 的自 带 程 序 ,它由两个文件组成 : ISD51 . A51 和 ISD51 . H , 安装在/ Keil/ C51/ ISD51 目 录下 . 它 为 8051 编 程 用户提

4、供了新的监控调试技术. 将 ISD51 进行配 置后与您的用户程序连接起来 , 用户就 可以 通 过8051 的一个串口直接在芯片上调试程序了 ,这就 是所谓在线调试 1 . 这 也正 是它 与 其他 仿真 的 不 同之处.优 点 : 程 序 代 码 写 在 单 片 机 内 部 Fla sh/ EP RO M 或者 外部 EP RO M 中 , 可 以 存 在 于 最 终 产品中 ( ISD51 固件是免费使用的) ,可在线实时运1ISD51 和用户程序的整合1) 将 ISD51 . A51 和 ISD51 . H 从/ C51/ ISD51复制到项目文件夹里 2 .32)ject ) .3)

5、将 ISD51 . A51 加 入 uV sio n2 项 目 ( p ro2将 ISD51 . H 加入到 C 主程序函数里面 (即在 mai n () 内使用 # i ncl ude“ISD51 . H”语句) .3收稿日期 :2009212215基金项目 :兰州石化职业技术学院科研项目 ( K09209)作者简介 :权建军 ( 19682) ,男 ,甘肃陇西人 ,讲师 ,硕士.22 兰 州 工 业 高 等 专 科 学 校 学 报第 17 卷图 1 ISD51 的硬件连接4) 检查 ISD51 . H 的配置设置 ,如果有必要 ,可以根据目标硬件的需要修改 . 默认的配置适合 标准的带有

6、256B yt e DA TA/ IDA TA 和带有标准 的 8051 内部串口的标准 8051 器件 .5) 将串口的初始化代码加入到 C 主函数里 面 ,可 以从 C51/ EXA M PL ES/ H EL L O 里 面 的 示 例程序里面找到.6) 将适当的 ISD51 调试函数加入到 C 代码 中 . 主要函数为 :a . Voi d ISDi nit ( voi d) :初始化 ISD51 并开始 你的用户程序. 当 uVi sio n2 调试器连接上 ,程序就 会停止运行 .b . Voi d ISDwait ( voi d) : 初始化 ISD51 并 等 待一直到 uVi

7、 sio n2 调试器连接上 .c . Void ISDchec k ( voi d) :检查 uVi sio n2 调试 器是否已经连接上 8051 . 如果是 , ISD51 中断就会 初始化. 如 同 典 型 的 嵌 入 式 代 码 的 主 循 环 一 样 , ISDchec k 就会被周期性的调用.d . Voi d ISDbrea k ( voi d) : 此函数用于强迫执 行 ISD51 的中断功能 . 它允许将核心中断加入用 户程序. 在调用此函数时 , uVi sio n2 调试器应该已 经和用户硬件建立了连接.e . Voi d ISDdi sa ble ( voi d) :

8、 该 函 数 用 于 取 消 ISD51 中断 ,以允许从用 户程 序 的软 件断 点中 保 护临界程序序列. 只要该函数被调用 ,就不再允许 单步 或 设 置 软 件 断 点 直 到 ISDe na ble 函 数 被 调 用 .f . Voi d ISDe na ble ( void) :该函数使 ISD51 中断允许 . 调用 ISDdi sa ble 后 , 必须调用 ISDe na ble函数使 ISD51 中断允许.7) 编译用户程序并且将生成的 H EX 文件用 一般编程器烧写到 8051 器件内.KEIL uVi sio n2 的设置1) 用 Keil 软件编译用户程序生成 H

9、 EX 文件 烧入 M CU ,连接好硬件.2) 在 Keil 开发软件中对用户项目进行如下4 3 设置:打开“p roject ”- “O Ptio n s fo r t a r get ”菜单 ,出现图 2 所示界面 ,选择好工作频率 .图 2 时针的设置3) 选择“D EB U G”出现 (如图 3 所示) :选择 Keil ISD51 In2Sy st e m De b ugger ,将“Go till mai n”前的勾去掉.4) 选择“Set ti ngs”出现 (如图 4 所示) :根据目标板的参数 ,设置通讯口 ,波特率 .5) 退出设置菜单 ,启动“D EB U G”菜单 ,

10、便可 以开始 ISD51 仿真 .第 2 期权建军 :基于 ISD51 的 MCS51 在线调试方法23 图 3调试器选择SB U F = c ;# e ndifvoi d delay ( ui nt t ) / / 延时 t msw hile ( t - )fo r (i = 0 ;i 125 ;i + + ) / / 对于 11 . 0592 M Hz时钟约延时 1 m s ;voi d mai n () / / 主程序图 4 通讯参数设置开发例程为了更清楚说明该调试方法 ,我们通过一个 简单的调试过程来做详细介绍 .电路的硬件是在 P1 口接有 8 个共阳的发光 二极 管 , 实 现 流

11、 水 灯 效 果 4 . 按 图 1 连 好 硬 件 电 路 . 时 钟 采 用 11 . 0592 M Hz , 波 特 率 设 定 为 9600 bp s. 此处主要介绍如何通过调用 ISD51 初始 化函数达到调试的目的 .# i ncl ude # i ncl ude # i ncl ude“ISD51 . h”# defi ne ui nt u n si gne d i nt# defi ne uc ha r u n si gne d c ha r ucha r i ,j = 0 ;# if 1 / / 串口通讯测试5TCO N = 0 x50 ;/ / TCO N : 方 式 1

12、,U A R T ,允许接收 5 TMOD = 0 x20 ;/ / 定时器 1 ,方式 2T H1 = 0 xf d ;/ / B P S = 9 600TL 1 = T H1 ;/ / B P S = 9 600 ,时钟 11 . 0592 M HzEA = 1 ;/ / Te st Se rial () ; / / 用于测试串口通讯# if 0ISDi nit () ; / / 初始化 ISD51# e ndif# if 0ISDwait () ; / / 等待连接正常# e ndifP1 = 0 xf e ;/ / L ED 灯的初始状态dela y (1 000) ;w hile (

13、1)P1 = ( P1 1) 1 ;/ / 左移8 bit( voi d)voi d Te st Serialcha r c =A; T I = 1 ;w hile (1)if ( R I) c = SB U F ; R I = 0 ;w hile ( ! T I) ; T I = 0 ;24 兰 州 工 业 高 等 专 科 学 校 学 报第 17 卷dela y (1 000) ;# if 1设置 为“ Keil ISD51 In2Syst e m de bugge r ”, 点 击De bug 运行 ,就可以看到程序在断点处停止了 . 该 方法也支持软件断点 ,不过速度比较慢 .程序调试正

14、常后 ,你无须再做任何修改 ,拔掉 串口连接线 ,系统就能正常工作了.ISDc heck ( ) ;初始化是否正常# e ndif# if 1ISDbrea k () ; / / 设置断点# e ndif j + + ;if (j = = 7)j = 0 ;P1 = 0 xf e ;dela y (1 000) ;将 ISD51 . H 及 ISD . A51 复制到工程文件夹 , 并按前述内容对 KEIL 做相关设置 , 利用条件编 译 ,结合 ISD51 的调试函数 ,将编译通过的. H EX 文件写入到 A T89C51 . 为了确认串口通讯是否正 常 ,可先将串口通讯子函数注释打开 ,

15、 KEIL 设置 为“u se si mulato r”,程序运行后在超级终端中就能 看到不断显示“41”. 然后 ,将 Te st Serial ( ) 注释掉 ,/ /检 查 是 否 连 接 正 常 , ISD516结语ISD51 软件提供了一种低成本的单片机开发方法. 虽然它需要占用单片机的串口和一个定时器资源 ,但由于无需价格昂贵的仿真器 ,对于单片 机教学及实际开发而言 ,有着现实意义 .参考文献 : 1 黄根生 ,陈小桥 ,张望先 . 电子设 计教程 M . 北京 :电子工业出版社 ,2007 .德 国 KEIL 公 司 . ISD51 U ser s Guide EB/ OL .

16、 ht2 tp :/ / www. keil. com/ support/ man/ docs/ isd51/ isd51 _ int ro . ht m ,2008212213 .戴 佳 ,戴卫恒 . 51 单片机 C 语言应用程序设计 实例精讲 M . 北京 :电子工业出版社 ,2006 .王恩荣 . MCS251 单片机应用技术实训指导 ( 第 2 版) M . 北京 :化学工业出版社 ,2004 .穆 兰 . 单 片 微 型 计 算 机 原 理 及 接 口 技 术 M . 北 京 :机械工业出版社 ,2007 . 2 3 4 5 Study of MCS51 Debugging Met

17、hod Ba sed on ISD51Q U A N J ia n2j u n(Dep a rt ment of Elect rical a nd Elect ro nic Engineering , Pet rochemical Vocatio nal a ndTechnical College , L a nzho u 730060 , China)Abstract : A met ho d of M CS51s de buggi ng i n syst e m i s i nt ro duced . U si ng ISD ( In Syst e m De bugge r )f unct

18、io n of t he KEIL sof t wa re ca n lo wer co st w hile syst e m de buggi ng. Det ail s of ha r dwa re co nfi gura2 tio n , ISD51 i nt egratio n wit h u se r p ro gra m , KEIL sof t wa re a nd it s set ti ngs a re al so i nt ro duce d. The de2 buggi ng met ho d i s de scrip t ed i n det ail by a developi ng e xa mp le , a nd t he met ho d i s u sef ul fo r t eac hi ng a nd act ual develop me nt .Key words :ISD51 ; i n syst e m de buggi ng ; ha r dwa re co nfi guratio n ; p ro gra m i nt egratio n

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1