第3章 MC9S12单片机的内核及片上资源v2_第1页
第3章 MC9S12单片机的内核及片上资源v2_第2页
第3章 MC9S12单片机的内核及片上资源v2_第3页
第3章 MC9S12单片机的内核及片上资源v2_第4页
第3章 MC9S12单片机的内核及片上资源v2_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

1、第三章 MC9S12单片机的内核(ni h)及片上资源 3-1 内核结构及引脚 3-2 内部寄存器3-3 堆栈(duzhn)3-4 内部存储器3-5 复位及时钟3-6 中断3-7 最小系统设计内容提要:共五十四页3-1 内核(ni h)结构及引脚共五十四页Freescale单片机的命名(mng mng)规则 产品状态。MCFully Qualified(合格(hg));PCProduct Engineering(测试品) ; XC表示部分合格品,有限质量保证,用于性能评估的器件 。存储器类型标志。“无”表示片内带ROM或片内没有程序存储器;7表示片内带EPROM或一次可编程ROM(one ti

2、me programmable ROM,OTPROM);8表示片内带EEPROM (Electrically Erasable Programmable Read-Only Memory) ;9表示片内带闪存Flash EEPROM。芯片内核类型。如08表示HC08内核、S08表示HCS08内核、RS08表示RS08内核等。共五十四页子系列型号标志。如GP、GB、GZ等。存储器大小。如2表示2KB、32表示32KB、60表示60KB等。Flash版本标志,反映不同的擦写电压、时间等。工作温度范围标志。“无”表示商用温度范围070;C表示-4085;V表示-40105;M表示-40125。封装形

3、式 。如:P为双列直插DIP封装。FU表示80引脚QFP封装。PV表示112引脚LQFP封装。选用某款芯片制作电路板时要特别注意封装形式。E表示lead free packaging,即无铅封装。 在之后有些(yuxi)还有一个可选项,例如MC68HC912B32ACFUE8,此处的“8”表示总线速度为8MHz。 注:由于历史原因,飞思卡尔(前身为Motorola半导体部)的微控制器类产品常冠以68。共五十四页内核(ni h)结构存储器以MC9S12DP256为例256K FLASH12K RAM4K EEPROMMC9S12DG128拥有(yngyu)128K的FLASH,8K的RAM,2K

4、的EEPROM。共五十四页电压调整(tiozhng)模块及相关引脚电压(diny)调整模块给内核供电2.5VVDD1/2和VSS1/2:内核供电引脚,之间要接去耦电容VREGEN引脚上拉使能电压调整模块,VDD1/2,VDDPLL使用内部2.5V电源VREGEN引脚接地禁止模块,VDD1/2,VDDPLL接外部2.5V电源VDDR、VSSR:电压调整模块及I/O供电,分别接电源和地,之间要接去耦电容共五十四页时钟(shzhng)和锁相环及相关引脚EXTAL、XTAL:接外部振荡器RESET:接外部复位,低电平有效XFC:接锁相环滤波电容VDDPLL、VSSPLL:锁相环供电(n din)引脚。

5、使能电压调整模块( VREGEN 上拉)时,该引脚直接去耦电容。共五十四页模式选择(xunz)及相关引脚模式(msh)选择和PORTE复用TEST:保留脚,接地XIRQ:非屏蔽中断IRQ:可屏蔽中断R/W:读写信号,指示总线上数据方向LSTRB:总线模式下低位字节(奇地址)选通ECLK:内部总线时钟输出,一般在宽扩展模式下地址锁存用BKGD(MODC)、MODB、MODA:模式选择NOACC/XCLKS:外部振荡电路方式选择(当使用串行振荡电路时,该引脚要拉高;当使用并行振荡电路时,该引脚要接地。)共五十四页串联(chunlin)方式(引脚要拉高)并联(bnglin)方式(引脚要接地)共五十四

6、页模式(msh)选择共五十四页地址(dzh)数据总线PORTA和PORTB作为扩展模式下的数据和地址复用总线(zn xin),寻址达到64K范围窄模式下:PORTA为8位数据总线宽模式下:PORTA、PORTB为16位数据总线PTK为扩展存储器超过64K时用,不扩展时作为普通I/O口。共五十四页扩展(kuzhn)窄模式地址线接法共五十四页扩展(kuzhn)宽模式地址线接法共五十四页ATD模块(m kui)及相关引脚VRH、VRL:参考高压和参考低压,一般(ybn)接5V(隔离)和GND(单点共地)。VDDA、VSSA:A/D模块电源引脚。AN0-AN7:模拟量输入引脚,8个通道。作普通I/O时

