ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:442.18KB ,
资源ID:9430700      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9430700.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MC9S12XS128中文资料.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

MC9S12XS128中文资料.docx

1、MC9S12XS128中文资料第一章 端口整合模块端口 A,B和K为通用I/O接口端口 E 整合了IRQ,XIRQ中断输入端口 T 整合了1个定时模块端口 S 整合了2个SCI模块和1个SPI模块端口 M 整合了1个MSCAN端口 P 整合了 PWM 模块,同时可用作外部中断源输入端口 H 和 J 为通用I/O接口,同时可用作外部中断源输入端口 AD 整合了1个16位通道ATD模块大部分I/O引脚可由相应的寄存器位来配置选择数据方向、驱动能力,使能上拉或下拉式装置。当用作通用IO口时,所有的端口都有数据寄存器和数据方向寄存器。对于端口T, S, M, P, H, 和 J 有基于每个针脚的上拉和

2、下拉控制寄存器。对于端口 AD 有基于每个针脚的上拉寄存器。对于端口A、B、E 和 K,有一个基于端口的上拉控制寄存器。对于端口T, S, M, P, H, J, 和 AD,有基于每个针脚的降额输出驱动控制寄存器。对于端口A, B, E, 和 K, 有一个基于端口的降额输出驱动控制寄存器。对于端口S、M,有漏极开路(线或)控制寄存器。对于端口P、H 和 J, 有基于每个针脚的中断标志寄存器。纯通用IO端口共计有41个,分别是:PA7:0PB7:0PE6:5PE3:2PK7,5:0PM7:6PH7:0 (带中断输入)PJ7:6 (带中断输入)PJ1:0 (带中断输入)第二章 脉冲宽度调制模块XS

3、128具有8位8通道的PWM,相邻的两个通道可以级联组成16位的通道。PWME:PWM通道使能寄存器。PWMEx=1将立即使能该通道PWM波形输出。若两个通道级联组成一个16位通道,则低位通道(通道数大的)的使能寄存器成为该级联通道的使能寄存器,高位通道(通道数小的)的使能寄存器和高位的波形输出是无效的。PWMPOL: PWM极性寄存器。PPOLx=1,则该通道的周期初始输出为高电平,达到占空比后变为低电平;相反,若PPOLx=0,则初始输出为低电平,达到占空比后变为高电平。PWMCLK: PWM时钟源选择寄存器。0、1、4、5通道,PCLKx=0使用Clock A,PCLKx=1使用Cloc

4、k SA;2、3、6、7通道,PCLKx=0使用Clock B,PCLKx=1使用Clock SB。 Clock A、Clock B由下面的PWMPRCLK设置。PWMPRCLK: PWM预分频时钟源选择寄存器。 控制Clock A、Clock B的值。PWMCAE:PWM中心对齐使能寄存器。CAEx=1,该通道为中心对齐;CAEx=0,该通道为左对齐。PWMCTL: PWM控制寄存器。CONxx=1,则相应的两个通道级联使用,否则单独使用。级联后,整个级联通道由低位通道(通道数大的)的各个寄存器控制,高位通道(通道数小的)不起作用。 级联模式下,向高位通道或低位通道计数器寄存器写值,等同于向

5、16位级联计数器寄存器写值,也即重置为0。PWMSCLA: PWM标度A寄存器。用于控制Clock SA的值,Clock SA = Clock A / (2 * PWMSCLA),当PWMSCLA=0x00时,相当于PWMSCLA=256。PWMSCLB: PWM标度B寄存器。用于控制Clock SB的值,Clock SB = Clock A / (2 * PWMSCLB),当PWMSCLB=0x00时,相当于PWMSCLB=256。PWMCNTx: PWM通道计数寄存器。每个通道都有一个独立的8位计数器,其计数速率由所选择的时钟源决定。计数器的值可以随时读取而不影响计数器运行,也不影响PWM

