资源目录
压缩包内文档预览:(预览前20页/共143页)
编号:541507
类型:共享资源
大小:235.49KB
格式:ZIP
上传时间:2015-11-29
上传人:QQ28****1120
认证信息
个人认证
孙**(实名认证)
辽宁
IP属地:辽宁
6
积分
- 关 键 词:
-
电气电子毕业设计论文
- 资源描述:
-
毕业设计4EMC系列单片机原理及应用技术,电气电子毕业设计论文
- 内容简介:
-
第一章 EM78 系列单片机简介 台湾义隆公司推出的八位 EM78 系列单片机已有多年,并广泛应用在家用电器、工业控制、仪器等方面,其优良的单片机结构和性能为用户所认同,但与 AT89 系列、PIC 系列、 Z86 系列、 GMS97 系列等单片机比较而言, EM78 系列单片机进入内地市场稍晚一些,所以一般人并不太了解。本章将对 EM78 系列单片机的主要特点作一个概述,供大家参考(以 EM78X56 为例)。 一、 先进的单片机结构 EM78 系列单片机将众多功能集于一身,这其中包括 ALU、 ROM、 RAM、 I/O、堆栈、 中断控制器、定时 /计数器、看门狗、电压检测器、复位电路、振荡电路等,成为真正意义上 的单片机小系统。 二、 优越的数据处理性能 EM78 系列单片机采用 RISC 结构设计、单周期、单字节及流水线指令、五级堆栈、RAM 数量从 32157 个,最短指令周期 100ns,程序页面为 1K(多至 4 页),与其它一些单片机相比, EM78 系列单片机具有更高、更快的运行处理速度。 三、 强大的单片机新功能 这包括: 三个中断源:定时器中断、 I/O 唤醒中断、外部信号输入中断 R-OPTION 功能:如果用户程序有几个版本,希望能放在同一 ROM 内,则通过 R-OPTION功能便可实现此想法, R-OPTION 功能设置是在相关 I/O 上上拉或下拉电阻,通过判断相关I/O 的状态来选择执行内部何种版本程序。 内置电压检测器:当电源电压掉在一额定值以下时单片机始终处于复位状态,以此提高系统的复位性能。 低功耗设计:正常工作电流 2mA、休眠状态电流 1 A 多功能 I/O 口:可程序设置为 I/O 上拉、下拉、开路等方式 I/O 唤醒功能:通过 I/O 变化唤醒处于休眠状态的单片机 内置看门狗定时器:提高单片机抗干扰能力 四、 灵活的功能选择设计 通过软件分别设置: 指令周期的时钟周期数( 2/4) 特殊指令的指令周期数( 1/2) 振荡方式(内部 RC、外部 RC 、 XTAL 低频、 XTAL 高频等) R-OPTION 功能开 /关 WDT 开 /关 五、 通俗易懂的指令系统 nts EM78 系列单片机指令系统采用与大家熟知的 MCS-51 指令风格设计,共计 58 条指令,大家通过较短的时间便能掌握运用。(本书第 4 章) 六、 完 备的开发手段 EM78 系列单片机开发工具包括:软件仿真器、硬件定时仿真器( DOS/WIN 版)、可脱离微机使用的写入器(写入时间为 1 片 /秒)、编译器(汇编和 C 语言)(本书第六章) 七、 快速的代码转换 针对用户已采用其它厂家的单片机如 PIC16C5X,我们可提供转换程序,通过快速的代码转换,缩短开发周期,马上可以投片生产。(见本书第七章) 八、 系列化的单片机设计 EM78 系列单片机有二十种之多,用户可根据应用产品的要求,选择合适的 EM78 单片机,方便产品的升级换代。以下两表为 EM78 系列 单片机选型一览表。 EMC8 位单片机 EM78 系列一览表 ( 1) ( 1) GENERAL PURPOSE MCU EM NO EM78P152A/B EM78P153A/B EM78056 EM78156 EM78256 EM78456 EM78256 EM78P154 EM78P156 EM78247A/B EM78447A/B EM78247A/B EM78447A/B EM78450 EM78P450 SPEC. Voltage 2.06.0 2.55.5 2.55.5 2.55.5 2.55.5 2.55.5 2.55.5 2.55.5 2.55.5 ROM 640x13 1Kx13 1Kx13 2Kx13 4Kx13 2Kx13 0 6Kx13 1Kx13 2Kx13 4Kx13 2Kx13 4Kx13 4K 13 4K 13 RAM 48x8 48x8 56x8 56x8 56x8 157x8 157x8 1578 1578 I/O 6/12 12 12 12 12 20/24 20/24 32 32 INT( E/I) 1(0/1) - 3(1/2) 3(1/2) 3(1/2) 3(1/2) 3(1/2) 3(1/2) 3(1/2) LCD - - - - - - - - - Timer/ Cornter 8-bitx1 8-bitx1 8-bitx1 8-bitx1 8-bitx1 8-bitx1 8-bitx1 8-BITX1 8-BITX1 Other spec. OTP Voltage detector Voltage Detector 8-CHL A/D OTP Voltage detector OTP OTP Pin no. 8/14 18 18 24 18 28/32 28/32 40 40 Applicat ion Family appliance *Mouse *Charger *Security Family appliance *Mouse *Charger *Security Family Appliance *Mouse *Charger *Security Family Appliance *Mouse *Charger *Security Family appliance *Mouse *Charger *Security Family appliance *Mouse *Charger *Security Family appliance *Mouse *Charger *Security PC peripheral Communi- Cation Auto control PC peripheral Communi- Cation Auto control nts (2)ASSP MCU EM NO. EM78467A/B EM78567 EM78448 EM78810 EM78811 EM78911 EM78820 EM78860 EM78861 SPEC. Voltage 2.55.5 2.55.5 2.55.5 2.55.5 2.55.5 2.55.5 2.55.5 2.55.5 2.55.5 ROM 4Kx13 16Kx13 4Kx13 8Kx13 16Kx13 16Kx13 8Kx13 16Kx8 (DATA ROM) 16Kx13 32Kx13 2Mx8 (DATA ROM) RAM 157x8 512x8 157X8 1.3Kx8 2.8Kx8 2.8Kx8 512x8 2.8Kx8 2.6Kx8 I/O 20/24 32 32 44 16/32 32 12 16/32 32 INT( E/I) 3(1/2) 3(1/2) 3(1/2) 7(4/3) 7(4/3) 7(4/3) 4(3/1) 7(4/3) 4(3/1) LCD - - - 60x16 60x16/44x8 60x16 40x16 60x16/44x8 - Timer/ Counter 8-bitx1 8-bitx1 8-bitx1 8-bitx1 8-bitx1 8-bitx1 8-bitx1 8-bitx1 8-bitx1 Other Spec. *Low EMI *Low EMI *DTMF *FSK *DTMF *FSK *DTMF *FSK *DTMF *Call Waiting Pin no. 28/32 40 40 100 100 100 80 100 44 Application *Cordless Phome *Cordless Phome *Keyboard *caller ID *Feature phone *Caller ID *Feature phone *DATA BANK *LCD GAME *DATA BANK *LCD GAME *DATA BANK *DATA BANK *PAGER 第二章 EM78 系列单片机硬件结构 EM78系列单片机是采用低功耗、高速 CMOS工艺制造的 8位单片机,本章将以 EM78X56(包括 EM78156、 EM78256、 EM78456)为例来讲述 EM78系列单片机的内部结构、存贮器、中断、 I/O、看门狗、振荡器和电压检测器等特点。 主要功能特点 采用 8位数据总线和 13位指令总线独立分离的 Harvard结构设计。 采用 RISC指令集,共有 57条单字节指令,其中 99%为单周期指令(对程序计数器 PC指针 进行写操作除外)。 nts 1K 4KX13 的程序存贮器(有 OTP和掩膜二个版本)。 48个通用数据寄存器可直接寻址使用。 14个特殊功能寄存器。 具有一个结构选择寄存器用于设置振荡器的工作方式等。 具有五级堆栈令程序嵌套更自由。 两个双向三态 I/O口, 12个 I/O线,可分别设置为上拉、下拉或集电极开路等。 具有三个硬件中断和一个软件中断。 两种工作模式:正常工作模式 2mA/5V 休眠模式 1 A/5V(可由 I/O唤醒 ) 具有 R-OPTION 功能,即用电阻的上拉、下拉来选择内部程序的执行。 一个 带 8位预置器的 8位定时 /计数器,一个看门狗定时器( WDT)。 采用先进的加密方法保证用户代码不被读出。 工作电压: 2.5 5.5V 工作频率 DC 36MHZ、工作温度 0 70。 EM78X56 型号分类、命名方法及管脚功能说明 型号分类 (表 2.1): 型 号 ROM( Bit) RAM( Byte) I/O 最短指令周期 EM78156 1KX13 56 12 111ns EM78256 2KX13 56 12 111ns EM78456 4KX13 56 12 111ns 命名方法 : EM 78 P 156 A P 封装形式 P-DIP M-SOIC S-SSOP 内置电压检测功能 A-有 B-无 类型名 P: OTP; 没有“ P”为 MASK 版本 单片机系列号 EMC 公司字头 nts EM78X56 管脚功能描述 图 2.1 EM78156管脚图 (EM78256 和 EM78456管脚同上 ) 管脚名称 I/O 功 能 PIC16C54/56 对应管脚名 P50 P53 I/0 P50 P53 为双向 I/O 口 ,P50、 P51 同时为R-Option功能脚, P50 52 能通过软件设置为下拉 RAO RA3 P60 P67 I/O P60 P67为双向 I/O 口,可通过软件设置为上拉或开路输出;另外, P60 63 可设为下拉 RBO RB7 INT0 I/O 外部中断输入脚,下降沿触发中 断( P60) 无 OSCI I XTAL 型:晶体振荡器或外部时钟输入脚 R C型 : RC振荡器输入脚 OSC1 OSCO I/O XTAL型:晶体振荡器输出脚或外部时钟输入脚。 RC型:输出一个指令周期的时钟信号 OSC2 RESET I 施密特触发输入脚,当该脚保持低电平时,单片机复位 MCLR TCC I 实时时钟 /计数器输入脚,施密特触发,当该脚不用时,必须接地或 VCC RTCC VDD 电源 VDD VSS 地 VSS 表 2.2 EM78X56 管脚功能描述 ntsEM78 内部结构框图 EM78X56 在片内集成了一个 8 位算术运算单元 ALU 和工作寄存器 ACC、 1K4KROM、 56个 RAM、 12个 I/O口, 8位预置器( Prescaler)及 8位计数器( TCC)、振荡器、看门狗、五级堆栈、中断控制器、指令寄存器、译码器和其它一些寄存器等。内部框图如图 2.2所示: EM78 系列单片机采用 8 位数据 /控制总线和 13 位指令总线独立分离的Harvard结构,流水线指令,即当一条指令在执行中,下一条指令已被从 ROM取出放在指令寄存器等待执行,如此 EM78 系列几乎全部 为单周期指令,执行速度更快。 EM78系列数据存贮器均可视为寄存器来寻址编程,分工作寄存器和特殊功能寄存器二大类 ,2.5 节将详细讲述寄存器的使用方法。 图 2.2 EM78X56内部功能框图 nts程序存储器和堆栈 程序存储器 EM78X56内部程序存储器和堆栈示意图如下 : 8Bit A11 A10 A9 A8 A7 A0 一、 7.1. 二、 7.2. 图 2.3 程序存储器结构框图 三、 7.3. PC指针 (寄存器 R2)和堆栈的位数依照型号 EM78156、 EM78256、 EM78456分别是 10位、 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、 PS0 0 1 1页 400-7FFEM78256/456 CALL 、RET RETL RETI 堆栈 1 堆栈 2 堆栈 3 堆栈 4 椎栈 5 000 pageo 3FF 400 page1 7FF 800 page2 BFF C00 page3 FFF EM78156 000:复位地址 001:软件中断向量地址 008:硬件中断向量地址 EM78256 EM78456 EM78456 EM78256/456 EM78456 MOV R2, A A9=A8=0 ADD R2, A A9=A8 =0 nts1 1 2页 800-BFFEM78256/456 1 1 3页 C00-FFFEM78456 对 EM78156 PS1、 PS0 位为通用读 /写位 对 EM78256 PS1 为通用读 /写位 EM78X56 可在同一页面内直接跳转 (JMP)和调用子程序 (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 及第 10 位( A9、 A8)被清零,因此此类情况产生的任何跳转都限定在同一页面的前 256 个地址( 查表指令的使用均在此限制内) 堆栈 EM78X56 有五级堆栈 ,遵循后入先出的原则实现程序多至五级嵌套调用 .通常堆栈使用如下 : 当 CALL 和中断响应时 PC+1 压栈 ; 当子程序或中断返回 ,执行 RET、 RETL(带参数返回 )、 RETI(中断返回 ),将栈顶值 (栈 1)弹回程序计数器 PC、同时将堆栈 2 的值拷贝到堆栈 1,堆栈 3 的值拷贝到堆栈 2,以此类推。 要注意的是 RET、 RETL、 RETI 指令并没有改变 R3 中的 PS0 PS1 位便返回到原来调用程序的页面 ,所以当从一次跨页的子程序调用返回时 ,一定 要用指令恢复 R3 中原先的 PS0、PS1 值。 数据存储器 RAM 结构 EM78X56 的数据存储器分工作寄存器、特殊功能寄存器和一般通用寄存器三大类 ,如图 2.4所示 : 工作寄存器 1.R0间接寻址寄存器 RO并非一个实际工作的寄存器,只作为间接寻址用。任何对 RO 进行操作的指令,实际上是存取由 RAM选择寄存器 R4 所指定的 RAM内容。 2.R1( TCC) 此寄存器为 8 位定时 /计数器,可由程序进行读 /写操作。它用于对外加在ntsTCC脚上的脉冲进行计数,或对内部时钟计数。 3.R2(程序计数器 PC)和堆栈 在复位 情况下, R2被清零,地址指向 OOOH 对 R2 进行写操作的指令一定需要二个指令周期,其它有关 R2 和堆栈的内容 2.4中所述 . R1( TCC R2( PC) R3(Status) R4(RSR) R5(Port5) R6(Port6) 堆栈 (5 级 ) CONT IOC5 IOC6 IOCB IOCC IOCD IOCE IOCF RF R10 . . . . 48X8 通用 寄存器 R3F R0 00 01 02 03 04 05 06 0B 0C 0D 0E 0F 10 11 . . . 3F nts 图 2.4 RAM 结构图 4 R3状态寄存器( STATUS) 如下表所示, R3包括 ALU运算标志、页面标志、复位状态等 7 6 5 4 3 2 1 0 GP PS1 PS0 T P Z DC C Bit0(C) :进位标志 Bit1(DC):辅助进位标志 Bit2(Z) :零标志,当一算术或逻辑运算结果为“ 0”时,则置该位为“ 1” Bit3(P) :掉电模式位。当系统上电时或执行“ WDTC”指令后,置该位为“ 1”;当执行“ SLEP”指令后,该位被置“ 0”。 Bit4(T) :超时位,当系统上电或执行“ SLEP”和“ WDTC”指令时,置位为“ 1”;当 WDT溢出时置位为“ 0” Bit5(PSO)页面选择低位 Bit6(PS1)页面选择高位 通过 P、 T 位来判断复位产 生的原因如表 2.4 所示 : T P 复位产生原因 O O WDT溢出唤醒 SLEEP O *P 工作模式时 WDT溢出 1 0 脚位变化唤醒 SLEEP 1 1 系统上电 *P *P 工作模式复位 影响 T/P的事件如下表 2.5所示 : 文件 T P WDTC指令 1 1 WDTC溢出 0 *P ntsSLEP指令 1 0 脚位变化唤醒 1 1 *P:指复位前的值 GP:一般用途的读 /写位 5.R4 RAM选择寄存器 ( RSR) 在间接寻址模式里, Bit0-5用来选择寄存器(地址: 00-06、 OF-3F) 例如 MOV A, 0x10 MOV R4,A MOV A, 0x11 MOV R0, A ; R10=11H 其结果是将 16 进制的“ 11”值送入由 R4指的“ 10”单元中。 Bit6 7未使用 未作间接寻址时, R4可作 6位宽度的可读 /写通用寄存器 . 6. R5 R6(口 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”,可用软件清零。 Bit3 7:未使用 RF可用软件 清零,但不能被置“ 1” IOCF为中断屏蔽寄存器,通过指令读取 RF值,此时结果值为 RF和 IOCF相与的结果 8 R10 R3F R10 R3F为 48X8位一般通用寄存器。 nts特殊功能寄存器 EM78X56的特殊功能寄存器主要包括累加器控制寄存器和 WDT 预分频器。 1 1 累加器 A 内部数据传输或指令运算单元,属不可寻址单元。 2 2 控制寄存器 控制寄存器是用来控制 I/O 的工作状态、中断控制、看门狗控制等,它们的寄存器地址如图 2.4,其读写只能采用指令 I0R R或 IOW R来完成。 ( 1) ( 1) CONT(控制寄存器) 7 6 5 4 3 2 1 0 INT TS TE PAB PSR2 PSR1 PRR0 Bit0(PSR0) Bit2(PSR2) TCC/WDT预分频系数位 PSR2 PSR1 PSR0 TCC 分频系数 WDT分频系数 0 0 0 1 2 1 1 0 0 1 1 4 1 2 0 1 0 1 8 1 4 0 1 1 1 16 1 8 1 0 0 1 32 1 16 1 0 1 1 64 1 32 1 1 0 1 128 1 64 1 1 1 1 256 1 128 Bit3(PAB)预分频器分配位 0:分配给 TCC 1:分配给 WDT Bit4(TE)TCC 信号触发源位 0:TCC脚信号低到高触发 1:TCC脚信号高到低触发 ntsBit5(TS) TCC 信号源 0:内部指令周期时钟 1:TCC脚输入的外部信号 Bit6(INT) 中 断使能标志位 0:由 DISI 或硬件中断产生时屏蔽中断 1: ENI或 RETI指令开中断 Bit7没有使用 CONT寄存器是可读 /写的 ( 2) ( 2) IOC5 IOC6(I/6口控制寄存器 ) IOC5、 IOC6 分别为口 5、口 6控制寄存器,按位将 IOC5、 IOC6 设为“ 1”时表示该脚没 为输入(高阻抗)、设为“ 0”时表示该脚为输出。 IOC5只有低四位可用。 IOC5、 ICO6 为可读写的。 (3)IOCB(下拉控制寄存器 ) 7 6 5 4 3 2 1 0 /PD7 /PD6 /PD5 /PD4 /PD2 /PD1 /PD0 Bit0(/PD0):使能 P50引脚的下拉电阻控制位 0:使能内部下拉电阻功能 1:关闭内部下拉电阻功能 Bit1(/PD1):使能 P51引脚的下拉电阻控制位 Bit2(/PD2):使能 P52引脚的下拉电阻控制位 Bit3:未使用 Bit4(/PD4):使能 P60引脚的下拉电阻控制位 Bit5(/PD5):使能 P61引脚的下拉电阻控制位 Bit6(/PD6):使能 P62引脚的下拉电阻控制位 Bit7(/PD7):使能 P63引脚的下拉电阻控制位 (4)IOCC(集电极开路控制寄存器) 7 6 5 4 3 2 1 0 0D7 0D6 0D5 0D4 0D3 0D2 0D1 0D0 Bit0(0D0) 使能 P60脚集电极开路控制位 nts 0:关闭集电极开路功能 1:使能集电极开路功能 Bit1 Bit7 (0D1 0D7):分别使能 P61 P67脚集电极开路功能。 IOCC为可读写寄存器 ( 5) IOCD上拉控制寄存器 7 6 5 4 3 2 1 0 /PH7 /PH6 /PH5 /PH4 /PH3 /PH2 /PH1 /PH0 Bito(PH0)使能 P60脚内部上拉电阻控制位 0:允许内部上拉 1:禁止内部上拉 Bit1 Bit7(/PH1 /PH7)分别使能 P61 P67脚内部上拉电阻控制器 * IOCD为可读写寄存器 ( 6) IOCE WTD 控制寄存器 7 6 5 4 3 2 1 0 WDTE EIS ROC Bit7(WDTE)使能看门狗定时器控制位 0:关闭 WDT 1:使能 WDT WDTE为可读写位 Bit6(EIS) P60 脚功能选择位 0: P60为一般双向 I/0口 1: P60为外部中断输入脚此时 P60 必须设为输入 (IOC6.0=1) Bit4(ROC)使能 R-option功能位( P50 P51) 0:关闭 R-option功能 1:使能 R-option功能 当使用 R-option 的功能时,可在 P50或 P51脚对地接 430K电阻,若有接电阻,则 P50或 P51 被读成“ 0”,若不接电 阻,则 P50或 P51读成“ 1”。 ROC为读写位 Bit0 3,5未使用。 ( 7) IOCF(中断屏蔽寄存器) nts 7 6 5 4 3 2 1 0 EXIE ICIE TCIE Bit0(TCIE) TCIF 中断屏蔽位( TCC溢出中断) 0:屏蔽 TCIF 中断 1:允许 TCIF 中断 Bit1(ICIE) ICIF 中断屏蔽位( P6口输入变化中断) 0:屏蔽 ICIF 中断 1:允许 ICIF 中断 Bit2(EXIE) EXIF 中断屏蔽位(外部中断 P60/INT) 0:屏蔽 EXIF 中断 1:允许 EXIF 中断 Bit3 7 未使用 当将 IOCF相应的控制位置“ 1”、则相应的中断允许,使用“ ENI”指令时所有中断被开放,而使用“ DISI”指令,则所有中断被关闭。 IOCF 为可读写寄存器。 TCC/WDT 及预分频器 Prescaler EM78内置 8位定时 /计数器 TCC和看门狗定时器、如下图 2.5所示: nts图 2.5 TCC和 WDT 功能框图 TCC的时钟可以是内部指令周期时钟 CLK(Fosc/2或 Fosc/4)或通过 TCC脚输入的外部脉冲,其计数采用 递增方式,从 O0 开始计,当不使用预分频器时,每隔一个指令周期或者有一个外部脉冲时 TCC 会加 1( TCC 响应延时时间为 2 个机器周期),当 TCC计数至 FFH( 16进制)时,在下一个计数发生时,将自动清零,并置 TCC 计数器溢出中断位 TCIF 如此往复。当 TCC 使用预分频器时,则外部或内部信号经过预分频器分频后再输出给 TCC。 Tcc 输入波形图 (CLKS=0)(见图 2.7) 图 2.6 TCC输入信号波形图 TCC和预分频器的控制主要由控制寄存器 CONT( Bit0 5)来完成 ,预分频器的分频系数由 PSR0 PSR2决定 ;预分频器是分配给 TCC或 WDT使用可由 PAB位来决定 ,同一时间预分频器只能给 TCC或 WDT 其中之一使用。 注意二点 ; (1)预分频器分配给 TCC 使用时 (PAB=0),所有写入 TCC 的指令都将清除预分频器 (2)当预分频器分配给 WDT使用时 (PAB=1),WDT和预分频器可被 WDTC和 SLEP指令清零。 看门狗定时器 WDT是一片内自振荡式 RC 振荡器,即使外部振荡器被关闭(即工作在休眠模式), WDT 也一直在计数。当 WDT 被使能,无论是在工作模式或休眠模式,若 WDT 超时,都将导致单片机复位 ,因此 WDT 主要用来防止单片机系统nts失控,一般 WDT基本溢出周期约 18ms( PAB=“ 0”),最大溢出周期约 2.3S( PAB=“ 1”)。在正常情况下,当 WDT溢出之前,须通过 WDTC指令来对 WDT 清零以防产生复位。 WDT的工作状态由寄存器 CONT中的 PAB、 PSR2 PSRO位, IOCE 的 WDTE位( IOCE.7)、 OTP 型 EM78X56 的结构选择寄存器 ENWDTB位来控制(烧写芯片时设定)。 I/O 口( port5、 port6) EM78把 I/O(口 5、口 6)作为一般工作寄存器 R5、 R6来操作,它们为双向、三态输入 /输 出口,可通过控制寄存器来设置以下功能 ,如表 2.6所示 : 功 能 控制寄存器 I/O脚 I/O输入输出方向 IOC5、 IOC6 P50 P53、 P60P67 内部上拉电阻 IOCD P60 P67 内部下拉电阻 IOCB P50 P52、 P60P63 集电极开路 IOCC P60 P67 /INT 输入口 IOCE( EIS) P60 R-option IOCE( ROC) P50、 P51 休眠状态唤醒 IOCF( ICIE) P60 P67 表 2.6、 I/O控制功能分类表 I/O口 Port5、 Port6 的接口电路图如下所示: nts图 2.7 I/O口电路和 I/O控制寄存器 其中图中: PCRD 口控制读 PDRD 口数据读 PCWR 口控制写 PDWR 口数据写 MUX 多路选通器 R-option功能图 2.8 图 2.8 P60(INT)的 I/O 和控制寄存器 nts 图 2.9 P61 P67 I/O控制寄存器和 I/O口电路 图 2.10 带 R-Option 功能的 I/O口( P70、 P71)电路 当使用 R-option 功能时,往往地 P0 51 定义为输出脚使用,这样在读取ntsR-option功能时 先把 P50、 P51设为输入并使能 R-option功能,读取后,再关闭 R-option 功能,并把 P50、 P51 设回输出,并不影响 P50、 P51 的 I/O 使用。若外部电阻连接到P50( P51)作为 R-option功能,将消耗一些电流,请特别注意。 EM87X56 复位 产生复位原因 EM78X56的复位由以下情况产生: 电源上电复位或电压检测器复位 (若有电压检测器 ) RESET WDT溢出 (当 WDT使用时 ) 复位状态 当单片机检测到复位信号后会持续 18ms 的复位状态。一旦复位产生,芯片将处于下列状态: 程序计数器 PC(R2)被清零,转向复位地址 000H 所有 I/O口脚均被设置为输入模式 (高阻态 ) 当上电时,状态寄存器的高三位被清零 (RAM选 BANKO) 除 Bit6(INT中断使能标志位 )外, CONT寄存器全设为“ 1 下拉控制寄存器 IOCB全设为“ 1” (下拉 功能禁止 ) 集电极开路控寄存器 IOCC全设为“ 0” (开路功能禁止 ) 上拉控制寄存器 IOCD全设为“ 1” (上拉功能禁止 ) WDT控制寄存器 IOCE Bit7设为“ 1”, Bit1和 Bit4设为“ 0”,即开 WDT,置 P60为I/O口,取消 R-option 中断标志寄存器 RF中的标志位全部清零 (Bit0 2) 中断屏幕寄存器 IOCF的中断屏幕位清零 (Bit0 2) 寄存器初始化值汇总表如下: Address Name Reset Type Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 N/A IOC5 Bit Name X X X X C53 C52 C51 C50 Power-On 0 0 0 0 1 1 1 1 /RESET and WDT 0 0 0 0 1 1 1 1 Wake-Up from Pin Change 0 0 0 0 1 1 1 1 N/A IOC6 Bit Name C67 C66 C65 C64 C63 C62 C61 C60 Power-On 1 1 1 1 1 1 1 1 /PESET and WDT 1 1 1 1 1 1 1 1 Wake-Up from pin Change 1 1 1 1 1 1 1 1 nts0x05 P5 Bit Name X X X X P53 P52 P51 P50 Power-On 1 1 1 1 1 1 1 1 /RESET and WDT P P P P P P P P Wake-Up from Pin Change P P P P P P P P 0x06 P6 Bit Name P67 P66 P65 P64 P63 P62 P61 P60 Power-On 1 1 1 1 1 1 1 1 /RESET and WDT P P P P P P P P Wake-Up from Pin Change P P P P P P P P N/A CONT Bit Name X INT TS TE PAB PSR2 PSR1 PSR0 Power-On 1 0 1 1 1 1 1 1 /RESET and WDT 1 0 1 1 1 1 1 1 Wake-Up from Pin Change 1 0 1 1 1 1 1 1 0x00 R0(IAR) Bit Name - - - - - - - - Power-On U U U U U U U U /RESET and WDT P P P P P P P P Wake-Up from Pin Change P P P P P P P P 0x01 R1(TCC) Bit Name - - - - - - - - Power On 0 0 0 0 0 0 0 0 /RESET and WDT 0 0 0 0 0 0 0 0 Wake-Up from Pin Change 0 0 0 0 0 0 0 0 0x02 R2(PC) Bit Name - - - - - - - - Power-On 0 0 0 0 0 0 0 0 /RESET and WDT 0 0 0 0 0 0 0 0 Wake-Up from Pin Change 0 0 0 0 0 0 0 0 0x03 R3(SR) Bit Name GP PS1 PS0 T P Z DC C Power-On 0 0 0 1 1 U U U /RESET and WDT P P P t t P P P Wake-Up from Pin Change P P P t t P P P 0x04 R4(RSR) Bit Name X X - - - - - - Power-On 0 0 U U U U U U /RESET and WDT 0 0 P P P P P P Wake-Up from Pin Change 0 0 P P P P P P 0x05 R5(P5) Bit Name X X X X P53 P52 P51 P50 Power-On 0 0 0 0 U U U U /RESET and WDT 0 0 0 0 P P P P Wake-Up from Pin Change 0 0 0 0 P P P P 0x0F RF(ISR) Bit Name X X X X X EXIF ICIF TCIF Power-On 0 0 0 0 0 0 0 0 /RESET and WDT 0 0 0 0 0 0 0 0 Wake-Up from Pin Change 0 0 0 0 0 0 0 0 0x0B IOCB Bit Name /PD7 /PD6 /PD5 /PD4 X /PD2 /PD1 /PD0 Power-On 1 1 1 1 1 1 1 1 /RESET and WDT 1 1 1 1 1 1 1 1 ntsWake-Up from Pin Change 1 1 1 1 1 1 1 1 0x0C IOCC Bit Name OD7 OD6 OD5 OD4 OD3 OD2 OD1 OD0 Power-On 0 0 0 0 0 0 0 0 /RESET and WDT 1 1 1 1 1 1 1 1 Wake-Up from Pin Change P P P P P P P P 0x0D IOCD Bit Name /PH7 /PH6 /PH4 /PH3 /PH3 /PH2 /PH1 /PH0 Power-On 1 1 1 1 1 1 1 1 /RESET and WDT 1 1 1 1 1 1 1 1 Wake-Up from Pin Change 1 1 1 1 1 1 1 1 0x0E IOCE Bit Name WDTC EIS X ROC X X X X Power-On 1 0 1 0 1 1 1 1 /RESET and WDT 1 0 1 0 1 1 1 1 Wake-Up from Pin Change 1 0 1 0 1 1 1 1 0x0F IOCF Bit Name X X X X X EXIE ICEI TCIE Power-On 1 1 1 1 1 0 0 0 /RESET and WDT 1 1 1 1 1 0 0 0 Wake-Up from Pin Change 1 1 1 1 1 0 0 0 0x10 0x3F R10 R3F Bit Name - - - - - - - - Power-On 0 0 0 0 0 0 0 0 /RESET and WDT P P P P P P P P Wake-Up from Pin Change P P P P P P P P X:未使用 U:未知 P:复位之前值 t:参见表 2.4、 2.5 表 2.7 寄存器初始化值表 内部上电复位电路和电压检测器 1. EM78X56系列内置 一上电复位电路 POR(POWUER RESET)如图 2.11所示,上电后自动产生复位。 nts 图 2.11 复位控制方框图 所以一般情况下可不用在 RESET端接复位电路,仅将 Reset端接 VDD即可 2.电压检测器 对 EM78X56 系列 MASK 版和 EM78P156A 型均内置 -2.2V 电压检测器,分别为可选用式和固定式两种,即对 MASK 版,可通过 CODE OPTION 的位 /POVD 来选择使能或关闭,而 OTP 型EM78P156A 型 ,则不能通过 CODE OPTION 来选择 ,电压检测器功能已固化在内 (电压检测器有15 A电流消耗 ), EM78P156B 型则没有电压检测器功能。 电压检测器电气特性如下表 (TA=25 ) Parameter Symbol Condition Min. Typ. Max. Unit Detect voltage Vdet VDD =5V 2.0 2.2 2.4 V Release voltage Vrel VDD =5V Vdet x1.05 V Current consumption Iss VDD =5V 20 A Operating voltage Vop 0.7* 5.5 V Temperature Characteristic of Vdet Vdet/ TA 0 T 70 -2 mv/ *当 VDD=0.7V Vdet之间时,电压检测器输出为低。 外部复位电路 通常有下列几种情况需要加外部复位中路。 1.1.当电源上升时间比较长时,通过 RC电路来保证 VDD 达到最小工作电压时 RESET 脚保持复位状态 2.1. nts 图 2.12 外电源上电复位电位 其中器件功能及值选择原则: RA Z,C,DC 1 ADD ADD R,A A+R-R Z,C,DC 1 ADD AND A,R A&R-A Z 1 AND AND R,A A&R-R Z 1 AND CLR R 0-R Z 1 Clear Register CLRA 0-A Z 1 Clear the A register COM R /R-R Z 1 Complement R 助记符号 指令动作 标志影响 指令周 期 语言描述 COMA R /R-A Z 1 Complement R,Place in A DAA A 寄存器调整为BCD 值 C 1 Decimal Adjust DEC R R-1-R Z 1 Decrement R DECA R R-1-A Z 1 Decrement R,Place in A DJZ R R-1-R 结果为零 1 Decrement R,Skip if 0 nts就跳过下一个指令 DJZA R R-1-A 结果为零就跳过下一个指令 1 Decrement R,Please in A register, Skip if 0 INC R R+1-R Z 1 Increment R INCA R R+1-A Z 1 Increment R,Please in A JZ R R+1-R, 结果为零就跳过下一个指令 1 Increment R,Skip if 0 JZA R R+1-A, 结果为零就跳过下一个指令 1 Increment R,Place in the A regiser,Skipif 0 MOV R,A A-R 1 Move Data MOV A,R R-A Z 1 Move Data MOV R,R R-R Z 1 Move Data OR A,R A OR R -A Z 1 Inclusive OR OR R,A A OR R-R Z 1 Inclusive OR SUB A,R R-A-A Z,C,DC 1 Subtract SUB R,A R-A-R Z,C,DC 1 Subtract XOR A,R A XOR R-A Z 1 Exclusive OR XOR R,A A XOR R-R Z 1 Exclusive OR 面向位操作类指令( 10 条) 助记符号 指令动作 标志影响 指令周期 语言描述 BC R,B 0-R(B) 1 Bit Clear BS R,B 1-R(B) 1 Bit Set
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。