义隆单片机全套教程_第1页
义隆单片机全套教程_第2页
义隆单片机全套教程_第3页
义隆单片机全套教程_第4页
义隆单片机全套教程_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、序 言随着半导体设计技术和制造工艺的不断完善, 单片机产品推存出新, 出现了许 多性能优良的新型单片机, EMC 公司的 EM78系列 8位单片机便是其中较突出的代表。 本书将着重讲述 EM78系列单片机的特点及应用方法, 共分七章:第一章为 EM78系列单片机概述,第二章为 EM78X56单片机硬件介绍,第三章为 EM78447单片机硬 件介绍,第四章为指令系统,第五章为程序设计,第六章介绍开发系统,第七章介 绍 PIC 单片机如何转换至 EM78系列单片机中去。这其中陈定文编写第一、二、三、 四、五、六 、七章,陶彦青编写第五章中算术例程部分,全书由雷欣审稿。 本书编写过程中参阅了 EMC

2、 公司的技术资料及新源公司编写的中文技术手册, 采用了北京比高公司矫健先生、江苏大众电器公司曹黎星先生编写的程序,同时得 到台湾义隆电子公司和乙硕科技有限公司的大力支持和帮助,在此一并致谢。 由于我们水平有限,且应用 EM78系列单片机时间不长,经验不足,错误之处 难免,敬请大家批评指正。武汉威帆电子有限公司 1999.3.注:我们正在开设 EM78系列单片机专题网页,可在网上下载本书内容及相关软件EMC 公司网站: .tw/sa2威帆公司网站: E-MAIL地址: WAVEPUBLIC.WH.HB.CN目 录第一章 EM78系列单片机简介 .1 第二章 EM78系列单片机硬件结构 .3 2.

