目录
目录 .................................................................................................................................................. I
第一章 PWM模块...........................................................................................................................1
第一节 P WM模块介绍 .........................................................................................................1
第二节 P WM寄存器简介 .....................................................................................................2
2.1 PWME寄存器........................................................................................................2
2.2 PWMPOL寄存器...................................................................................................2
2.3 PWMCLK寄存器 ..................................................................................................3
2.4 PWMPRCLK寄存器 .............................................................................................3
2.5 PWMCAE寄存器 ..................................................................................................4
2.6 PWMCTL寄存器...................................................................................................4
2.7 PWMSCLA寄存器................................................................................................5
2.8 PWMCNTx寄存器 ................................................................................................5
2.9 PWMPERx寄存器.................................................................................................6
2.10 PWMDTYx寄存器................................................................................................7
第三节 P WM应用实例 .........................................................................................................8
3.1 周期和占空比计算举例..........................................................................................8
3.2 PWM初始化步骤总结 ............................................................................................9
3.3 PWM应用实例 ........................................................................................................9
第二章 ECT模块...........................................................................................................................12
第一节 E CT模块介绍 .........................................................................................................12
1.1 简述..........................................................................................................................12
1.2 特征..........................................................................................................................12
1.3 运行模式..................................................................................................................12
1.4 ECT的组成与工作模式 ...........................................................................................13
1.5 ECT的工作过程与设置 ...........................................................................................15
第二节 E CT寄存器简介 .....................................................................................................19
2.1 IC/OC选择寄存器(TIOS).................................................................................19
2.2 输出比较通道 7 屏蔽寄存器(OC7M) ................................................................20
2.3 输出比较通道 7 数据寄存器(OC7D).................................................................20
2.4 定时器核心寄存器(TCNT).................................................................................21
2.5 计时器系统控制寄存器 1(TSCR1)...............................................................21
2.6 计时器溢出绑定寄存器 1(TTOV) ................................................................22
2.7 控制寄存器(TCTLl-TCTL4) .........................................................................23
2.8 计时器中断使能寄存器(TIE)........................................................................24
2.9 计时器系统控制寄存器 2(TSCR2) ....................................................................24
2.10 主定时器中断标志寄存器(TFLG1、TFLG2) ...................................................25
2.11 IC/OC寄存器(TC0-TC7)..................................................................................26
2.12 脉冲累加器A控制寄存器(PACTL)....................................................................27
2.13 脉冲累加器A标志寄存器(PAFLG)....................................................................28
2.14 脉冲累加寄存器(PACN3、PACN2、PACN1、PACN0).................................29
I
2.15 模数递减计数器控制寄存器(MCCTL)..............................................................30
2.16 输入脉冲累加器控制寄存器(ICPAR) ...............................................................31
2.17 输入覆盖控制寄存器(ICOVW)..........................................................................31
2.18 输入系统控制寄存器(ICSYS)............................................................................32
2.19 脉冲累加器B控制寄存器(PBCTL) ....................................................................33
2.20 脉冲累加器B标志寄存器(PBFLG) ....................................................................34
2.21 脉冲累加器保持寄存器(PA3H-PA0H).........................................................34
2.22 模数递减计数器工作寄存器(MCCNT) .............................................................35
2.23 IC保持寄存器(TC0H-TC3H).........................................................................35
第三节 E CT应用实例 .........................................................................................................37
3.1 定时器编程步骤....................................................................................................37
3.2 输入捕捉IC:........................................................................................................37
3.3 通道 6 输出比较....................................................................................................38
3.4 通道 7 输出比较....................................................................................................39
3.5 模数递减计数器....................................................................................................40
第三章 SCI模块 ............................................................................................................................42
第一节 S CI寄存器简介 ......................................................................................................42
1.1 波特率控制寄存器(SCIBDH、SCIBDL) ............................................................42
1.2 控制寄存器 1(SCICR1).........................................................................................43
1.3 控制寄存器 2(SCICR2).........................................................................................44
1.4 状态寄存器 1(SCISR1)....................................................................................45
1.5 状态寄存器 2(SCISR2).........................................................................................47
1.6 数据寄存器(SCIDRH、SCIDRL) ........................................................................47
第二节 S CI应用示例 ..........................................................................................................48
第四章 SPI模块.............................................................................................................................53
第一节 SPI模块介绍...........................................................................................................53
1.1 SPI的功能特点......................................................................................................53
1.2 SPl的组成与工作设置 ..........................................................................................54
第二节 SPI寄存器简介.......................................................................................................60
2.1 SPI控制寄存器 1(SPICR1) ...................................................................................60
2.2 SPI控制寄存器 2(SPICR2) ...................................................................................62
2.3 SPI波特率选择寄存器..........................................................................................62
2.4 SPI状态寄存器......................................................................................................63
2.5 SPI数据寄存器......................................................................................................64
第三节 SPI应用实例...........................................................................................................64
第五章 A/D转换模块....................................................................................................................67
第一节 A /D模块介绍..........................................................................................................67
1.1 A/D转换原理.........................................................................................................67
1.2 A/D转换原理的应用前景.....................................................................................67
1.3 A/D转换模块.........................................................................................................67
1.4 功能结构图............................................................................................................68
1.5 HCS12A/D特点 .....................................................................................................68
第二节 A /D寄存器简介......................................................................................................69
2.1 控制寄存器 2(ATDCTL2)...............................................................................69
II
2.2 控制寄存器 3(ATDCTL3)...............................................................................71
2.3 控制寄存器 4(ATDCTL4)...............................................................................71
2.4 控制寄存器 5(ATDCTL5)...............................................................................73
第三节 A /D应用示例..........................................................................................................74
3.1 编程步骤................................................................................................................74
3.2 A/D程序示例—单通道查询.................................................................................74
3.3 A/D程序示例—滤波.............................................................................................75
3.4 A/D程序示例—定时采样.....................................................................................76
第六章 EEPROM模块 ..................................................................................................................79
第一节 EEPROM模块介绍.................................................................................................79
1.1 EEPROM功能 .......................................................................................................79
1.2 EEPROM结构 .......................................................................................................79
1.3 EEPROM特点 .......................................................................................................80
第二节 EEPROM寄存器简介.............................................................................................80
2.1 时钟分频寄存器ECLKDIV ..................................................................................80
2.2 配置寄存器ECNFG...............................................................................................81
2.3 保护寄存器EPROT ...............................................................................................81
2.4 状态寄存器ESTAT ...............................................................................................82
2.5 命令寄存器ECMD ................................................................................................84
第三节 EEPROM应用实例.................................................................................................85
3.1 EEPROM的写入操作............................................................................................85
3.2 EEPROM的擦除操作............................................................................................85
3.3 EEPROM示例程序................................................................................................86
第七章 FLASH模块......................................................................................................................91
第一节 F LASH模块介绍 ....................................................................................................91
1.1 FLASH功能...........................................................................................................91
1.2 FLASH结构...........................................................................................................91
1.3 FLASH特点...........................................................................................................92
第二节 F LASH寄存器简介 ................................................................................................92
2.1 时钟分频寄存器FCLKDIV ....................................................................................93
2.2 配置寄存器 FCNFG...............................................................................................94
2.3 安全寄存器 FSEC ..................................................................................................94
2.4 保护寄存器 FPROT ...............................................................................................95
2.5 状态寄存器 FSTAT 状态寄存器..........................................................................96
2.6 命令寄存器 FCMD ................................................................................................98
第三节 F LASH应用实例 ....................................................................................................98
3.1 FLASH的写入操作 ...............................................................................................98
3.2 FLASH的擦除操作 ...............................................................................................99
3.3 FLASH的擦写操作注意事项 .............................................................................100
3.4 FLASH示例程序 .................................................................................................100
第八章 CodeWarrior IDE 12 应用 ..............................................................................................103
III
第一章 PWM 模块
第一章 PWM模块
第一节 PWM模块介绍
PWM 调制波有 8 个输出通道,每一个输出通道都可以独立的进行输出。每
一个输出通道都有一个精确的计数器(计算脉冲的个数),一个周期控制寄存器
和两个可供选择的时钟源。每一个 PWM 输出通道都能调制出占空比从 0—100%
变化的波形。
PWM 的主要特点有:
1、它有 8 个独立的输出通道,并且通过编程可控制其输出波形的周期。
2、每一个输出通道都有一个精确的计数器。
3、每一个通道的 PWM 输出使能都可以由编程来控制。
4、PWM 输出波形的翻转控制可以通过编程来实现。
5、周期和脉宽可以被双缓冲。当通道关闭或 PWM 计数器为 0 时,改变周
期和脉宽才起作用。
6、8 字节或 16 字节的通道协议。
7、有 4 个时钟源可供选择(A、SA、B、SB),他们提供了一个宽范围的时
钟频率。
8、通过编程可以实现希望的时钟周期。
9、具有遇到紧急情况关闭程序的功能。
10、每一个通道都可以通过编程实现左对齐输出还是居中对齐输出。
1
第一章 PWM 模块
第二节 PWM寄存器简介
2.1 PWME寄存器
PWME 寄存器每一位如图 2 所示:
图 2 PWME 寄存器
每一个 PWM 的输出通道都有一个使能位 PWMEx。它是用来启动和关闭波
形输出的。当任意的 PWMEx 位置 1,则相关的 PWM 输出通道就立刻可用。然
而实际的 PWM 波形的输出还取决于时钟源。
此寄存器在任何时间都是可读、可写的,复位时全置 0。
用法: PWME7=1; 7通道可对外输出波形。
PWME7=0; 7通道不能对外输出波形。
注意:在通道使能后所输出的第一个波形可能是不规则的。当输出通道工作
在串联模式时(PWMCTL 寄存器中的 CONxx 位被设置),那么使能相应的 16
位 PWM 输出通道是由 PWMEx 的低电平位控制的(详情见 PWMCTL 寄存器)。
2.2 PWMPOL寄存器
PWMPOL 寄存器每一位如图 3 所示:
图 3 PWMPOL 寄存器
每一个 PWM 输出通道的波形都可以选择是在高电平时翻转,还是在低电平
时翻转。此功能就是由 PWMPOL 寄存器实现的。
此寄存器在任何时间都是可读、可写的,复位时全置 0。
用法: PWMPOL0=1; 0通道对外输出波形先是高电平然后再变为低电平。
2
第一章 PWM 模块
PWMPOL0=0; 0通道对外输出波形先是低电平然后再变为高电平。
2.3 PWMCLK寄存器
PWMCLK 寄存器每一位如图 4 所示:
图 4 PWMCLK 寄存器
每一个 PWM 输出通道都有两个时钟可供选择(A、SA 或 B、SB)。0、1、
4、5 通道可选用 A、SA 时钟,2、3、6、7 通道可选用 B、SB 通道。此寄存器
在任何时间都是可读、可写的,复位时全置 0。应当注意的是,如果当一个 PWM
输出波形正在产生时,时钟改变,这时就会产生一个平头的或线形脉冲。
此寄存器在任何时间都是可读、可写的,复位时全置 0。
用法:
PCLK1=1; 1通道的时钟源设为 SA。
PCLK1=0; 1通道的时钟源设为 A。
2.4 PWMPRCLK寄存器
PWMPRCLK 寄存器每一位如图 5 所示:
图 5 PWMPRCLK 寄存器
PWMPRCLK 寄存器是单独用来给时钟源 A、B 进行预分频的。
PCKB2—PCKB0 是对 B 时钟源进行预分频。PCKA2 —PCKA0 是对 A 时钟
源进行预分频。这 6 位可以随时被读、被写。复位时置 0。
其 A 时钟设置分频值如图 6 所示:
其 B 时钟设置分频值如图 7 所示:
3
第一章 PWM 模块
图 6 时钟 A 预分频选择值 图 7 时钟 B 预分频选择值
2.5 PWMCAE寄存器
PWMCAE 寄存器每一位如图 8 所示:
图 8 PWMCAE 寄存器
PWMCAE 寄存器包含 8 个控制位来对每个 PWM 通道设置左对齐输出或居
中对齐输出。如果 CAEx 置为 1,则为居中对齐输出。如果置为 0,则为左对齐
输出。应当注意的是,只有输出通道被关闭后才能对其进行设置,即通道被激活
后不能对其进行设置。
2.6 PWMCTL寄存器
PWMCTL 寄存器每一位如图 9 所示:
图 9 PWMCTL 寄存器
此寄存器的 2—7 位为可读、可写位。只有当相应的通道关闭后,才能改变
这些控制字。
控制字介绍:
4
第一章 PWM 模块
CON67=1;这时通道 6、7 就串联为同一个输出通道。此时只有 7 通道的控
制字有用。例如:7 通道的 PWME 寄存器决定了他们的输出情况,7 通道的
PWMPOL 寄存器决定了他们是高电平翻转还是低电平翻转,7 通道的 PWMCLK
寄存器决定了他们两个的时钟源,7 通道的 PWMCAE 寄存器决定了他们是左对
齐输出还是居中对齐输出等。
CON67=0 ;这时 6,7 通道分别作为独立输出通道对外输出。
CON45、CON23、CON01 的用法同 CON67 相似。设置此控制字的意义在
于扩大了 PWM 对外输出脉冲的频率范围。
PSWAI=1;则 MCU 一旦处于等待状态,就会停止时钟的输入。这样就不会
因时钟在空操作而费电。当它置为 0,则 MCU 就是处于等待状态,也允许时钟
的输入。
2.7 PWMSCLA寄存器
PWMSCLA 寄存器每一位如图 10 所示:
图 10 PWMSCLA 寄存器
时钟 SA 是通过对 PWMSCLA 寄存器的设置来对 A 时钟进行分频而产生的。
其计算公式为:
Clock SA=Clock A /(2*PWMSCLA)
PWMSCLB 寄 存 器 同 PWMSCLA 寄 存 器 相 似 , 时 钟 SB 就 是 通 过 对
PWMSCLB 寄存器的设置来对 B 时钟进行分频而产生的。
其计算公式为:
Clock SB=Clock B /(2*PWMSCLB)
2.8 PWMCNTx寄存器
PWMCNTx 寄存器共有 8 个,每一个通道都有一个。下面以 PWMCNT0 为
例对 PWMCNTx 寄存器进行介绍。
5