EM78系列单片机的开发工具及编程器.doc
19页第六章 EM78 系列单片机的开发工具及编程器 武汉威帆 (027)87644346第 108 页第六章 EM78 系列单片机的开发工具及编程器EM78 单 片 机 的 开 发 工 具 一 般 包 括 : ( 1) 宏 汇 编 ( 交 叉 汇 编 ) ( 2) 仿 真 器( 3) 程 序 烧 写 器 单 片 机 的 开 发 过 程 如 下 :1) 用 编 辑 软 件 ( 如 : EDIT、 PE2 等 ) 输 入 源 程 序 ( 扩 展 名 DT)2) 用 宏 汇 编 ( ASM456/ASM447) 对 源 程 序 ( * DT) 进 行 汇 编 3) 使 用 仿 真 器 ( ICE456/447) 进 行 程 序 调 试 仿 真 调 试 正 确 转 向 下 一 步 ,不 正 确 则 修 改 源 程 序 再 转 向 “2”开 始 4) 将 调 试 完 毕 的 目 标 码 ( *.CDS) 用 烧 写 器 烧 入 EM78 单 片 机 中 5) 将 烧 好 的 单 片 机 插 入 实 际 电 路 中 检 查 , 若 正 确 则 开 发 完 毕 , 否 则 修 改 程 序转 向 “2”开 始 。
下 面 分 别 介 绍 上 述 三 种 开 发 工 具 6.1. 宏汇编(交叉汇编)与汇编语言格式6.1.1. 宏汇编程序ASM456 是 EM78154/156/256/456 的 汇 编 程 序 ASM447 是 EM78247/447 的 汇 编 程 序 ASM456/447 是 台 湾 义 隆 电 子 公 司 设 计 的 针 对 EM78 单 片 机 的 汇 编 软 件 , 该软 件 也 包 含 在 仿 真 器 (E8-ICE)的 集 成 调 试 软 件 中 , 也 可 以 直 接 在 仿 真 器 软 件 中汇 编 , 也 可 以 单 独 使 用 对 源 程 序 汇 编 后 会 产 生 如 下 文 件 :*.dt: 源 程 序*.std: 提 供 给 程 序 设 计 者 参 考 的 标 准 文 件*.cds: 即 一 般 所 谓 的 目 标 文 件 ( object 文 件 ).ice: 提 供 给 仿 真 器 ( E8-ICE) 显 示 使 用*.lin 及 *.adr: 提 供 给 仿 真 器 ( E8-ICE) 的 数 据 库 使 用注 : *.ice 及 *.std 为 可 读 的 文 本 文 件 , 其 余 为 不 可 读 。
若 汇 编 失 败 , 将 产 生 一 个 *.err 文 件 , 内 为 错 误 信 息 , 以 便 设 计 者 排 错 用 6.1.2. 汇编语言格式以下就该编译器的語法,作一詳盡介紹1)键入格式本编译器並不对字之大写或小写作区別,如 "MOV", "Mov", "mOV",和 "MoV" 在解释上是不做区別的2)在常数之前请加小鼠标"@",其它如寄存器(r) 及位(b)之前則不加"@"例如MOV A, @0x55 ;add"@" before constant 0x55 BC 0x7, 0x4 ;no"@" before both register;7 and bit4 SUB 0x10,A ;no"@" before register 0x10第六章 EM78 系列单片机的开发工具及编程器 武汉威帆 (027)87644346第 109 页(3)数字格式a、十六进位制之前先加 "0x",例如0xA、 0x55、 0x11PS 只处理二位 b、十进位制之前不加辨识字元4)";" 请置于备忘陈述或註解之前 例如;**********************************;This is an example of how to write;an EMC 8_bit program;Date of programming: March 12, 1996;**********************************(5)"ORG" 定义起始位址。
其語法为"ORG ADDR" 例如ORG 0x000 ;address begins from 0x000NOPNOP:ORG 0x600 ;another address starts from 0x600NOPNOP:(6)"==" 定义一代号值其語法为“SYMBOL == K” ,例如TCC ==0x01PC ==0x02BUFFER == 0x20COUNTER == 0x21※ a、代号字串長度不得大于11个字母b、定义代号不一定在程序一开始,只要在使用之前定义即可7)面向寄存器型指令的語法可分为以下三类:a、直接对寄存器做运算其語法为"INST REG" 例如IOW 0x05INC 0x10DJZ 0x10RRC 0x10b、与 "A" 做运算,結果存入 "A" 中其語法为 "INST A, REG"例如MOV A, 0x15AND A, 0x15SUB A, 0x15c、与 "A" 做运算,結果存入寄存器中其語法为 "INST REG, A"例如MOV 0x15, AAND 0x15, ASUB 0x15, A(8)位处理型指令的語法为 "INST REG, BIT"。
例如BC 0x05, 0x1第六章 EM78 系列单片机的开发工具及编程器 武汉威帆 (027)87644346第 110 页BS 0x05, 0x1JBC 0x05, 0x1JBS 0x05, 0x1(9)标号的用法a、标号字串長度不得大于11个字母b、标号字串之后要加一个冒号“:” 冒号之后要換行6.1.3. 錯誤信息说明:信息 1:16 characters at most for a name/label说明:当定义代号或标号名大于 16 個字母時信息 2: out of range, it must be from 0x5 to 0x7说明:在試图定义一不存在的输出输入口 ( I/O PORT )時信息 3: unknown instruction, or syntax说明:在编译某一行之陳述( statement )時, 发現指令以外之字元,或語法不符規定信息 4:out of range, it must be from 0 to 0xFF说明: 在設定一常数值時,其值大于上限 255信息 5: digits only说明:以数字开头的字( word) ,会被解釋成 十进位的語法。
信息 6:out of range, it must be from 0 to 0x400说明:在 "EOP" 之前,或 "EOP" 两之间程序長 度大于 1K( 1024 ) 信息 7:out of range, it must be from 0 to 0x3F说明:当企图使用寄存器的位置超过 63信息 8:reserved word or comma ',', required说明:使用之代号名称或标号明是指令保留字 如 com, tbl...等等信息 9: argument does not assign a value说明:在编译某一行之陳述(statement ) 時,发現 代号名称之值並未事先以予設定信息 10:name/label duplicates说明:代号名称或标号名重複使用信息 11:name can not match with label说明:某一代号名称与某一标号名雷同信息 12:out of range, it must be less than 0x1FFF说明:程序長度大于該一系列可编程的地址上限信息 13:too many pages。
说明:使用过多之 "EOP"信息 14:the current page is overlapping with the last page说明:在 "EOP" 之前,或 "EOP" 两之间程序 長度大于 1K( 1024 ) 信息 15:the ORG overlaps with the address before it说明:目前 "ORG" 所定义之起始位址小于其 上一行指令之位址6.1.4. 编译結果说明:(1)当编译失敗時,会產生一個 ".ERR"檔,內容記載如上所述之錯誤信息其格式如下:Compiling: dir\fname.dtError ln_no instruction statement: error message第六章 EM78 系列单片机的开发工具及编程器 武汉威帆 (027)87644346第 111 页说明:dir: 路径,fname: 文件名称,ln_no: 发生語法錯誤之行数,instruction statement:該行之原始指令陳述,error message: 錯誤信息例如:Compiling:..\emc\data\example.dtError 100 IOW 0x08: out of range,...Error 125 Ad A, 0x10: unknown ...(2)当编译成功時,会产生如下几个文件:a、 ".cds":即一般所说的目标文件( object file) ,b、".ice" :提供 E8-ICE 显示使用,c、".std":提供程序設計者參考的标准文件。
d、".lin" 、和 ".adr":提供 E8-ICE 内容庫 使用※ ".ice" 和 ".std" 为可读的 Text file,其余 則为不可读的 Binary file6.2. 软件仿真器使用说明6.2.1. 软件仿真器 WIM156基本介紹WIM156 的 设 計 是 针 对 单 片 机 的 初 学 者 ﹐ 它 提 供 了 一 个 简 单 的 使 用 环 境 ﹐以 及 学 习 环 境 WIM156 软 件 设 备 中 包 括 两 个 部 分 ﹐ 第 一 个 为 编 译 器 ﹔ 第 二 个为 软 件 仿 真 器 上 述 两 个 软 件 设 备 是 相 輔 相 成 的 ﹐ 並 不 能 分 开 当 使 用 者 进 入WIM156 並 打 开 文 件 之 后 ﹐ WIM156 就 完 成 编 译 的 动 作 ﹐ 並 且 已 经 进 入 仿 真 的 功能 了 开 发 这 套 设 备 的 工 程 師 所 使 用 的 工 作 环 境 如 下 :PC: ACERpower DX4vp視 窗 环 境 : windows 3.1 英 文 版 . (若 是 使 用 中 文 版 会 降 低 执 行 的 速 度 )屏 幕 解 析 度 : 640 * 480 pixel. 鼠 标 : PS2 mouseCPU: INTEL80486 DS-75模 拟 对 象 : 义 隆 电 子 公 司 的 EM78156 & EM78P156 八 位 单 片 机WIM156 是 针 对 初 学 者 所 设 計 的 一 个 单 片 机 仿 真 器 , 並 且 提 供 一 个 简 易 的 操作 环 境 . 我 們 所 用 的 单 片 机 主 体 是 国 內 义 隆 电 子 所 生 产 的 8 位 单 片 机 , EM78156 & EM78P156.6.2.2. 硬件设备介紹搭 配 WIM156 的 硬 件 裝 备 是 由 PRINTER PORT 所 延 伸 , 在 此 我 們 称 它 为ADOPT. ADOPT 的 主 要 控 制 器 为 义 隆 电 子 公 司 的 EM78447B 或 EM78P447B. ADOPT 接 受 从 PC PRINTER PORT 过 來 的 資 料 , 真 实 的 模 拟 各 种 不 同 的 I/O 动作 , 包 括 floating , input, output 等 . 在 ADOPT 中 , 有 一 个 插 槽 可 。





