飞思卡尔9S12G系列单片机中文简介
freescale MC9S12P128中文手册

Chapter1 Device Overview MC9S12P-Family 介绍The MC9S12P 系列单片机是经过优化后有着低成本、高性能、低引脚数的汽车专业级单片机产品,该产品倾向于弥补高端16位单片及产品如MC9S12XS和低端8位单片机产品之间的空缺。
MC9S12P 主要针对于要求使用CAN 或者 LIN/J2602通讯接口的汽车应用产品,典型的应用案例包括车身控制器、乘坐人员检测、车门控制、座椅控制、遥控车门开关信号接收器、智能执行器、车灯模块、智能接线器。
The MC9S12P 系列单片机使用了很多MC9S12XS系列单片机相同的功能,包括片内闪存错误纠正代码(ECC)、一个专为数据诊断或者数据存储的单独的数据闪存模块、高速AD转换器和高频调制锁相环(IPLL)有效改善电磁兼容性能。
MC9S12P系列单片机提供的所有16为单片机优点和微处理器效率,同时保持飞思卡尔用户熟悉的8位及16位单片机,低成本,功耗,EMC和高效的代码80针QFP、64针LQFP、40针QFN封装产品,最大限度的与MC9S12尺寸的优点,如同MC9S12XS一样可以无需等待外围设备和内存的状态既可以运行16为带款的寻址,MC9S12P系列单片机主要有XS引脚兼容. I/O口在各种模式下都可以使用,同时具有中断功能的I/O口还可以在停止或等待模式下唤醒。
芯片特性表一:提供了MC9S12P家庭成员特征摘要,或D寄存器擦除或者编程需要最低总线频率为1MHZ芯片功能• S12 CPU 内核• 高达128 KB具有ECC功能的片上闪存• 4 Kbyte带ECC功能的数据闪存• 高达6 Kb片上静态存储器(SRAM)• 具有内部滤波器的锁相环倍频器 (IPLL)• 4–16 MHz 皮尔斯振荡器• 1 MHz内部RC振荡器• 定时器 (TIM) 具有16位输入捕捉、输出比较、计数器脉冲累加器功能• 具有8位6通道的脉冲调制模块(PWM)• 10通道12位分辨率的逐次逼近AD转换器• 1个串行通信外部接口(SPI)• 1个支持局域网通讯串行通信(SCI) 模块•一个多可扩展控制器区域网络(MSCAN) 模块 (支持CAN 协议B)•片上电压调节器 (VREG) 可对内部供电及内部电压整流• 自主周期中断 (API)模块特征CPUS12 CPU 是一个高速的16位处理单元:•全16-bit数据通道提供有效的数学运算和高速的数学执行• 包含很多单字节指令,可以有效的利用ROM空间• 宽域变址寻址功能:—采用堆栈指针作为所有变址操作的变址寄存器—除了在自增或自减模式下都可以利用程序计数器作为变址寄存器—使用A\B\D累加器做累加器偏移—自动变址,前递增(++a)、前递减(--a)、后递减(a--)、后递增(a++)(by –8 to +8)带ECC功能的片内闪存• 高达 128 Kb程序闪存空间— 32 位数据加7 位ECC (纠错码) 允许单字节纠错和双字节纠错— 512字节擦出扇区空间—自动编程和擦除算法—用户设置读写页面边界—具有可以防止偶然编程或者擦除的保护结构• 4 Kb 数据闪存空间— 16 位数据加6位纠错码允许单字节和双字节纠错功能— 256 字节的擦出扇区空间—自动编程和擦除算法—用户设置读写页面边界片内静态存储器高达6kb通用RAM外部晶振 (XOSC)• 闭环控制皮尔斯晶振频率为4MHZ---16MHZ—振幅增益控制输出电流—低谐波失真信号Signal with low harmonic distortion—低功耗—良好的噪声免疫—无需外部限流电阻—跨导尺寸优化提供良好的振荡器启动保证内部RC晶振 (IRC)• 可调的内部参考时钟—频率: 1 MHz—在–40°C to +125°C环境温度范围内调节精度达: %内部锁相环倍频器(IPLL)—无需外部元件—参考分频器和倍频器提供大变化量的时钟频率—自动带宽控制低频率抖动操作—自动锁定频率—可配置的选项,扩频减少电磁干扰EMC (频率调制frequency modulation)—参考时钟源:–外部 4–16 MHz 共振器/晶振 (XOSC)–内部RC晶振 1 MHz (IRC)系统支撑• 上电复位(POR)• 系统复位发生器• 非法寻址复位•低电压检测中断或复位• 实时中断 (RTI)• 计算机正常工作复位(COP) 开门狗—可通过相应窗口设置COP用以采用错误侦测复位通过位操作对闪存进行初始化复位•时钟监控器监控晶振功能正常工作定时器(TIM)• 8通道16位定时器可进行输入捕捉和输出比较• 16-bit带有7位精度预分频器的自由运行计数器•一通道16-bit 脉冲累加器脉冲带宽调制器 (PWM)• 6通道8位or 3 通道16-bit脉宽调制器—每个通道都可以对周期和占空比进行编程—中心对齐或者左对齐输出—宽频率范围内可编程逻辑时钟局域网控制器 (MSCAN)•速率达1Mbit/s, 满足CAN A, B 协议—标准和扩展数据帧— 0–8 字节长度—可编程比特率达1 Mbps•5个 FIFO(先进先出)的接收缓冲器•三个内部优先发送缓冲器• 灵活的标识符可编程选通滤波器s:— 2 x 32-bit— 4 x 16-bit— 8 x 8-bit•集成了低通滤波器的唤醒操作• 闭环反馈自检测• CAN 总线监听•总线关闭可通过软件干预或者自动恢复• 16-bit 接收发送信息时钟戳串行通信接口 (SCI)•可选择全双工或单工模式•标准的不归零格式•通过可编程脉宽调制选用 IrDA 反转归零格式• 13位波特率可选•可编程字符长度•可编程改变其接收和发送极性for transmitter and receiver •边沿触发接收唤醒•支持LIN总线的间隔检测和传输冲突检测Serial Peripheral Interface Module (SPI)•可配置 8- or 16-bit 数据大小•全双工或单线双向•全双工接收和发送• Master or slave 模式•最高位优先 or 最低位优先可换• 并口时钟频率相位和极性选择AD转换 (ATD)• 10通道12位AD转换器— 3微妙转换时间— 8-/10-/12-位解决方案—数据结果左对齐或右对齐—停止模式下使用内部晶振作为转换器晶振—低功耗模式下模拟信号比较唤醒—连续转换模式e—多通道扫描•引脚可作为IO口片内电压调节器(VREG)•具有带隙标准的线性电压稳压器• 具有低电压中断功能的低压检测器•上电复位 (POR) 电路•低电压复位功能 (LVR)•高温传感器背景调试 (BDM)• 非插入内存访问指令• 支持在线对片内非易始性存储单元编程调试器 (DBG)•64个入口跟踪缓冲器• 三个比较器 (A, B and C)—比较器A比较全16位地址总线额16位数据总线—精确寻址和寻址范围比较•两种匹配比较类型—标记位—程序强行置位该类型是在一数学公式出现后一个指令边界可用•四个跟踪模式•四个阶段状态序列发生器 stage state sequencer内部结构框图引脚图存储器映像表Table 1-2. Device Register Memory Map注意在表1-2中保留的寄存器空间不分配给任何模块,该寄存器的保留空间是留给以后使用的,对这些保留空间写操作没有任何效果,读该空间返回值都为零。
001.HCS12 单片机概述-stu

