kl800.com省心范文网

KeilMonitor


计算机应用

!"#$ %&’#(&)*+, 仿真板的制作与使用
苏州大学通信与电子工程系( !16"!1Y 陈 红 仙 陈 小 平
要 : 介 绍 支 持 W;FG $61 的 (+<F0+?P61 仿 真 板 硬 件 电 路 及 监 控 程 序 的 生 成 方 法 , 对使用中常 出现的问题给出了解决方法。 关键词: 单片机 摘

$ 语言

仿真板

监控程序
研 究 。 该 公 司 开 发 的 W;FG $61 是 一 种 专 为 U"61 单 片 机 符 合 29=& 标 准 , 生成的程 设计的高效率 $ 语言编译器, 序代码运行速度极高, 所需要的存储器空间极小, 完全 可以与汇编语言相媲美。 近年来, 目 前 最 高 版 本 为 ’5@!" 。 W;FG $61 不 断 升 级 , 尤 其 是 W;FG ! ’FCF+<! X 基 于 高 版 本 的 W;FG $61 编 译 器 ,

经 久 不 衰 。以 ($=P61 单 片 机 在 我 国 应 用 最 为 广 泛 、 往 单 片 机 应 用 程 序 主 要 用 汇 编 语 言 编 写 。由 于 汇 编 语 言 程序的可读性和可移植性都较差, 采用汇编语言编写单 片机应用程序不但周期长,而且调试和排错也比较困 难。为了提高编制单片机应用程序的效率, 改善程序的 可读性和可移植性, 采用高级语言无疑是一种最好的选 既具有 择 。$ 语 言 是 一 种 通 用 的 计 算 机 程 序 设 计 语 言 , 一般高级语言的特点, 又能直接对计算机的硬件进行操 作, 表达和运算能力也较强, 许多以往只能采用汇编语 言来解决的问题现在都可以改用 $ 语言解决。德国

W;FG =+V0J.?; 公 司 多 年 来 致 力 于 单 片 机 $ 语 言 编 译 器 的

7F<O+JC 的 $61 集 成 编 译 环 境 Y 以 其 性 能 优 越 、 使 用 方 便, 受 到 了 众 多 单 片 机 爱 好 者 的 欢 迎 。 W;FG $61 以 软 件 包 的 形 式 向 用 户 提 供 主 要 包 括 $61 交 叉 编 译 器 、 261 宏 汇编器、 软件 Z[ 连 接 定 位 器 等 一 系 列 工 具 和 ! ’FCF+<! 、 仿 真 器 O=/+-;61 等 开 发 平 台 。 $61 具 有 丰 富 的 函 数 库 ,

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
上页) 九五” 重点攻关项目 采 用 康 拓 公 司 的 $%$& 产 品 研 制 了 “ “ 核电站数字化反应堆保护系统” 原理样机, 并通过了中 国核工业集团公司组织的鉴定。“ 核电站反应堆保护系 统” 是核电站重要的安全系统, 有较高的可靠性要求。 这 是国产化的工控机和国产化设备首次应用在“ 核保护装 置” 上, 推进了核电站保护设备的国产化过程和相关领 域 的 技 术 进 步 。浙 江 绍 兴 精 工 集 团 采 用 北 京 康 拓 公 司 生 喷气” 产 的 $%$& 工 控 机 系 统 研 制 成 功 了 国 产 化 先 进 的 “ 纺 织 机 。 国 产 化 的 $%$& 总 线 工 控 机 在 国 内 航 天 领 域 的 《 神通一号》 卫星动量轮地面测试系统、 《 风云二号》 气象 卫星自旋线路系统测试设备、 《 东方红四号》 通信卫星推 进系统地面测试设备中也得到了成功应用。在这以前, 由于没有国产高性能的工控机可用, 我国卫星地面测试 设 备 基 本 被 进 口 设 备 所 垄 断 , 如 ’() 总 线 和 ’*& 总 线 测试设备, 用价格惊人来形容毫不过分, 同时国防信息 安 全 也 没 有 保 证 。国 产 化 的 $%$& 总 线 工 控 机 在 海 军 、 电 力、 铁路、 公路隧道等方面已经有数十家用户, 产品已经 被市场认可, 并正在继续发展。 综上所述, $+,-./0%$& 总 线 技 术 在 军 工 通 讯 领 域 得 到成功应用之后, 近几年在工业自动化总线型工控机领 域 中 已 获 得 突 破 性 进 展 。北 京 康 拓 公 司 !""1 年 11 月 研 制 成 功 的 采 用 $+,-./0%$& 总 线 和 2345 总 线 双 总 线 结 构 ,已经通过航天科技集团组 的 《 2%$&6""" 系 列 工 控 机 》 织的新产品技术成果鉴定会,标志着中国有了自己的

$+,-./0%$& 总 线 工 控 机 平 台 。 这 从 技 术 水 平 上 提 高 了 我 国 企 业 进 入 738 以 后 的 市 场 竞 争 力 , 对 我 国 传 统 产 业
升级改造和优化产业结构,都具有十分积极的作用, 对 提 高 我 国 的 国 防 实 力 都 具 有 十 分 重 要 的 意 义 。随 着 人 们 对 $%$& 总 线 工 控 机 认 识 的 深 入 , 随 着 技 术 的 进 步 和 思 想的解放, 软件硬 $%$& 总 线 工 控 机 以 其 系 统 的 开 放 性 、 件的标准化、 高性能和高可用性, 必将在可靠性要求很 高的工业和国防领域中得到越来越广泛的应用, 为实现 国家“ 信息化带动自动化” 的目标, 作出应有贡献。 参考文献
1 9.:;;< =>.?,.@ ’()ABC D;?CBC $+,-./0%$&E FC ?;.GGH . IABC J.?I +? . I/F?/BCIKL ’()ABC CHC0;,CL MB<; 144# ! N?.H 8GF<L %$& .<O ’()ABCPJ>+QC 0>; JF<<;?L R3$L 2-?FG 1445 S ’()5T .<O $+,-./0%$& L$(% (;OF. &</L144U T $+,-./0%$& R;G;.C; 9+0; V+? %&$(N !@" R;DFCF+< !@1L =;-0;,A;?!L144#
测控 6 席 成 洲 @ 一 种 开 放 的 工 业 计 算 机 标 准 P$+,-./0%$& , 技术, 1, 144U ( 收稿日期: !""!P"SP"1 )

U

投 稿 邮 箱 E !"#$%&’! ( &)* ( &%

《 电子技术应用》!""! 年第 # 期

计算机应用
包 含 0"" 多 种 功 能 函 数 , 为 用 户 编 程 提 供 了 极 大 的 方 便 。 -40 程 序 可 以 实 现 与 汇 编 语 言 的 接 口 , 两者相互之 间的调用十分方便。 且 但 目 前 支 持 高 版 本 ;%’) -40 编 程 的 仿 真 器 不 多 , 价格较高。 为 此 ;%’) -40 提 供 了 5<=’*<&:40 仿 真 板 的 制 作方法, 但无完整的硬件电路图, 软件设置也比较繁琐。 需要说明的是, 图 0 中 存 放 用 户 程 序 的 H!; 字 节 外 部 数 据 存 储 器 2!!42 的 IJE 输 出 允 许 引 脚 F , 是 将 -./ 的 称 为 N<= K%OD(== .9JK 和 LM 信 号 相 与 后 再 与 之 相 连 , 接 法 。 此 时 外 部 数 据 存 储 器 在 .9JK 有 效 时 , 就 相 当 于 外部程序存储器, 当然监控程序的存放地址空间不能与 这 种 接 法 的 外 部 数 据 存 储 空 间 相 重 复 。 N<= K%OD(== 接 法的另一个作用是调试时可以在用户程序代码中设置 断点, 监控程序修改用户程序代码在所有的断点处插入

>**,? @ @ AAA3B40CC$3B<D 也 有 关 于 自 制 5<=’*<& :40 仿 真
板的专门讨论, 有很多爱好者在制作仿真板时遇到一些 并 问题, 当 然 也 有 成 功 者 。 笔 者 也 是 ;%’) -40 的 用 户 , 有一些心得。本文提供 成 功 自 制 了 5<=’*<&:40 仿 真 板 , 了 5<=’*<&:40 仿 真 板 的 硬 件 电 路 , 并 对 其 进 行 了 分 析 , 详细说明了监控程序的生成方法, 对使用中常出现的问 题给出了解决方法。

P-PQQ 指 令 。

" 监控程序
5<=’*<&:40 仿 真 板 的 监 控 程 序 可 用 ;%’) -40 提 供 的
此文件在 U;JRQU-40U5IK40 路 RK9SPQQ3TPS 批处理文件生成, 语法如下: 径下, 须在 MI9 环境下执行, RK9SPQQ $%&’()*+,% VWX(*($*(&* VB<X%$*(&* VTPK;Y V.LI5-6J-;YYY , VY 为 可 选 项 。 命令中的各参数解释如下: 串行通信设置, 现 将 有 关 5-9:40 系 列 单 $%&’()*+,% : 片 机 的 $%&’()*+,% 设 置 的 含 义 列 于 表 0 中 。

! 硬件电路
5<=’*<&:40 仿 真 板 的 硬 件 资 源 要 求 如 下 : ?4; 字 节 的 程 序 存 储 空 间 , 用于存放监控程序; ?!42 字 节 的 外 部 数 据 存 储 单 元 E 系 统 需 要 F 和 可 选 的 4; 字 节 的 跟 踪 缓 冲 区 ;
?足 够 大 的 外 部 数 据 存 储 空 间 用 于 装 载 完 整 的 用 户 应用程序; ?串 行 口 及 一 个 用 作 波 特 率 发 生 器 的 内 部 定 时 器 ; 用于用户程序的测试; ?2 字 节 的 堆 栈 空 间 , ?如 果 用 户 程 序 大 于 2G; 字 节 , .0 口 的 部 分 引 脚 要 用于程序存储空间扩展; ?其 它 资 源 均 可 为 应 用 程 序 所 用 。 根 据 以 上 要 求 , 笔 者 设 计 的 5<=’*<&:40 仿 真 板 电 路 原理如图 0。

表 0 5-9:40 系 列 单 片 机 的 $%&’()*+,% 设 置 含 义
$%&’()*+,% " ! # 8
时钟源 定时器 0 定时器 ! 定时器 0 定时器 ! 波特率 晶振

-./
所 有 8"40 系 列

12"" 12""
自适应 自适应

00 3 "41 567 0! 3 """ 567
无限制 无限制

8"4! 及 兼 容
所 有 8"40 系 列

8"4! 及 兼 容

WX(*($*(&*? 指 定 5<=’*<&:40 监 控 程 序 使 用 的 外 部 存 储 单 元 的 页 号 E 一 页 为 !42 字 节 F , 即上节所需硬件资源的

《 电子技术应用》!""! 年第 # 期

温湿度传感器专业网站

!""#$ % % &&&’()*’+,-’+.

1

计算机应用
第 ! 项, 取 值 为 "$%% 之 间 的 十 六 进 制 数 , 缺 省 值 为 %% 。 例: 则 -. "&%%""//-. "&%%%%0- 表 示 外 部 &’()(*)(+) ,%% , 数 据 存 储 单 元 1 被 2345)3+ 678 监 控 程 序 存 放 内 部 变 量 , 用户应用程序不能使用。 目标系统地址存在冲突。应检查硬件电路予以解决。 这是 FBBCB K8"# : <VVBFII IA<DF C[FB%KC\ , 可将用 因 为 用 户 程 序 大 于 ! [5*534! 中 设 定 的 允 许 长 度 。 户程序允许长度设到仿真板许可的最大值; 若还不能解 决, 可将程序分段进行调试。

93’:*)(+). 指 定 监 控 程 序 代 码 在 程 序 存 储 器 起 始 页
数, 即起始位置, 取 值 为 " $%" 之 间 的 十 六 进 制 数 , 缺省 值为 "。 可选项, 为代码区分组的应用程序安排, 应 ;<=> : 用 程 序 不 超 过 ?@> , 一般不选此项。

\<B==H=]

K8 : G=BFICK[FV

F-JFB=<K

IY2P

;CK , 多 数 程 序 员 都 遇 到 过 此 警 告 , 这 是 由 于 在 生 成 2345)3+ 678 监 控 程 序 时 0 执 行 H=IJ<KK 批 处 理 命 令 1 没 有
使 用 ^;<=>_ 选 项 。 解 决 方 法 是 将 I)(+)SN/<78 文 件 中 第 ; ” 号注释掉。 8@" 、 8@8 行 最 前 面 加 “ I)(+)SN/<78 是 加 入 到 用户工程文件中的汇编程序, 使 用 2345)3+ 678 仿 真 板 必 须加入此文件。 由 于 2345)3+678 仿 真 板 比 较 简 单 , 占 用 了 一 些 系 统 资源, 有时给用户带来了不便。程序员实际编程中常要 解决以下两个问题: 串行接口功能: 串 行 通 信 是 2DI78 单 片 机 经 常 ( 8) 要用到的功能, 而 2DI 678 系 列 单 片 机 只 有 一 个 串 行 通 信接口, 在 与 AD 机 相 连 的 仿 真 状 态 时 , 串 口 用 于 与 AD 机通信。 若在应用程序中也用到串行口, 就会发生冲突。 解决方法是用户程序装载完毕后, 运行用户程序, 再断 开 仿 真 板 与 AD 机 的 串 行 通 信 线 。 这 样 串 口 就 可 归 用 户 程序使用了, 当 然 这 时 AD 机 就 不 能 在 线 调 试 了 。 ( 外部存储空间: 用户程序越长, 占用的外部数据存 !) 储空间将越大。 解决的方法是对较长的程序进行分段调试, 所有的程序完成后在软件仿 真 状 态 0 不 用 2345)3+678 仿 真 如果系统中还有其它 板 1 生成一个完整的 EF- 文件。另外, 接口器件占用外部数据存储空间,要合理安排。 如有一

ABC2DEFD> : 可 选 项 , 2345)3+ 678 监 控 程 序 在 DAG 复 位 时 检 查 在 程 序 存 储 区 " 地 址 处 是 FABC2 还 是 B<2 。
例: H=IJ<KK " #% " 这 条 命 令 将 设 置 波 特 率 为 L?""MN* , 内 部 定 时 器 8 为波特率发生器, 要 求 DAG 时 钟 为 88/"7L2EO , 2345)3+ 6

78 内 部 变 量 空 间 为 : -."&#%""//-."&#%%% , 2345)3+ 678
监控程序代码起始地址为: D. "&"""" 0D 表 示 程 序 存 储 单 元 1 。 该 命 令 生 成 一 个 2C=78/EF- , 将 其 固 化 在 FP

ABC2 中 即 可 使 用 。 应该提醒的是, H=IJ<KK 批 处 理 命 令 中 主 要 用 到 两 个汇编文件: H=IJ<KK/<78 和 2C=Q;<=>/<78 。 根 据 硬
件配置的具体情况, 可能要作一些修改。

H=IJ<KK/<78 中 修 改 项 主 要 有 两 项 : ( 中断偏移量设置: 当 2345)3+678 监 控 程 序 在 BC2 8) 中起始地址为 " 时, 用 户 程 序 将 无 法 使 用 2DI 678 的 中 断 功 能 。为 此 2345)3+678 将 所 有 的 中 断 入 口 地 址 转 移 至 高 地 址 的 B<2 区 0 大 于 监 控 程 序 的 长 度 1 , 这样用户程序 就 可 以 使 用 中 断 功 能 了 。当 2345)3+678 监 控 程 序 代 码 的 起始地址不为 " 时, 中断偏移量设置无意义。 例: 监 控 程 序 代 码 的 起 始 地 址 为 ", 采 用 R34 =:SP 则中断 T(44 接 法 的 外 部 数 据 存 储 器 起 始 地 址 为 U"""E ,
偏 移 量 必 须 设 成 U"""E , 而 用 户 应 用 程 序 将 存 放 在

FFABC2 要 存 放 历 史 数 据 , 可 以 在 调 试 过 程 中 用 ‘’:a54:
预处理命令将存放历史数据的存储空 间 定 义 在 较 小 的 范 围 内, 程序编完后再修改范围进行编译生成 EF- 文件。 笔 者 有 多 年 的 汇 编 语 言 编 程 经 历 , 改 用 >:5X D78 后 感觉很好, 编程效率大为提高。 经过一段时间的摸索, 自制 成 了 2345)3+678 仿 真 板 。 使 用 2345)3+678 仿 真 板 , 给 调 试程序带来了极大的方便。 虽然仿真板占用了一些系统资 源, 但经合理安排, 一般的应用程序还是可以承受的。 参考文献 彭 秀 华 / 单 片 机 高 级 语 言 D78 \54’3b* 环 境 编 程 8 徐爱钧, 与应用/ 北京. 电子工业出版社, !""8 ! >FHK IC%J\<BF/ H4*)(XX54c (4’ G*54c )d: >:5X 2345)3+6 78/ 2S459dZ ]:+T(4e/ 2(e f8Z !""" ( 收稿日期: !""!6"!68# )

U"""E 之后。 H=IJ<KK/<78 中的 H=JQ<VBQC%% 定义如 下 : H=JQ<VBQC%% FWG U"""E 。 ( 波特率修改: !) 2345)3+678 的波特率一般设置成 L?""MN* 或 自 适 应 。 若 要 改 成 其 它 波 特 率 , 如 @U""MN* , 则 修 改 节中的定时器初始化值。 “ H45)I:+5(X. ” 一般不作修改。 H=IJ<KK/<78 中 还 有 许 多 其 它 设 置 , 2C=Q;<=>/<78 是 为 代 码 区 分 组 的 应 用 程 序 安 排
的, 此处不作讨论。

!!!!!!!!"

! 使用中的几个问题
按前两节提供的硬件电路图和监控程序, 如果仿真 板与目标系统连接无误, 就可调试使用了。但仿真板与 目 标 系 统 连 接 有 问 题 或 >:5X D78 软 件 设 置 不 当 会 遇 到 一些麻烦, 在程序调试中的主要错误与警告有:

!!!!!!!!!!!!!!!!!!!!"

现场总线与工业以太网络 应用技术手册
( 第一册) 张 浩 谭克勤 朱守云 主编
地址: 上 海 市 瑞 金 二 路 @7" 号 ( !"""!" ) 征订电话: "!86?@#f@fL7

!!!!!!!!"

FBBCB !! : =C DCVF 2F2CBY <J "&U"&&Z 这 是
因为仿真板用于存放用户程序的外部数据存储空间与

8"

欢 迎 邮 购 本 刊 8LL7 $ 8LLL 年 光 盘 版 , 每 套 8"" 元

!!!!!!!!!!!!!!!!!!!!"

《 电子技术应用》!""! 年第 # 期


赞助商链接