单片机第二单元.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第二章MC68HC08单片机基本组成原理2.1MC68HC08单片机的基本组成2.2MC68HC08单片机的工作方式第二章MC68HC08单片机基本组成原理2.1MC68HC08单片机的基本组成2.1.1基本组成所有MC68HC08的基本组成结构都相同。都由CPU、存储器和I/O接口电路组成。MC68HC08系列中以带有Flash的MC68HC908具有更高的性价比。MC68HC08硬件结构框图(见下页)概述高性能、低功耗8bitMCUVdda(PLL)Vssa(PLL)CGMXFC(PLL)OSC2OSC1RSTPTC0PTC1PTC2PTC4PTC3VPTE0/TxDPTE1/RxDIRQ/VppPTD0/SSPTD1/MISOPTD2/MOSIPTD3/SPSCKVssPTA7/KBD7PTA6/KBD6PTA5/KBD5PTA4/KBD4PTA3/KBD3PTA2/KBD2PTA1/KBD1PTA0/KBD0Vssad/Vrepl(ADC)Vddad/Vreph(ADC)PTB7/AD7PTB6/AD6PTB5/AD5PTB4/AD4PTB3/AD3PTB2/AD2PTB1/AD1PTB0/AD0PTD5/T1CH1PTD4/T1CH0123456789101112131415161718192021222324252627282930313233343536373839404344DDVVCGMXFCOSC2OSC1RSTPTC0PTC1PTC2PTC4PTC3VPTE0/TxDPTE1/RxDIRQPTD0/SSPTD1/MISOPTD2/MOSIPTD3/SPSCKVssPTA7/KBD7PTA6/KBD6PTA5/KBD5PTA4/KBD4PTA3/KBD3PTA2/KBD2PTA0/KBD0Vssad/VreplVddad/VrephPTB7/AD7PTB6/AD6PTB5/AD5PTB4/AD4PTB3/AD3PTB2/AD2PTB1/AD1PTB0/AD0PTD5/T1CH1PTD4/T1CH0123456789101112131415161718192021222324252627282930313233343536373839404241PTA1/KBD1DDASSADDPTD6/T2CH0PTC5PTC6PTD7/T2CH1CPU08控制与状态寄存器64B时钟发生模块系统集成模块Power*RST*IRQVDDPTA0/KBD0~PTA7/KBD7寄存器组控制单元ALU用户Flash32256B用户RAM512B监控ROM307B用户Flash矢量区36B32kHz晶振锁相环(PLL)OSC1OSC2CGMXFCVDDAD/VREFH外部中断模块安全性模块上电复位模块VSSAD/VREFLVSSVDDAVSSA串行通信接口模块串行外设接口模块2ChTimer12ChTimer28位键盘中断模块低电压禁止模块看门狗模块断点模块监控模块时基模块数据总线控制存储器映象模块屏蔽选择寄存器1屏蔽选择寄存器2DDRAPORTADDRBPORTBPTB0/AD0~PTB7/AD7监控方式进入模块8位A/D变换模块DDRCDDRDPORTCPORTDPTC1PTC2PTD0/SSPTC3PTC4PTC5PTC6PTC0PTD1/MISOPTD2/MOSIPTD3/SPSCKPTD4/T1CH0PTD5/T1CH1PTD6/T2CH0PTD7/T2CH1PTE0/TXDPTE1/RXDDDREPORTE所有MC68HC08的CPU08结构都相同。都由ALU、CPU寄存器组、CPU控制电路组成。(以下均以MC68HC908GP32为参考)2.1.2.1MC68HC908GP32CPU寄存器(共5个)累加器A:通用寄存器,存放算术、逻辑运算中的第一操作数和结果等(8bit)变址寄存器H:X主要用于变址寻址方式,存放基地址;也可暂存数据,复位时清零H。(8bit/16bit)程序计数器PC:用于存放将要取出并执行的指令的地址或下一个操作数的地址。可分为高8位PCH和低8位PCL。(16bit)堆栈指针SP:用于存放堆栈栈顶的地址,可分为高8位SPH和低8位SPL。(16bit)2.1.2CPU条件码寄存器CCR(PSW):用于存放指令执行后的结果的状态、特征,而中断屏蔽I位用于禁止/允许中断(8bit)条件码寄存器CCR内容格式V11HINZC进位/借位标志零标志负标志中断屏蔽标志半进位标志溢出标志位111复位时状态P.10PCPC+1PC+2Flash低高PC:CCRACCXPCHPCLSP-2SP-1RAM低高SP:SP$00FF(初值)SP复位时为$00FF;RSP指令SP为$**FF。程序调用子程序:JSR、BSR。PC进栈(16位)SP-2子程序返回:RTS(SP)+1SP((SP))-PCH(SP)+1-SP((SP))-PCL中断响应:SP-5;中断返回:SP+5。H没有自动入栈特殊的第0页:事实:CPU08内部寄存器较少。优点:中断响应速度高。缺点:数据传递较麻烦。弥补:第0页存储单元都可以用直接寻址方式实现数据从存储器到存储器的直接传送,即不必经过累加器A,即都可以当作寄存器用。(提高了代码效率)这样的机制更适合用于控制系统设计!堆栈特点:①采用栈顶空形式;②压栈向栈地址减小的方向生长,即压栈后(SP)-1→SP,弹出前(SP)+1→SP;③MCU复位,SP置为$00FF;执行复位堆栈指令(RSP)时,SP置为$**FF;一般RAM区累加器A2.1.2.2算术/逻辑单元和CPU控制电路片内存储器第0页含:64BI/0寄存器$00~$3F192BRAM$40~$FFRAM第0页2.1.3Memory存储器组织的特点:统一编址。所有数据存储器、程序存储器和I/O寄存器均处于一个统一编址的地址空间。存储器组成:①I/O寄存器空间;②内部RAM空间;③ROM空间,即监控ROM,实际上即系统ROM;④Flash空间。也可以只划为RAM区、ROM区和Flash区,在这里RAM区则包括I/O寄存器空间和内部RAM空间。}RAM区2.1.3.1存储空间分配(1)内部I/O寄存器空间$OO00~$OO3F64B包括:所有的并行I/O口串行口定时器A/DC键盘中断中断控制逻辑单片机工作状态监视系统设置(注意:还有第二段I/O寄存器空间)数据寄存器状态寄存器控制寄存器等(2)内部RAM空间$OO40~$O23F512B特殊区:RAM第0页192B用户RAM区。其中一部分作为堆栈区。◆如何充分应用第0页用户RAM区?将堆栈区移出第0页用户RAM区。由于SP可编程,可使SP从复位时指向的0页移出。这样只适用于0页的直接寻址指令可以快速而有效地在第0页RAM空间存取。0页即成为用户储存那些访问频率较高的全局变量的理想空间。(3)监控ROM空间$FE20~$FF52307B监控ROM区可为监控方式和用户方式服务。(4)Flash空间$8000~$FDFF32256B;$FFDC~$FFFF36B第一段:为用户程序区,用于存放用户程序第二段:作为矢量表,其中$FFF6~$FFFD是预留的8个保密字节。(5)第二段I/0寄存器区$FE00~$FEOC12B分别是系统集成模块的断点状态寄存器、复位状态寄存器、断点标志控制寄存器,中断1、2、3状态寄存器,Flash控制寄存器,断点地址寄存器高位/低位,断点状态和控制寄存器,低电压禁止状态寄存器等。(6)Flash块保护寄存器FLBPR$FF7E1B(7)不存在的存储区$0240~$7FFF32192B;$FEOD~$FElF,19B;$FF53~$FF7D,43B;$FF7F~$FFDB93B2.1.3.2I/0寄存器和部分功能模块寄存器的地址寄存器地址寄存器地址寄存器地址寄存器地址PTA$0000SPCR$0010T1SC$0020T2SC0$0030PTB$0001SPSCR$0011T1CNTH$0021T2CH0H$0031PTC$0002SPDR$0012T1CNTL$0022T2CH0L$0032PTD$0003SCC1$0013T1MODH$0023T2SC1$0033DDRA$0004SCC2$0014T1MODL$0024T2CH1H$0034DDRB$0005SCC3$0015T1SC0$0025T2CH1L$0035DDRC$0006SCS1$0016T1CH0H$0026PCTL$0036DDRD$0007SCS2$0017T1CH0L$0027PBWC$0037PTE$0008SCDR$0018T1SC1$0028PMSH$0038--$0009SCBR$0019T1CH1H$0029PMSL$0039--$000AINTKBSCR$001AT1CH1L$002APMRS$003A--$000BINTKBIER$001BT2SC$002BPMDS$003BDDRE$000CTBCR$001CT2CNTH$002CADSCR$003CPTAPUE$000DINTSCR$001DT2CNTL$002DADR$003DPTCPUE$000ECONFIG2$001ET2MODH$002EADCLK$003EPTDPUE$000FCONFIG1$001FT2MODL$002F--$003F2.1.3.3RAM存储器MCU型号不同其RAM容量也不同。GP32有512BRAM$OO40~$O23F。其中0页192B$0040~$00FF0页的寻址方式多,操作速度快,可用作数据缓冲器和程序的工作标志单元。堆栈区也设在RAM中,复位后,堆栈指针为$OOFF,使堆栈区位于RAM的第0页。GP32的堆栈区的位置是可编程的,一般将堆栈区设在$023F~$01FF。2.1.3.4监控ROM监控ROM固化了系统检测、Flash编程以及串行通信等功能的程序。使MCU可以工作于两种方式:监控方式和用户方式。在特定条件下,MCU可进入监控方式。监控ROM可以通过单一的一条信号线与主机进行串行通信,接收和执行预先定义的主机命令,如读写存储器、执行程序等,并返回结果。监控方式能够完成一些特殊功能,例如:(1)下装代码到RAM或Flash存储器中;(2)执行RAM或Flash存储器中的程序代码;(3)Flash存储器的加密;(4)Flash存储器擦除、写入、校验;(5)与主计算机进行标准的不归零传号/空号串行通信,其波特率可以为4.8k~28.8kbaud;(6)在线编程;(7)用户方式Flash编程。2.1.3.5Flash存储器Flash快速、非易失、可在高压(GP32片内的电荷泵产生,单一外部5V电源)下进行读、写、擦除的全部操作的存储器。Flash存储器用于存放用户程序和复位向量与中断向量。其中:$8000~$FDFF存放用户程序;$FFDC~$FFFF存放复位向量与中断向量(即用来存放用户定义的复位和中断服务程序的入口地址)Flash写入与擦除主要由FLCR寄存器($FE08)控制。FLCR寄存器的格式如下:(P.12)D7D6D5D4D3D2D1D00000HVENMASSERASEPGMFlash中还可以使用保护区,保护区即只读存储区,不能在该区中进行擦、写操作。保护区用保护寄存器FLBPR($FF7E)指定保护区的首址,保护区的末地址一律为$FFFF。FLBPR保护值及保护区对照:FLBPR=$00保护全部Flash存储器;FLBPR=$01保护区为$8080~$FFFF;FLBPR=$02保护区为$8100~$FFFF;FLBPR=$FE保护区为$FF00~$FFFF;FLBPR=$FF不保护。2.1.3.6第二段I/O寄存器区(P.13)$FE00SBSR系统集成模块断点状态寄存器$FE01SRSR系统集成模块复位状态寄存器$FE02SUBAR保留$FE03SBFCR系统集成模块断点标志控制寄存器$FE04INTl中断状态寄存器l$FE05INT2中

1 / 42
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功