1式系统及应用》
30
小结
• Freescale 家族产品 • MC9S12DG128 的主要特性 • MC9S12DG128 基本结构 • MC9S12DG128 引脚功能 • MC9S12DG128 运行模式 • MC9S12DG128 存储器结构
《嵌入式系统及应用》
《嵌入式系统及应用》
25
十、MC9S12DG128 存储器分配
图中显示的并不是复位后的地址,只是可用的映射。
《嵌入式系统及应用》
26
十、MC9S12DG128 存储器分配
$0000 $0400 $0800
EEPROM I/O寄存器
$0000 – $03FF: 寄存器空间(1KB) $0800 – $0FFF: 2KB EEPROM $2000 – $3FFF: 8KB RAM
《嵌入式系统及应用》
23
八、运行模式
MODC 0 0 0 0 1 1 1 1 MODB 0 0 1 1 0 0 1 1 MODA 0 1 0 1 0 1 0 1 模式 特殊单芯片模式 特殊窄扩展模式 特殊测试模式 特殊宽扩展模式 普通单芯片模式 普通窄扩展模式 外设模式 普通宽扩展模式 ADDR 0 16 16 16 0 16 — 16 DATA 0 8 16 16 0 8 — 16 BDM 激活 允许 允许 允许 允许 允许 — 允许
5
Freescale MCU 系列衍生
《嵌入式系统及应用》
6
Freescale MCU 系列定位及应用
《嵌入式系统及应用》
7
二、MC9S12系列命名规则
MC
①
9
②
S12
③
DG
④
128
⑤
飞思卡尔MC9S12G系列芯片之【看门狗】模块总结