6、波形输出。在左对齐模式时,计数器从0计数至周期寄存器的值减1;在中心对齐模式,计数器从0计数至周期寄存器的值,然后再倒计数至0。向计数器写入任何值都将导致计数器复位至0、计数方向重置为向上。在有效周期末,计数器同样会被清零。只有当通道使能时计数器才进行计数。改变计数器的值应该在该通道禁止时进行。若某个通道正在执行PWM功能,使用PWMEx=0禁止该通道,则该通道的计数器将“冻结”,下次使能该通道时,计数器将接着上次停止的地方继续计数,而不是重新从0开始。若要开始一个新的PWM脉冲波形,则应在使能前写一次计数器。PWMPERx: PWM通道周期寄存器。 每个通道都有一个独立的8位周期寄存器,它的

7、值将间接决定该通道的PWM波形周期。该寄存器采用双缓冲器设计,即写入的新值不立即生效,直到本次有效周期结束或者计数器寄存器清零或者该通道被禁止。读该寄存器将返回最近一次写入的值(不一定是当前生效的值)。复位将重置值为0xFF。下面给出了如何由周期寄存器的值计算最终PWM输出波形的周期与频率:左对齐输出:(CAEx = 0)PWMx Period = Clock (A, B, SA, or SB) * PWMPERxPWMx Frequency = Clock (A, B, SA, or SB) / PWMPERx中心对齐输出:(CAEx=1)PWMx Period = Clock (A, B,

8、 SA, or SB) * (2 * PWMPERx)PWMx Frequency = Clock (A, B, SA, or SB) / (2 * PWMPERx)PWMDTYx:PWM占空寄存器。每个通道都有一个独立的8位占空寄存器,它的值将间接决定该通道的PWM波形占空比。该寄存器采用双缓冲器设计,即写入的新值不立即生效,直到本次有效周期结束或者计数器寄存器清零或者该通道被禁止。读该寄存器将返回最近一次写入的值(不一定是当前生效的值)。复位将重置值为0xFF。下面给出了如何由占空寄存器的值计算最终PWM输出波形的占空比:Polarity = 0 (PPOLx = 0)Duty Cycle

9、 = (PWMPERx - PWMDTYx) / PWMPERx * 100%Polarity = 1 (PPOLx = 1)Duty Cycle = PWMDTYx / PWMPERx * 100%PWMSDN:PWM紧急关断寄存器。参考程序:#include /* common defines and macros */#include derivative.h /* derivative-specific definitions */void PWMinitial() PWMPOL=0X01; /通道0输出波形开始极性为1 output waveform which high first

10、 then low when the duty counter is reached PWMCAE=0x00; /左对齐输出模式 output left align waveform PWMCLK=0X01; /PWM时钟源为 SAClock SA is the clock source for PWM channel 0 PWMPRCLK=0X03; /时钟A8分频 Clock A is 8MHz/8=1MHz PWMSCLA=0X80; /时钟SA为1MHz/128/2 Clock SA is 1MHz/128/2=4KHz PWMPER0=255; /设定输出周期=通道时钟周期*256

11、PWMDTY0=150; /占空比初始为0 Duty is 50%,and PWM waveforms frequent is 16 PWME=0X01; /通道0使能 enable pwm channel 0void main(void) PWMinitial(); EnableInterrupts; for(;) _FEED_COP(); /* feeds the dog */ 第三章 定时器模块基本的定时器模块由1个增强的可编程预分频器驱动的可编程计数器、8个输入捕捉/输出比较通道和1个脉冲累加器组成。定时器模块一共有8个引脚,其中脉冲累加器与第7号通道的引脚是共用的。TIOS:定时器输

12、入捕捉/输出比较选择寄存器。复位值为0x00。IOSx=0,相应通道行使输入捕捉,输入捕捉用来获取当外部事件发生时定时器计数器(TCNT)的值,当预期的触发事件输入到该通道上,定时器将把定时器计数器中的当前值传送到该通道的TCx寄存器中,然后置位TFLG1中的CxF标志位,若TIE中的CxI=1,则将触发该通道输入捕捉中断请求;而当IOSx=1,相应通道行使输出比较,输出比较用来在相应引脚上产生可定制周期、频率和极性的脉冲,当定时器计数器中的值步进至与该通道TCx中的预设值相等时,若OCPDx=0,定时器将置位、清零或者触发该通道的引脚,然后置位TFLG1中的CxF标志位,若TIE中的CxI=

