MC9S12超详细中文资料

所需积分/C币:41 2015-12-31 08:24:32 2.37MB PDF
7
收藏 收藏
举报

关于MC9S12超详细中文资料,涉及PWM模块开发,ECT、SCI、SPI,EEPROM、FLASH各个模块寄存器详细说明,每个模块给出了开发实例。并对开发环境有详细介绍
2.2控制寄存器3( ATDCTL3) 23控制寄存器4( ATDCTI4) 24控制寄存器5( ATDCTL5)… 第三节AD应用示例 74 3.1编程步骤…. 74 3.2AD程序示例一单通道查询 …174 3.3A/D程序示例一滤波 75 34AD程序示例定时采样. ∴…76 第六章 EEPROM模块 第·节 EEPROM模块介绍. …179 1 EEPROM功能 79 1.2 EEPRON结构 3 EEPROM特点 第二节 EEPROM寄存器简介 2.1时钟分频寄存器 ECLKDIV 80 22配置寄存器 ECNFO. 23保护寄存器 EPROT 24状态寄存器 ESTAT 2.5命令寄存器ECMD 第三节 EEPROM应用实例 3.1 EEPROM的写入操作 .85 32 EEPROM的擦除操作 .85 3.3 EEPROM示例程序. 第七章 FLASH模块 第一节HASH模块介绍.… 1.1 FLASH功能. 1.2 FLASH结构. “面B“面面自由“面面“面“B、自自 91 13 FLASH特点 第二节 FLASH寄存器简介… 92 21时钟分频寄存器 FCLKDIV 22配置寄存器 FCNFG… 23安全寄存器FSEC 24保护寄存器 FPROT 5 25状态寄存器 ESTAT状态寄存器 96 26命令寄存器FCMD… 98 第二节 FLASH应用实例 3.1 FLASH的写入操作… 3.2 FLASH的擦除操作… 3.3 FLASH的擦写操作注意事项.……. 34 FLASH示例程序 100 第八章 Code Warrior de12应用 ·“+·“··· 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、每·个通道都可以通过编程实现左对齐输出还是居中对齐输出。 本页已使用福昕阅读器进行编辑。 福昕软件(Q2005-2009,版权所有, 第一章PwMⅥ模块 仅供试用。 第二节PWM寄存器简介 21PWME寄存器 PWME奇存器每一位如图2所示: Bit 7 6 5 3 2 BitO Read: Write. PWME7 PWME6 PWME5 PWME4 PWME3 PWME2 PWME1PWMEO Reset 0 0 0 图2PWME寄存器 每一个PWM的输出通道都有一个使能位 PWMEX。它是用来启动和关闭波 形输出的。当任意的 PWMEX位置1,则相关的PWM输出通道就立刻可用。然 而实际的PWM波形的输出还取决于时钟源。 此寄存器在任何时间都是可读、可写的,复位时全置0。 用法:PWME7=1;7通道可对外输出波形。 PWME7-0;7通道不能对外输出波形。 注意:在通道使能后所输出的第一个波形可能是不规则的。当输出通道工作 在串联模式时( PWMCTL寄存器中的 CONXX位被设置),那么使能相应的16 位PWM输出通道是由 PWMEX的低电平位控制的(详情见 PWMCTL寄存器)。 22 PWMPOL寄存器 PWMPOL寄存器每一位如图3所小: Bit 7 6 2 Bit O Read PPOL7 PPOL6 PPO 5 PPOL4 PPOL3 PPOL2 PPOLT POLO Write Reset 0 0 图3 PWMPOL寄存器 何一个PWM输出通道的波形都可以选择是在高电平时翻转,还是在低电平 时翻转。此功能就是由 PWMPOL寄存器实现的。 此寄存器在任何时间都是可读、可写的,复位时全置0 用法: PWMPOL0=1:0通道对外输出波形先是高电平然后再变为低电平 本页已使用福昕阅读器进行编辑。 福昕软件(Q2005-2009,版权所有, 第一章PwMⅥ模块 仅供试用。 PWMPOL0=0;0通道对外输出波形先是低电平然后再变为高电平。 23 PWMCLK寄存器 PWMCLK寄存器每一位如图4所示 Bit 7 6 3 2 Bit o Read PCLK7 PCLKL6 PCLK5 PCLK4 PCLK3 PCLK2 PCLK1 PCLKO Write Reset: 0 0 0 0 图4 PWMCLK寄存器PWM时钟选择寄存器 每一个PWM输岀通道都有两个时钟可供选择(A、SAB、SB)。0、1、 4、5通道可选用A、SA时钟,2、3、6、7通道可选用B、SB通道。此奇存器 在任何时间都是可读、可写的,复位时仝置O。应当注意的是,如果当一个PWM 输出波形正在产生时,时钟改变,这时就会产生一个平头的或线形脉冲 此寄存器在任何时间都是可读、可写的,复位吋全置0。 用法:PCLK1=1:1通道的时钟源设为SA PCLK1=0 1通道的时钟源设为A。 24 PWMPRCLK寄存器 PWMPRCLK寄存器每位如图5所示: Bit 7 Bit 0 Read. 0 PCKB2 PCKB1 PCK BO 300 PCKA2 PCKAT PCKAO Write: Reset 0 Reserved or unimplemented 图5 PWMPRCLK寄存器 PWMPRCLK寄存器是单独用来给时钟源A、B进行预分频的。 PCKB2—PCKB0是对B时钟源进行预分频。PCKA2PCKA0是对A时钟 源进行预分频。这6位可以随时被读、被写。复位时置0。 其A时钟设置分频值如图6所示: 其B时钟设置分频值如图7所小 本页已使用福昕阅读器进行编辑。 福昕软件(Q2005-2009,版权所有, 第一章PwMⅥ模块 仅供试用。 PCKB2 PCKB1 PCKB0 alue of PCKA2 PCKA1 PCKAO Value of Clock B Clock a E 0000 0 E/2 0 E/4 0000 00110011 0101 E/2 E/4 E/8 E/8 0 E16 0 E/16 1111 0 E/32 E/32 0 E/64 1111 101 E/64 E!128 E/128 图6时钟A预分频选择值 图7时钟B预分频选择值 25 PWMCAE寄存器 PWMCAE寄存器每一位如图8所小: Bit 7 5 3 Bit o Read CAET CAE CAE5 CAEA CAE3 CAE CAET CAEO Write Reset. 0 图8 PWMCAE寄存器 PWMCAE寄存器包含8个控制位来对每个PWM通道设置左对齐输出或居 中对齐输出。如果CAEx置为1,则为居中对齐输出。如果置为0,则为左对齐 输出。应当注意的是,只有输岀通道被关闭后才能对其进行设詈,即通道被激活 后不能对其进行设置。 26 PWMCTL青存器 PWMCTL寄存器每一位如图9所示 Bit 7 2 Bit 0 Read 0 CON67 CON45 CON23 CON01 PSWAI PFRZ write Reset 0 0 0 0 0 0 图9 PWMCTL寄存器 此寄存器的2—7位为可读、可写位。只有当相应的通道关闭后,才能改变 这些控制字。 控制字介绍 第一章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一处于等待状态,就会停止时钟的输入。这样就不会 因时钟在空操作而费电。当它置为O,则MCU就是处于等待状态,也允许时钟 的输入 27 PWMSCLA寄存器 PWMSCLA寄存器每一位如图10所小 Address offset: $0008 Bit 7 2 Bit 0 Read Bit 7 6 Bit o Write Reset. 0 图10 PWMSCLA寄存器 时钟SA是通过对 PWMSCLA寄存器的设置来对A时钟进行分频而宀生的 其计算公式为: Clock Sa=Clock A/(2*PWMSCLA) PWMSCLB寄存器同 PWMSCLA寄存器相似,吋钟SB就是通过对 PWMSCLE寄存器的设置来对B时钟进行分频而产生的。 其计算公式为 Clock SB=Clock B /(2PWMSCLB) 28 PWMCNTX寄存器 PWMCNTX寄共有8个,每一个通道都有一个。下面以 PWMCNTO为 例对 PWMCNTX寄存器进行介绍。 第一章PwMⅥ模块 PWMCNT0寄存器每一位如图11所示: Address $000C PWMCNTO Read: Bit 7 Write 0 60 2 Bit 0 400 300 0 0 Reset: 0 0 0 0 图11 PWMCNTO寄存器 计数器以所选时钟源的频率运行。计数器在任何时候都可以被读,而不影响 计数,也不影响对PwM通道的操作。 任何值写入 PWMCNTI0寄存器都会导致计数器复位置0,且其计数方向会 被设冒为向上计数,并且会立刻从缓冲器载入任务和周期值,并会根据翻转极性 的设置来改变输出。当计数器达到计数值后,会自动清零。只有当通道使能后, 计数器才开始计数。此寄存器随时都可以对其进行读、写操作。 29 PWMPERX寄存器 PWMPERX寄存器共有8个,每一个通道都有一个这样的周期寄存器。这个 寄存器的值就决定了相关PWM通道的周期。每一个通道的周期寄存器都是双缓 沖的,因此如果当通道使能后,改变他们的值,将不会发生任何作用,除非当下 列情况之一发生 *有效的周期结束。 *对计数器进行写操作(计数器复位成0)。 *通道不可用( PWMEX=0)。 这样就会使PWM输出波形要么是新波形要么是旧波形,并不会在两者之间 进行交替变换。如果通道不可用,那么对周期寄存器进行写操作,将会直接导致 周期寄存器同缓冲器一起闭锁。图12所示的是 PWMPER0寄存器。 Address $000c PWMCNTO Read: Bit 7 6 Bit 0 Write 0 0 500 0 0 200 0 0 Reset: 0 0 图12 PWMPER0奇器。 周期的计算方法 1)当CAEx0吋,即进行左线性输出时 PWMx周期=通道时钟周期* PWMPERX 2)当CAEx-1时,即进行居中对齐输出时: 第一章PwMⅥ模块 PWMx周期=通道时钟周期*(2* PWMPERX) 2.10 PWMDTYX寄存器 PWMDTYX寄存器也有8个,每一个通道都有一个这样的占空比常数寄存 器。这个寄存器的值就决定了相关PWM通道输出波形的占空比。每一个通道的 占空比寄存器都是双缓冲的,因此如果当通道被激活后,改变他们的值,将不会 发生任何作用,除非当下列情况之一发生: 有效的周期结束。 *对计数器进行写操作(计数器复位成0) *通道没有被激活( PWMEX=0)。 这样就会使PWM输出波形要么是新波形要么是旧波形,并不会在两者之间 进行交替变换。如果通道没有被激活,那么对占空比常数寄存器进行写操作,将 会自接导致周期寄存器同缓冲器一起闭锁。 当计数值与占空比常数 PWMDTY相等时,则比较输出器有效,这时就会将 触发器置位,然后 PWMCNT继续计数,当计数值与周期常数 PWMPER相等时, 比较器输出冇效,将触发器复位,同吋也使 PWMCNT复位,结東个输岀周期。 占空比的计算方法: 当PPOL=0时: 占空比-[( PWMPERX-PWMDTYX/ PWMPERX]*100% PPOL1时: 占空比= PWMDTYX/ PWMPERX)*1009

...展开详情
试读 117P MC9S12超详细中文资料
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
  • 分享达人

关注 私信
上传资源赚钱or赚积分
最新推荐
MC9S12超详细中文资料 41积分/C币 立即下载
1/117
MC9S12超详细中文资料第1页
MC9S12超详细中文资料第2页
MC9S12超详细中文资料第3页
MC9S12超详细中文资料第4页
MC9S12超详细中文资料第5页
MC9S12超详细中文资料第6页
MC9S12超详细中文资料第7页
MC9S12超详细中文资料第8页
MC9S12超详细中文资料第9页
MC9S12超详细中文资料第10页
MC9S12超详细中文资料第11页
MC9S12超详细中文资料第12页
MC9S12超详细中文资料第13页
MC9S12超详细中文资料第14页
MC9S12超详细中文资料第15页
MC9S12超详细中文资料第16页
MC9S12超详细中文资料第17页
MC9S12超详细中文资料第18页
MC9S12超详细中文资料第19页
MC9S12超详细中文资料第20页

试读结束, 可继续阅读

41积分/C币 立即下载 >