资源预览内容
第1页 / 共53页
第2页 / 共53页
第3页 / 共53页
第4页 / 共53页
第5页 / 共53页
第6页 / 共53页
第7页 / 共53页
第8页 / 共53页
第9页 / 共53页
第10页 / 共53页
亲,该文档总共53页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第二章第二章 S12微控制器体系结构微控制器体系结构1S12微控制器体系结构课件一、一、S12系列微控制器概述系列微控制器概述 Freescale公司是世界上最大的微控制器厂商之一,其产品特点是品种齐全、选择余地大、新产品多,多年来一直雄居微控制器销售总量的榜首。它开发了众多的8位、16位和32位微控制器。Freescale微控制器的特点之一是在同样的速度下所用的时钟频率较51系列微控制器低得多,因而使得高频噪声低,抗干扰能力强,更适合于工控领域及恶劣的汽车环境。2S12微控制器体系结构课件1.S12系列微控制器系列微控制器nS12系列微控制器是16位单片机, S12系列有HC12,S12及S12X系列。Freescal的MC9S12系列MCU是以高速CPU12内核为基础的微控制器系列,简称S12系列。典型的HC12总线频率为8MHz,而典型的S12总线频率为25MHz。HC12与S12指令完全兼容,故在很多场合统称为HCS12系列微控制器。n16位S12系列可以提供32512 KB的第3代FLASH嵌入式存储器,采用0.25m技术生产。第3代FLASH存储器技术提供快速编程能力、灵活的时钟保护和安全性,帮助客户保护软件编码中的知识产权。另外,具有FLASH存储器的Freescale微控制器的在线可编程功能,是专门为用户在生产阶段和远程升级时可灵活编程而设计的。 3S12微控制器体系结构课件nS12系列具有低成本调试功能。S12系列微控制器具有单引脚接口的背景调试(BDM)方式。该方式为实时、无干扰、100电路内仿真,解决了传统背插式仿真器在兼容性、仿真速度、电平和机械接口方面普遍存在的问题。nS12的片内RAM和EEPROM容量可达214KB。在串行接口方面,S12最多可支持5个CAN总线接口、1个I2C总线接口、2个SCI接口、3个SPI接口。HCSl2时钟发生器模块内设锁柑环(PLL),内部时钟可软件调节。nFreescale公司的S12MCU系列是汽车电子市场中应用最广泛的16位体系架构。2007年4月,基于S12的设备的年发货量已超过1亿台。可扩展的S12系列可为开发人员提供多种适合他们应用需求的选择,其片上FLASH存储器容量可从32 KB扩展到1 MB,并能轻松迁移到更高性能的S12X系列。4S12微控制器体系结构课件nS12系列微控制器主要有A、B、C、D、E、F、G、H、L等系列,分为下列几大类:MC9S12A系列和B系列16位微控制器;带CAN总线的MC9S12D系列16位微控制器;带液晶驱动的MC9S12H系列和MC9S12L系列16位微控制器;低供电电压的MC9S12E128和MC9S12E64系列16位微控制器;带USB接口的MC9S12UF32系列16位微控制器;带以太网接口的MC9S12NE系列16位微控制器。S12X系列是Freescale公司近期推出的高速、高性能微控制器。 S12X系列基于S12的基础结构,提供的性能高达现时S12系列的5倍。它提高了总线频率,最高可达40MHz。5S12微控制器体系结构课件2. Freescale半导体公司半导体公司HCS12的命名规则的命名规则MC 9 S12 DG l28 参加参加P176S12微控制器体系结构课件3.MC9S12DGl28概述概述 MC9S12DG128是Freescale公司推出的S12系列微控制器中的一款增强型16位微控制器。其集成度高,片内资源丰富,接口模块包括SPI、SCI、I2C、AD、PWM等。它不仅在汽车电子、工业控制、中高档机电产品等应用领域具有广泛的用途,而且在FLASH存储控制及加密方面也有很强的功能。 MC9S12DG128微控制器采用增强型16位S12CPU,片内总线时钟频率最高可达25 MHz;片内资源包括8KB RAM、128KB FLASH、2KB EEPROM;SCl、SPI、PWM串行接口模块;PWM模块可设置成4路8位或2路16位,可宽范围选择逻辑时钟频率;它还提供2个8路10位精度AD转换器、控制器局域网模块CAN和增强型捕捉定时器,并支持背景调试模式(BDM)。7S12微控制器体系结构课件4.MC9S12DG128系列微控制器的性能特点系列微控制器的性能特点S12的核心: 16位S12CPU:20位ALU,指令队列,增强型索引寻址; 多种外部总线接口(MEBl); 模块映射控制机制(MMC); 中断控制(1NT); 断点(BKP); 背景调试模块(BDM)。CRG时钟和复位发生器: 锁相环(PLL); 看门狗(COPwatchdog); 实时中断(RTl); 时钟监视器(CM)。带中断功能的8位和4位端口: 可编程的上升沿或下降沿触发。存储器: 128 KB FLASH; 2 KB EEPROM; 8 KB RAM。8S12微控制器体系结构课件2个8通道模数转换器: 10位精度; 外部触发转变功能。3个1 Mbps的CAN总线模块,兼容CAN2.0AB: 5个接收缓冲器,3个发送缓冲器; 4个独立的中断通道,分别是发送中断、接收中断、错误中断和唤醒中断; 低通滤波器唤醒功能。增强型捕捉定时器: 16位计数器,7位预分频功能; 8个可编程输入捕捉或输出比较通道; 4个8位或2个16位脉冲累加器。8个PWM通道: 每个通道的周期和占空比由程序决定; 8位8通道或16位4通道; 各通道独立控制; 脉冲在周期内中心对称或左对齐输出; 可编程时钟选择逻辑; 紧急事件关断输入; 可作为中断输入。9S12微控制器体系结构课件串行口: 2个异步串行通信接口(SCl); 2个同步串行设备接口(SPl); Byteflight模块。I2C总线: 兼容I2C总线标准; 多主I2C总线模块。LQFP112和QFP80封装选择: 5 V输入和带驱动能力IO; 5 V AD转换器输入; 50 MHz系统频率(相当于25 MHz总线频率); 单线背景调试模块; 片上硬件断点。10S12微控制器体系结构课件5.MC9S12DG128微控制器的运行模式微控制器的运行模式1)单片运行模式)单片运行模式普通单片模式和特殊单片模式(背景调试模式)普通单片模式和特殊单片模式(背景调试模式)2)扩展运行模式)扩展运行模式窄模式(窄模式(8位外部数据总线)和宽模式(位外部数据总线)和宽模式(16位外部数据总线)位外部数据总线)3)其他运行模式)其他运行模式测试模式、外设模块测试模式等测试模式、外设模块测试模式等11S12微控制器体系结构课件6、MC9S12DG128内部结构简图、引脚图及引脚功能内部结构简图、引脚图及引脚功能MC9S12DGl28系统结构大致可分为MCU核心与MCU外设两部分,对应下图中的左、右半边。(1)MCU核心核心 该部分包括MCU的3种存储器(FLASH、RAM、EEPROM);多电压调整器,包括数字电路和模拟电路电源电压;具有单线背景调试接口(BDM)和运行监视功能的增强S12CPU;程序存储器的页面模式控制;具有中断识别、读写控制、工作模式等控制功能的系统综合模块(SIM);可用于系统扩展的分时复用总线端口,其中A口、B口可作为外扩存储器或接口电路时的分时复用地址数据总线,E口的部分口可作为控制总线。(2)MCU外设外设 S12外设部分包括:AD转换器,增强型定时与捕捉模块(ECT),串行接口SPI、I2C。CAN、Byteflight等接口。 12S12微控制器体系结构课件MC9S12DG128的系统结构图的系统结构图13S12微控制器体系结构课件引脚封装引脚封装 MC9S12DGl28有LQFP112和QFP8Q两种封装形式。采用QFP80封装的微控制器没有引出用于扩展的端口,只引出了一个8路AD接口。本书主要介绍采用LQFP112封装的MC9S12DGl28。 MC9S12DGl28引脚分布图如下图所示。14S12微控制器体系结构课件MC9S12DGl28MC9S12DGl28引脚分布图引脚分布图15S12微控制器体系结构课件 I/O接口,即输入输出接口,是微控制器同外界进行交互的重要通道。这些接口千变万化,种类繁多,有显而易见的人机交互接口,如操纵杆、键盘、显示器;也有无人介入的接口,如网络接口、机器设备接口。 通用I/O:(GPIO(General Purpose I/O),是I/O的最基本形式,它是一组输入或输出引脚,有时也称为并行I/O(parallel I/O)。 二、二、S12 I/O接口简述与接口简述与I/O寄存器寄存器16S12微控制器体系结构课件 输入引脚有三种不同的连接方式:带上拉电阻的连接、带下拉电阻的连接和“悬空”连接。VCCK2R4R3VCCK3R5I3I2MCUK1R1I1VCCR2上拉电阻R2下拉电阻R4I3悬空状态17S12微控制器体系结构课件输出引脚的基本接法输出引脚的基本接法作作为为通通用用输输出出引引脚脚,MCUMCU内内部部程程序序向向该该引引脚脚输输出出高高电电平平或或低低电电平平来来驱驱动动器器件件工工作作,即即开开关关量量输输出出。如如图图4-24-2所所示示。其其中中O1O1引引脚脚是是发发光光二二极极管管LEDLED的的驱驱动动引引脚脚,当当O1O1引引脚脚输输出出高高电电平平时时,LEDLED不不亮亮;当当O1O1引引脚脚输输出出低低电电平平时时,LEDLED点点亮亮。O2O2引引脚脚接接蜂蜂鸣鸣器器驱驱动动电电路路,当当O2O2脚脚输输出出高高电电平平时时,蜂蜂鸣鸣器器响响;O2O2脚脚输输出出低低电电平平时,蜂鸣器不响。时,蜂鸣器不响。这里只是原理性说明。这里只是原理性说明。 18S12微控制器体系结构课件 MC9S12DG128的的I/O端口端口MC9S12DG128有有10组普通端口,分别是组普通端口,分别是A口、口、B口、口、E口、口、H口、口、J口、口、K口、口、M口、口、P口、口、S口和口和T口。口。它们中的大部分具有双功能。19S12微控制器体系结构课件A口口 A口的口的8根引脚与键盘中断模块的引脚复用,这里只讨论根引脚与键盘中断模块的引脚复用,这里只讨论A口作为普通口作为普通I/O口的功能。口的功能。(1)A口的寄存器口的寄存器 A口作为普通口作为普通I/O口时,具有三个寄存器,它们是:口时,具有三个寄存器,它们是:A口数口数据方向寄存器(据方向寄存器(DDRA)、)、A口数据寄存器(口数据寄存器(PORTA)、)、A口上拉电阻允许寄存器(口上拉电阻允许寄存器(PUCR)。)。 A口数据方向寄存器(口数据方向寄存器(Data Direction Register A,DDRA) A口口数数据据方方向向寄寄存存器器(DDRA)的的地地址址是是:$0002,DDRA的的第第70位位分分别别记记为为DDRA7DDRA0,这这些些位位分分别别控控制制着着A口口引引脚脚PTA7 PTA0是是输输入入还还是是输输出出,若若DDRAx=0,则则引引脚脚PTAx为为输输入入,若若DDRAx=1,则则引引脚脚PTAx为为输输出出。复复位位时时DDRA为为$00。记记忆忆要要点点:数数据据方方向向寄寄存存器器的的一一位位:0定定义义输入,输入,1定义输出定义输出20S12微控制器体系结构课件读写读写Bit7Bit7Bit6Bit6Bit5Bit5Bit4Bit4Bit3Bit3Bit2Bit2BitlBitlBit0Bit0ReadReadWriteWritePORTA7PORTA7PORTAPORTA6 6PORTAPORTA5 5PORTAPORTA4 4PORTAPORTA3 3PORTAPORTA2 2PORTAPORTAl lPORTAPORTA0 0DDRA寄存器寄存器PORTA寄存器寄存器21S12微控制器体系结构课件 A口数据寄存器(口数据寄存器(Port A Data Register,PORTA) A口口数据寄存器(数据寄存器(PORTA)的地址是:)的地址是:$0000, PORTA的第的第70位分别记为位分别记为PORTA7 PORTA0。若。若A口的某一引脚口的某一引脚PORTAx被定义成输出,程序使被定义成输出,程序使A口数据寄存器口数据寄存器PORTA的相的相应位应位PORTAx0,则引脚,则引脚PORTAx输出输出“低电平低电平”;程序;程序使使PORTAx1,则引脚,则引脚PORTAx输出输出“高电平高电平”。若。若A口的口的某一引脚某一引脚PORTAx被定义成输入,程序通过读取被定义成输入,程序通过读取A口数据寄口数据寄存器存器PORTA,获得输入情况,获得输入情况,0表示输入为表示输入为“低电平低电平”,1表示输入为表示输入为“高电平高电平”。记忆要点:记忆要点: 输出时:数据寄存器的一位:输出时:数据寄存器的一位:0输出低电平输出低电平 1输出高电平输出高电平输入时:数据寄存器的一位:输入时:数据寄存器的一位:0代表外部输入低电平代表外部输入低电平 1代表外部输入高电平代表外部输入高电平22S12微控制器体系结构课件 A口上拉电阻允许寄存器(Pull Up Control Register,PUCR)A口、B口、E口、K口都有上拉电阻,它们公用一个控制寄存器(PUCR)。记忆要点:记忆要点: 在引脚被定义成输入时,可通过上拉电阻允许寄存器定义有在引脚被定义成输入时,可通过上拉电阻允许寄存器定义有无内部上拉电阻:无内部上拉电阻:00没有内部上拉电阻没有内部上拉电阻11有内部上拉电阻有内部上拉电阻 23S12微控制器体系结构课件I/O口逻辑电路框图口逻辑电路框图 下下图图给给出出了了A A口口作作为为普普通通I/OI/O使使用用时时,一一个个外外部部引引脚脚的相应内部逻辑电路框图。的相应内部逻辑电路框图。24S12微控制器体系结构课件C语言编程示例DDRA=0xFF; /设置端口A为输出PORTA=0x0F;25S12微控制器体系结构课件三、三、S12存储器模型存储器模型 1.MC9S12DG128存储器的组织存储器的组织 MC9S12DG128采用普林斯顿总线结构,程序存储器、数据存储器和IO端口为统一编址方式,总的地址空间为64 KB,内部集成外设(例如SPI、PWM等)的管理接口(相应的寄存器),也占用地址空间,因此实际可用的程序和数据空间不足64 KB。这些存储器和内部集成模块的地址分配并不是固定不变的,用户自己可以重新分配,这就需要了解有关地址空间映射方面的内容。地址空间映射并不是每种微控制器都采用的地址分配方式,建议初学者不要轻易改动默认的映射空间,应直接采用默认地址映射空间。26S12微控制器体系结构课件2.存储器地址分配存储器地址分配 在64 KB标准地址空间中,MC9S12DGl28安排了内部寄存器、RAM、EEPROM和FLASHROM等资源,占据空间分别为1 KB、8 KB、2 KB和128 KB,每个存储单元对应一个地址,共有64K个地址,用4位十六进制数表示,即地址为$0000$FFFF。 微控制器内部不同的存储器占用不同的存储空间,也就是说,不同的地址范围,它们均占据特定的地址空间,如下图所示。 复位后的地址应为: $0000$03FF:1 KB 寄存器空间; $0000S1FFF:8 KB RAM; $0000$07FF:2 KB EEPROM(不可见)。27S12微控制器体系结构课件MC9S12DG128MC9S12DG128复位后复位后 的地址分配图的地址分配图 28S12微控制器体系结构课件 推荐的推荐的 MC9S12DG128 MC9S12DG128 地址分配图地址分配图29S12微控制器体系结构课件n寄存器,RAM,EEPROM可以通过设置INITRG,INITRM,INITEE来重新分配他们的位置。n这些寄存器只能写一次,建议在初始化分配寄存器,RAM,EEPROM的位置。对每个INITxx赋值后,在其指令后需插入一空指令NOP。n如果映射出现地址重叠时,S12MCU内部的优先级控制逻辑会自动屏蔽级别较低的资源,保留级别最高的资源。寄存器具有最高优先级,与其重叠的RAM和EEPROM此时无效。存储器的优先级如下表所列。优先先级资 源源优先先级资 源源1(最高)BDM ROM(ROM已激活)4EEPROM2寄存器区5FIASH3RAM6(最低)外部扩展存储器30S12微控制器体系结构课件3 RAM地址映射地址映射 MC9S12DG128的RAM区大小为8KB,复位默认首地址为$0000,运行时可重新映射到任何8KB边界处。映射是通过修改RAM映射寄存器INITRM中的高5位二进制位来实现的。RAM映射寄存器映射寄存器INITRM(1)复位后RAM区从$0000开始,但可以被映射到64K字节空间内的任何8K字节块内。比如从$0000-$1FFF,$2000-$3FFF。(2)RAM15-13用来决定RAM区映射到哪个8K的字节块中。RAM12-11不起作用读写写Bit 7Bit 7Bit6Bit6Bit5Bit5Bit4Bit4Bit3Bit3Bit2Bit2Bit1Bit1Bit0Bit0ReadReadWriteWriteRAM15RAM15RAM14RAM14RAM13RAM13RAM12RAM12RAM11RAM110 00 0RAMHALRAMHAL31S12微控制器体系结构课件(3)RAMHAL:内部RAM对齐方式位。 0 RAM地址与映射空间地址低对齐,最小为为0000; 1 RAM地址与映射空间地址高对齐,最大为$FFFF。 就是说,RAMHAL用来决定8K RAM是放在8K的后8K区域还是前8K区域。32S12微控制器体系结构课件4. 寄存器地址映射寄存器地址映射 MC9S12DG128的寄存器区大小为1KB,复位默认首地址为$0000,运行时可重新映射到64 KB地址空间中的前32 KB中任何2 KB边界处(即地址必须是2K的整数倍),但实际使用的是前512字节。映射是通过修改寄存器区映射寄存器INITRG中4个二进制位来实现的。 读写写Bit 7Bit 7Bit6Bit6Bit5Bit5Bit4Bit4Bit3Bit3Bit2Bit2Bit1Bit1Bit0Bit0ReadReadWriteWrite0 0REG14REG14REG13REG13REG12REG12REG11REG110 00 00 0寄存器映射寄存器寄存器映射寄存器INITRGINITRG33S12微控制器体系结构课件REG14REG11:寄存器区定位控制位。该位指定寄存器区16位首地址的第1114位。最小为$0000,最大为$7FFF。例如,INITRG寄存器中写入二进制数0110 0000时,对应的寄存器映射位置为$6000。34S12微控制器体系结构课件5 EEPROM地址映射地址映射 EEPROM存储器可用来存放MCU系统中不需要频繁擦写的重要参数,例如时间、初始化参数、配置及数据表格、产品版本号等,是一种非常重要的硬件资源。与FLASH相同,EEPROM也按字(16位)方式组织,可按字节、字方式进行读访问。 MC9S12DG128内部集成了2 KB的EEPROM,复位默认首地址为$0000,运行时可重新映射到任何2KB边界处。映射是通过修改EEPROM映射寄存器INITEE中的前5个二进制位来实现的,最后一位EEON控制EEPROM是否激活。 35S12微控制器体系结构课件EE15EE11:内部EEPROM定位控制位。指定EEPROM区16位首地址的最高5位。 在普通模式下只允许写入一次,特殊模式下可任意进行写操作。 EEON:EEPROM使能位。该位决定是否允许对EEPROM读操作,但不影响编程、擦除操作以及对EEPROM控制寄存器的访问。在单芯片模式下,该位恒为1;在扩展及外设模式下,该位允许写操作。 0 EEPROM关闭; 1 EEPROM使能。 读写写Bit 7Bit 7Bit6Bit6Bit5Bit5Bit4Bit4Bit3Bit3Bit2Bit2Bit1Bit1Bit0Bit0ReadReadWriteWriteEE15EE15EE14EE14EE13EE13EE12EE12EE11EE110 00 0EEONEEONEEPROMEEPROM映射寄存器映射寄存器INITEEINITEE36S12微控制器体系结构课件MC9S12DGl28的EEPROM具有如下特性:2 KB空间; 最小擦除单位为4字节;命令执行完毕或命令缓冲区为空时,产生中断;快速块(Section)擦除和字写入操作;灵活的保护机制,防止意外写入和擦除;单电源供电擦写。对EEPROM的写入、擦除、保护和检验均通过寄存器实现。 37S12微控制器体系结构课件6. FLASH存储器的组织存储器的组织 S12MCU的FLASH采用16位二进制格式,可按字节或字方式访问。字节和规则字的访问占用一个总线周期,非规则字访问需2个总线周期。S12MCU在单片模式下,复位后,FLASH为激活状态,默认地址为$4000一$FFFF,CPU从地址$FFFE取得程序的入口地址,然后开始引导过程。 S12MCU可对FLASH设置硬件保护功能,以保护内部数据免遭意外擦除。 MC9S12DG128使用多个寄存器来管理FLASH,以实现对FLASH的管理、编程、检测与保护等。38S12微控制器体系结构课件7. FLASH地址映射及综合控制寄存器地址映射及综合控制寄存器 MC9S12DGl28微控制器具有128 KB的FLASH,其复位默认首地址为$4000,即64KB空间的高半部分,运行时可重新映射到低半部分,即$0000。$4000-$FFFF为FLASH存储器空间,分成3个16 KB空间。最高16 KB空间的后256字节,即$FF00$FFFF是中断向量表空间。映射通过寄存器MISC实现,其最低位ROMON控制FLASH是否激活。 以下是FLASH地址映射及综合控制寄存器MISC39S12微控制器体系结构课件FLASH地址映射及综合控制寄存器MISC EXSTRl、EXSTR0:外部总线周期延长控制位。在单芯片模式和外设模式下,这两位无意义。 ROMHM:FLASH映射控制位。该位决定片内FLASH的位置。单芯片模式下,该位复位后为1。若ROMON0(参看下面ROMON部分),该位无意义。 0 FLASH定位于$0000$7FFF; 1 FLASH定位于$4000$FFFF。 ROMON:FLASH使能位。扩展模式下,复位后ROMON为0;单芯片模式下,复位后ROMON为1。 0 FLASH关闭; 1 FLASH使能。读写写Bit 7Bit 7Bit6Bit6Bit5Bit5Bit4Bit4Bit3Bit3Bit2Bit2Bit1Bit1Bit0Bit0ReadReadWriteWrite0 00 0EXSTR1EXSTR1EXSTR0EXSTR0ROMHMROMHMROMONROMON40S12微控制器体系结构课件8. FLASH存储器的页面管理存储器的页面管理 S12系列MCU片内支持多达256KB的程序存储器和64KB的数据存储器,显然存储空间超过了S12MCU可寻址的64KB空间,因此引入了页面访问机制,对于64KB以外的存储区,应用专用指令CALL调用子程序,然后通过RTC指令返回。 MC9S12DGl28内部集成了128 KB FLASH存储器,并由PPAGE寄存器决定在当前访问的是哪一页,64 KB以外的存储区通过向PPAGE寄存器写入页面编号来实现。对于DGl28来说,128 KB FLASH空间分为8个16 KB的页面,页面编号为$38-$3F。CPU在64KB内存的$8000$BFFF段开了一个窗口,只能看到页面寄存器的某一页,$3F页定位在$C000$FFFF段,$3E页定位在$4000$7FFF段。另外6页只能通过$8000$BFFF窗口访问。41S12微控制器体系结构课件FLASH存储器的页面管理存储器的页面管理PPAGE读写写Bit 7Bit 7Bit6Bit6Bit5Bit5Bit4Bit4Bit3Bit3Bit2Bit2Bit1Bit1Bit0Bit0ReadReadWriteWrite0 00 0PIX5PIX5PIX4PIX4PIX3PIX3PIX2PIX2PIX1PIX1PIX0PIX0PIX0PIX5:通过$8000$BFFF窗口访问的页面号,可最多管理64个16 KB存储器页,如下表所示。 所有的128K的FLASH可以通过16K的PPAGE窗口来访问,其中两个16K的页也可以通过固定地址($4000-7FFF, $C000-FFFF)来访问。 $4000-$7FFF与$3E相对应,$C000-$FFFF与$3F相对应42S12微控制器体系结构课件PIX5PIX5PIX4PIX4PIX3PIX3PIX2PIX2PIX1PIX1PIX0PIX0访问的的页面号面号0 00 00 00 00 00 016KB16KB页0 00 00 00 00 00 01 116KB16KB页1 10 00 00 00 01 10 016KB16KB页2 20 00 00 00 01 11 116KB16KB页3 3:1 11 11 11 11 10 016KB16KB页60601 11 11 11 10 01 116KB16KB页61611 11 11 11 11 10 016KB16KB页62621 11 11 11 11 11 116KB16KB页6363存储器的页面管理存储器的页面管理注意:此表为$8000$BFFF窗口访问的页面号与PPAGE寄存器PIX0PIX5位对应表。43S12微控制器体系结构课件44S12微控制器体系结构课件8. FLASH存储器的擦写保护存储器的擦写保护 S12为了禁止局部FLASH的误擦除,可以通过写保护寄存器FPROT进行页保护,其中$3E页定位在$4000$7FFF,$3F定位在$C000$FFFF。改写FPROT寄存器可以设定保护范围:低端空间可为512 B、1 KB、2 KB、4KB,高端空间可以是2 KB、4 KB、8 KB、16 KB。45S12微控制器体系结构课件 S12CPU内部寄存器可以直接与ALU部件相连,具有数据传送速度最快,数据更新最快的特点。这些寄存器有的直接参与操作,有的存放操作结果,有的提供结果的特征,S12CPU主要内部寄存器如下图所示。(1)累加器D S12CPU有2个8位累加器:累加器A和累加器B,累加器又可称为数据寄存器,因此累加器A和累加器B又分别称为寄存器A和寄存器B。寄存器A和寄存器B加起来可看成一个16位寄存器D,其高8位在寄存器A,低8位在寄存器B。实际上寄存器D和A、B指的是同一个寄存器,只是名字不同而已,D寄存器不受复位影响。四、四、S12CPUS12CPU编程模型编程模型46S12微控制器体系结构课件S12CPU内部寄存器进位进位/借位标志借位标志C溢出标志溢出标志V为为0标志标志Z为负标志为负标志N累加器累加器A和和 B变址寄存器变址寄存器 X变址寄存器变址寄存器Y堆栈指针堆栈指针SP程序计数器程序计数器PC程序状态寄存器程序状态寄存器CCR或者或者16位的双累加器位的双累加器 DS X HIN Z V C707715000000015151515PCSPYXDBA中断屏蔽位中断屏蔽位I半进位标志半进位标志H非屏蔽中断允许位非屏蔽中断允许位X停止(停止(STOP)运行模式禁止位)运行模式禁止位S50PPAGE *47S12微控制器体系结构课件(2)变址寄存器X、Y S12CPU有2个16位地址寄存器,主要用于寻址操作,也用于临时存放数据并参与运算,但只能按16位方式访问。由于寄存器S12CPU的通用数据寄存器较少,因此在乘法运算中需要寄存器X参与,在除法运算中需要寄存器X、Y同时参与。寄存器X、Y内容不受复位影响。(3)堆栈指针寄存器SP S12CPU的16位堆栈指针寄存器SP既可用作系统栈操作,也可用于用户栈操作。SP主要用于堆栈管理,服务于中断和子程序调用。用户程序必须对SP进行初始化设置。SP的内容复位后不受影响。S12CPU的16位堆栈指针总是指向堆栈区的顶部。48S12微控制器体系结构课件(4)程序计数器PC S12CPU的16位程序计数器PC指针始终指向程序序列中下一条将要执行的指令,用户可以读取PC指针,但不能直接写入PC指针。复位后,PC自动回到默认状态。PC是特殊的寄存器,它决定S12CPU欲取指令的地址,因此不能挪作它用;但可以像SP一样,作为变址寄存器使用。PC不能参与任何运算。(5)程序状态寄存器CCR 程序状态寄存器CCR的内容分2部分。第1部分是5个算数特征位:H、N、Z、V、C,它 们反映了上一条指令执行结果的特征;第2部分是3个MCU控制位:非屏蔽中断位X、I和STOP指令控制位S,这3位通常由软件设定,控制S12CPU的操作。 49S12微控制器体系结构课件读写读写Bit7Bit7B1t6B1t6Bit5Bit5Bit4Bit4B1t3B1t3Bit2Bit2BitlBitlBit0Bit0ReadReadWriteWriteS SX XH HI IN NZ ZV VC C复位默认值:1101 0000B CCR是真正的专用寄存器,除C、H位之外,其他各位都不参与任何运算。CCR各位的作用简要说明如下:S STOP指令禁止位。该位置1将禁止CPU执行STOP指令。X 非屏蔽中断位XIRQ 。该位置1将屏蔽来自XIRQ引脚的中断请求,复位默认值为1。I 中断屏蔽位。该位置1将屏蔽所有的可屏蔽中断源,复位默认值为1。50S12微控制器体系结构课件H 辅助进位。该位BCD操作时累加器A的Bit3向Bit4进位。N 符号位。当运算结果为负时,该位置1。N位实际是运算结果最高位的拷贝。Z 0标志。当运算结果为0时,该位置1。V 补码溢出标志。当运算结果出现补码溢出时,该位置1。C 进借位标志。当加法运算产生进位或者减法运算产生借位时,该位置1。移位操作或者直接针对C的指令也可改变C的值。51S12微控制器体系结构课件作业:1、MC9S12系列单片机CPU都有哪些寄存器,各有什么特点?2、MC9S12DG128有哪些存储器资源?并简述它们是怎样组织的。52S12微控制器体系结构课件53S12微控制器体系结构课件
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号