13、1,则将触发钙通道输出比较中断请求。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

14、 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 compa

15、re action reflects the corresponding OC7D bit.OC7D:输出比较7数据寄存器。复位值为0x00。A channel 7 output compare can cause bits in the output compare 7 data register to transfer to the timer port data register depending on the output compare 7 mask register.TCNT:定时器计数寄存器。复位值为0x0000。这是一个16位的寄存器,注意要使用字访问,不要单独访问高位或低位

16、。该计数器向上计数至0xFFFF时将溢出至0x0000并触发定时器计数器溢出中断。向该寄存器写入值是无意义或无效的。TSCR1:定时器系统控制寄存器1。复位值为0x00。TEN为定时器使能位,置位将启动主定时器模块,清零将关闭。清零后不影响脉冲累加计数器模块在事件计数器模式单独工作。TFFCA为定时器所有标志位快速清零位,置位时将在访问某些寄存器时才清零TFLG1、TFLG2、PAFLG中的相应标志位;清零时将正常执行清零动作。该位默认是清零的。PRNT确定定时器预分频器分频比从何选择。PRNT=0,则预分频比由TSCR2中的PR0、PR1、PR2决定;若PRNT=1,则由PTPSR寄存器决定

17、。该寄存器在每次复位后只能写入一次。TTOV:定时器溢出时触发寄存器。该寄存器功能仅在相应通道行使输出比较功能时有效。当相应位置位并且定时器计数器溢出时,将优先于CFORC寄存器(除通道7以外)触发相应引脚。TCTL1/TCTL2:定时器控制寄存器1/2。这两个寄存器中,每两位确定一个输出比较通道在成功发生一次比较后采取何种输出动作,这两位分别是OMx、OLx。他们的组合有四种,对应四种动作方式。TCTL1控制47通道,TCTL2控制03通道。To operate the 16-bit pulse accumulator independently of input capture or ou

18、tput compare 7 and 0 respectively the user must set the corresponding bits IOSx = 1, OMx = 0 and OLx = 0. OC7M7 in the OC7M register must also be cleared.TCTL3/TCTL4:定时器控制寄存器3/4。这两个寄存器中,每两位确定一个输入捕捉通道的触发边缘类型,这两位分别是EDGxB、EDGxA。他们的组合有四种,对应四种触发方式。TCTL3控制47通道,TCTL4控制03通道。TIE:定时器输入捕捉/输出比较中断使能寄存器。CxI=1将在TF

19、LG1中的CxF=1时允许该通道的中断请求,否则将禁止相应通道的中断请求。TSCR2:定时器系统控制寄存器2。TOI=0,忽略定时器计数器TCNT溢出中断请求;TOI=1,允许定时器计数器TCNT溢出中断请求,当TOF被置位时将触发定时器溢出中断。TCRE位用来控制当通道7输出比较事件发生时是否重置TCNT,置位时使能。若TC7 = 0x0000且TCRE = 1, TCNT将一直处在0x0000,若TC7 = 0xFFFF且TCRE = 1, 当TCNT从0xFFFF重置为0x0000时TOF将永远不会被置位。PR2、PR1、PR0三位决定了定时器预分频比。TFLG1:定时器中断标志寄存器1

20、。若通道x发生输入捕捉/输出比较事件中断,则相应的CxF位被置位。注意:清除该位的方法是向该位写1置位。当TSCR中的TFFCA位置位时,读(写)该输入捕捉(输出比较)通道寄存器TCx,将会清除该通道的CxF标志位。TFLG2:定时器中断标志寄存器2。该寄存器只有一个第8位TOF,当定时器计数器(TCNT寄存器)从0xFFFF溢出至0x0000时置位。注意:清除该位的方法是向该位写1置位。当TSCR中的TFFCA位置位时,任何对TCNT寄存器的访问将清除TFLG2寄存器,也即清除TOF标志位。TCx:定时器输入捕捉/输出比较寄存器。这是由两个8位寄存器组成的16位寄存器,分别保存高字节和低字节

