MC9S12XS128单片机简介
MC9S12XS128中文资料
PWMCNTx:
PWM通道计数寄存器。
每个通道都有一个独立的8位计数器,其计数速率由所选择的时钟源决定。计数器的值可以随时读取而不影响计数器运行,也不影响PWM波形输出。在左对齐模式时,计数器从0计数至周期寄存器的值减1;在中心对齐模式,计数器从0计数至周期寄存器的值,然后再倒计数至0。
CFORC:
定时器比较强制寄存器。复位值为0x00。
FOCx=1将强制该位对应通道产生输出比较成功动作,但CxF中断标志位不置位。任何通道的强制比较成功动作若与普通比较成功动作同时发生,则强制比较成功动作优先发生,且CxF标志位不会置位。
被置位后瞬间将自动清除该位,所以任何时候对该寄存器的读动作都将返回0x00。
OC7M:
输出比较通道7屏蔽寄存器。复位值为0x00。
Setting the OC7Mx (x ranges from 0 to 6) will set the corresponding port to be an output port when the corresponding TIOSx (x ranges from 0 to 6) bit is set to be an output compare and the corresponding OCPDx (x ranges from 0 to 6) bit is set to zero to enable the timer port.A successful channel 7 output compare overrides any channel 6:0 compares. For each OC7M bit that is set, the output compare action reflects the corresponding OC7D bit.
MC9S12XS单片机最小系统课程设计
(一)、实验要求
实验8.2 输入捕捉
①使用PT4引脚;数码管轮流显示2~8;
②要求:数码管显示使用A口(段码),B口(位码)
(二)、所涉及的内容
输入捕捉是通过捕获自由运行计数器来监视外部事件,主要用于信号检测、频率测量、脉冲宽度和输入计数。定时器的输入捕捉功能的基本形式:
BELL区:蜂鸣器模块。该区域提供了一个蜂鸣器,用以完成GPIO控制外设实验。
AD区:A/D实验扩展模块。该区域通过两个电位器,提供可变模拟电压输出,用于完成A/D模块实验。
TEMPER区:18B20温度检测模块,用于完成测温实验。
LED区:8位LED灯模块。该区域提供8位LED灯,实现LED灯的控制。
const unsigned char g_LED_Seg_Table[17] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07,
0x7F, 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71, 0x00};
//共阴数码管字形表定义
C4I
C3I
C2I
C1I
C0I
C7I~C0I:输入捕捉或输出比较相应通道的中断使能
0输入捕捉或输出比较相应通道的中断屏蔽。
1输入捕捉或输出比较相应通道的中断使能。
(三)、实验电路图
(四)、程序编译
#include <hidef.h> /* common defines and macros */
#include "derivative.h" /* derivative-specific definitions */
MC9S12XS128单片机
2.CodeWarrior IDE 12 应用
MC9S12XS128单片机
• MC9S12XS128(以下简称XS128)是Freescale公 司推出的S12XS系列单片机中的一款增强型16位 单片机,S12XS系列单片机是在S12XE系列基础 上去掉XGate协处理器的单片机,该系列单片机 采用 CPU12X V2内核,可运行在40MHz总线频 率上。不仅在汽车电子、工业控制、中高档机电 产品等应用领域具有广泛的用途,而且在FLASH 存储控制及加密方面呢也有很强的功能。
PWM模块 特点:
1. 它有 8 个独立的输出通道,并且通过编程可控 制其输出波形的周期。 2. 每一个输出通道都有一个精确的计数器。 3. 每一个通道的 PWM 输出使能都可以由编程来控 制。 4. PWM 输出波形的翻转控制可以通过编程来实现。 5. 周期和脉宽可以被双缓冲。当通道关闭或 PWM 计数器为 0 时,改变周期和脉宽才起作用。 6. 8 字节或 16 字节的通道协议。 7. 有4 个时钟源可供选择(A、SA、B、SB),他 们提供了一个宽范围的时钟频率。
ECT初始化程序:
以0通道为例:
void ECT_Init(void) { TIE = 0x00; //通道0~7的使能屏蔽 TIOS = 0x00; // 所有的端口设置成输入捕获模式 TSCR1 = 0x90; // 使能时钟模块,定时器标志位 快速清零,读取数据自动清零 TCTL4_EDG0B = 0; TCTL4_EDG0A = 1; //捕捉 上升沿,0通道 TIE_C0I = 1; // 使能0通道中断,中断服务程序中 读取捕获数 }
ECT模块(增强型定时器模块)
• ECT特点相当于高速的I/O口,由一个16为自由计 数器、8个16为的输入捕捉/输出比较通道、一个 16为脉冲累加器及一个16位的模数递减计算器 (MDC)组成。
基于MC9S12XS128的单片机开发板的设计
基于MC9S12XS128的单片机开发板的设计摘要:针对飞思卡尔杯全国大学生智能车邀请赛,设计了基于MC9S12XS128(飞思卡尔专用芯片)的单片机开发系统,在此给出主要硬件电路和软件设计流程。
为验证该系统可靠性,设计了4 乘以4 矩阵键盘键号的识别与数码管显示电路。
实际应用结果表明,此开发板的应用大大提高了智能车开发效率。
同时可为大学本科学生学习嵌入式开发系统以及为汽车电子行业工程师提供良好的开发平台,具有较高的实用性和推广价值。
关键词:飞思卡尔;MC9S12XS128;CAN 总线;矩阵键盘0 引言飞思卡尔杯全国大学生智能车竞赛是以迅速发展的汽车电子为背景,涵盖控制、模式识别、传感技术、电子、电气、计算机、机械等多个交叉学科的科技创意性比赛,该项目由大赛组委会统一提供车模,利用指定的微控制器作为核心控制单元,各参赛队伍在此基础上自主进行系统设计,完成智能车的制作,使其能够在专门设计的跑道上自动识别道路,并以最高速度行驶。
此项赛事旨在加强大学生的创新意识、团队合作精神和培养学生的创新能力。
本文设计了基于MC9S12XS128(飞思卡尔指定芯片)的单片机开发系统,为即将参加此项竞赛的同学提供学习平台。
实际应用结果表明,此项开发板的应用大大提高了大学生制作智能车的开发效率。
1 系统硬件设计MC9S12XS128 单片机开发板由MC9S12XS128 单片机最小系统、电源模块、CAN/LIN 总线接口、USB 转串口、标准异步串行接口、MAX 485 通信接口、4 乘以4 矩阵键盘键号的识别与显示电路(包括数码管和液晶显示接口)和电机驱动接口组成,系统框图如图1 所示。
1.1 电源模块设计此开发板上提供2 种输出电压,分别为5 V 和12 V,输出的12 V 电压可以通过LIN 总线接口外接,同时提供2 种电压输入方式,通。
飞思卡尔MC9S12XS128(定时器)ECT寄存器详解
1、定时器IC/OC功能选择寄存器TIOSIOS[7..0]IC/OC功能选择通道0 相应通道选择为输入捕捉(IC)1 相应通道选择为输出比较(OC)2、定时器比较强制寄存器 CFORCFOC[7..0]设置该寄存器某个FOCn位为1将导致在相应通道上立即产生一个输出比较动作,在初始化输出通道时候非常有用。
【说明】这个状态和正常状态下输出比较发生后,标志位未被置位后的情况相同。
3、输出比较7屏蔽寄存器 OC7MOC7M[7..0]OC7(即通道7的输出比较)具有特殊地位,它匹配时可以直接改变PT7个输出引脚的状态,并覆盖各个引脚原来的匹配动作结果,寄存器OC7M决定哪些通道将处于OC7的管理之下。
OC7M中的各位与PORTT口寄存器的各位一一对应。
当通过TIOS将某个通道设定为输出比较时,将OC7M中的相应位置1,对应的引脚就是输出状态,与DDR中的对应位的状态无关,但OC7Mn并不改变DDR相应位的状态。
【说明】OC7M具有更高的优先级,它优于通过TCTL1和TCTL2寄存器中的OMn和OLn设定的引脚动作,若OC7M中某个位置1,就会阻止相应引脚上由OM和OL设定的动作。
4、输出比较7数据寄存器 OC7DOC7D[7..0]OC7M对于其他OC输出引脚的管理限于将某个二进制值送到对应引脚,这个值保存在寄存器OC7D中的对应位中。
当OC7匹配成功后,若某个OC7Mn=1,则内部逻辑将OC7Dn送到对应引脚。
OC7D中的各位与PORTT口寄存器的各位一一对应。
当通道7比较成功时,如果OC7M中的某个位为1,OC7D中的对应位将被输出到PORTT的对应引脚。
【总结】通道7的输出比较(OC7)具有特殊的位置,在OC7Mn和OC7Dn两个寄存器设置以后,OC7成功输出后将会引起一系列的动作。
比如:OC7M0=1,则通道0处在OC7的管理下,在OC7成功后,系统会将OC7D0的逻辑数据(仅限0或者1)反应在PT0端口上。
MC9S12XS128单片机复习课程
PWME = 0X00; //禁止PWM输出 PWMCTL = 0Xf0; //通道0/1,2/3,4/5,6/7级联 PWMCLK = 0Xff; //PWM1,PWM3,PWM5时钟源为SA/SB,即级联后时钟源为SA/SB PWMPRCLK = 0X22; // 4分频 PWMPOL = 0Xff; //输出波形开始极性为1 output waveform which high first then low
1.禁止 PWM Disable PWM 寄存器为:PWME=0;
2.选择时钟 Select clock (prescaler and scale) for the PWM 寄存器为:PWMPRCLK,PWMSCLA,PWMSCLB, PWMCLK
3.选择极性 Select polarity 寄存器为:PWMPOL
6. 8 字节或 16 字节的通道协议。
7. 有4 个时钟源可供选择(A、SA、B、SB),他 们提供了一个宽范围的时钟频率。
PWM模块 特点:
8. 通过编程可以实现希望的时钟周期。 9. 具有遇到紧急情况关闭程序的功能。 10.每一个通道都可以通过编程实现左对齐输出还是
居中对齐输出。
PWM初始化步骤总结:
MC9S12XS128单片机
MC9S12XS128单片机特点
➢ 存储器:128KB FLASH;2KB EEPROM;8KB RAM; ➢ A/D:16通道模数转换器;可选8位、10位和12位精度; ➢ PWM:8位8通道或16位4通道PWM; ➢ 串行口:2个异步串行通讯SCI和2个同步串行设备接口
ECT模块(增强型定时器模块)
• ECT特点相当于高速的I/O口,由一个16为自由计 数器、8个16为的输入捕捉/输出比较通道、一个 16为脉冲累加器及一个16位的模数递减计算器 (MDC)组成。
飞思卡尔MC9S12XS128技术手册翻译AD
飞思卡尔MC9S12XS128技术手册(AD转换部分)英文资料:飞思卡尔MC9S12XS256RMV1官方技术手册1.1 XS12系列单片机的特点XS12系列单片机特点如下:·16位S12CPU—向上支持S12模糊指令集并去除了其中的MEM, WAV, WAVR, REV, REVW 五条指令;—模块映射地址机制(MMC);—背景调试模块(BDM);·CRG时钟和复位发生器—COP看门狗;—实时中断;·标准定时器模块—8个16位输入捕捉或输出比较通道;;—16位计数器,8位精密与分频功能;—1个16位脉冲累加器;·周期中断定时器PIT—4具有独立溢出定时的定时器;—溢出定时可选范围在1到2^24总线时钟;—溢出中断和外部触发器;·多达8个的8位或4个16位PWM通道—每个通道的周期和占空比有程序决定;—输出方式可以选择左对齐或中心对其;—可编程时钟选择逻辑,且可选频率范围很宽;·SPI通信模块—可选择8位或16位数据宽度;—全双工或半双工通信方式;—收发双向缓冲;—主机或从机模式;—可选择最高有效为先输出或者最低有效位先输出;·两个SCI串行通信接口—全双工或半双工模式·输入输出端口—多达91个通用I/O引脚,根据封装方式,有些引脚未被引出;—两个单输入引脚;·封装形式—112引脚薄型四边引线扁平封装(LQFP);—80引脚扁平封装(QFP);—64引脚LQFP封装;·工作条件—全功率模式下单电源供电范围3.15V到5V;—CPU总线频率最大为40MHz—工作温度范围–40 C到125 C第十章模拟—数字转换10.1 介绍ADC12B16C是一个16通道,12位,复用方式输入逐次逼近模拟—数字转换器。
ATD的精度由电器规格决定。
10.1.1 特点·可设置8位、10位、12位精度·在停止模式下,ATD转换使用内部时钟·转换序列结束后自动进入低耗电模式·可编程采样时间·转化结果可选择左对齐或右对齐·外部触发控制·转换序列结束后产生中断·模拟输入的16个通道为复用方式·可以选择VRH、VRL、 (VRL+VRH)/2特殊转换方式·转换序列长度1到16·可选择连续转换方式·多通道扫描·任何AD通道均可配置外部触发功能,并且可选择4种额外的触发输入。
飞思卡尔S12xs128单片机BDM调试器使用技巧
S12(X)单片机BDM调试器使用技巧第五届全国大学生“飞思卡尔”杯智能气车竞赛限制采用最新的MC9S12XS128(以下简称XS128)单片机作为主控芯片,替代MC9S12DG128。
XS128是Freescale公司推出的S12系列单片机中的一款增强型16位单片机。
片内资源丰富,接口模块有SPI、SCI、IIC、A/D、PWM等常见模块,在汽车电子应用领域具有广泛用途。
XS128和以往大赛使用的S12DG128系列单片机一样,调试接口都是使用Freescale公司传统的BD M(Background Debug Module)接口。
1 MC9S12XS128单片机介绍(1)CPU:增强型16位HCS12 CPU,片内总线时钟最高40 MHz;(2)片内资源:8 KB RAM、128 KB程序闪存、2 KB数据闪存;(3)串行接口模块:SCI、SPI;(4)脉宽调制模块(PWM)可设置成4路8位或者2路16位,逻辑时钟选择频率宽;(5)1个16路12位精度A/D转换器;(6)控制器局域网模块(CAN);(7)增强型捕捉定时器。
MC9S12XS128单片机有112、80和64引脚3种封装形式。
80-pin封装的单片机没有引出用于扩展方式的端口,仅引出了一个8路A/D接口。
竞赛可使用112或80引脚封装器件。
2 BDM接口和使用BDM调试器内部有一个8位的MC9HC08JB16单片机,该单片机有USB接口,可与PC 机信息交互。
HC08单片机和S12单片机间仅使用一根 I/O线通信,这根相连的信号线名为BKGD。
HC08单片机将BKGD置为输出,以串行发送命令,发送完成后转为输入,以接收信息。
S12单片机收到命令后转为输出,根据调试器发来的命令回送信息,然后立即转入接收态。
BDM工具以此方式实现S12单片机的在线调试、内部闪存的烧写等功能。
关于BDM接口的实现,读者可以参考Freescale任何一款S12单片机的器件手册,其对BDM接口的命令字、交互模式等都有详细描述。
MC9S12XS128单片机简介
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个异步串口通讯 SCI1个串行外设接口 SPIMSCAN 模块1个8通道输入/输出比较定时器模块 TIM周期中断定时器模块 PIT16通道A/D转换模块 ADC1个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个端口。
MC9S12XS单片机原理及嵌入式系统开发
12.8 I2C模块 在智能车系统 中的应用
13.2综合应用实例 1
13.1概述
13.3综合应用实例 2
13.4综合应用 实例3
13.5综合应用 实例4
作者介绍
同名作者介绍
这是《MC9S12XS单片机原理及嵌入式系统开发》的读书笔记模板,暂无该书作者的介绍。
Байду номын сангаас
读书笔记
读书笔记
这是《MC9S12XS单片机原理及嵌入式系统开发》的读书笔记模板,可以替换为自己的心得。
MC9S12XS单片机原理及嵌入式 系统开发
读书笔记模板
01 思维导图
03 目录分析 05 读书笔记
目录
02 内容摘要 04 作者介绍 06 精彩摘录
思维导图
本书关键字分析思维导图
系统
例
嵌入式 硬件
第章
系统
程序
原理
系统
结构 模块
汇编
单片机
应用
指令系统
实例
设置
寄存器
系列
内容摘要
内容摘要
本书以飞思卡尔16位S12(X)系列微控制器为主线,以MC9S12XS128为例,系统介绍了S12(X)的硬件结构、 工作原理;以及MCU内部的ECT、PIM、SCI/SPI、ATD、PWM、IIC、CAN、BDM等模块的结构、原理与使用方法;同 时介绍嵌入式系统的C语言开发方法。本书结合自行研制的试验系统给出相关实例。
4.4 CodeWarrior 软件简介
5.1输入/输出端口 简介
5.2输入/输出端口 寄存器及设置
5.3输入/输出端口 应用实例
5.4输入/输出端口 在智能车系统中的应 用
6.2 MC9S12系列中 断优先级
16蓝宙最小系统板MC9S12XS128-112 使用说明书
Freescale系列单片机MC9S12XS128-112最小系统板产品使用说明书版本:Version 1.0所有者:蓝宙电子研发部日期:2011.07.10目录最小系统板简介---------------------------------------- 最小系统板特性---------------------------------------- 最小系统板结构说明------------------------------------ 安装CodeWorror调试文件-------------------------------- 安装HC(S)12(X)内核CodeWorror调试文件----------------- 使用CodeWorror IDE烧写和调试程序的方法----------------简介:本店MC9S12XS128最小系统板是由多年专业项目开发经验的工程师根据当前实际单片机应用产品情况以及学生学习的角度定制,经过历多版和反复测试验证。
全部采用原装芯片和元器件,经典蓝板设计,PCB布局走线规范,采用高品质材料,稳定可靠,并采用回流焊工艺焊接,焊接质量高,系统板质量可靠。
这里描述的 9S12XS128 单片机基本系统模块是针对全国大学生飞思卡尔杯智能车模竞赛设计的,采用大赛组委会推荐的112引脚器件。
本开发板适用于嵌入式工程师与学生对M9S12系列单片机开发、学习,带CAN总线开发的工程项目。
MC9S12XS128微控制器产品满足了用户对设计灵活性和平台兼容性的需求,并在一系列汽车电子平台上实了可升级性、硬件和软件可重用性、以及兼容性。
S12XS 系列可以经济而又兼容地扩展至带 XGate 协处理器的S12XE 系列单片机,从为用户削减了成本,并缩小了封装尺寸。
S12XS系列帮助设计者迅速抓住市场机遇,同还能降低移植成本。
MC9S12XS128主要特性:S12XS系列单片机是在S12XE系列基础上去掉XGate协处理器的单片机。
MC9S12XS(DG)单片机--110108
CodeWarrior开发平台上可用汇编,也可用C语言编程。
CodeWarrior的使用
六、9S12XS/DG 的开发样例
1. 9S12XS/DG 的工程组织与通用I/O口的控制 2. PWM 输出编程 3.模拟信号采集 4定时器的功能与使用 5. 9S12XS/DG 的存储器控制 6. SCI/SPI串行数据通信 8.
;定义五个字的存储区,首址为X2
若要对X2的第三字赋值,可用如下语句:
STX X2+2
②数字常数/字符串常数定义伪指令:
格式: [<label>:] DC [.<size>] <expression> [ ,<expression>]…
功能:在Flash区定义一个size×n 个字节的存储区。
例: C1: DC .B $25
Freescale
车模用单片机原理与使用
讲座
车模电路组成
显示电路
路径检测 速度检测 电源电路
MCU
数据输入 电路
舵机控制
电机 速度控制
内容
一、飞思卡尔车模用单片机性能 二、9S12XS/DG 的硬件资源 三、9S12XS/DG 的硬件系统 四、9S12XS/DG的指令系统 五、 9S12XS/DG 的开发平台 六、9S12XS/DG 的开发样例
;定义一字节常数,即C1= $25
C2: DC .W $2538 ;定义一字常数,即C2= $2538
③常数赋值伪指令: 格式: <label>: EQU <expression> <label>: SET <expression> 功能:定义<label> 等于的值<expression>的值。 注意: <expression> 要有确定的值。 例: PI: EQU 3
飞思卡尔MC9S12XS128单片机各模块使用方法及寄存器配置
飞思卡尔MC9S12XS128单片机各模块使用方法及寄存器配置手把手教你写S12XS128程序--PWM模块介绍该教程以MC9S12XS128单片机为核心进行讲解,全面阐释该16位单片机资源。
本文为第一讲,开始介绍该MCU的PWM模块。
PWM 调制波有8个输出通道,每一个输出通道都可以独立的进行输出。
每一个输出通道都有一个精确的计数器(计算脉冲的个数),一个周期控制寄存器和两个可供选择的时钟源。
每一个P WM 输出通道都能调制出占空比从0—100% 变化的波形。
PWM 的主要特点有:1、它有8个独立的输出通道,并且通过编程可控制其输出波形的周期。
2、每一个输出通道都有一个精确的计数器。
3、每一个通道的P WM 输出使能都可以由编程来控制。
4、PWM 输出波形的翻转控制可以通过编程来实现。
5、周期和脉宽可以被双缓冲。
当通道关闭或PWM 计数器为0时,改变周期和脉宽才起作用。
6、8 字节或16 字节的通道协议。
7、有4个时钟源可供选择(A、SA、B、SB),他们提供了一个宽范围的时钟频率。
8、通过编程可以实现希望的时钟周期。
9、具有遇到紧急情况关闭程序的功能。
10、每一个通道都可以通过编程实现左对齐输出还是居中对齐输出。
1、PWM启动寄存器PWMEPWME 寄存器每一位如图1所示:复位默认值:0000 0000B图1 PWME 寄存器每一个PWM 的输出通道都有一个使能位P WMEx 。
它相当于一个开关,用来启动和关闭相应通道的PWM 波形输出。
当任意的P WMEx 位置1,则相关的P WM 输出通道就立刻可用。
用法:PWME7=1 --- 通道7 可对外输出波形PWME7=0 --- 通道7 不能对外输出波形注意:在通道使能后所输出的第一个波形可能是不规则的。
当输出通道工作在串联模式时(PWMCTL 寄存器中的CONxx置1),那么)使能相应的16位PWM 输出通道是由PWMEx 的高位控制的,例如:设置PWMCTL_CON01 = 1,通道0、1级联,形成一个16位PWM 通道,由通道 1 的使能位控制PWM 的输出。
mc9s12xs128内存详解
Freescale Semiconductor Application Note Document Number: AN3497Rev. 0, 07/2007 Contents1IntroductionThe S12XS family is a next generation, cost competitive MCU solution targeting existing S12 customers and emerging markets. The S12XS family features a power- and code-efficient 16-bit core, on-board data flash(D-flash), an on-board frequency-modulated PLL, and offers flexibility and compatibility with the fully featured S12XE family.Target applications include smart junction boxes, seat controllers, HV AC, low-end engine control, body ECU, RKE receiver, door modules, and steering modules. The S12XS is pin compatible and emulatable with the XE family. Key features of the XE-family that are not included on XS family are: XGATE coprocessor, memory protection unit, and advanced emulated EEPROM functionality. The S12XE and S12XS families give customers flexibility from 64K up to 1M flash and packages from 64LQFP to 208MapBGA.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2Overview of S12XS Family . . . . . . . . . . . . . . . . . . . . . . . 2 3Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33.1P-Flash (Program Flash). . . . . . . . . . . . . . . . . . . . . 33.2D-Flash (Data Flash). . . . . . . . . . . . . . . . . . . . . . . . 43.3RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4Peripherals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5Port Integration Module (PIM). . . . . . . . . . . . . . . . . . . . . 6 6Part IDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7S12XS Family Compatibility Considerationsby:Lela GarofaloTSPGOverview of S12XS FamilyFor additional information on compatibility between S12XE and S12XS families, please refer to the Freescale application note, “Using the S12XE Family as a Development Platform for the S12XS Family,” (document AN3327).This document describes the differences and key similarities between the S12XS family members that must be considered when moving from a larger umbrella device with more memory and a larger package, to a smaller device with less memory and a smaller package.The topics discussed are:•Memory mapping and paging•Peripherals•Port integration module•Part IDs2Overview of S12XS FamilyThis document is meant to be used in conjunction with the S12XS family data sheet located at. Table1 gives an overview of the parts, available peripherals, and package options for each of the family members.Table1. Family FeaturesDevice Package XGATE CAN SPI SCI TIM PIT A/D PWM I/0S12XS256112 LQFPNotAvailable 1128ch4ch1/168ch9180 QFP1128ch4ch1/88ch59 64 LQFP1128ch4ch1/88ch44S12XS128112 LQFP1128ch4ch1/168ch91 80 QFP1128ch4ch1/88ch59 64 LQFP1128ch4ch1/88ch44S12XS64112 LQFP1128ch4ch1/168ch91 80 QFP1128ch4ch1/88ch59 64 LQFP1128ch4ch1/88ch44Memory3MemoryTable 2 gives an overview of the memory sizes available for the S12XS family. Local and global memory maps are compatible across the family. Out of reset, the family has equivalent maps and default values in the memory map control (MMC) registers. For devices with smaller amounts of memory, those areas unimplemented in the map will cause a reset if accessed.3.1P-Flash (Program Flash)The P-flash memory constitutes the main nonvolatile memory for applications. The P-Flash memory iscompatible for all flash devices in the S12XS family for all memory sizes in terms of functionality for program, erase, security, and protection setup. All family members have a single physical flash block that is equivalent to the defined flash size. Table 3 shows the physical flash block sizes in correlation to the global address.Table 2. Memory Sizes by DeviceDevice Flash R OM RAMData Flash9S12XS256256K — 12K 8K 9S12XS128128K — 8K 8K 9S12XS6464K —4K 4K 3S12XS256 —256K 12K — 3S12XS128—128K 8K — 3S12XS64—64K4K—Table 3. Physical P-Flash BlocksGlobal Address S12XS256S12XS128S12XS640x7C_0000256KB Flash BlockUnimplemented Unimplemented0x7D_FFFF 0x7E_0000128KB Flash BlockReserved0x7E_FFFF 0x7F_000064KB Flash Block 1The 9S12XS64 uses the 9S12XS128 die tested only for 9S12XS64 functionality. Accessing flash between address0x7E_0000 through 0x7E_FFFF does not cause an access error reset of device on a S12XS64 device with part ID $C1C0. The PartID register should be verified for the actual device.0x7F_FFFFMemoryFor all flash devices, programming and erase operations will be equivalent. Programming is done in phrases, or four word increments. Erase operations can be done in sectors or blocks. Simultaneous read while write and read while erase from P-flash is not available because there is only one physical block implemented on the 9S12XS family devices.Protection is compatible for all memory sizes of the S12XS family where implemented areas are equivalent.Security is equivalent for all S12XS family devices. The options/security byte is located at global address 0x7F_FF0F.PPAGEs for local memory maps are compatible across all family members where implemented areas are equivalent. Global memory map maps from higher order address down to a lower order address. Accessing unimplemented P-Flash space will cause an access error. An access error will cause the part to reset.3.2D-Flash (Data Flash)D-Flash will be compatible for all 9S12XS family flash devices where implemented areas are equivalent. 9S12XS256 and 9S12XS128 have an equivalent implemented amount of 8K. ROM devices do notimplement data flash. The global memory map maps from a lower order address to a higher order address.The D-flash can be accessed on the local memory map through the 1K DFLASH window through control of the EPAGE register. The EPAGE register has a default value of 0xFE out of reset. EPAGE 0xFE is unimplemented space on the S12XS family. Therefore, when accessing the D-Flash through the 1KD-Flash window, the EPAGE register must be written to with a valid EPAGE. Accessing unimplemented D-Flash space causes an access error. An access error causes the part to reset. Table 4 shows the valid EPAGEs and corresponding global addresses.Table 4. Data FlashEPAGE Global address 9S12XS2569S12X1289S12XS640x000x10_0000 8KB4KB0x10_3FFF 0x010x10_04000x10_7FF 0x020x10_08000x10_0BFF 0x030x10_0C000x10_0FFF 0x040x10_10000x10_13FF 0x050x10_14000x10_17FF 0x060x10_18000X10_1BFF 0x070x10_1C000x10_1FFFPeripherals3.3RAMRAM is compatible for all S12XS family devices where implemented areas are equivalent. Memory maps map from a higher-order address to lower-order address.The RPAGE register allows the user to page 4KB blocks into the RAM page window on the local memory map from address 0x1000 to 0x1FFF. The RPAGE default register value is 0xFD out of reset for all S12XS devices. Also, for all S12XS devices, addresses 0x2000 to 0x3FFF on the local memory map are fixed RAM pages for RPAGEs 0xFE and 0xFF. For the S12XS256, the default value of 0xFD allows for a linear address map to be accessible on the local map between addresses 0x1000 to 0x3FFF. For the S12XS128 and S12XS64 devices, RPAGE 0xFD is unimplemented space, and fixed page 0xFE (0x2000–3FFF) on the S12XS64 is unimplemented space. Accessing unimplemented space will cause an access error and the device to reset. For the S12XS128 and S12XS64, RPAGEs can be accessed through either the fixed RAM space or a valid RPAGE. Table 5 shows the location of RAM out of reset for the XS family.4PeripheralsAll peripherals are functionally compatible across the S12XS family. To maintain compatibility when developing on a larger memory and/or package option to move to a smaller device, pay careful attention to the pin-out and port routing options. A conclusive summary of the pin-outs for all three package options is available in the S12XS family can be found in the product preview, MC9S12XS256PB located at . Refer to table 6 for a complete summary of port routing options.The timer (TIM) module has eight channels available for all three package options. Channels IOC0, IOC1, and ICO2 have port-routing options (see Table 6). For the 80 QFP and 64 LQFP, if all eight PWM channels are used, then TIM channels IOC5 and IOC7 are not available simultaneously.The 112 LQFP has 16 ATD channels available, and all other package options have eight channels. To maintain compatibility when moving to smaller package options, use ATD channels 0–7 only.The pulse-width modulator (PWM) has eight channels available for all three package options. Channels PWM 4–7 have port routing options (see Table 6). PWM4 and PWM6 channels are available only on the 80 QFP and 64 LQFP if the port routing option is used to route to PT4 and PT6. Therefore, if all eight PWM channels are used, then TIM channels IOC5 and IOC7 are not available simultaneously for the 80 QFP and 64 LQFP.Table 5. RAM Global and Local AddressesGlobal Address Local Address RPAGE S12XS256S12XS128S12XS640x0F_D0000x10000xFD 12Kunimplementedunimplemented0x0F_DFFF 0x1FFF 0x0F_E0000x20000xFE 11Accessible through RP AGE window (0x1000 to 0x1FFF) by writing a valid RP AGE value to the RP AGE register.8K0x0F_EFFF 0x2FFF 0x0F_F0000x30000xFF14K0x0F_FFFF0x3FFFPort Integration Module (PIM)The S12XS family has two Serial Communication Interface (SCI) modules, SCI0 and SCI1 for all three package options. SCI1 has additional port routing options available. Refer to table 6 for port routing options.The Serial Peripheral Interface (SPI) has an additional port routing option (see Table 6).5Port Integration Module (PIM)The pin functions and priorities for all S12XS devices are the same after reset or a power-on reset (POR). Port routing options for PWM channels 4–7 and TIM channels 2–0 are controlled by the Port T Routing register (PTTRR). Likewise, port routing options for SCI1 and SPI0 are controlled by the Module Routingregister (MODRR). Table 6 shows the port routing options.6Part IDsFor the 9S12XS family, the part ID is located in two 8-bit registers: PARTIDH and PARTIDL (addresses 0x001A and 0x001B). The read-only value is a unique part ID for each device revision. Table 7 shows the assigned part ID number and mask-set number for each device.Table 6. Peripheral Port Routing Options 11x denotes reset condition, o denotespossible rerouting under software control.S C I 1S P I 0P W MT I M PM[1:0]o PM[5:2] o PP[2,0]o PP[2:0] o PP[7:4] x PS[3:2]x PS[7:4] x PT[2,0] x PT[7:4]oTable 7. Part IDsDevice Mask Set NumberPart ID MC9S12XS2560M05M $C0C0MC9S12XS1280M04M $C1C0MC9S12XS640M04M 1The 9S12XS64 uses the 9S12XS128 die tested for 9S12XS64 functionality only. An actual 9S12XS64 device may be done at a later time. A productchange notification will be posted in such an event. The PartlD register should be verified for actual device.$C1C0TBD$C2C0Summary 7SummaryThe key differences between the devices in the S12XS family are memory mapping. Although many of the peripherals are compatible, you should focus on the default pin/port-routing aspects of the specific peripherals to enable maximum scalability with anticipated future system needs. Part IDs are specific to each device. The S12XS64 device is a special case; any errata differences should be verified and associated to the corresponding part ID.This document is meant to be used with:•MC9S12XS Family Reference Manual•MC9S12XS Family Product Brief (document MC9S12XS256PB)•S12XCPUV2 Reference Manual (document S12XCPUV2)Document Number: AN3497Rev. 007/2007How to Reach Us:Home Page:Web Support:/support USA/Europe or Locations Not Listed:Freescale Semiconductor, Inc.Technical Information Center, EL5162100 East Elliot Road Tempe, Arizona 85284+1-800-521-6274 or +/supportEurope, Middle East, and Africa:Freescale Halbleiter Deutschland GmbH T echnical Information Center Schatzbogen 781829 Muenchen, Germany +44 1296 380 456 (English)+46 8 52200080 (English)+49 89 92103 559 (German)+33 1 69 35 48 48 (French)/supportJapan:Freescale Semiconductor Japan Ltd.Headquarters ARCO T ower 15F1-8-1, Shimo-Meguro, Meguro-ku,T okyo 153-0064Japan0120 191014 or +81 3 5437 9125support.japan@Asia/Pacific:Freescale Semiconductor Hong Kong Ltd.T echnical Information Center 2 Dai King StreetT ai Po Industrial Estate T ai Po, N.T., Hong Kong +800 2666 8080@For Literature Requests Only:Freescale Semiconductor Literature Distribution Center P .O. Box 5405Denver, Colorado 802171-800-441-2447 or 303-675-2140Fax: 303-675-2150LDCForFreescaleSemiconductor@Information in this document is provided solely to enable system and software implementers to use Freescale Semiconductor products. There are no express or implied copyright licenses granted hereunder to design or fabricate any integrated circuits or integrated circuits based on the information in this document.Freescale Semiconductor reserves the right to make changes without further notice to any products herein. Freescale Semiconductor makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does Freescale Semiconductor assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. “Typical” parameters that may beprovided in Freescale Semiconductor data sheets and/or specifications can and do vary in different applications and actual performance may vary over time. All operating parameters, including “Typicals”, must be validated for each customer application by customer’s technical experts. Freescale Semiconductor does not convey any license under its patent rights nor the rights of others. Freescale Semiconductor products are not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the Freescale Semiconductor product could create a situation where personal injury or death may occur. Should Buyer purchase or use Freescale Semiconductor products for any such unintended orunauthorized application, Buyer shall indemnify and hold Freescale Semiconductor and its officers, employees, subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if such claim alleges that FreescaleSemiconductor was negligent regarding the design or manufacture of the part. RoHS-compliant and/or Pb-free versions of Freescale products have the functionality and electrical characteristics as their non-RoHS-compliant and/or non-Pb-freecounterparts. For further information, see or contact your Freescale sales representative.For information on Freescale’s Environmental Products program, go to /epp .Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners.© Freescale Semiconductor, Inc. 2007. All rights reserved.。
飞思卡尔单片机 DG128 Timer模块介绍
Timer模块介绍1、简述MC9S12XS128定时器模块与MC9S12DG128 ECT部分功能完全类似,以下均以ECT模块介绍xs128定时器模块。
HC12 增强型捕捉计时器模块在HCS12标准定时器的基础上增加了一些特点,用以扩展它的应用范围,特别是在汽车ABS 方面。
基准计时器的核心仍然是一个16 位的可编程计数器,其时钟源来自一个预分频器。
该计时器可以被应用于多个方面,包括在对输入波形进行测量的同时产生一个输出波形。
波形的脉宽可以在几微秒到数秒的范围内变化。
增强型定时器模块(ECT)的结构框图如下,ECT功能相当于高速的I/O口,由一个4位预分频器、一个16位自由运行计数器,8个16位IC/OC通道,2个16位脉冲累加器以及一个16位模数递减计数器组成。
ECT实际上是一个16位的可编程计数器,它的基本时钟频率可以通过预分频器设置,用于产生波形输出,测量输入波形,统计脉冲个数,可以作为定时中断功能和独立时钟基准。
2、运行模式停止:由于时钟停止,计时器和计数器均关闭。
冻结:计时器和计数器均保持运行,直到T SCR($06)的T SFRZ 位被置1。
等待:计数器保持运行,直到T SCR($06)的T SW AI 位被置1。
正常:计时器和计数器均保持运行,直到T SCR($06)的T EN 位和M CCTL($26)的M CEN 位被分别清0。
IC 通道组IC 通道组由四个标准的缓冲通道IC0-IC3 和四个非缓冲通道IC4-IC7 组成,两部分的基本功能都是捕捉外部事件发生的时刻,但是缓冲通道除了IC/OC 寄存器TCn 外,还设有保持寄存器TCnH,此外还在入口设置了延迟计数器,用来提高抗干扰能力。
非缓冲通道没有保持寄存器,入口也没有延迟计数器,但每个通道入口设置了一个 2 输入端的多路器,事件触发信号可以是来自本通道的输入引脚PORTn,也可以是来自其关联通道PORT(n-4)的延迟计数器输出,使用更加灵活。
飞思卡尔MC9S12XS128单片机重点模块讲解
基于飞思卡尔 MC9S12XS128MCU 的模块讲解及测试
安徽工业大学 自动化系 刘昌元 } /*--------------------- 主函数------------------------------------*/ void main(void) { DDRB=0x3f; LED=0x01; EnableInterrupts; while(1) { delay(time); LED<<=1; delay(time); //延时 //高电平信号左移一位 //定义 B0-B5 口为输出 // 点亮第一只灯 //允许中断
基于飞思卡尔 MC9S12XS128MCU 的模块讲解及测试
安徽工业大学 自动化系 刘昌元 � 概述:
飞思卡尔单片机的端口名称和 51 系列单片机有区别, 51 单片最经典的通用 I/O 口名称是 P0 口、P1 口、 P2 口、P3 口。而飞思卡尔 128 单片机是由 A 口、B 口、 K 口、E 口等标称的, 熟悉 51 单片的同学在此学习飞思卡尔单片时要知道变通,同样的对于学习其他单片机也是 一样的,先熟悉端口名称,再熟悉其端口功能,再熟悉其寄存器。C 语言的编程语法和算法 思路是通用的。 现在功能强悍一点的单片都在内部集成了很多现成的模块, 我们可以通过对 其模块寄存器编程配置我们需要的功能即可, 此处的 128 单片机就是这样一款单片机, 在此 我就我个人学习的一些心得写出来, 仅供交流与参考, 同时我也希望帮助新手能够很快得上 手。 具体更深层的内容大家还需要去参考芯片的技术手册和其他参考书。 以下我就分模块来 讲解, 大家在学习的过程中也需要一个模块一个模块的来学习和测试。 其实我个人觉得买过 来的开发板用途不是很大,因为很多端口被其在 PCB 设计时固化了,留给我们的端口并不 多,使用起来极不方便,所以我个人建议大家可以买个带有最小系统的模块,自己用排针和 插槽焊一个程序调试板,再焊一排共阴极的发光二极管(最好能发不同颜色光的) ,再焊几 个开关电路和按键电路即可。 我们在代码的各个位置通过点亮发光二极管来知道程序走到哪 一步了。下面我提供的测试例程也是这么来的,节省硬件就是节省开支啊,多动脑子,多想 办法可以克服很多困难的。 注: 一个寄存器的多个位可以一次性写入配置的, 但是为了使大家读程序理解方便我对寄存 器的每一位几乎一位一位配置的,我麻烦了,不过可以给大家读程序带来方便。
MC9S12XS简介
MC9S12XS简介1.1 S12XS介绍新16位微控制器S12XS的系列是一个兼容,减少版本的S12XE系列。
这个系列提供了一种简便的方法开发从低端到高端化应用程序的通用平台,减少硬件和软件的设计。
12XS系列提供32位的所有优势和效率性能的16位MCU,同时保持低成本,低功耗,EMC和代码大小目前享有的效率优势。
S12XS系列运行在等待状态的情况下为所有外围设备和存储器16位宽访问。
该S12XS系列有112引脚LQFP封装,80引脚QFP,64引脚LQFP封装选择,与S12XE系列高度兼容。
除了在每个模块提供I / O端口外,还有多达18个具有从停止或等待模式被唤醒的中断功能的I / O端口。
外围设备包括MSCAN,SPI,两个SCIs,一个8通道24位定时器周期中断,8 -通道16位定时器,8通道PWM,高达16 通道12位AD转换器。
1.1.1特性16位CPU12XS-向上兼容S12指令集,除了删除五个模糊指令(MEM,WAV ,WAVR,REV,REVW)-增强索引寻址-获取大量数据段独立PPAGEINT(中断模块)- 7个级别的嵌套中断-灵活的分配中断源到每个中断的层次。
-外部非屏蔽高优先级中断(XIRQ)-下面的输入可以作为唤醒中断- IRQ和非屏蔽XIRQ-CAN总线接收引脚-SCI接收引脚-根据不同的封装选择了20针在端口J,H和P的上升或下降沿敏感的配置MMC管理(模块映射控制)DBG(调试模块)-监测与标签的CPU总线型或力量型断点要求- 64 × 64位循环跟踪缓冲区的捕捉改变流或内存访问信息BDM(背景调试模式)OSC_LCP(振荡器)-低功率的闭环控制皮尔斯振荡器利用一个4MHz至16MHz石英晶体振荡器-良好的抗干扰-全摆幅皮尔斯选择利用一个2MHz至40MHz的晶振-根据跨导最佳启动的边缘典型晶体IPLL(内部过滤,调频锁相回路时钟发生器)-无需外部元件-可配置选项为减少传播EMC辐射(频率调制谱)CRG(时钟和复位产生)-看门狗-实时中断-时钟监视器-快速唤醒自我的停止时钟模式内存选项-64K,128K的和256K字节的闪存-闪存的基本特征- 64位数据加上8位并发ECC(纠错码),允许单个位失败校正和双故障检测-擦除扇区大小1024字节-自动编程和擦除算法-保护计划,以防止意外编程或擦除-安全选项,以防止未经授权的访问- 4K和8K字节数据闪存空间- 16位数据加上6位并发ECC(纠错码),允许单个位失败校正和双故障检测-擦除扇区大小256字节-自动编程和擦除算法- 4K,8K与第12K字节RAM16通道,12位模拟数字转换器- 8/10/12位分辨率- 3微秒,10位单次转换时间-左或右对齐结果数据-外部和内部转换触发功能-内部振荡器在停止模式转换-唤醒从模拟比较低功耗模式-连续转换模式- 16路模拟输入通道-多通道扫描-管脚也可以作为数字I / OMSCAN(1Mbit/s,CAN2.0的A,B软件兼容模块)- 1兆位每秒,CAN2.0的A,B软件兼容模块-标准和扩展数据帧- 0 - 8个字节数据的长度-可编程的比特率高达1 Mbps-五接收FIFO的存储方案缓冲区-三优先发送内部缓冲区-灵活的标识验收滤波器可编程为:- 2 x 32位- 4 x 16位- 8 × 8位-唤醒集成了低通滤波器的选择-环回自检-只能收听到CAN总线监控-16位发送/接收信息时间戳TIM(标准定时器模块)- 8 × 16的输入捕捉或输出比特的通道比较- 16位自由运行计数器的8位精度预分频器- 1个16位脉冲累加器PIT(周期性中断定时器)-多达4个独立的定时器超时周期-超时期限为1至224总线时钟周期选择-超时中断和周边触发器-定时器开始可以对齐高达8通道× 8位或4通道x 16位脉宽调制器-每通道占空比和周期都是可编程的-中心或左对齐输出-可编程时钟选择逻辑的和频率范围串行外设接口模块(SPI)-可设置为8位或16位数据的大小-全双工或单线双向-双缓冲的发送和接收-主或从模式-最高位先或LSB先移-串行时钟相位和极性选择两个串行通信接口(SCI)-全双工或单线运行-标准标记/空间不返回到归零(NRZ)格式-可选的IrDA 1.4返回到零反转(RZI)可编程脉冲宽度格式- 13位波特率选择-可编程的字符长度-可编程极性的发射机和接收机-接收唤醒的积极边缘-间隔检测和传输冲突检测支持片上电压调节器-两个平行的,与带隙基准的线性稳压器-低电压检测(LVD)认证的低电压中断(LVI)号-上电复位(POR)电路-低电压复位(LVR)的低功耗唤醒定时器(API)的-内部振荡器驾驶递减计数器-微调到+ / -10%的准确度-超时时间为0.2ms的范围内,从同一个0.2ms〜13秒的决议输入/输出-最多91个通用输入/输出(I / O)引脚取决于封装选择和2个输入专用管脚-磁滞和可配置上拉/下拉输入引脚上的所有设备-在所有输出引脚可配置驱动力量封装选择- 112引脚小外形四方扁平封装(LQFP封装)- 80引脚四方扁平封装(QFP)- 64引脚小外形四方扁平封装(LQFP封装)操作条件-宽单电源电压范围3.135 V至5.5 V的全性能-单独的电源内部电压调节器和I / O优化的EMC滤波容许- 40MHz的最大CPU总线频率-环境温度范围:-40°C至125°C-温度选项:- -40°C至85°C- -40°C至105°C- -40°C至125°C1.1.2 工作模式模式种类:正常的单芯片模式特别的单主动背景调试模式芯片模式1.1.3 信号的详细说明1.1.3.1 EXTAL,XTAL - 振荡器引脚EXTAL和XTAL是晶体驱动和外部时钟引脚。
单片机课程设计报告mc9s12xs128
单片机课程设计报告题目:对可调光LED灯发光强度进行控制学院:机电工程学院班级:自09A-1姓名:学号:0910101011指导教师:一、设计任务:1、单片机可选用飞思卡尔型。
2、按键及显示方案可采用CH451芯片或其他方案。
3、设计并制作可调光LED灯,并对发光强度进行控制。
二、设计方案:硬件选择:飞思卡尔MC9S12S128系类单片机,驱动模块,LED 模块,CH4541模块;工作原理:通过调节PWM为1KHz至10KHz TTL方波,调节其占空比,从而调节电压,决定了发光强度。
MC9S12S128部分管脚图:MC9S12S128主要系统参数:S12X CPU,最高总线速度 40MHz64KB、128KB和256KB 闪存选项,均带有错误校正功能(ECC) 带有ECC的、4KB至8KB DataFlash,用于实现数据或程序存储配置8 、10或12位模数转换器(ADC),转换时间3μ s支持控制区域网(CAN)、本地互联网(LIN)和串行外设接口(SPI)协议模块带有16-位计数器的、8-通道定时器出色的EMC,及运行和停止省电模式1、由于MC9S12S128自带有AD以及PWM 功能,所以对软件的要求交简单。
2、键盘输入采用CH451整体模块3、通信端口为PA口,与中断端口三、硬件结构:CH451硬件电路结构驱动模块设计四、软件设计4.1 HCS12控制软件主要理论智能车开发环境采用了飞思卡尔HCS12系列单片机开发软件CodeWarrior。
该软件具有支持多种语言、开发环境界面统一、交叉平台开发以及支持插件工具等特点。
在CodeWarrior界面完成编译后,通过BDM FOR S12工具,在CodeWarrior环境下向MC9S12模块下载程序。
BDM FOR S12工具使用简单,十分方便。
在整个系统设计中,用到了4个单片机基本功能模块:时钟模块、PWM输出模块、AD转换模块、。
通过编写程序先对所用到的模块进行初始化,并通过对相应数据寄存器或状态寄存器的读写,实现期望的功能。
- 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 个异步串口通讯SCI1 个串行外设接口SPIMSCAN 模块1 个8 通道输入/输出比较定时器模块TIM周期中断定时器模块PIT16 通道A/D 转换模块ADC1 个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 种封装对应的引脚和引脚数目。
4、输入输出端口功能和配置通用I/O 通过配置相应寄存器位,可以设置为输入/输出端口、驱动能力、内置上拉/下拉电阻使用、中断输入方式等多种功能。
下面我们以80 引脚的MC9S12XS128 单片机讨论其各个I/O 的配置和功能:1. PORTA:PORTA 为通用I/O 口, 共8 个,作为通用数字I/O 口使用,未集成特殊功能.主要配置寄存器有:数据寄存器PORTA、数据方向寄存DDRA、上拉电阻控制寄存器PUCR 和驱动控制寄存器RDR。
a.数据寄存器PORTA通过写1/0 使单片机对应引脚输出高低电平,或通过读取数据寄存器获得对应引脚的高低电平值。
例:PORTA_PB0=1b.数据方向寄存器DDRADDRA 寄存器配置引脚为输出口还是输入口,“0”,输入口;“1”,输出口。
MCU 复位后,DDRA 值为0x00, 引脚默认为输入口。
例:DDRA=0xFF //配置PORTA 口为输出c.上拉电阻控制寄存器PUCRPORTA 、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.数据寄存器PORTBb.数据方向寄存器DDRB3. PORTE:PORTE 可作为通用数字I/O 口使用, 80 封装也有共8 个引脚。
其使用与PORTA 基本一样。
但是PORTE 中集成了外部中断输入功能,其PE0/XIRQ 和PE1/IRO 引脚可作为外部中断输入。
并且这两位只能作为输入口使用。
主要配置寄存器有:数据寄存器PORTE、数据方向寄存DDRE。
a.数据寄存器PORTEb.数据方向寄存器DDRE4. 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.中断使能寄存器PIExPORTP、PORTH 、PORTJ 中断使能位,“1”允许中断,“0”禁止中断,复位为0。
H.中断标志寄存器PIFx使用中断时,对应引脚的中断标志位。
向对应位写“1”清除中断标志位。
5、电源相关引脚引脚名称(17)额定电压/V描述VDDR 5.0外部电源,为内部电压调节器供电VSSR0VDDX2、VDDX1 5.0外部电源和地,为I/O 口供电VSSX2、VSSX10/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 0x000BFFEEPROM_01 0x010800 TO 0x010BFFEEPROM_02 0x020800 TO 0x020BFFEEPROM_03 0x030800 TO 0x030BFFEEPROM_04 0x040800 TO 0x040BFFEEPROM_05 0x050800 TO 0x050BFFEEPROM_06 0x060800 TO 0x060BFFEEPROM_07 0x070800 TO 0x070BFF8 KB RAM:从0x2000-0x3FFF 是8 KB 固定RAM 地址空间RAM 0x2000 TO 0x3FFF128 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 0xF8BFFFPAGE_F9 0xF98000 TO 0xF9BFFFPAGE_FA 0xFA8000 TO 0xFABFFFPAGE_FB 0xFB8000 TO 0xFBBFFFPAGE_FC 0xFC8000 TO 0xFCBFFFPAGE_FE 0xFE8000 TO 0xFEBFFFMC9S12XS128【用途】16位单片机【性能参数】MC9S12XS128是一款针对汽车电子市场的高性能16位单片机,具有速度快、功能强、成本低、功耗低等特点。