MC9S12XS128单片机复习课程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
void PWM_Init() {
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)组成。
ECT初Байду номын сангаас化
极速挑战中使用了输入捕获(IC)通道,下面介绍IC通道的 初始化。
1. 端口设置成输入捕获模式: 寄存器TIOS,并使TIOS = 0x00;
2.外部触发,AD中断允许; 寄存器为:ATD0CTL2
3.数据对齐方式,采样序列长度 寄存器为:ATD0CTL3
4.采样时间选择位,AD时钟选择; 寄存器为:ATD0CTL4
5.采样通道选择,单/多次采样选择位 寄存器为:ATD0CTL5
AD初始化实例
void ATD_Init(void) {
ATD0CTL1 = 0x20;//内部触发允许、A/D转换精度 ATD0CTL2 = 0x62;//禁止外部触发,快速清零,AD中断允许 ATD0CTL3 = 0x80;//数据对齐方式,采样序列长度 ATD0CTL4 = 0x92;//采样时间选择位,AD时钟选择 ATD0CTL5 = 0x30;//采样通道选择,单/多次采样选择位 ATD0DIEN = 0x00;//禁止数字输入 }
2.设定自由计数器溢出中断及分频系数 寄存器TSCR2,没特殊要求可以不设置。
3.使能自由计数器: 寄存器为TSCR1,使TSCR1=0x09;
4.设置捕获上升沿、下降沿或上升下降沿。 寄存器TCTL3、TCTL4;
5.打开输入捕获中断使能 寄存器:TIE
ECT初始化程序:
以0通道为例:
void ECT_Init(void)
when the duty counter is reached PWMCAE = 0x00; //左对齐输出模式 output left align wavefor PWMSCLA = 0x05; //Clock SA is CLOCKA/(2*PWMSCLA) PWMSCLB = 0x05;
//Clock SB is CLOCKB/(2*PWMSCLB) PWMPER45 = 10000; //设定输出周期=通道时钟周期*10000 PWMDTY45 = 5000;//占空比=[(PWMDTY01+1)/(PWMPER01+1)]*100% PWME = 0xff; //使能PWM }
4.选择对齐模式 Select center or left aligned mode 寄存器为:PWMCAE
5.对占空比和周期编程 Program duty cycle and period 寄存器为:PWMDTYx, PWMPERx
6.使能 PWM 通道 Enable used PWM channels 寄存器为:PWME
ADC模块
ADC:电路里面的模拟信号转换为数字信号的转换 器;
特点: ➢ AD时钟频率满足500KHz~2MHz; ➢ 16通道模数转换器; ➢ 8位数字量,10位数字量,12位数字量转换,最
短时间3us; ➢ 外部触发控制; ➢ 可选择单次转换模式或连续转换模式;
AD初始化总结步骤:
1. 内部触发,A/D转换精度; 寄存器为:ATD0CTL1
{ TIE = 0x00; //通道0~7的使能屏蔽 TIOS = 0x00; // 所有的端口设置成输入捕获模式 TSCR1 = 0x90; // 使能时钟模块,定时器标志位 快速清零,读取数据自动清零 TCTL4_EDG0B = 0; TCTL4_EDG0A = 1; //捕捉 上升沿,0通道 TIE_C0I = 1; // 使能0通道中断,中断服务程序中 读取捕获数
PWM初始化步骤总结:
7.设定PWM周期 PWM Channel Period Registers 寄存器为:PWMPERx;
8.设定占空比 PWM Channel Duty Registers 寄存器为:PWMDTYx;
9.使能PWM Enable PWM 寄存器为:PWME;
PWM初始化实例:
SPI; ➢ CRG时钟和复位发生器:锁相环、看门狗、实时中断; ➢ 增强型捕捉定时器; ➢ I2C总线; ➢ CAN总线:3个1Mbps的CAN总线,兼容CAN2.0 A/B; ➢ 背景调试模式(BDM); ➢ 封装:LQFP-112和LQFP-80;
极速挑战用到的单片机模块
ADC模块 PWM模块 ECT捕获
PWM模块 特点:
1. 它有 8 个独立的输出通道,并且通过编程可控 制其输出波形的周期。
2. 每一个输出通道都有一个精确的计数器。
3. 每一个通道的 PWM 输出使能都可以由编程来控 制。
4. PWM 输出波形的翻转控制可以通过编程来实现 。
5. 周期和脉宽可以被双缓冲。当通道关闭或 PWM 计数器为 0 时,改变周期和脉宽才起作用。
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)组成。
ECT初Байду номын сангаас化
极速挑战中使用了输入捕获(IC)通道,下面介绍IC通道的 初始化。
1. 端口设置成输入捕获模式: 寄存器TIOS,并使TIOS = 0x00;
2.外部触发,AD中断允许; 寄存器为:ATD0CTL2
3.数据对齐方式,采样序列长度 寄存器为:ATD0CTL3
4.采样时间选择位,AD时钟选择; 寄存器为:ATD0CTL4
5.采样通道选择,单/多次采样选择位 寄存器为:ATD0CTL5
AD初始化实例
void ATD_Init(void) {
ATD0CTL1 = 0x20;//内部触发允许、A/D转换精度 ATD0CTL2 = 0x62;//禁止外部触发,快速清零,AD中断允许 ATD0CTL3 = 0x80;//数据对齐方式,采样序列长度 ATD0CTL4 = 0x92;//采样时间选择位,AD时钟选择 ATD0CTL5 = 0x30;//采样通道选择,单/多次采样选择位 ATD0DIEN = 0x00;//禁止数字输入 }
2.设定自由计数器溢出中断及分频系数 寄存器TSCR2,没特殊要求可以不设置。
3.使能自由计数器: 寄存器为TSCR1,使TSCR1=0x09;
4.设置捕获上升沿、下降沿或上升下降沿。 寄存器TCTL3、TCTL4;
5.打开输入捕获中断使能 寄存器:TIE
ECT初始化程序:
以0通道为例:
void ECT_Init(void)
when the duty counter is reached PWMCAE = 0x00; //左对齐输出模式 output left align wavefor PWMSCLA = 0x05; //Clock SA is CLOCKA/(2*PWMSCLA) PWMSCLB = 0x05;
//Clock SB is CLOCKB/(2*PWMSCLB) PWMPER45 = 10000; //设定输出周期=通道时钟周期*10000 PWMDTY45 = 5000;//占空比=[(PWMDTY01+1)/(PWMPER01+1)]*100% PWME = 0xff; //使能PWM }
4.选择对齐模式 Select center or left aligned mode 寄存器为:PWMCAE
5.对占空比和周期编程 Program duty cycle and period 寄存器为:PWMDTYx, PWMPERx
6.使能 PWM 通道 Enable used PWM channels 寄存器为:PWME
ADC模块
ADC:电路里面的模拟信号转换为数字信号的转换 器;
特点: ➢ AD时钟频率满足500KHz~2MHz; ➢ 16通道模数转换器; ➢ 8位数字量,10位数字量,12位数字量转换,最
短时间3us; ➢ 外部触发控制; ➢ 可选择单次转换模式或连续转换模式;
AD初始化总结步骤:
1. 内部触发,A/D转换精度; 寄存器为:ATD0CTL1
{ TIE = 0x00; //通道0~7的使能屏蔽 TIOS = 0x00; // 所有的端口设置成输入捕获模式 TSCR1 = 0x90; // 使能时钟模块,定时器标志位 快速清零,读取数据自动清零 TCTL4_EDG0B = 0; TCTL4_EDG0A = 1; //捕捉 上升沿,0通道 TIE_C0I = 1; // 使能0通道中断,中断服务程序中 读取捕获数
PWM初始化步骤总结:
7.设定PWM周期 PWM Channel Period Registers 寄存器为:PWMPERx;
8.设定占空比 PWM Channel Duty Registers 寄存器为:PWMDTYx;
9.使能PWM Enable PWM 寄存器为:PWME;
PWM初始化实例:
SPI; ➢ CRG时钟和复位发生器:锁相环、看门狗、实时中断; ➢ 增强型捕捉定时器; ➢ I2C总线; ➢ CAN总线:3个1Mbps的CAN总线,兼容CAN2.0 A/B; ➢ 背景调试模式(BDM); ➢ 封装:LQFP-112和LQFP-80;
极速挑战用到的单片机模块
ADC模块 PWM模块 ECT捕获
PWM模块 特点:
1. 它有 8 个独立的输出通道,并且通过编程可控 制其输出波形的周期。
2. 每一个输出通道都有一个精确的计数器。
3. 每一个通道的 PWM 输出使能都可以由编程来控 制。
4. PWM 输出波形的翻转控制可以通过编程来实现 。
5. 周期和脉宽可以被双缓冲。当通道关闭或 PWM 计数器为 0 时,改变周期和脉宽才起作用。