21、,使用字访问。根据TIOS寄存器对相应通道的设置,对于输入捕捉方式,当相应的输入捕捉边缘探测器探测到先前定义的转变时,寄存器将用来锁存此时自由运行计数器的值;对于输出比较方式,该寄存器的值将用来与TCNT的值比较,为输出比较触发一个输出动作。复位值0x0000。行使输出比较功能时,任何时间均可写入;行使输入捕捉功能时,任何时间的写入均是无意义且无效的。PACTL:脉冲累加器控制寄存器。PAEN脉冲累加器使能位。当脉冲累加器工作于事件计数器模式时,该位与TEN独立不受定时器模块是否使能的影响。PAMOD脉冲累加器工作模式位。PAMOD=0为事件计数器模式,PAMOD=1为电平时间累加模式。PED

22、GE脉冲累加触发边缘控制位:1.当PAMOD=0(即事件计数器模式),PEDGE=0为通道7下降沿触发PACNT寄存器增1,PEDGE=1为通道7上升沿触发PACNT寄存器增1.2.当PAMOD=1(即电平时间累加模式),PEDGE=0为当通道7高电平时触发PACNT寄存器计数自增,自增频率为BusClock64,紧接着的下降沿将置位PAIF标志位。PEDGE=1为当通道7低电平时触发PACNT寄存器计数自增,自增频率为BusClock64,紧接着的上升沿将置位PAIF标志位。CLK0、CLK1时钟选择位。该位将为定时器计数器选择计数时钟。默认值为CLK0=0、CLK1=0。PAOVI脉冲累加

23、器溢出中断使能位。置位时,若PAFLG中的PAVOF溢出标志位置位,将允许脉冲累加器溢出中断请求;清除时,将禁止脉冲累加器溢出中断请求。PAI脉冲累加器输入中断使能位。置位时,若PAFLG中的PAIF输入边缘标志位置位,将允许脉冲累加器输入中断请求;清除时,将禁止脉冲累加器输入中断请求。PAFLG:脉冲累加器标志寄存器。PAOVF脉冲累加器溢出标志位,当脉冲累加器计数器PACNT从0xFFFF溢出至0x0000时置位。写1清除该标志位。PAIF脉冲累加器输入边缘标志位,当通道7输入信号的边缘类型满足PAMOD位的预设边缘触发类型时置位。当TSCR2中的TFFCA位置位时,任何对PACNT寄存器

24、的访问将清除寄存器中所有标志位。PACNT:脉冲累加器计数器寄存器。 该寄存器为16位寄存器,需要使用字访问。在一个触发之后立即读该寄存器的值有可能丢失最近一个计数,因为其首先需要同总线时钟同步。OCPD:输出比较引脚断路寄存器。OCPDx=0,允许该通道上输出比较动作在该通道引脚上产生;OCPDx=1,禁止该通道上输出比较动作在该通道引脚上产生,但输出比较标志位仍然置位。PTPSR:精确定时器预分频器选择寄存器。若TSCR1中的PRNT=1,PTPSR的值将决定主定时器预分频比。参考实验程序:闪烁小灯使用开发板上的PortB口上的8个LED,利用定时器计数器定时中断点亮不同位置的LED。#i

25、nclude /* common defines and macros */#include derivative.h /* derivative-specific definitions */int counter;#pragma CODE_SEG NON_BANKED/*定时器计数器溢出中断处理服务函数*/void interrupt 16 TOI_ISR(void) TFLG2 = 0x80; counter+; switch (counter) case 1: PORTB = 0x7e; break; case 2: PORTB = 0xbd; break; case 3: PORTB

