MC9S12XS128单片机简介
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MC9S12XS128单片机简介
1、HCS12X系列单片机简介
Freescale 公司的16位单片机主要分为HC12 、HCS12、HCS12X三个系列。
HC12核心是16位高速CPU12核,总线速度8MHZ;HCS12系列单片机以速度更快的CPU12内核为核心,简称S12系列,典型的S12总线速度可以达到25MHZ。
HCS12X系列单片机是Freescale 公司于2005年推出的HCS12系列增强型产品,基于S12 CPU内核,可以达到25MHz的HCS12的2-5倍性能。
总线频率最高可达40 MHz。
S12X系列单片机目前又有几个子系列:MC9S12XA系列、MC9S12XB系列、MC9S12XD系列、MC9S12XE系列、MC9S12XF 系列、MC9S12XH系列和MC9S12XS系列。
MC9S12XS128就是S12X系列中的一个成员。
2、MC9S12XS128性能概述
MC9S12XS128是16位单片机,由16位中央处理单元(CPU12X)、128KB程序Flash(P-lash)、8KB RAM、8KB数据Flash(D-lash)组成片内存储器。
主要功能模块包括:
内部存储器
内部PLL锁相环模块
2个异步串口通讯 SCI
1个串行外设接口 SPI
MSCAN 模块
1个8通道输入/输出比较定时器模块 TIM
周期中断定时器模块 PIT
16通道A/D转换模块 ADC
1个8通道脉冲宽度调制模块 PWM
输入/输出数字I/O口
3、输入/输出数字I/O口
MC9S12XS128 有3种封装,分别为64引脚、80引脚、112引脚封装。
其全名分别为MC9S12XS128MAE、MC9S12XS128MAA、MC9S12XS128MAL。
MC9S12XS系列具有丰富的输入/输出端口资源,同时集成了多种功能模块,端口包括PORTA、PORTB、PORTE、PORTK、PORTT、PORTS、PORTM、PORTP、PORTH、PORTJ和PORTAD共11个端口。
端口引脚大多为复用口,往往具有多重功能,所有端口都具有通用I/O口功能。
PORTA、PORTB、PORTK为通用I/O口
PORTE中的IRO和XIRQ引脚可作为外部中断输入
PORTT集成了TIM模块功能
PORTS集成了SCI和SPI模块功能
PORTM集成了CAN总线模块
PORTP集成了PWM模块功能
PORTH、PORTJ可作为外部中断输入口
PORTAD集成了ATD模块功能
在MC9S12XS128单片机中有些特殊功能可定义为多个引脚,如PWM、SCI1模块。
对于这些具有相同功能的引脚定义,由端口T路径寄存器PTTRR和模块路径寄存器MODRR确定。
MC9S12XS128的3种封装的引脚数目不一样,所具有的通用端口的引脚和功能有一定差异,下表列出3种封装对应的引脚和引脚数目。
MC9S12XS128的80引脚封装图
4、输入输出端口功能和配置
通用I/O通过配置相应寄存器位,可以设置为输入/输出端口、驱动能力、内置上拉/下拉电阻使用、中断输入方式等多种功能。
下面我们以80引脚的MC9S12XS128单片机讨论其各个I/O的配置和功能:
1. PORTA:PORTA为通用I/O口, 共8个,作为通用数字I/O口使用,未集成特殊功能.主要配置寄存器有:数据寄存器PORTA、数据方向寄存DDRA、上拉电阻控制寄存器PUCR和驱动控制寄存器RDR。
a.数据寄存器PORTA
的高低电平值。
例:PORTA_PB0=1
b.数据方向寄存器DDRA
DDRA寄存器配置引脚为输出口还是输入口,“0”,输入口;“1”,输出口。
MCU复位后,DDRA值为0x00, 引脚默认为输入口。
例:DDRA=0xFF //配置PORTA口为输出
c. 上拉电阻控制寄存器PUCR
PORTA 、PORTB、PORTE、PORTK端口都有内置上拉电阻,它们共用上拉电阻控制寄存器PUCR 。
PUCR的7、4、1、0位分别设置这4个端口。
“1”对应端口上拉电阻使能;“0”上拉电阻禁止。
PUCR第6位设置BKGD引脚上拉电阻, 复位为1,默认使用上拉。
例:PUCR_PUPAE=1 //使能PORTA上拉电阻
d. 驱动控制寄存器RDR
当PORTA 、PORTB、PORTE、PORTK端口设置为输出口时,驱动控制寄存器RDR的7、4、1、0位分别设置这4个端口的输出驱动能力。
“1”输出驱动能力降低;“0”正常输出驱动方式。
2. PORTB:PORTB为通用数字I/O口, 共8个。
其使用与PORTA基本一样。
主要配置寄存器有:数据寄存器PORTB、数据方向寄存DDRB。
上拉电阻控制寄存器PUCR和驱动控制寄存器RDR与PORTA 、PORTB、PORTE、PORTK共用。
a.数据寄存器PORTB
b.数据方向寄存器DDRB
3. PORTE:PORTE可作为通用数字I/O口使用, 80封装也有共8个引脚。
其使用与PORTA基本一样。
但是PORTE中集成了外部中断输入功能,其PE0/XIRQ和PE1/IRO引脚可作为外部中断输入。
并且这两位只能作为输入口使用。
主要配置寄存器有:数据寄存器PORTE、数据方向寄存DDRE。
a.数据寄存器PORTE
b.数据方向寄存器DDRE
4. PORTK:PORTK为通用数字I/O口。
但从前表可以看出112封装单片机PORTK口有7个,80封装和64封装没有PORTK口。
其使用与PORTA基本一样。
主要配置寄存器有:数据寄存器PORTK、数据方向寄存DDRK。
5.PORTH:PORTH可作为通用数字I/O口使用, 也集成了外部中断输入功能。
但80封装没有PORTH口,在此不作详细描述。
6.PORTT 、PORTS 、PORTM 、PORTP 、PORTH 、PORTJ:此6个端口的寄存器名称和功能基本上是一样的。
主要配置寄存器有:数据寄存器PTx、输入寄存器PTIx、数据方向寄存DDRx、驱动控制寄存器RDRx、上拉/下拉使能寄存器PERx和上拉/下拉选择寄存器PPSx共6个寄存器。
因PORTP 、PORTH 、PORTJ三个端口具有外部中断功能,增加了中断使能寄存器PIEx和中断标志寄存器PIFx两个寄存器。
a.数据寄存器PTx: 与通用通用I/O口的数据寄存器操作和功能基本一样。
只是PORTJ只能对最低两位和最高两位进行有效操作。
b.输入寄存器PTIx
输入寄存器是只读寄存器,对应引脚为输入时,读取PTIx返回引脚电平值。
c.数据方向寄存DDRx:与通用I/O口的数据方向寄存器操作和功能基本一样。
d.驱动控制寄存器RDRx
与通用I/O口的驱动控制寄存器RDR操作和功能基本一样。
“1”输出驱动能力为正常时的1/5;“0”正常输出驱动方式。
e.上拉/下拉使能寄存器PERx
“1”选择使用内部上拉/下拉电阻,“0”禁用,复位值为0。
f.上拉/下拉选择寄存器PPSx
“1”选择使用内部下拉电阻,“0”选择使用内部上拉电阻,复位值为0。
PORTP 、PORTH 、PORTJ具有外部中断功能,当对应引脚使能中断时,则PPSx对应位为“1”时,中断为下降沿出发,“0”中断为上升沿出发。
G.中断使能寄存器PIEx
PORTP、 PORTH 、PORTJ中断使能位,“1”允许中断,“0”禁止中断,复位为0。
H.中断标志寄存器PIFx
使用中断时,对应引脚的中断标志位。
向对应位写“1”清除中断标志位。
5、电源相关引脚
MC9S12XS128单片机的电源引脚汇总参见下表:
6、其他引脚
1.XTAL和EXTAL(35、34)振荡器引脚
2.RESET (30)外部复位引脚
3.BKGD/MODC(15)背景调试和模式引脚
4.TEST(67)工厂内部用,需接地
7、MC9S12XS128的存储器映射
MC9S12XS128内置128KB程序Flash(P-lash)、8 KB RAM和8 KB数据Flash(D-lash)。
下图列出单片机本地存储器映射和全局存储器地址映射。
2 KB寄存器地址:从0x0000-0x07FF是2 KB寄存器地址空间
8 KB数据Flash(D-lash):0x0800-0x0bff 1 KB 是数据Flash(D-lash)页面空间,可通过EPAGE寄存器将这1 KB的页面区映射到数据Flash页面中。
8 KB D-lash分为8页,每页为1 KB,每256B为1扇区,共32个扇区。
8 KB数据Flash其全局地址空间为0x10_0000-0x10_1FFF。
本地地址映射分别为:
EEPROM_00 0x000800 TO 0x000BFF
EEPROM_01 0x010800 TO 0x010BFF
EEPROM_02 0x020800 TO 0x020BFF
EEPROM_03 0x030800 TO 0x030BFF
EEPROM_04 0x040800 TO 0x040BFF
EEPROM_05 0x050800 TO 0x050BFF
EEPROM_06 0x060800 TO 0x060BFF
EEPROM_07 0x070800 TO 0x070BFF
8 KB RAM:从0x2000-0x3FFF是8 KB 固定RAM地址空间
RAM 0x2000 TO 0x3FFF
128 KB程序Flash(P-lash):从本地地址0x4000-0xFFFF共48 KB 是程序Flash(P-lash)存储空间,共分为3个16 KB空间。
第一16 KB空间0x4000-0x7FFF和最后一个16 KB空间0xC000-0xFFFF是固定程序空间,中间16 KB空间0x8000-0xBFFF 是程序Flash分页映射窗口。
可通过PPAGE寄存器将这16 KB的页面区映射到程序Flash 页面中。
128 KB P -lash分为8页,两个固定页和6个映射页面空间,每页为16 KB,每 1 KB为1扇区,共128个扇区。
128 KB程序Flash其全局地址空间为0x7E_0000-0x7F_FFFF。
本地地址映射分别为:
PAGE_F8 0xF88000 TO 0xF8BFFF
PAGE_F9 0xF98000 TO 0xF9BFFF
PAGE_FA 0xFA8000 TO 0xFABFFF
PAGE_FB 0xFB8000 TO 0xFBBFFF
PAGE_FC 0xFC8000 TO 0xFCBFFF
PAGE_FE 0xFE8000 TO 0xFEBFFF。