飞思卡尔MC9S12G系列芯片之【看门狗】模块总结一、看门狗(监控芯片)1、为什么要使用看门狗?在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成各种寄存器和内存的数据混乱,会导致程序指针错误、不在程序区、取出错误的程序指令等,都会陷入死循环,程序的正常运行被打断,从而由单片机控制的系统无法继续正常工作,会造成整个系统的陷入停滞状态,发生不可预料的后果。
看门狗就是定期查看芯片内部的情况,一旦发生错误就向芯片发出重启信号的电路。
看门狗命令在程序的中断中拥有最高的优先级。
2、工作原理看门狗电路的应用,使单片机可以在无人状态下实现连续工作。
看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。
看门狗,又叫watchdog timer,是一个定时器电路,一般有一个输入,叫喂狗(kicking the dog or service the dog),一个输出到MCU的RST端。
?MCU正常工作的时候,每隔一段时间输出一个信号到喂狗端,给WDT清零,如果超过规定的时间不喂狗(一般在程序跑飞时),WDT 定时超过,就会给出一个复位信号到MCU,使MCU复位,防止MCU 死机。
在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位,所以在使用有看门狗的芯片时要注意清看门狗。
3、作用看门狗的作用就是防止程序发生死循环,或者说程序跑飞。
飞思卡尔MC9S12G系列芯片之【GPIO】模块总结