26、 = 0xdb; break; case 4: PORTB = 0xe7; break; case 5: PORTB = 0xe7; break; case 6: PORTB = 0xdb; break; case 7: PORTB = 0xbd; break; case 8: PORTB = 0x7e; break; #pragma CODE_SEG DEFAULTvoid main(void) TSCR1 = 0x80; /* enable timer TCNT */ TSCR2 = 0x85; /* TCNT prescaler setup */ counter = 0; DDRB =

27、0xff; /* PTB as output */ PORTB = 0xff; /* LEDs off */ EnableInterrupts; for (;) if (counter = 8) counter = 0; 第四章 模数转换器模块ATDCTL0:ATD控制寄存器0。写该寄存器将导致当前转换序列终止。当做多通道转换时,WRAPx3:0位选择转换哪一个通道后回绕(WRAP AROUND)到AN0通道。ATDCTL1:ATD控制寄存器1。写该寄存器将导致当前转换序列终止。 ETRIGSEL 外部触发源选择位。下表给出4种外部触发源与相应外部触发输入的关系。功能参见ETRIGCH3:0位

28、。默认清零。SRESx1:0 AD分辨率选择位,见下表。默认10-bit分辨率SMP_DIS 内部采样电容放电选择位。置位时使能,在每次采样之前将先对采样电容放电(会增加2个ATD时钟周期的采样时间)。默认清零。ETRIGCH3:0 外部触发通道选择位。当ETRIGSEL=1时,由这四位指定ETRIG3-0中的一个作为触发源;当ETRIGSEL=0时,由这四位指定一个AD通道作为触发源。默认值为1111,即由通道15作为默认触发源。ETRIGSEL和ETRIGCH3:0的组合见下表。ATDCTL2:ATD控制寄存器2。写该寄存器将导致当前转换序列终止。AFFC ATD快速标志位清除选择位。AF

29、FC=0,向CCFx写1将清除相应标志位;AFFC=1,若CMPEx=0,则对某个通道的结果寄存器的一次读取操作将导致相应的CCFx标志位清零,若CMPEx=1,则对某个通道的结果寄存器的一次写入操作将导致相应的CCFx标志位清零。ETRIGLE 外部触发源触发方式选择位。ETRIGLE=0,边缘触发;ETRIGLE=1电平触发。ETRIGP 外部触发源触发极性选择位。ETRIGP=0,下降沿或低电平触发;ETRIGP=1上升沿或高电平触发。ETRIGE 外部触发源模式使能选择位。ETRIGE=0,禁止外部触发模式;ETRIGE=1,使能外部触发模式,若所选择的外部触发源是某个AD通道,该通道

30、的数字输入缓冲器将被使能。ASCIE ATD转换序列完成中断使能标志位。ASCIE=0,禁止转换完成中断请求;ASCIE=1,当SCF被置位时将发出转换完成中断请求。ACMPIE ATD比较中断使能标志位。ACMPIE=0,禁止比较中断请求;ACMPIE=1,当某通道在转换序列中按顺序所对应的CMPE=1(对应的自动比较功能打开),如果此CMPE对应的CCF位被置位(即该通道发生一次成功的比较),该通道将发出比较中断请求。复位值0x00。ATDCTL3:ATD控制寄存器3。写该寄存器将导致当前转换序列终止。DJM 结果寄存器数据对齐位。DJM=0,左对齐结果寄存器数据;DJM=1,右对齐结果寄

31、存器数据。默认值为0,即左对齐。S8C, S4C, S2C, S1C 转换序列长度位。这四位一同控制每一次转换序列长度。复位后默认值0100,即默认转换长度为4。组合表见下。FIFO 结果寄存器FIFO模式控制位。FIFO=0,每个转换序列开始时,转换结果总是从ATDDR0结果寄存器开始存放(也即被使用的结果寄存器个数总是等于转换序列长度);FIFO=1,在结果寄存器中连续的存放转换结果(首尾相接队列,在尾端将发生回绕)。默认为0。ATDCTL4:ATD控制寄存器4。写该寄存器将导致当前转换序列终止。SMP2:0 采样时间选择位这3位选择采样时间长度,单位是ATD转换时钟周期。注意该ATD转换时钟周期是由此寄存器中的PRS4

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1