7、,只能输入,不能输出。共五十四页定时器及相关(xinggun)引脚IOC0-7:输入捕获(bhu):捕获(bhu)外部有效边沿输出比较:输出一定宽度的脉冲作为普通I/O口时,为PORTT,输入输出。共五十四页SPI、PWM及相关(xinggun)引脚2个SPI口MISO:主机(zhj)输入/从机输出MOSI:主机输出/从机输入SCK:同步时钟(主机提供,从机接受)SS:从机选择(1-主机,0-从机)PWM0-7:PWM模块8个通道作为普通I/O:PORTP共五十四页异步串行口及相关(xinggun)引脚2个SCI:RXD:数据接收(jishu)TXD:数据发送1个SPI1个BDLC4(5)个C

8、AN:RXCAN接收、TXCAN发送作为普通I/O使用:PORTS,PORTM共五十四页中断(zhngdun)I/O口作为普通(ptng)并行I/O口:PORTJ、PORTHPJ口和PH口可以作为中断口:可选择上升或者下降沿中断;PJ6和PJ7与I2C和CAN4模块复用引脚。( I2C:SDA数据引脚、SCL时钟引脚)共五十四页电源(dinyun)引脚*VDD1、2,VSS1、2:内部逻辑(lu j)供电*VDDPLL,VSSPLL:锁相环供电*-使能电压调整模块( VREGEN 上拉)。VDDX,VSSX:I/O供电电源引脚VDDR,VSSR:电压调整器及I/O供电电源引脚VDDA,VSSA

9、:A/D模块供电电源引脚共五十四页3-2 内部(nib)寄存器累加器A、B:保存操作数和操作结果,组成16位累加器D。变址寄存器X、Y:寻址操作、临时数据、参与运算。堆栈指针SP:中断、子程序调用,暂存数据。堆栈由高地址向低地址生成,栈顶为实栈顶。程序计数器PC :存放(cnfng)下一条要执行的指令地址。共五十四页条件码寄存器CCR:包括5个状态指示器、两个(lin )中断屏蔽位、STOP指令控制位。1-CPU不可执行STOP;0-反之1-屏蔽XIRQ中断;0-反之1-产生了半进位1-屏蔽所有可屏蔽中断1-运算结果有负数1-运算结果有01-运算结果溢出1-运算产生进/借位共五十四页 溢出标志

10、和进位标志是两个意义不同(b tn)的标志。进位标志表示无符号数运算结果是否超出范围,运算结果仍然正确;溢出标志表示有符号数(以补码形式表示)运算结果是否超出范围,运算结果已经不正确。 正数和负数相加不会溢出 两个正数相加,如果结果为负数(符号位为 1),表明发生溢出; 两个负数相加,如果结果为正数(符号位为 0),表明发生溢出。 处理器对两个操作数进行运算时,按照无符号数求得结果,并相应设置进位标志;同时,根据是否超出有符号数的范围设置溢出标志。共五十四页按无符号数对待 按带符号数对待0000 01004(+) 4+ 0000 1011 + 11 + (+)110000 111115(+)1

11、5按无符号数对待按带符号数对待0000 01117(+)7+ 1111 1011 + 251 + (-)51C 0000 0010258(+)2C= 1V =0按无符号数对待按带符号数对待0000 10019(+)9+ 0111 1100 + 124 + (+)124 1000 0101133(+)133C =0V = 1按无符号数对待按带符号数对待 1000 0111135(-)121+ 1111 0101 + 245 + (-)11 1C 0111 1100380(-)132C =1V = 1共五十四页3-3 堆栈(duzhn)堆栈由高地址向低地址生成,SP总是指向最后进入堆栈的一个字节实

