片机原理及其应用2-涂海燕.ppt
第二章第二章 MC68HC08 MC68HC08单片机基本组成原理单片机基本组成原理2.1 MC68HC082.1 MC68HC08单片机的基本组成单片机的基本组成2.2 MC68HC082.2 MC68HC08单片机的工作方式单片机的工作方式 第二章第二章 MC68HC08 MC68HC08单片机基本组成原理单片机基本组成原理 2.1 MC68HC082.1 MC68HC08单片机的基本组成单片机的基本组成2.1.1 2.1.1 基本组成基本组成 所有所有MC68HC08MC68HC08的基本组成结构都相同。的基本组成结构都相同。都由都由CPUCPU、存储器和、存储器和I/OI/O接口电路接口电路组成。组成。MC68HC08 MC68HC08 系列中以带有系列中以带有FlashFlash的的 MC68HC908 MC68HC908具有具有更高的性价比。更高的性价比。MC68HC08 MC68HC08硬件结构框图(见下页)硬件结构框图(见下页)概述概述 高性能、低功耗高性能、低功耗 8bit MCU 8bit MCU CPU08 控制与状态寄存器控制与状态寄存器 64B时钟发生模块时钟发生模块系统集成模块系统集成模块Power*RST*IRQVDDPTA0/KBD0PTA7/KBD7寄存器组寄存器组控制单元控制单元ALU用户用户Flash 32256B用户用户RAM 512B监控监控ROM 307B用户用户Flash矢量区矢量区 36B32kHz晶振晶振锁相环(锁相环(PLL)OSC1OSC2CGMXFCVDDAD/VREFH外部中断模块外部中断模块安全性模块安全性模块上电复位模块上电复位模块VSSAD/VREFLVSSVDDAVSSA串行通信接口模块串行通信接口模块串行外设接口模块串行外设接口模块2Ch Timer12Ch Timer28位键盘中断模块位键盘中断模块低电压禁止模块低电压禁止模块看门狗模块看门狗模块断点模块断点模块监控模块监控模块时基模块时基模块数据总线控制数据总线控制存储器映象模块存储器映象模块屏蔽选择寄存器屏蔽选择寄存器1屏蔽选择寄存器屏蔽选择寄存器2DDRAPORTADDRBPORTBPTB0/AD0PTB7/AD7监控方式进入模块监控方式进入模块8位位A/D变换模块变换模块DDRCDDRDPORTCPORTDPTC1PTC2PTD0/SSPTC3PTC4PTC5PTC6PTC0PTD1/MISOPTD2/MOSIPTD3/SPSCKPTD4/T1CH0PTD5/T1CH1PTD6/T2CH0PTD7/T2CH1PTE0/TXDPTE1/RXDDDREPORTE 所有所有MC68HC08MC68HC08的的CPU08CPU08结构都相同。都由结构都相同。都由ALUALU、CPUCPU寄存器组、寄存器组、CPUCPU控制电路组成。(以下均以控制电路组成。(以下均以MC68HC908GP32MC68HC908GP32为参考)为参考)2.1.2.1 2.1.2.1 MC68HC908GP32 CPUCPU寄存器(共寄存器(共5 5个)个)累加器累加器A A:通用寄存器通用寄存器,存放算术、逻辑运算中的第一操作存放算术、逻辑运算中的第一操作 数和结果等(数和结果等(8 8bitbit)变址寄存器变址寄存器 H:XH:X 主要用于变址寻址方式,存放基地址主要用于变址寻址方式,存放基地址;也可暂存也可暂存数据,数据,复位时清零复位时清零H H。(8 8bit/16bitbit/16bit)程序计数器程序计数器 PC PC:用于存放将要取出并执行的指令的地址用于存放将要取出并执行的指令的地址 或下一个操作数的地址。或下一个操作数的地址。可分为高可分为高8 8位位PCHPCH 和低和低8 8位位PCLPCL。(。(16bit16bit)堆栈指针堆栈指针SP SP:用于存放堆栈栈顶的地址:用于存放堆栈栈顶的地址,可分为高可分为高8位位SPH和和 低低8位位SPL。(16bit16bit)2.1.2 CPU2.1.2 CPU条件码寄存器条件码寄存器 CCR CCR(PSWPSW):):用于存放指令执行后的结果的状用于存放指令执行后的结果的状态、特征,而中断屏蔽态、特征,而中断屏蔽I I位用于禁止位用于禁止/允许中断允许中断 (8bit 8bit)条件码寄存器条件码寄存器CCRCCR内容格式内容格式 V 1 1 H I N Z C进位进位/借位标志借位标志零标志零标志负标志负标志中断屏蔽标志中断屏蔽标志半进位标志半进位标志溢出标志位溢出标志位 1 1 1 1 1 1 复位时状态复位时状态 PCPCPC+1PC+1PC+2PC+2FlashFlash低低高高PCPC:CCRCCRACCACCX XPCHPCHPCLPCLSP-2SP-2SP-1SP-1RAMRAM低低高高SPSP:SPSP$00FF($00FF(初值)初值)SPSP复位时为复位时为$00FF;RSP$00FF;RSP指令指令SPSP为为$*FF$*FF。程序调用子程序:程序调用子程序:JSRJSR、BSR BSR。PC PC进栈(进栈(1616位)位)SP-2 SP-2子程序返回:子程序返回:RTS (SP)+1 RTS (SP)+1SP (SP)-SP (SP)-PCH PCH (SP)+1-SP (SP)-PCL (SP)+1-SP (SP)-PCL 中断响应:中断响应:SP-5SP-5;中断返回:中断返回:SP+5SP+5。H没有自动入栈没有自动入栈特殊的第特殊的第0 0页:页:事实:事实:CPU08CPU08内部寄存器较少。内部寄存器较少。优点:中断响应速度高。优点:中断响应速度高。缺点:数据传递较麻烦。缺点:数据传递较麻烦。弥补:第弥补:第0 0页存储单元都可以用直接寻址方式实现数据从页存储单元都可以用直接寻址方式实现数据从存储存储 器器到到存储器存储器的直接传送,即不必经过累加器的直接传送,即不必经过累加器A A,即都可,即都可 以以当作寄存器用当作寄存器用。(提高了代码效率)。(提高了代码效率)这样的机制这样的机制更适合用于控制系统设计更适合用于控制系统设计!堆栈特点:堆栈特点:采用栈顶采用栈顶空空形式;形式;压栈向栈地址减小的方向生长,即压栈后(压栈向栈地址减小的方向生长,即压栈后(SPSP)-1SP-1SP,弹,弹 出前(出前(SPSP)+1SP+1SP;MCU MCU复位复位,SP,SP置为置为00FF00FF;执行复位堆栈指令(执行复位堆栈指令(RSPRSP)时,)时,SP SP置为置为*FF*FF;一般RAM区累加器A2.1.2.2 2.1.2.2 算术算术/逻辑单元和逻辑单元和CPUCPU控制电路控制电路片内存储器第片内存储器第0 0页含:页含:64B I 64B I0 0寄存器寄存器$00 00$3F 3F 192B RAM 192B RAM$40 40$FFFFRAM第0页2.1.3 Memory2.1.3 Memory 存储器组织的特点:存储器组织的特点:统一编址。统一编址。所有数据存储器、程序存储器和所有数据存储器、程序存储器和I/OI/O寄存器均处于一个寄存器均处于一个统一统一 编址的地址空间。编址的地址空间。存储器组成:存储器组成:I/O I/O寄存器空间;寄存器空间;内部内部RAMRAM空间;空间;ROM ROM空间,即监控空间,即监控ROMROM,实际上即系统,实际上即系统ROM ROM;FlashFlash空间。空间。也可以只划为也可以只划为RAMRAM区、区、ROMROM区和区和FlashFlash区,在这里区,在这里RAMRAM区则区则包括包括I/OI/O寄存器空间和内部寄存器空间和内部RAMRAM空间。空间。RAM区2.1.3.1 2.1.3.1 存储空间分配存储空间分配 (1 1)内部)内部I/OI/O寄存器空间寄存器空间$OO00$OO00$OO3F 64B$OO3F 64B 包括:所有的并行包括:所有的并行 I/O I/O口口 串行口串行口 定时器定时器 A/DC A/DC 键盘中断键盘中断 中断控制逻辑中断控制逻辑 单片机工作状态监视单片机工作状态监视 系统设置系统设置 (注意:还有第二段注意:还有第二段I/OI/O寄存器空间寄存器空间)数据寄存器数据寄存器状态寄存器状态寄存器控制寄存器等控制寄存器等(2 2)内部)内部RAMRAM空间空间$OO40$OO40$O23F 512B$O23F 512B 特殊区:特殊区:RAMRAM第第0 0页页192B 192B 用户用户RAMRAM区。区。其中一部分作为堆栈区。其中一部分作为堆栈区。如何充分应用第如何充分应用第0 0页用户页用户RAMRAM区?区?将堆栈区移出第将堆栈区移出第0 0页用户页用户RAMRAM区。区。由于由于SPSP可编程,可使可编程,可使SPSP从复位时指向的从复位时指向的0 0页移出。页移出。这样只适用于这样只适用于0 0页的直接寻址指令可以快速而有效地在第页的直接寻址指令可以快速而有效地在第 0 0页页RAMRAM空间存取。空间存取。0 0页即成为用户储存那些访问频率较高的全局变量的理想页即成为用户储存那些访问频率较高的全局变量的理想 空间。空间。(3 3)监控)监控ROMROM空间空间$FE20$FE20$FF52 307B$FF52 307B 监控监控ROMROM区可为监控方式和用户方式服务。区可为监控方式和用户方式服务。(4 4)FlashFlash空间空间$8000$8000$FDFF 32256B$FDFF 32256B;$FFDC$FFDC$FFFF 36B$FFFF 36B 第一段:为用户程序区,用于存放用户程序第一段:为用户程序区,用于存放用户程序 第二段:作为矢量表第二段:作为矢量表,其中其中$FFF6$FFF6$FFFD$FFFD是预留的是预留的8 8个保个保 密字节。密字节。(5 5)第二段)第二段I I0 0寄存器区寄存器区$FE00$FE00$FEOC 12B$FEOC 12B 分别是系统集成模块的断点状态寄存器、复位状态寄存器、分别是系统集成模块的断点状态寄存器、复位状态寄存器、断点标志控制寄存器,中断断点标志控制寄存器,中断1 1、2 2、3 3状态寄存器,状态寄存器,FlashFlash控制寄存控制寄存器,断点地址寄存器高位器,断点地址寄存器高位/低位,断点状态和控制寄存器,低电压低位,断点状态和控制寄存器,低电压禁止状态寄存器等。禁止状态寄存器等。(6 6)FlashFlash块保护寄存器块保护寄存器 FLBPR$FF7E 1B FLBPR$FF7E 1B (7 7)不存在的存储区)不存在的存储区$0240$0240$7FFF 32192B$7FFF 32192B;$FEOD$FEOD$FElF$FElF,19B19B;$FF53$FF53$FF7D$FF7D,43B43B;$FF7F$FF7F$FFDB 93B$FFDB 93B2.1.3.2 I2.1.3.2 I0 0寄存器和部分功能模块寄存器的地址寄存器和部分功能模块寄存器的地址寄存器寄存器地址地址寄存器寄存器地址地址寄存器寄存器地址地址寄存器寄存器地址地址PTAPTA$0000$0000SPCRSPCR$0010$0010T1SCT1SC$0020$0020T2SC0$0030$0030PTBPTB$0001$0001SPSCRSPSCR$0011$0011T1CNTHT1CNTH$0021$0021T2CH0H$0031$0031PTCPTC$0002$0002SPDRSPDR$0012$0012T1CNTLT1CNTL$0022$0022T2CH0L$0032$0032PTDPTD$0003$0003SCC1SCC1$0013$0013T1MODHT1MODH$0023$0023T2SC1$0033$0033DDRADDRA$0004$0004SCC2SCC2$0014$0014T1MODLT1MODL$0024$0024T2CH1H$0034$0034DDRBDDRB$0005$0005SCC3SCC3$0015$0015T1SC0T1SC0$0025$0025T2CH1L$0035$0035DDRCDDRC$0006$0006SCS1SCS1$0016$0016T1CH0HT1CH0H$0026$0026PCTL$0036$0036DDRDDDRD$0007$0007SCS2SCS2$0017$0017T1CH0LT1CH0L$0027$0027PBWC$0037$0037PTEPTE$0008$0008SCDRSCDR$0018$0018T1SC1T1SC1$0028$0028PMSH$0038$0038-$0009$0009SCBRSCBR$0019$0019T1CH1HT1CH1H$0029$0029PMS L$0039$0039-$000A$000AINTKBSCRINTKBSCR$001A$001AT1CH1LT1CH1L$002A$002APMRS$003A$003A-$000B$000BINTKBIERINTKBIER$001B$001BT2SCT2SC$002B$002BPMDS$003B$003BDDREDDRE$000C$000CTBCRTBCR$001C$001CT2CNTHT2CNTH$002C$002CADSCR$003C$003CPTAPUEPTAPUE$000D$000DINTSCRINTSCR$001D$001DT2CNTLT2CNTL$002D$002DADR$003D$003DPTCPUEPTCPUE$000E$000ECONFIG2CONFIG2$001E$001ET2MODHT2MODH$002E$002EADCLK$003E$003EPTDPUEPTDPUE$000F$000FCONFIG1CONFIG1$001F$001FT2MODLT2MODL$002F$002F-$003F$003F2.1.3.3 RAM2.1.3.3 RAM存储器存储器 MCU MCU型号不同其型号不同其RAMRAM容量也不同。容量也不同。GP32 GP32有有512B RAM$OO40 512B RAM$OO40$O23F$O23F。其中其中0 0页页 192B$0040 192B$0040$00FF 0$00FF 0页的寻址方式多,操作速度快,可用页的寻址方式多,操作速度快,可用作数据缓冲器和程序的工作标志单元。作数据缓冲器和程序的工作标志单元。堆栈区也设在堆栈区也设在RAMRAM中,复位后,堆中,复位后,堆栈指针为栈指针为$OOFF$OOFF,使堆栈区位于,使堆栈区位于RAMRAM的第的第0 0页。页。GP32GP32的堆栈区的位置是可编的堆栈区的位置是可编程的,一般将堆栈区设在程的,一般将堆栈区设在$023F$023F$01FF$01FF。2.1.3.4 2.1.3.4 监控监控ROMROM 监控监控ROMROM固化了系统检测、固化了系统检测、FlashFlash编程以及串行通信等功能的程序。使编程以及串行通信等功能的程序。使MCUMCU可以工作于两种方式:监控方式和用户方式。可以工作于两种方式:监控方式和用户方式。在特定条件下,在特定条件下,MCUMCU可进入监控方式。监控可进入监控方式。监控ROMROM可以通过单一的一条信可以通过单一的一条信号线与主机进行串行通信,接收和执行预先定义的主机命令,如读写存储号线与主机进行串行通信,接收和执行预先定义的主机命令,如读写存储器、执行程序等,并返回结果。监控方式能够完成一些特殊功能,例如:器、执行程序等,并返回结果。监控方式能够完成一些特殊功能,例如:(1 1)下装代码到)下装代码到 RAM RAM 或或 Flash Flash 存储器中;存储器中;(2 2)执行)执行 RAM RAM 或或 Flash Flash 存储器中的程序代码;存储器中的程序代码;(3 3)Flash Flash 存储器的加密;存储器的加密;(4 4)FlashFlash存储器擦除、写入、校验;存储器擦除、写入、校验;(5 5)与主计算机进行标准的不归零传号空号串行通信,其波特率可)与主计算机进行标准的不归零传号空号串行通信,其波特率可以为以为4.8k 4.8k ;(6 6)在线编程;)在线编程;(7 7)用户方式)用户方式FlashFlash编程。编程。2.1.3.5 Flash2.1.3.5 Flash存储器存储器 Flash Flash 快快速速、非非易易失失、可可在在高高压压(GP32GP32片片内内的的电电荷荷泵泵产产生生,单单一一外外部部5V5V电源)下进行读、写、擦除的全部操作的存储器。电源)下进行读、写、擦除的全部操作的存储器。Flash Flash存储器用于存放用户程序和复位向量与中断向量。其中:存储器用于存放用户程序和复位向量与中断向量。其中:$8000$8000$FDFF$FDFF 存放用户程序;存放用户程序;$FFDC$FFDC$FFFF$FFFF 存存放放复复位位向向量量与与中中断断向向量量(即即用用来来存存放放用用户户定定义义的的复位和中断服务程序的入口地址)复位和中断服务程序的入口地址)Flash Flash写入与擦除主要由写入与擦除主要由FLCRFLCR寄存器(寄存器($FE08$FE08)控制。)控制。FLCRFLCR寄存器的格式如下:寄存器的格式如下:(P.12)(P.12)D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 0 0 0 HVEN 0 HVENMASSMASSERASEERASE PGM PGM Flash Flash中还可以使用保护区,保护区即只读存储区,不能在该区中进中还可以使用保护区,保护区即只读存储区,不能在该区中进行擦、写操作。保护区用保护寄存器行擦、写操作。保护区用保护寄存器FLBPRFLBPR($FF7E$FF7E)指定保护区的首址,)指定保护区的首址,保护区的末地址一律为保护区的末地址一律为$FFFF$FFFF。FLBPR FLBPR保护值及保护区对照:保护值及保护区对照:FLBPR=$00 FLBPR=$00 保护全部保护全部FlashFlash存储器;存储器;FLBPR=$01 FLBPR=$01 保护区为保护区为$8080$8080$FFFF$FFFF;FLBPR=$02 FLBPR=$02 保护区为保护区为$8100$8100$FFFF$FFFF;FLBPR=$FE FLBPR=$FE 保护区为保护区为$FF00$FF00$FFFF$FFFF;FLBPR=$FF FLBPR=$FF 不保护。不保护。2.1.3.6 2.1.3.6 第二段第二段I/OI/O寄存器区寄存器区 (P.13)(P.13)$FE00 SBSR$FE00 SBSR 系统集成模块断点状态寄存器系统集成模块断点状态寄存器$FE01 SRSR$FE01 SRSR 系统集成模块复位状态寄存器系统集成模块复位状态寄存器$FE02 SUBAR$FE02 SUBAR 保留保留$FE03 SBFCR$FE03 SBFCR 系统集成模块断点标志控制寄存器系统集成模块断点标志控制寄存器$FE04 INTl$FE04 INTl 中断状态寄存器中断状态寄存器l l$FE05 INT2$FE05 INT2 中断状态寄存器中断状态寄存器2 2$FE06 INT3$FE06 INT3 中断状态寄存器中断状态寄存器3 3$FE08 FLCR Flash$FE08 FLCR Flash控制寄存器控制寄存器$FE09 BRKH$FE09 BRKH 断点地址寄存器高位断点地址寄存器高位$FE0A BRKL$FE0A BRKL 断点地址寄存器低位断点地址寄存器低位$FE0B BRKSCR$FE0B BRKSCR 断点状态和控制寄存器断点状态和控制寄存器$FE0C LVISR$FE0C LVISR 低电压禁止状态寄存器低电压禁止状态寄存器$FF7E FLBPR Flash$FF7E FLBPR Flash块保护寄存器块保护寄存器I/O I/O 寄存器(寄存器(64B64B)RAM数据寄存器数据寄存器(512B)不存在的单元(不存在的单元(32192B32192B)Flash存储器存储器(32256B)(用户程序存储器)(用户程序存储器)控制状态寄存器控制状态寄存器不存在的单元(不存在的单元(19B19B)监控监控ROM(307B)不存在的单元(不存在的单元(43B43B)Flash块保护寄存器块保护寄存器(FLBPR)不存在的单元(不存在的单元(93B93B)0000000000400040024002407FFF7FFF80008000FDFFFDFFFE00FE00FE0DFE0DFE20FE20FE52FE52FE53FE53FF7EFF7E系统集成模块断点状态系统集成模块断点状态寄存器(寄存器(SBSR)003F003F023F023FFlash存储器存储器(36B)(复位和中断向量区)(复位和中断向量区)系统集成模块复位状态系统集成模块复位状态寄存器(寄存器(SRSR)保留(保留(SUBAR)系统集成模块断点标志系统集成模块断点标志控制寄存器(控制寄存器(SBFCR)中断状态寄存器(中断状态寄存器(INT1)中断状态寄存器(中断状态寄存器(INT2)中断状态寄存器(中断状态寄存器(INT3)保留保留Flash控制寄存器控制寄存器(FLCR)断点地址寄存器高字节断点地址寄存器高字节(BRKH)断点地址寄存器低字节断点地址寄存器低字节(BRKL断点状态和控制寄存器断点状态和控制寄存器(BRKSCR)低电压禁止状态寄存器低电压禁止状态寄存器(LVISR)FE0CFE0CFE1FFE1FFE7DFE7DFF7FFF7FFFDBFFDBFFDCFFDCFFFFFFFFFE00FE00FE01FE01FE02FE02FE03FE03FE04FE04FE05FE05FE06FE06FE07FE07FE08FE08FE09FE09FE0AFE0AFE0BFE0BFE0CFE0C2.1.4 2.1.4 时钟发生器模块时钟发生器模块CGMCGM 时钟发生器模块时钟发生器模块CGMCGM由晶体振荡器由晶体振荡器CGMCCGMC、锁相环、锁相环PLLPLL和时钟选择电路三和时钟选择电路三部分组成,其功能是产生系统的工作时钟。部分组成,其功能是产生系统的工作时钟。晶振电路晶振电路直接分频直接分频锁相环频率发生器锁相环频率发生器时钟选择时钟选择电路电路外部晶体外部晶体系统时钟系统时钟MC68HC908GP32OSC1 OSC2 CGMXFC VSSA VDDARbRsX1C1C210k 0.47 F0.01 FCBYP0.1 FVDD2.1.4.1 2.1.4.1 晶体振荡器晶体振荡器参数名参数名 符号符号最小值最小值典型值典型值最大值最大值单位单位晶体频率晶体频率 X1 X1 303032.76832.768100100kHzkHzC CL L-pFpF负载电容负载电容固定电容固定电容C1C16 62*C2*CL L4040pFpFC2C26 62*C2*CL L4040pFpF微调电容微调电容反馈电阻反馈电阻RbRb101010102222M M RsRs330330330330470470k k 串联电阻串联电阻2.1.4.2 2.1.4.2 锁相环频率发生器锁相环频率发生器 (1 1)锁相环)锁相环PLLPLL控制寄存器控制寄存器PCTLPCTL(地址:(地址:00360036)(2 2)锁相环)锁相环PLLPLL带宽控制寄存器带宽控制寄存器PBWC PBWC(地址:(地址:00370037)(3 3)锁相环)锁相环PLLPLL反馈分频器高字节寄存器和低字节寄存器反馈分频器高字节寄存器和低字节寄存器PMSHPMSH、PMSLPMSL(地址:(地址:$0038$0038,$0039$0039)(4 4)锁相环)锁相环PLLPLL压控振荡器范围选择寄存器压控振荡器范围选择寄存器PMSPMS(地址:(地址:$003A$003A)2.1.4.3 2.1.4.3 锁相环电路参数计算及编程方法锁相环电路参数计算及编程方法2.1.5 2.1.5 系统操作正常监视模块系统操作正常监视模块 系统操作正常监视模块系统操作正常监视模块(computer operating properly(computer operating properly,COP)COP)俗称看俗称看门狗电路门狗电路(Watchdog)(Watchdog)。COP COP内部有一个自由运行的计数器,若计数溢出时便产生复位信号,内部有一个自由运行的计数器,若计数溢出时便产生复位信号,使系统复位。使系统复位。目的:防止程序目的:防止程序“跑飞跑飞”。过程:过程:COPCOP被允许后,为了使系统正常工作,应用软件必须周期性地被允许后,为了使系统正常工作,应用软件必须周期性地 向向$FFFF(COP$FFFF(COP控制寄存器控制寄存器)写入任意值,以清除写入任意值,以清除COPCOP计数器。计数器。写入周期应小于写入周期应小于COPCOP的溢出周期,使的溢出周期,使COPCOP在正常工作时不致于产在正常工作时不致于产 生复位信号。生复位信号。若系统工作不正常而若系统工作不正常而“跑飞跑飞”时,时,COPCOP计数器就得不到清零,计数器就得不到清零,那么它将溢出而产生复位信号,以便将那么它将溢出而产生复位信号,以便将“跑飞跑飞”程序拉回。程序拉回。设置:在系统设置寄存器设置:在系统设置寄存器CONFIG1(CONFIG1(地址:地址:$001F)$001F)中可以设置中可以设置COPCOP的的 溢出周期及允许、禁止溢出周期及允许、禁止COPCOP。COPD=1 COPD=1,禁止,禁止COPCOP产生复位信号产生复位信号 COPD=0 COPD=0,允许,允许COPCOP产生复位信号产生复位信号 COPRS=1 COPRS=1,溢出周期,溢出周期=(2 213 13-2-24 4)个晶振时钟周期)个晶振时钟周期 COPRS=0 COPRS=0,溢出周期,溢出周期=(2 218 18-2-24 4)个晶振时钟周期)个晶振时钟周期2.1.6 2.1.6 低电压禁止模块低电压禁止模块 低电压禁止模块低电压禁止模块(low voltage inhibition(low voltage inhibition,LVI)LVI)作用:监测加在作用:监测加在VDDVDD上的电源电压,当上的电源电压,当VDDVDD低于某个预定电压值低于某个预定电压值LVI TmpLVI Tmp 时,认为发生电源故障,产生中断信号并强制系统复位。时,认为发生电源故障,产生中断信号并强制系统复位。CONFIG1CONFIG1的的D0D0位位COPDCOPD规定规定 COP COP是否允许产生复位信号,是否允许产生复位信号,D7D7位位COPRSCOPRS用于用于设置设置COPCOP的溢出周期。的溢出周期。(P.28)(P.28)COPD COPRS CONFIG1$001F复位复位 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 6 5 4 3 2 1 0低耗能工作方式低耗能工作方式两种低耗能工作方式:两种低耗能工作方式:WAlT方式和方式和STOP方式方式 1.WAIT(等待等待)方式方式进入方式:进入方式:CPU执行执行WAIT指令指令工作状态:停止工作状态:停止CPU时钟时钟使使CPU停止工作停止工作 总线时钟继续工作总线时钟继续工作使其他功能模块可以继续工作。使其他功能模块可以继续工作。工作电流:降为工作电流:降为12mA。(若禁止时基。(若禁止时基TBM和低电压禁止和低电压禁止LVI等模块,电流可进一步减小)等模块,电流可进一步减小)退出方式:内部和外部的复位退出方式:内部和外部的复位 允许的中断请求信号允许的中断请求信号2.STOP(停止停止)方式方式进入方式:执行进入方式:执行STOP指令指令工作状态:工作状态:IRQ、KBI、LVI可工作可工作 其他模块都停止工作其他模块都停止工作 (当结构寄存器(当结构寄存器CONFIG2的的OSCSTOPENB位位=0。将禁止振荡器工作)将禁止振荡器工作)工作电流:工作电流:5A500A(与温度和与温度和LVI、KBI等模块是否停等模块是否停 止工作有关止工作有关)。退出方式:外部中断退出方式:外部中断 键盘中断信号键盘中断信号 外部或外部或LVI复位信号,复位信号,结构寄存器结构寄存器CONFIGX 结构寄存器主要用于结构寄存器主要用于MCU的功能选择:的功能选择:CONFIG2($001E)000000OSCSTOPENBSCIBDSRCRWCONFIG2$001E复位复位 0 0 0 0 0 0 0 0OSCSTOPENBOSCSTOPENB:STOPSTOP方式下晶体振荡器工作允许位方式下晶体振荡器工作允许位 OSCSTOPENB=1 OSCSTOPENB=1,在,在STOPSTOP方式下允许晶体振荡器工作;方式下允许晶体振荡器工作;OSCSTOPENB=0 OSCSTOPENB=0,在,在STOPSTOP方式下禁止晶体振荡器工作。方式下禁止晶体振荡器工作。SCIBDSRCSCIBDSRC:串行通信:串行通信SCISCI时钟源选择位:时钟源选择位:SCIBDSRC=1 SCIBDSRC=1,内部总线时钟为,内部总线时钟为SCISCI时钟;时钟;SCIBDSRC=0 SCIBDSRC=0,外部振荡器时钟,外部振荡器时钟CGMXCLKCGMXCLK作为作为SCISCI时钟。时钟。CONFIGl($001E)STOPCOPDLVI5OR3SSRECLVIRSTDLVIPWRDCOPRSLVISTOPRW复位复位 0 0 0 0 0 0 0 0CONFIG1$001FCOPRSCOPRS:COPCOP计数器溢出周期选择位:计数器溢出周期选择位:COPRS=1 COPRS=1,COPCOP溢出周期为溢出周期为(213-24)个个CGMXCLKCGMXCLK时钟周期;时钟周期;COPRS=0 COPRS=0,COPCOP溢出周期为溢出周期为(218-24)个个CGMXCLKCGMXCLK时钟周期。时钟周期。LVISTOP LVISTOP:STOPSTOP方式下的方式下的LVILVI允许位:允许位:(LVI:(LVI:低电压禁止模块低电压禁止模块)LVISTOP=1 LVISTOP=1,在,在STOPSTOP方式下允许方式下允许LVILVI工作;工作;LVISTOP=0 LVISTOP=0,在,在STOPSTOP方式下禁止方式下禁止LVILVI工作。工作。LVIRSTD LVIRSTD:LVILVI复位禁止位:复位禁止位:LVIRSTD=1 LVIRSTD=1,禁止,禁止LVILVI复位;复位;LVIRSTD=0 LVIRSTD=0,允许,允许LVILVI复位。复位。LVIPWRDLVIPWRD:LVILVI电源禁止位:电源禁止位:LVIPWRD=1 LVIPWRD=1,禁止,禁止LVILVI电源检测控制;电源检测控制;LVIPWRD=0 LVIPWRD=0,允许,允许LVILVI电源检测控制。电源检测控制。LVI5OR3LVI5OR3:LVILVI电源选择位:电源选择位:LVI5OR3=1 LVI5OR3=1,LVILVI工作于工作于5V5V方式;方式;LVI5OR3=0 LVI5OR3=0,LVILVI工作于工作于3V3V方式。方式。SSRECSSREC:退出:退出STOPSTOP方式时恢复时间选择位:方式时恢复时间选择位:SSREC=1 SSREC=1,恢复时间为,恢复时间为3232个个CGMXCLKCGMXCLK时钟周期;时钟周期;SSREC=0 SSREC=0,恢复时间为,恢复时间为40964096个个CGMXCLKCGMXCLK时钟周期。时钟周期。STOPSTOP:STOPSTOP指令允许位:指令允许位:STOP=1STOP=1,STOPSTOP指令为合法指令;指令为合法指令;STOP=0STOP=0,STOPSTOP指令为非法指令,执行指令为非法指令,执行STOPSTOP指令,将产生非法指令码复位操作。指令,将产生非法指令码复位操作。COPDCOPD:COPCOP禁止位:禁止位:COPD=1 COPD=1,禁止,禁止COPCOP工作;工作;COPD=0 COPD=0,允许,允许COPCOP工作。工作。2.2.MC68HC08 MC68HC08单片机的工作方式单片机的工作方式2.2.复位复位复位信号源复位信号源2.2.1.1.1 2.2.1.1.1 外部复位外部复位 条件:条件:RST RST脚持续一段时间低电平脚持续一段时间低电平 功能:产生外部复位并延时,再采样功能:产生外部复位并延时,再采样RSTRST脚,以确定是否退出复位脚,以确定是否退出复位 标志:复位状态寄存器标志:复位状态寄存器SRSRSRSR中的中的PINPIN位置为位置为“1”“1”2.2.1.1.2 2.2.1.1.2 内部上电复位内部上电复位 条件:条件:VDD VDD脚上正跳变脚上正跳变 功能:功能:复位复位 标志:标志:SRSR.POR=1 SRSR.POR=12.2.1.1.3 2.2.1.1.3 低电压复位低电压复位 条件:条件:VDD VDD输入电压低于设定电压时复位输入电压低于设定电压时复位 功能:复位功能:复位 标志:标志:SRSR.LVI=1SRSR.LVI=12.2.1.1.4 COP2.2.1.1.4 COP监视复位监视复位 条件:条件:WatchdogWatchdog计数器溢出时复位计数器溢出时复位 功能:功能:COPCOP定时器溢出,复位定时器溢出,复位MCUMCU,常用于防软件,常用于防软件“跑飞跑飞”标志:标志:SRSR.COP=1 SRSR.COP=1 处理:定时复位处理:定时复位COPCOP(向地址为(向地址为FFFFFFFF的的COPCOP 控制寄存器控制寄存器 写任意数)写任意数)注意:注意:$FFFF 读与写不同2.2.1.1.5 2.2.1.1.5 非法地址复位非法地址复位 功能:当从非法地址内存取时自动复位功能:当从非法地址内存取时自动复位 标志:标志:SRSR.ILAD=1SRSR.ILAD=12.2.1.1.6 2.2.1.1.6 非法取指复位非法取指复位 功能:当取出非法指令时自动复位功能:当取出非法指令时自动复位 标志:标志:SRSR.ILOP=1SRSR.ILOP=12.2.1.2 2.2.1.2 复位状态寄存器复位状态寄存器SRSRSRSR($FE01)($FE01)SRSRSRSR为系统集成模块为系统集成模块SIMSIM中的一个状态寄存器,记录发生复位操作的原因。中的一个状态寄存器,记录发生复位操作的原因。特点:它是只读寄存器,对它进行读操作后,各标志位被自动清零。特点:它是只读寄存器,对它进行读操作后,各标志位被自动清零。POR:上电复位标志;:上电复位标志;PIN:外部复位标志;:外部复位标志;COP:看门狗复位标志;:看门狗复位标志;ILOP:非法操作码复位标志;:非法操作码复位标志;ILAD:非法地址复位标志;:非法地址复位标志;LVI:低电压复位标志。:低电压复位标志。PORPINCOPILOPILAD0LVI0复位复位 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 6 5 4 3 2 1 02.2.1.3 2.2.1.3 复位的状态复位的状态 MCU MCU立即停止正在执行的操作;立即停止正在执行的操作;MCU MCU内各种内各种控制状态寄存器置为确定的控制状态寄存器置为确定的初始值;初始值;堆栈指针堆栈指针SPSP装入装入00FF 00FF 置位置位CCRCCR的的I I标志,禁止中断标志,禁止中断 变址寄存器变址寄存器H H清零清零 PC PC装入复位向量装入复位向量FFFEFFFE和