位数 8 8 8 8 2
小注: a. 由上表可知,这五个寄存器通过同一个电阻控制寄存器 PUCR 的 0~4 位分别
对应控制端口 A~D;
b. 在学习板中(这是前提,以下模块与寄存器的连接仅限此开发板):
LED 灯是通过 PORTA 寄存器控制,LED1~LED8 分别对应 PORTA 的 P0~P7 位(注意
置 0:输入 置 1:输出 置 0:上拉设备禁止 置 1:上拉设备使能 置 0:下降沿触发 置 1:上升沿触发 置 0:中断禁止 置 1:中断使能 置 0:无极性沿发生 置 1:有极性沿发生
位数 8
8
端口 P 和 J 都含有 7 个寄存器,其中与中断有关的寄存器有两个:
中断使能寄存器 PIEx 及中断标志寄存器 PIFx。
置 0:低电平 置 1:高电平 用于检测过载或输出 引脚短路条件 置 0:输入 置 1:输出 置 0:上拉设备禁止 置 1:上拉设备使能 置 0:下降沿触发 置 1:上升沿触发
WOMN 寄存器为 PORTS 和 PORTM 特有的寄存器,不常用。
位数 8
8
端口名称
寄存器种类 数据寄存器(PTT)
PORTT (PT)
GPIO 模块总结(以 MC9S12G128 为例)
一、常见功能
功能 设置输入/输出端口 设定 I/O 口的高低电平 选择内置上拉/下拉电阻 中断输入方式的选择 驱动能力的设置
需配置寄存器 DDRx(置 0 为输入,置 1 时为输出) PORTx(置 0 低电平、置 1 高电平) PERx PIEX XS128 芯片具有
EnableInterrupt;
// 定义主函数
// 禁止中断 // 设置 I/O 方向为输出 / *对 data 取反后为 0111 1111,因 LED 在低
飞思卡尔MC9S12XS128单片机重点模块讲解

�
这一点和 51 单片机的 I/O 口有区别,在典型的 51 单片中 P0 口内部没有上拉电阻,但作为 I/O 口使用时需要外接排阻。其他 P1-P3 口则可以直接作为双向口使用,51 单片在上电复位 后端口被默认的置 1.在 51 单片中端口的某一位置 0 时端口作为输出口使用,置 1 时作为输 入口使用。例如如果我们想把 P1 作为输出口使用时我们可以在程序开始时写 P1=0x00; 如果 我们想把 P1 口作为输入口使用时我们可以写 P1=0xff; 这一点正好和飞思卡尔的 128 单片机 相反,另外 128 单片有专门的数据方向寄存器 DDRA 或者 DDRB 等来管理各个端口的输入 输出选择,51 单片没有。如果我们想把端口 A 作为输入口使用,我们只需写 DDRA=0x00; 即所有位都置 0,如果我们想把端口 A 作为输出口使用,我们只需要写 DDRA=0xff; 即所有 位都置 1 ,而如 果我们想要 把端口 A 的高四 位做输入口 ,低 4 位做输 出口时我们 就 写 DDRA=0x0f; 当我们需要将该端口的某一位做输出或者输入口使用时只需要将该端口对应的 方向位置 1 或者置 0 即可。例如我们想把 A3 口作输入口, A4 口作输出口使用时我们只需 要写: DDRA_DDRA3=0; DDRA_DDRA4=1; 即可。 � � 对于数据方向寄存器的使用只要记住:置 1——输出 置 0——输入 PORTA 数据寄存器也是由 8 位组成,任何时候都可以对它进行读写操作。
#define uchar unsigned char //数据类型宏替换 #define uint unsigned int /*------------------------延时函数--------------------------------------*/ void delay(uint a) { uint i,j; for(i=0;i<a;i++) for(j=0;j<a;j++) ; } /*--------------------------指示灯闪烁函数-------------------------------*/ void light() { while(INPUT) { PORTB=0x3f; delay(500); PORTB=0x00; delay(500); } } //6 只灯全点亮 //延时一段时间 //6 只灯全熄灭 //延时一段时间 //判断输入电平的高低
飞思卡尔MC9S12G系列详解

飞思卡尔MC9S12G系列详解
电子发烧友网:随着驾驶员对车内舒适度和便利性的要求在提高,汽车车身电子产品在保持具有竞争力价格的同时,还需要继续提供性能更高的半导体。
飞思卡尔半导体目前开始扩大现已普及的16位S12微控制器(MCU)系列,以优化大量对成本敏感的汽车车身电子应用。
先进的S12G 器件设计针对应用需求,提供灵活的内存、封装和成本选项。
MC9S12G系列是一个专注于低功耗、高性能、低引脚数量的高效汽车级16位微控制器产品。
这个系列是桥连8位高端微机和16位高性能微机,像MC9S12XS系列。
本文将详细介绍关于飞思卡尔MC9S12系列的芯片简介、MC9S12单片机最小系统硬件设计、典型程序应用、飞思卡尔XS128和G128两种单片机的主要区别等进行阐述。
飞思卡尔MC9S12G系列单片机中文简介
1.1介绍
MC9S12G系列是一个专注于低功耗、高性能、低引脚数量的高效汽车级16位微控制器产品。
这个系列是桥连8位高端微机和16位高性能微机,像MC9S12XS系列。
MC9S12G系列是为了满足通用汽车CAN或
LIN/J2602通信应用。
这些应用的典型例子包括body controllers,occupant。
飞思卡尔16位单片机9S12XS128使用和程序

飞思卡尔16位单片机9S12XS128使用收藏最近做一个关于飞思卡尔16位单片机9S12XS128MAA的项目,以前未做过单片机,故做此项目颇有些感触。
现记录下这个艰辛历程。
以前一直是做软件方面的工作,很少接触硬件,感觉搞硬件的人很高深,现在接触了点硬件发现,与其说使用java,C#等语言写程序是搭积木,不如说搞硬件芯片搭接的更像是在搭积木(因为芯片是实实在在拿在手里的东西,而代码不是滴。
还有搞芯片内部电路的不在此列,这个我暂时还不熟悉)。
目前我们在做的这个模块,就是使用现有的很多芯片,然后根据其引脚定义,搭接出我们需要的功能PCB板,然后为其写程序。
废话不多说,进入正题。
单片机简介:9S12XS128MAA单片机是16位的单片机80个引脚,CPU是CPU12X,内部RAM 8KB,EEPROM:2KB,FLASH:128KB,外部晶振16M,通过内部PLL可得40M总线时钟。
9S12XS128MAA单片机拥有:CAN:1个,SCI:2个,SPI:1个,TIM:8个,PIT:4个,A/D:8个,PWM:8个下面介绍下我们项目用到的几个模块给出初始化代码1、时钟模块初始化单片机利用外部16M晶振,通过锁相环电路产生40M的总线时钟(9S12XS128系列标准为40M),初始化代码如下:view plaincopy to clipboardprint?/******************系统时钟初始化****************/void Init_System_Clock(){asm { // 这里采用汇编代码来产生40M的总线LDAB #3STAB REFDVLDAB #4STAB SYNRBRCLR CRGFLG,#$08,*//本句话含义为等待频率稳定然后执行下一条汇编语句,选择此频率作为总线频率BSET CLKSEL,#$80}}/******************系统时钟初始化****************/void Init_System_Clock(){asm { // 这里采用汇编代码来产生40M的总线LDAB #3STAB REFDVLDAB #4STAB SYNRBRCLR CRGFLG,#$08,*//本句话含义为等待频率稳定然后执行下一条汇编语句,选择此频率作为总线频率BSET CLKSEL,#$80}}上面的代码是汇编写的,这个因为汇编代码量比较少,所以用它写了,具体含义注释已经给出,主函数中调用此函数即可完成时钟初始化,总线时钟为40M.2、SCI模块初始化单片机电路做好了当然少不了和PC之间的通信,通信通过单片机串口SCI链接到PC 端的COM口上去。
飞思卡尔十二位单片机HCS12(9S12)

Place your image on top of this gray box. If no graphic is applicable, delete gray box and notch-out behind gray box, from the Title Master
[6Mb]
HCS12 Technical Training Module 1 – System Overview, Slide 5
MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc. 2001.
4K BYTES EEPROM
12K SRAM
256K FLASEEPROM
PWM 8 CHAN
ECT SCI 8 0 CHAN
SCI 1
Internal Bus
SPI 2 SPI 1 or or PWM PWM SPI 0 CH CH 4-7 0-3 BKP INT MMI
CRG
HCS12 CPU
MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc. 2001.
飞思卡尔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种额外的触发输入。
freescale9S12单片机寄存器介绍

freescale9S12单片机寄存器介绍一、输入输出端口寄存器I/O接口包括PORTA、B、E、K、T、S、M、P、H、J、AD。
其中PORTA、B、E、K属于复用扩展总线接口,单片机在扩展方式下工作时,作为总线信号。
1、PORTT、S、M、P、H、JI/O寄存器PTx如果对应位数据方向寄存器DDRx为“0”,输入,读取该寄存器返回引脚值;“1”,输出,读取该寄存器返回I/O寄存器的内容。
数据方向寄存器DDRx决定对应引脚为输出还是输入,“0”为输入,“1”为输出,复位后,默认为输入。
上拉/下拉使能寄存器PERx选择使用内置上拉/下拉器件,“1”允许,“0”禁用。
中断使能寄存器PIExPORTP、H、J三个端口具有中断功能。
“1”对应引脚允许中断,“0”禁止,复位后,所有端口中断关闭。
中断标志寄存器PIFxPORTP、H、J三个端口具有中断功能。
“1”对应引脚允许中断,“0”禁止,复位后,所有端口中断关闭。
2、PORTA、B、E、KI/O寄存器Px若某端口的引脚被定义为输出,写入I/O寄存器中的数值会从对应引脚输出;输入,通过I/O 寄存器读取对应引脚电平。
数据方向寄存器DDRx决定对应引脚为输出还是输入,“0”为输入,“1”为输出,复位后,默认为输入。
PORTE最低两位只能为输入。
上拉电阻控制寄存器PERx第7、4、1、0位分别控制K、E、B、A端口,“1”允许使用对应端口的上拉电阻,“0”禁止,复位后,PK、PE端口使能,PB、PA 禁止。
二、中断系统中断控制寄存器INTCR第7位IRQE,中断电平/边沿有效选择,0为低电平有效,1为下降沿有效;第6位IRQEN,外部中断IRQ中断请求使能,0关闭,1允许。
三、PWM模块PWM允许寄存器PWME对应每一位PWMEx,1启动输出,0停止输出,读写任意时刻。
PWM预分频时钟选择寄存器PWMPRCLK为Clock A和B选择独立的预分频因子,读写任意时刻。
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
飞思卡尔单片机 MC9S12 单片机应用系统开发平台下实时操作

计算机方向嵌入式计算机应用正在计算机领域迅速崛起,虽然该技术还不很成熟,但是它 的应用已经深入到社会各个领域,像办公自动化、民用消费品、计算机外设、机器人和武 器系统等等。
嵌入式系统,属于电子系统,包括微处理器或微控制器,嵌入式系统不是一般的计算 机,是隐藏或嵌入在各种系统中的计算机。主要用于控制领域,兼顾数据处理。而微控制 器即 MCU,MCU 的基本含义,在一片芯片上集成了中央处理单元(cpu)、存储器(RAM/ROM 等)、 定时器/计数器及多种输入\输出(I/O)接口的比较完整的数字处理系统。
S9S12G128单片机

MC9S12G是经过优化的面向汽车行业的低成本、高性能、低引脚数的16位MCU产品系列。MC9S12G系列适合需要CAN或LIN/SAEJ2602通信的通用汽车电子应用。首矽致芯科技经过多年实践证明和反复实验验证已成功完成S9S12G128单片机逆向工程。MC9S12G具有16位MCU的所有优点和高效性能,同时保持了用户在飞思卡尔现有的8位和16位MCU系列中享受的低成本、低功耗、卓越的EMC性能和代码效率等优势。
1MHz内部振荡器
片上稳压器提供输入电源和内部电压
目标应用
汽车电子
暖通空调(HVAC)
照明
车门、车窗升降及座椅控制
执行器
遥控无钥匙开关(RKE)
乘客检测
中央网关/车内网络
工业
暖通空调构建与控制系统
特性
S12CPU内核,25MHz总线
带有ECC功能的128KB片上闪存
带ECC的高达4KB的EEPROM
高达11KB片上SRAM
一个可多重扩展的控制器区域网络(MSCAN)模块
支持CAN协议2.0A/B
高达3个串(SPI)模块
为模数转换(ADC)提供精确的固定参考电压
Freescale 9S12 系列单片机应用笔记(EETS4K模块) 1

Freescale 9S12 系列单片机应用笔记(EETS4K 模块)1EETS4K模块应用笔记(1)9S12系列单片机的通常包含4KB的EEPROM。
Freescale将EEPROM模块称之为EETS4K。
实际上,这里所谓的EEPROM其实是FLASH,只不过Freescale特意将这里Flash的sector做的很小(4Bytes),使得用户用起来像是在用EEPROM。
EEPROM是直接映射到9S12单片机的地址空间的,如果程序中只是读取EEPROM中的内容,而不涉及到对EEPROM中数据的修改。
那就不需要特殊的编程。
就像读取RAM数据那样直接访问就可以了。
只有当需要在程序中更新EEPROM中内容时,才需要学习下面的内容。
初始化EETS4K在向EETS4K写入数据或擦除数据前要先配置EETS4K的时钟。
EETS4K的时钟频率必须在150KHz200KHz之间,为此需要配置ECLKDIV寄存器。
ECLKDIV寄存器(EEPROMClockDividerRegister)图1ECLKDIV寄存器PRDIV8是预分频位:当PRDIV8=1时输入时钟被预分频为1/8。
EDIV5EDIV8为分频除数寄存器,最多可以产生1/64的分频比。
简单的计算可知,当输入时钟大于12.8MHz时需要将PRDIV8置位。
经过PRDIV8和EDIV两级分频最多可将时钟频率分为1/512。
擦除和写入和读取这里不详细介绍每一个寄存器的用法。
只对需要注意的地方加以说明。
EETS4K模块的最小擦除单位是4Bytes,EETS4K模块提供了两条相关命令,一条是擦除一个sector,也就是4字节,并且要求是字节对其的双字。
另一条。
9s12xe-中文manual

mc9s12xe系列单片机参考手册--中文1.3系统时钟介绍时钟和复位发生器模块(CRG)提供的核心和外设模块的所有内部时钟信号。
图1-8显示了从CRG所有模块的时钟连接。
在clock generation中查询CRG时钟产生的细节规范。
系统时钟可以提供多种方式,使系统的工作频率范围要支持:•片上锁相环(PLL)•锁相环自我时钟•振荡器由PLL或振荡器产生的时钟提供主系统时钟频率,核心时钟和总线时钟。
如图1-8所示,这些系统时钟用于驱动整个MCU的core,RAM,和外设。
闪存程序存储器和EEPROM可由总线时钟和振荡器时钟提供时钟信号。
“使用振荡器时钟作为时基,驱动程序,并提供NVM的擦除时间基准。
CAN模块可配置的时钟源来自总线时钟或直接从振荡器时钟。
这允许用户在提供的两种时钟信号的基础上,选择它的时钟性能。
为了确保时钟的存在,MCU包括一个片上时钟监视器,监视器连接到振荡器的输出。
时钟监视器可以被配置为调用PLL自震荡模式或在超过一定时间没有振荡器时钟出现,产生一次系统复位。
除了时钟监视器,MCU还提供了时钟质量检查模块执行时钟准确的检查。
时钟质量检查计数器在一个定义的时间窗口内检查预先设定了的时钟边沿,以确保时钟的正确运行。
检查程序可以被以下具体的事件调用,如唤醒或时钟监视器故障。
MCU可以处在不同的模式,而这与MCU资源的映射和总线接口配置操作相关。
这些内容将在1.4.1芯片配置摘要有提到。
MCU可以有不同的电源操作模式,当并不需要系统满负荷运行时,方便省电的模式是可选的。
这些内容将在1.4.2功率模式有提到。
1.4操作模式有些功能模块是可编程的,可以对某个模块进行冻结,而BGD模块的处于活动对于方便调试是有积极意义的,这在1.4.3冻结模式有提到。
对于系统的完整性,支持独立的系统状态功能,在1.4.4系统状态的说明有提到。
MCU有六个不同的模式而模式与系统资源配置相关。
不同的模式,ROMCTL与 EROMCTL在RESET信号的上升沿的状态,MCU的安全状态都会影响以下设备的特点:•外部总线接口配置•可能会影响Flash中的存储器映射,或不会•调试功能启用或禁用操作模式是由MODC,MODB和MODA在复位时的信号状态决定的。
9S12HZ64资料

Freescale Semiconductor Product Brief
S12HFAMPP Rev. 11.1, 17-Aug-2004
16-bit Microcontroller HCS12H Family
Introduction
Designed for automotive instrumentation applications, all members of the MCS12H-Family of microcontroller units (MCU) are composed of standard on-chip peripherals including a 16-bit central processing unit (CPU12), up to 256K bytes of Flash EEPROM or ROM, up to 12K bytes of RAM, up to 4K bytes of EEPROM on Flash parts, one or two asynchronous serial communications interfaces (SCI), a serial peripheral interface (SPI), an IIC-bus interface (IIC), an 8-channel 16-bit timer (TIM), a 16-channel, 10-bit analog-to-digital converter (ADC), up to six-channel pulse width modulator (PWM), and up to two CAN 2.0 A, B software compatible modules. In addition, they feature a 32x4 liquid crystal display (LCD) controller/driver and a motor pulse width modulator (MC) consisting of up to 24 high current outputs suited to drive up to six stepper motors, and on selected devices, up to four stepper stall detectors (SSD) to simulataneously calibrate the pointer reset position of each motor. The MCS12H-Family has full 16-bit data paths throughout. The inclusion of a PLL circuit allows power consumption and performance to be adjusted to suit operational requirements. In addition to the I/O ports available in each module, up to 14 I/O ports are available with Key-Wake-Up capability from STOP or WAIT mode.
飞思卡尔9S12G系列单片机中文简介

飞思卡尔9S12系列单片机中文简介1.1介绍MC9S12G系列是一个专注于低功耗、高性能、低引脚数量的高效汽车级16位微控制器产品。
这个系列是桥连8位高端微机和16位高性能微机,像MC9S12XS系列。
MC9S12G系列是为了满足通用汽车CAN或LIN/J2602通信应用。
这些应用的典型例子包括body controllers, occupant detection, door modules, seat controllers, RKE receivers, smart actuators, lighting modules, and smart junction boxes.MC9S12G系列使用了许多MC9S12XS系列和MC9S12P系列里面的相同特性,包括在闪存(flash memory)上的纠错指令(ECC),一个快速A/D转换器(ADC)和一个为了改善电磁兼容性(EMC)性能的频率调制相位锁存循环(IPLL).MC9S12G系列是高效的对较低的程序存储器至16K。
为了简化顾客使用它,特制了一个4字节可擦除扇区的EEPROM。
MC9S12G系列传送所有16位单片机的优势和效率,定位于低成本,低功耗,EMC,现行代码尺寸效率优势被现存8位和16位单片机系列的使用者所分享。
像MC9S12XS系列,MC9S12G 系列运行16位位宽的访问对所有的周期和存储器状态都不用等待。
MC9S12G系列可得到的封装有100-pin LQFP, 64-pin LQFP, 48-pin LQFP/QFN, 32-pin LQFP and 20-pin TSSOP,特别是对较少引脚的封装发挥出最大的功能。
此外,在每个模块中可得到的I/O口,进一步的可用于中断的I/O口允许从停止或等待模式中唤醒。
1.2特点这部分说明了MC9S12G系列的关键特性。
1.2.1MC9S12G系列比较表1-1提供了MC9S12G系列不同型号特点的概要。
飞思卡尔智能车-XS128芯片中文资料

第一讲:HCS12原理及应用--PWM模块介绍时间:2009-11-25 22:51来源:电子设计吧作者:dzsj8 点击:996次该教程以MC9S12DG128单片机为核心进行讲解,全面阐释该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、每一个通道都可以通过编程实现左对齐输出还是居中对齐输出。
第2讲:HCS12原理及应用--PWM寄存器说明1时间:2009-11-25 22:56来源:电子设计吧作者:dzsj8 点击:794次1、PWM启动寄存器PWMEPWME 寄存器每一位如图1所示:复位默认值:0000 0000B图1 PWME 寄存器每一个PWM 的输出通道都有一个使能位P WMEx 。
它相当于一个开关,用来启动和关闭相应通道的PWM 波形输出。
当任意的P WMEx 位置1,则相关的P WM 输出通道就立刻可用。
用法:PWME7=1 --- 通道7 可对外输出波形PWME7=0 --- 通道7 不能对外输出波形注意:在通道使能后所输出的第一个波形可能是不规则的。
freescale_9s12十六位单片机原理及嵌入式开发技术_概述说明

freescale 9s12十六位单片机原理及嵌入式开发技术概述说明1. 引言1.1 概述本文主要介绍freescale 9S12十六位单片机的原理和嵌入式开发技术。
Freescale 9S12单片机是一款广泛应用于嵌入式系统设计中的重要硬件设备,具有强大的性能和丰富的外设功能。
在本文中,我们将深入探讨该单片机的基本原理、架构和指令集,以及它的存储器和外设功能。
同时,我将为您提供有关嵌入式开发技术的概述。
嵌入式系统已经成为现代科技领域中不可或缺的一部分。
了解嵌入式编程语言、工具链以及硬件与软件设计流程对于成功开发复杂系统至关重要。
1.2 文章结构本文共分为五个部分来进行论述。
第一部分是引言,我们将对文章做一个简单的概述以及介绍整篇文章的结构。
第二部分将详细介绍Freescale 9S12单片机的原理,包括概述、架构和指令集、存储器和外设功能等方面内容。
第三部分将提供有关嵌入式开发技术的概述,主要涉及嵌入式系统简介、嵌入式编程语言与工具链、硬件与软件设计流程等内容。
第四部分将探讨如何在Freescale 9S12单片机上进行嵌入式开发实践,包括开发环境的准备和安装、程序设计与调试技巧以及应用案例分析与优化策略。
最后,在第五部分中,我们将对文章进行总结并提出主要观点。
1.3 目的本文的目的是帮助读者了解Freescale 9S12十六位单片机的原理和嵌入式开发技术,并提供相关的实践经验和案例分析。
通过阅读本文,读者将能够全面了解该单片机的基本原理,掌握嵌入式开发技术的基础知识,并能够在实际项目中应用所学到的知识。
同时,本文还旨在激发读者对于嵌入式系统设计和开发的兴趣,并为他们打下坚实的基础。
2. Freescale 9S12单片机原理:2.1 单片机概述:Freescale 9S12是一种十六位单片机,由美国芯片制造商Freescale Semiconductor(现为NXP半导体)设计和生产。
它是嵌入式系统中常用的微控制器之一,广泛应用于汽车电子、消费电子和工业控制等领域。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
飞思卡尔9S12系列单片机中文简介
1.1介绍
MC9S12G系列是一个专注于低功耗、高性能、低引脚数量的高效汽车级16位微控制器产品。
这个系列是桥连8位高端微机和16位高性能微机,像MC9S12XS系列。
MC9S12G系列是为了满足通用汽车CAN或LIN/J2602通信应用。
这些应用的典型例子包括body controllers, occupant detection, door modules, seat controllers, RKE receivers, smart actuators, lighting modules, and smart junction boxes.
MC9S12G系列使用了许多MC9S12XS系列和MC9S12P系列里面的相同特性,包括在闪存(flash memory)上的纠错指令(ECC),一个快速A/D转换器(ADC)和一个为了改善电磁兼容性(EMC)性能的频率调制相位锁存循环(IPLL).
MC9S12G系列是高效的对较低的程序存储器至16K。
为了简化顾客使用它,特制了一个4字节可擦除扇区的EEPROM。
MC9S12G系列传送所有16位单片机的优势和效率,定位于低成本,低功耗,EMC,现行代码尺寸效率优势被现存8位和16位单片机系列的使用者所分享。
像MC9S12XS系列,MC9S12G 系列运行16位位宽的访问对所有的周期和存储器状态都不用等待。
MC9S12G系列可得到的封装有100-pin LQFP, 64-pin LQFP, 48-pin LQFP/QFN, 32-pin LQFP and 20-pin TSSOP,特别是对较少引脚的封装发挥出最大的功能。
此外,在每个模块中可得到的I/O口,进一步的可用于中断的I/O口允许从停止或等待模式中唤醒。
1.2特点
这部分说明了MC9S12G系列的关键特性。
1.2.1MC9S12G系列比较
表1-1提供了MC9S12G系列不同型号特点的概要。
这个微机系统提供了一个明确的功能范围信息。
表1-1 MC9S12G系列概述
并不是所有的外围设备都能够应用于所有封装类型
表1-2显示出了每个封装外围设备或外围信道的最大值。
并不是所有的外围设备都能够同时使用。
可使用的外围设备的最大值还受到表1-1中所选芯片的限制。
表1-2 每个封装可使用外围设备的最大值
1.2.2 芯片水平特点
在这个系列里面可应用的模块包括以下特点:
S12内核
高达240KB的片内在线可编程FLASH存储器防纠错闪存
高达4KB防纠错EEPROM
高达11KB片内SRAM
拥有内部滤波器的锁相环回路(IPLL)频率乘法器
4-16MHz振幅控制穿透振荡器
1MHz内部RC振荡器
定时单元(TIM)支持达到8通道(提供16位输入俘获,输出比较,计数,脉冲存储器功能)多达8*8通道脉宽调节(PWM)模块
多达16通道,10位或12位分辨率逐次近似计算法模数转换器(ADC)
多达两个8位数模转换器(DAC)
多达一个5V模拟比较器(ACMP)
多达3个串行外围接口模块(SPI)
多达3个串行通信接口(SCI)模块(支持LIN通信)
多达一个多级控制局域网(MSCAN)模块(支持CAN2.0 A/B 协议)
在线片内稳压器(VREG)用于控制内部供给和内部电压
自动周期性中断(API)
固定电压基准精度参考ADC转换器。