12、栈顶 压栈时先调整堆栈指针(SP(SP1),后保存数据。 出栈时先弹出数据,后修改栈顶(SP(SP1)子程序调用时,程序返回地址自动(zdng)压栈、中断响应后,除断点地址自动压栈外,CPU寄存器Y、X、A、B、CCR也依次自动压栈;执行中断返回指令时,断点地址和CPU寄存器按照和入栈时相反的顺序依次自动出栈。共五十四页栈区必须在程序开始部分在内部RAM区指定,即SP的初始化。中断进栈举例(j l):执行到$80F0处的程序时,CPU响应中断,且此时SP的内容(栈顶)为$3F00,则SPSP自动压栈的内容(nirng)和顺序中断返回时,自动出栈的内容和顺序共五十四页3-4 内部(nib)存储器

13、基本内存空间MC9S12系列单片机片内有RAM、EEPROM和Flash,不同型号单片机有不同的存储器配置。程序存储器和数据存储器统一编址,其地址空间可以通过设置相关(xinggun)寄存器重新定义。以MC9S12DT128为例:8KB RAM;2KB EEPROM; 128KB Flash。 共五十四页共五十四页存储器容量(rngling)寄存器1寄存器空间(kngjin)为2KB0寄存器空间为1KB存储器容量寄存器0MEMSIZ0只读(默认值由芯片的型号决定)详见下页表EEPROM空间分配000 KB012 KB104 KB118 KB例如:DG128复位时MEMSIZ0的值为$13,即表

14、示有1KB的寄存器、2KB的EEPROM、8KB的RAM空间。共五十四页存储器容量(rngling)寄存器RAM_SW2-RAM_SW0:分配(fnpi)系统RAM存储空间 共五十四页寄存器区映射(yngsh)寄存器INITRG指定(zhdng)内部寄存器区基址的高5位。则最小基址是$0000,最大基址为$7FFF(D7=0决定)。 使用时,一般定位在$0000开始的1K中。 因为前256个字节可以用直接地址(8 bit地址)访问,如果定位在其它地方,应用扩展地址(16 bit地址码)访问。共五十四页RAM映射(yngsh)寄存器INITRM0=RAM和内部地址空间(kngjin)最低端对齐1

15、=RAM和内部地址空间最高端对齐9S12DG128有8K RAM空间,默认$0000$1FFF,若定位在$2000$3FFF,则INITRM值可为$39。例:共五十四页EEPROM映射(yngsh)寄存器INITEE0=禁用(jn yn)EEPROM1=使能EEPROM指定EEPROM基址的高5位。例:DG128有2K的EEPROM。若给INITEE赋值为$09,则EEPROM区域就是$0800$0FFF。共五十四页内部(nib)寄存器EEPROMRAM16KB固定(gdng)Flash$3E16KB分页Flash$3016KB固定Flash$3F中断向量区$0000$0400$1000$40

16、00$8000$C000$FF00$FFFF$30$31$32$33$34$35$36$37$38$39$3A$3B$3C$3D$3E$3FBlock3Block2Block1Block0由PPAGE寄存器(地址$30)决定某一页在$8000$BFFF。 DP256片内有256KFlash,分16页,每页16K,一般定位:$4000$7FFF 16K($3E) $C000$FFFF 16K($3F)内存以页面方式扩展共五十四页存储器优先级上述三个寄存器INITRG、INITRM、INITEE负责将内部资源重新映射(yngsh)若地址分配出现重叠,按优先级自动屏蔽级别较低的资源存储器分配优先级:

17、BDM ROM寄存器区RAMEEPROMFlash/ROM外部扩展存储器高低共五十四页说明:单片机内部有不同的I/O接口模块,对应的寄存器有几百个,这些存储器占用1KB的地址空间,这一I/O寄存器空间可以由用户任意定义到前32KB空间的任何一个2KB空间的前半部分。但是从$0000$00FF这256个字节可以使用直接寻址方式。EEPROM默认(mrn)情况下也是从$0000开始的,因为优先级没有寄存器区高,所以复位以后有1KB的区域会被寄存器区覆盖,如果要使用全部的EEPROM,可以将其重新定义到其它空间,或将I/O寄存器移到其它空间。共五十四页说明:3. 不同型号的单片机有不同容量(rngl

18、ing)的片内RAM,有2KB、4KB、8KB、12KB等。例如MC9S12DP256有12KB的RAM,可配置INITRM寄存器使RAM占据$1000$3FFF的全部空间。如果单片机有8KB的RAM,可以定义到$2000$3FFF。4. $4000$FFFF的48KB为Flash存储器空间,分成3块,每块16KB。最后16KB空间的最后256B($FF00$FFFF)是中断向量表空间。 共五十四页3-5 复位(f wi)及时钟复位上电复位 单片机自动检测VDD端的正跳变,启动自动工作。外部复位 通过RESET引脚加一低电压,拉低超过一定时间 后可实现复位。看门狗复位 帮助系统在软件跑飞后自动

19、复位。时钟监视器复位 利用(lyng)内部的RC电路来保证时钟频率满足要求。共五十四页振荡器和时钟(shzhng)电路EXTAL是外部时钟输入(shr)或石英振荡放大器的输入(shr)XTAL是石英振荡放大器的输出振荡电路注:DG128可用串联振荡电路和并联振荡电路两种连接方式。 9S12X系列单片机只可用并联振荡电路。 使用串行振荡电路时,PE7引脚要拉高,而使用并联振荡电路或外部有源振荡器时,该引脚要接地。PE7悬空则为串联方式。共五十四页时钟(shzhng)初始化寄存器共5个(1)锁相环控制(kngzh)寄存器(PLLCTL)锁相环电路允许位1允许0禁止时钟监控允许位1允许0禁止注:其余

20、各位的描述见教材49页。共五十四页(2)时钟合成(hchng)寄存器(SYNR)低6位有效,有效值063。(3)时钟分频寄存器(REFDV)低4位有效,有效值015。由锁相环来产生时钟(shzhng)频率的公式:例如:选用16MHz的外部晶振,若将SYNR设为 2,REFDV设为1,通过公式计算可得 PLLCLK48MHz。共五十四页锁相环频率锁定(su dn)标志1表示时钟频率已稳定,且锁定了锁相环频率。(4)时钟产生(chnshng)模块的标志寄存器CRGFLG注:其余各位的描述 见教材49页和50页。(5)时钟选择寄存器(CLKSEL)选定锁相环1表示Bus ClockPLLCLK/20

21、表示Bus ClockOSCCLK/2实时中断标志位1RTI发生了超时中断,向该位写1清除该中断标志位。共五十四页PLL例子(l zi) CLKSEL=0 x00; /禁止PLL PLLCTL=0 xe1; /PLL电路(dinl)允许 SYNR=2;REFDV=1; /设置倍频参数 PLLCTL=0 x60; /时钟监控禁止 while(0=(CRGFLG&0 x08);/等待稳定 CLKSEL=0 x80; /选择PLL作为时钟/若晶振为16M,则PLLCLK=2*16*3/2=48MHz,则总线频率是24MHz共五十四页实时中断使能位1在RTIF置位时申请中断0不申请来自(li z)于R

22、TI模块的中断实时(sh sh)中断RTI相关寄存器(1)中断使能寄存器(CRGINT)自给时钟模式使能位1在SCMIF置位时申请中断0不申请SCMLOC中断锁定中断使能位1在LOCKIF置位时申请中断0不申请LOCK中断注:RTIF、LOCKIF、SCMIF见CRGFLG寄存器。共五十四页RTR6:4实时中断预分频选择位RTR3:0实时中断分频系数选择位时钟源是外部振荡器RTI超时周期设置参照(cnzho)表:(具体见S12CRGV4.pdf的第23页)(2)RTI控制(kngzh)寄存器(RTICTL)共五十四页RTI程序(chngx)举例RTICTL = 0 x7e;/4M/15*216

23、 近似等于(dngy) 4HzCRGINT = 0 x80; / 中断使能 得到大约每秒4次的中断共五十四页COP(看门狗)相关(xinggun)寄存器COP窗口模式位1看门狗复位(f wi)的写操作必须在看门狗溢出周期的最后1/4时间内0看门狗复位的写操作可以在整个溢出周期内发生(1)COP控制寄存器(COPCTL)BDM模式下,1COP和RTI停止运行0COP和RTI继续运行看门狗溢出周期选择位(2)COP复位寄存器(ARMCTL)向该寄存器先写$55,然后写$AA即可复位看门狗。共五十四页软件中断(SWI)内部中断源非法指令陷阱内部中断源非屏蔽中断( )外部中断源 一次操作机会(j hu),打开后不能关闭。可屏蔽中断 除上面三种类型的,其余均为可屏蔽中断。其 中 为外部中断源,其余均为内部中断源。注:(1)每个可屏蔽中断受两层控制,一是全局中断屏 蔽位,即CCR中的I位;二是各个中断源相关的 本地控制位。 (2)各个中断源、中断向量表以及优先级见教材55页 表2-8。1、中断(zhngdun)源3-6 中断系统共五十四页 边沿触发(chf)允许位0 引脚低电平触

温馨提示

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

评论

0/150

提交评论