3、1. 主要功能特点 .3 2.2. EM78X56型号分类、命名方法及管脚功能说明 .3 2.2.1. 型号分类 (表 2.1 :.3 2.2.2. 命名方法 :.3 2.2.3. EM78X56管脚功能描述 .4 2.3. EM78内部结构框图 .4 2.4. 程序存储器和堆栈 .5 2.4.1. 程序存储器 .5 2.4.2. 堆栈 .6 2.5. 数据存储器 RAM 结构 .6 2.5.1. 工作寄存器 .6 2.5.2. 特殊功能寄存器 .8 2.6. TCC/WDT及预分频器 Prescaler. 11 2.7. I/O口(port5、 port6 .12 2.8. EM87X56复

4、位 .14 2.8.1. 产生复位原因 .14 2.8.2. 复位状态 .14 2.8.3. 内部上电复位电路和电压检测器 .16 2.8.4. 外部复位电路 .17 2.9. 休眠状态和唤醒 .18 2.10. 中断功能 .19 2.10.1. 硬件中断 .19 2.10.2. 软件中断 .20 2.11. 振荡器 .20 2.12. 结构选择寄存器 (CODE OPTION.22 2.12.1. EM78156/256/456(MASK版 结构寄存器 .22 2.12.2. EM78P156A/B(OTP型 结构选择寄存器 .23 2.13. EM78X56单片机电气特性 .24 第三章

5、EM78447单片机硬件结构 .25 3.1. EM78447A/B主要功能特点 .25 3.2. EM78447型号分类、命名方法及管脚功能说明 .25 3.2.1 型号分类 (表 3.1.25 3.2.2 命名方法 :.25 3.2.3 EM78447管脚功能描述 .26 3.3. EM78447内部结构框图 .27 3.4. 程序存储器和堆栈 .28 3.4.1 程序存储器 .28 3.4.2 堆栈 .29 3.5. 数据存储器 RAM 结构 .29 3.5.1 工作寄存器 .303.6. TCC/WDT及预分频器 Prescaler.32 3.7. I/O口(PROT5、 PROT6、

6、 PORT7 .32 3.8. EM78447复位 .33 3.8.1 产生复位条件 .33 3.8.2 复位后的状态 .33 3.8.3 内部上电复位电路 .34 3.9. 休眠状态和唤醒 .34 3.10. 中断功能 .35 3.10.1 硬件中断 .35 3.10.2 软件中断 .35 3.11. 振荡器 .36 3.12. 结构选择寄存器 (CODE OPTION.36 3.12.1 EM78447/AP/BP(MASK版 结构寄存器 .36 3.12.2 EM78P447A/B(OTP型 结构选择寄存器 .37 3.13. EM78447单片机电气特性 .37 第四章 EM78指令系

7、统 .39 4.1. EM78指令概述 .39 4.2. EMC汇编語言指令集 .39 4.2.1. 面向寄存器 (字节操作 型指令 (26条 .39 4.2.2. 面向位操作类指令(10条 .40 4.2.3. 常数操作和控制类指令(22条 .41 4.3. EM78指令寻址方式 .42 4.3.1. 立即数寻址 .42 4.3.2. 直接寻址 .42 4.3.3. 间接寻址 .42 4.3.4. 位寻址 .42 4.4. EM78指令说明 .43 第五章 EM78系列单片机程序设计 .62 5.1. EM78系列八位微控器特色指令用法 .62 5.1.1. 查表指令与用法 .62 5.1.

8、2. 分 PAGE 的用法 .62 5.1.3. "BS", "BC" 等指令对 I/O Port 的作用 :.63 5.1.4. I/OPort 读取的路径 :.64 5.1.5. WDT(WatchdogTimer 的使用 :.64 5.2. 基本设计规则 .64 5.2.1. 设定 I/O口的模式:.64 5.2.2. 检查寄存器的内容:.65 5.2.3. 简易的循环设计 .65 5.2.4. 查表程序设计:.66 5.2.5. 中断程序的设计 .68 5.2.6. 延迟子程序的编写:.71 5.3. 应用程序设计实例 .73 5.3.1. 马达

9、控制程序的设计 .735.3.3. D/A变换程序的设计 .75 5.3.4. 液晶 LCD 显示驱动程序 .76 5.3.5. 异步串行通信 .82 5.3.6. I2C串行总线的控制 .84 5.3.7. 串行实时时钟芯片的接口 .92 5.3.8. HD7279串行接口 8位 LED 数码管及 64键键盘智能控制芯片 .95 5.4. 算术例程 .104 5.4.1. 无符号的 BCD 加法 .104 5.4.2. 无符号的 BCD 减法 .105 5.4.3. BCDTOBIN转换 .106 第六章 EM78系列单片机的开发工具及编程器 .108 6.1. 宏汇编(交叉汇编与汇编语言格

10、式 .108 6.1.1. 宏汇编程序 .108 6.1.2. 汇编语言格式 .108 6.1.3. 錯誤信息说明:.110 6.1.4. 编译結果说明:.110 6.2. 软件仿真器使用说明 . 111 6.2.1. 软件仿真器 WIM156基本介紹 . 111 6.2.2. 硬件设备介紹 . 111 6.2.3. 屏幕浏览器 .112 6.2.4. 功能描述 .113 6.3. 义隆电子 E8-ICE 硬件仿真器 .115 6.3.1. 设备需求:.115 6.3.2. 仿真器的安裝 .116 6.3.3. 仿真程序操作说明 .117 6.3.4. E8-ICE显示信息说明 .121 6.

11、4. EM78烧写器使用说明 .122 6.4.1. 烧写器的结构、安装与版本 .122 6.4.2. 烧写器的使用说明 .123 第七章 PIC 程序转换至 EM78XX.126 7.1. 芯片对照 .126 7.2. 指令对照表 .126 7.3. 转换软件使用说明 .126第一章 EM78系列单片机简介 武汉威帆 (02787644346第一章 EM78系列单片机简介台湾义隆公司推出的八位 EM78系列单片机已有多年, 并广泛应用在家用电器、 工业控制、仪器等方面,其优良的单片机结构和性能为用户所认同,但与 AT89系列、 PIC 系列、 Z86系列、 GMS97系列等单片机比较而言,

12、EM78系列单片机进入内地市 场稍晚一些,所以一般人并不太了解。本章将对 EM78系列单片机的主要特点作一个 概述,供大家参考(以 EM78X 56为例 。一、 先进的单片机结构EM78系列单片机将众多功能集于一身,这其中包括 ALU 、 ROM 、 RAM 、 I/O、堆栈、 中断控制器、定时 /计数器、看门狗、电压检测器、复位电路、振荡电路等,成为真正 意义上 的单片机小系统。二、 优越的数据处理性能EM78系列单片机采用 RISC 结构设计、单周期、单字节及流水线指令、五级堆栈、 RAM 数量从 32157个,最短指令周期 100ns ,程序页面为 1K (多至 4页 ,与其它 一些单片

13、机相比, EM78系列单片机具有更高、更快的运行处理速度。三、 强大的单片机新功能这包括: 三个中断源:定时器中断、 I/O唤醒中断、外部信号输入中断 R-OPTION 功能:如果用户程序有几个版本, 希望能放在同一 ROM 内, 则通过 R-OPTION 功能便可实现此想法, R-OPTION 功能设置是在相关 I/O上上拉或下拉电阻,通过判断 相关 I/O的状态来选择执行内部何种版本程序。 内置电压检测器:当电源电压掉在一额定值以下时单片机始终处于复位状态,以此提高 系统的复位性能。 低功耗设计:正常工作电流 2mA 、休眠状态电流 1A 多功能 I/O口:可程序设置为 I/O上拉、下拉、

14、开路等方式 I/O唤醒功能:通过 I/O变化唤醒处于休眠状态的单片机 内置看门狗定时器:提高单片机抗干扰能力四、 灵活的功能选择设计通过软件分别设置: 指令周期的时钟周期数(2/4 特殊指令的指令周期数(1/2 振荡方式(内部 RC 、外部 RC 、 XTAL 低频、 XTAL 高频等 R-OPTION 功能开 /关 WDT 开 /关第 1 页第一章 EM78系列单片机简介 武汉威帆 (02787644346五、 通俗易懂的指令系统EM78系列单片机指令系统采用与大家熟知的 MCS-51指令风格设计, 共计 58条指令, 大家通过较短的时间便能掌握运用。 (本书第 4章六、 完备的开发手段EM

15、78系列单片机开发工具包括:软件仿真器、硬件定时仿真器(DOS/WIN版 、可 脱离微机使用的写入器(写入时间为 1片 /秒 、编译器(汇编和 C 语言 (本书第六 章七、 快速的代码转换针对用户已采用其它厂家的单片机如 PIC16C5X ,我们可提供转换程序,通过快速的 代码转换,缩短开发周期,马上可以投片生产。 (见本书第七章八、 系列化的单片机设计EM78系列单片机有二十种之多,用户可根据应用产品的要求,选择合适的 EM78单片 机,方便产品的升级换代。以下两表为 EM78系列单片机选型一览表。第 2 页第二章 EM78系列单片机硬件结构EM78系列单片机是采用低功耗、 高速 CMOS

16、工艺制造的 8位单片机, 本章将以 EM78X56 (包括 EM78156、EM78256、EM78456为例来讲述 EM78系列单片机的内部结构、存贮器、 中断、I/O、看门狗、振荡器和电压检测器等特点。2.1. 主要功能特点·采用 8位数据总线和 13位指令总线独立分离的 Harvard 结构设计。·采用 RISC 指令集,共有 57条单字节指令,其中 99%为单周期指令(对程序计数器 PC 指针 进行写操作除外 。·1K4KX13的程序存贮器(有 OTP 和掩膜二个版本 。·48个通用数据寄存器可直接寻址使用。·14个特殊功能寄存器。&#

17、183;具有一个结构选择寄存器用于设置振荡器的工作方式等。·具有五级堆栈令程序嵌套更自由。·两个双向三态 I/O口,12个 I/O线,可分别设置为上拉、下拉或集电极开路等。 ·具有三个硬件中断和一个软件中断。·两种工作模式:正常工作模式 2mA/5V休眠模式 1A/5V(可由 I/O唤醒·具有 R-OPTION 功能,即用电阻的上拉、下拉来选择内部程序的执行。·一个带 8位预置器的 8位定时/计数器,一个看门狗定时器(WDT 。·采用先进的加密方法保证用户代码不被读出。·工作电压:2.55.5V 工作频率 DC36

18、MHZ、工作温度 070。2.2. EM78X56型号分类、命名方法及管脚功能说明2.2.1. 型号分类 (表 2.1 :型 号 ROM(Bit RAM(Byte I/O 最短指令周期EM78156 1KX13 56 12 111nsEM78256 2KX13 56 12 111nsEM78456 4KX13 56 12 111ns2.2.2. 命名方法 :EM 78 P 156 A P封装形式 P-DIP M-SOIC S-SSOP 内置电压检测功能 A-有 B-无 类型名P :OTP ; 没有“ P ”为 MASK 版本 单片机系列号EMC 公司字头第 3 页第 4 页2.2.3. EM7

19、8X56管脚功能描述图 2.1 EM78156管脚图(EM78256和 EM78456管脚同上 2.3. EM78内部结构框图EM78X56在片内集成了一个 8位算术运算单元 ALU 和工作寄存器 ACC、1K4KROM、56个 RAM、12个 I/O口,8位预置器(Prescaler及 8位计数器(TCC 、振荡器、看门狗、 五级堆栈、 中断控制器、 指令寄存器、 译码器和其它一些寄存器等。 内部框图如图 2.2所示: EM78系列单片机采用 8位数据/控制总线和 13位指令总线独立分离的 Harvard 结构, 流水线指令, 即当一条指令在执行中, 下一条指令已被从 ROM 取出放在指令寄

20、存器等待执行, 如此 EM78系列几乎全部为单周期指令,执行速度更快。EM78系列数据存贮器均可视为寄存器来寻址编程,分工作寄存器和特殊功能寄存器二 大类, 2.5节将详细讲述寄存器的使用方法。第 5 页图 2.2 EM78X56内部功能框图2.4. 程序存储器和堆栈2.4.1. 程序存储器EM78X56内部程序存储器和堆栈示意图如下: 图 2.3 程序存储器结构框图, A A9=A8=0, A A9=A8 =0第二章 EM78系列单片机硬件结构 武汉威帆 (02787644346PC 指针(寄存器 R2和堆栈的位数依照型号 EM78156、 EM78256、 EM78456分别是 10位、

21、11位、12位,即寻地空间分别为 1K、2K 和 4K,一个程序页面为 1K。页面选择通过设定状 态寄存器 R3的 Bit6(PS1. Bit5 (PS0来完成,内容下表(表 2.3所示:PS1(R3.6 PSO(R3.5 程序页面地址0 0 0页000-3FFEM78X56没有 PS1、PS00 1 1页400-7FFEM78256/4561 1 2页800-BFFEM78256/4561 1 3页C00-FFFEM78456·对 EM78156PS1、 PS0位为通用读 /写位·对 EM78256PS1为通用读 /写位EM78X56可在同一页面内直接跳转 (JMP和调用

22、子程序 (CALL,即 JMP 时装入目标地 址至 PC 的低 10位 ,CALL 时装入目标地址至 PC 的低 10位 , 且 PC+1压栈 , 调用同 1K 页面内 的任何程序。在 EM78256/EM78456中,当需要跳转或调用不同页面的子程序时,则须在调用前将修 改 R3的 PS0/PS1、 PS0,执行 JMP 或 CALL 后将状态寄存器 R3的 PS0/PS1、 PS0载入 PC 的 A10/A11、 A10。有一情况需特别注意:对 PC (R2进行直接操作指令如“ MOV R2、 A ” 、 “ ADD R2、 A ” 、 “ BC R2, 0”都将导致 PC 之第 9及第

23、10位(A9、 A8被清零,因此此类情况产生的 任何跳转都限定在同一页面的前 256个地址(查表指令的使用均在此限制内2.4.2. 堆栈EM78X56有五级堆栈 , 遵循后入先出的原则实现程序多至五级嵌套调用 . 通常堆栈使用 如下 :当 CALL 和中断响应时 PC+1压栈 ;当子程序或中断返回 , 执行 RET 、 RETL(带参数返回 、 RETI(中断返回 , 将栈顶值 (栈 1 弹回程序计数器 PC 、 同时将堆栈 2的值拷贝到堆栈 1, 堆栈 3的值拷贝到堆栈 2, 以此类推。 要注意的是 RET 、 RETL 、 RETI 指令并没有改变 R3中的 PS0PS1位便返回到原来调

24、用程序的页面 , 所以当从一次跨页的子程序调用返回时 , 一定要用指令恢复 R3中原先的 PS0、 PS1值。2.5. 数据存储器 RAM 结构EM78X56的数据存储器分工作寄存器、 特殊功能寄存器和一般通用寄存器三大类,如图 2.4所示:2.5.1. 工作寄存器1.R0间接寻址寄存器RO 并非一个实际工作的寄存器,只作为间接寻址用。任何对 RO 进行操作的指令,实 际上是存取由 RAM 选择寄存器 R4所指定的 RAM 内容。2.R1(TCC第 6 页此寄存器为 8位定时/计数器,可由程序进行读/写操作。它用于对外加在 TCC 脚上的 脉冲进行计数,或对内部时钟计数。3.R2(程序计数器

25、PC和堆栈·在复位情况下,R2被清零,地址指向 OOOH·对 R2进行写操作的指令一定需要二个指令周期,其它有关 R2和堆栈的内容§2.4中所述. 图 2.4 RAM结构图4.R3状态寄存器(STATUS如下表所示,R3包括 ALU 运算标志、页面标志、复位状态等 7 6 5 4 3 2 1 0 GP PS1 PS0 T P Z DCCBit0(C :进位标志 Bit1(DC:辅助进位标志Bit2(Z :零标志,当一算术或逻辑运算结果为“0”时,则置该位为“1” Bit3(P :掉电模式位。当系统上电时或执行“WDTC”指令后,置该位为“1” ;当执行00 01

26、02 03 04 05 06 0B 0C 0D 0E 0F 10 11 . . . 3F“SLEP”指令后,该位被置“0” 。Bit4(T :超时位,当系统上电或执行“SLEP”和“WDTC”指令时,置位为“1” ;当 WDT 溢出时置位为“0”Bit5(PSO页面选择低位Bit6(PS1页面选择高位通过 P 、 T 位来判断复位产生的原因如表 2.4所示 :T P 复位产生原因O O WDT 溢出唤醒 SLEEPO *P 工作模式时 WDT 溢出1 0 脚位变化唤醒 SLEEP1 1 系统上电*P *P 工作模式复位影响 T/P的事件如下表 2.5所示:文件 T PWDTC 指令 1 1WD

27、TC 溢出 0 *PSLEP 指令 1 0脚位变化唤醒 1 1*P:指复位前的值GP:一般用途的读/写位5.R4 RAM选择寄存器(RSR在间接寻址模式里,Bit0-5用来选择寄存器(地址:00-06、OF-3F例如 MOV A,0x10MOV R4,AMOV A, 0x11MOV R0, A ; R10=11H其结果是将 16进制的“11”值送入由 R4指的“10”单元中。·Bit67未使用·未作间接寻址时,R4可作 6位宽度的可读/写通用寄存器.6. R5R6(口 5口 6 :分别为口 5、口 6的输入/输出寄存器,EM78将 I/O映射为 寄存器来操作,R6为 8位,R5仅有低 4位有效。7.RF 中断状态寄存器7 6 5 4 3 2 1 0 EXIF ICIF TCIF·“1”表明有中断请求, “0”表明没有中断请求Bit0 (TCIF:TCC 计数器 1溢出中断标志位;当 TCC 计数器 1溢出时置“1” ,可由软 件清零。Bit1 (ICIF:口 6输入变化中断标志位,当口 6输入变化时置“1” ,可由软件清零。 Bit2 (EXIF:外部中断标志位。当 INT 脚有下降沿触发时置“1” ,可用软件清零。 Bit37:未使用·RF可用软件清零,但不能被置“1”·IOCF为中断屏蔽寄存器,通过指令读取 RF 值,此时结果

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论