飞思卡尔XS12芯片资源介绍课件

上传人:痛*** 文档编号:241832893 上传时间:2024-07-28 格式:PPT 页数:48 大小:782.50KB
返回 下载 相关 举报
飞思卡尔XS12芯片资源介绍课件_第1页
第1页 / 共48页
飞思卡尔XS12芯片资源介绍课件_第2页
第2页 / 共48页
飞思卡尔XS12芯片资源介绍课件_第3页
第3页 / 共48页
点击查看更多>>
资源描述
飞思卡尔智能汽车竞赛之S12资源介绍7/28/2024XS128与DG128的区别属性XS128DG128CPU.16位CPU12XV2.16位CPU12总线速度.40MHz.25MHz时钟.增强型锁相环(PLL).锁相环(PLL)调试.BDM(支持对整页的访问).BDG模块可检测CPU.BDM(单线背景调试)中断嵌套.8级中断嵌套.标准中断嵌套系统保护机制.低电压检测/中断.错误校正码.低电压检测/中断7/28/2024谐振器.XOSC电路增强了动态控制输出幅度的能力.低功耗和强抗噪.节省外围器件.无模数转换器(ADC).8/10/12位精度,转换时间低于2.12微秒.8/10位精度,7微秒转换时间定时器.增强型捕捉定时器(ECT).定时器(TIM).周期性中断定时器(PIT).增强型捕捉定时器(ECT).定时器(TIM)其它2个CAN总线模块i2c模块模糊指令的硬件支持MDC模数递减计数器3个CAN总线模块7/28/2024S12常用资源简介vPWMvTIMER/PITvADCvSCIvPLL7/28/2024章节一、PWMvPWM调制波有8个输出通道,每一个输出通道都可以独立的进行输出。每一个输出通道都有一个精确的计数器(计算脉冲的个数),一个周期控制寄存器和两个可供选择的时钟源。每一个PWM输出通道都能调制出占空比从0100%变化的波形。主要特点:主要特点:v1、它有8个独立的输出通道,并且通过编程可控制其输出波形的周期。v2、每一个输出通道都有一个精确的计数器。v3、每一个通道的PWM输出使能都可以由编程来控制。v4、PWM输出波形的翻转控制可以通过编程来实现。7/28/2024v5、周期和脉宽可以被双缓冲。当通道关闭或PWM计数器为0时,改变周期和脉宽才起作用。v6、8字节或16字节的通道协议。v7、有4个时钟源可供选择(A、SA、B、SB),他们提供了一个宽范围的时钟频率。v8、通过编程可以实现希望的时钟周期。v9、具有遇到紧急情况关闭程序的功能。v10、每一个通道都可以通过编程实现左对齐输出还是居中对齐输出。7/28/2024PWM常用寄存器使用v1、PWM启动寄存器PWMEPWME寄存器复位默认值:00000000B每一个PWM的输出通道都有一个使能位PWMEx。它相当于一个开关,用来启动和关闭相应通道的PWM波形输出。当任意的PWMEx位置1,则相关的PWM输出通道就立刻可用。用法用法:PWME7=1-通道7可对外输出波形PWME7=0-通道7不能对外输出波形注意注意:在通道使能后所输出的第一个波形可能是不规则的。当输出通道工作在串联模式时(PWMCTL寄存器中的CONxx置1),那么)使能相应的16位PWM输出通道是由PWMEx的高位控制的,例如:设置PWMCTL_CON01=1,通道0、1级联,形成一个16位PWM通道,由通道1的使能位控制PWM的输出。7/28/2024v2、PWM时钟选择寄存器PWMCLKPWMCLK寄存器复位默认值:00000000BS12的PWM共有四个时钟源,每一个PWM输出通道都有两个时钟可供选择(ClockA、ClockSA或ClockB、ClockSB)。其中0、1、4、5通道可选用ClockA和ClockSA,2、3、6、7通道可选用ClockB、ClockSB通道。该寄存器用来实现几个通道时钟源的选择。用法用法:PCLK0=1-通道0(PTP0)的时钟源设为ClockSAPCLK2=0-通道2(PTP2)的时钟源设为ClockB7/28/2024v3、PWM预分频寄存器PWMPRCLKPWMPRCLK寄存器复位默认值:00000000BPWMPRCLK寄存器包括ClockA预分频和ClockB预分频的控制位。ClockA、ClockB的值为总线时钟的1/2n(0n7)7/28/2024v4、PWM分频寄存器PWMSCLA、PWMSCLBClockSA是通过对PWMSCLA寄存器的设置来对ClockA进行分频而产生的。其计算公式为:ClockSA=ClockA/(2*PWMSCLA)PWMSCLB寄存器与PWMSCLA寄存器相似,ClockSB就是通过对PWMSCLB寄存器的设置来对ClockB进行分频而产生的。其计算公式为:ClockSB=ClockB/(2*PWMSCLB)7/28/2024v5、PWM极性选择寄存器PWMPOL该寄存器是07通道PWM输出起始极性控制位,用来设置PWM输出的起始电平。用法用法:PWMPOL_PPOL0=1-通道0在周期开始时输出为高电平,当计数器等于占空比寄存器的值时,输出为低电平。对外输出波形先是高电平然后再变为低电平。7/28/2024v6、PWM波形对齐寄存器PWMCAEPWMCAE寄存器包含8个控制位来对每个PWM通道设置左对齐输出或中心对齐输出。用法用法:PWMCAE_CAE0=1-通道0中心对齐输出PWMCAE_CAE7=0-通道7左对齐输出注意:注意:只有输出通道被关闭后才能对其进行设置,即通道被激活后不能对其进行设置。7/28/2024v7、PWM控制寄存器PWMCTL 用法用法:PWMCTLCON67=1-通道6、7级联成一个16位的PWM通道。此时只有7通道的控制字起作用,原通道7的使能位、PWM输出极性选择位、时钟选择控制位以及对齐方式选择位用来设置级联后的PWM输出特性PWMCTLCON67=0-通道6,7通道不级联CON45、CON23、CON01的用法同CON67相似。设置此控制字的意义在于扩大了PWM对外输出脉冲的频率范围。PSWAI=1-MCU一旦处于等待状态,就会停止时钟的输入。这样就不会因时钟在空操作而费电;当它置为0,则MCU就是处于等待状态,也允许时钟的输入。PFRZ=1-MCU一旦处于冻结状态,就会停止计数器工作。7/28/2024v8、PWM通道计数寄存器PWMCNTxPWMCNTx寄存器共有8个,每一个通道都有一个8位PWM加/减双向计数器,通道级联后可变成16位PWM加/减双向计数器。下面以PWMCNT0为例对PWMCNTx寄存器进行介绍计数器以所选时钟源的频率运行。计数器在任何时候都可以被读,而不影响计数,也不影响对PWM通道的操作。任何值写入PWMCNT0寄存器都会导致计数器复位置0,且其计数方向会被设置为向上计数,并且会立刻从缓冲器载入任务和周期值,并会根据翻转极性的设置来改变输出。当计数器达到计数值后,会自动清零。只有当通道使能后,计数器才开始计数。7/28/2024v9、PWM通道周期寄存器PWMPERxPWMPERx寄存器共有8个,每一个通道都有一个这样的周期寄存器。这个寄存器的值就决定了相关PWM通道的周期。每一个通道的周期寄存器都是双缓冲的,因此如果当通道使能后,改变他们的值,将不会发生任何作用,除非当下列情况之一发生:*有效的周期结束。*对计数器进行写操作(计数器复位)*通道不可用(PWMEx=0)这样就会使PWM输出波形要么是新波形要么是旧波形,并不会在两者之间进行交替变换。如果通道不可用,那么对周期寄存器进行写操作,将会直接导致周期寄存器同缓冲器一起闭锁。7/28/2024v10、PWM通道占空比寄存器PWMDTYxPWMDTYx寄存器也有8个,每一个通道都有一个这样的占空比常数寄存器。这个寄存器的值就决定了相关PWM通道输出波形的占空比。每一个通道的占空比寄存器都是双缓冲的,因此如果当通道被激活后,改变他们的值将不会发生任何作用,除非当下列情况之一发生:*有效的周期结束。*对计数器进行写操作(计数器复位)*通道不可用(PWMEx=0)这样就会使PWM输出波形要么是新波形要么是旧波形,并不会在两者之间进行交替变换。如果通道没有被激活,那么对占空比常数寄存器进行写操作,将会直接导致周期寄存器同缓冲器一起闭锁。当计数值与占空比常数PWMDTY相等时,则比较输出器有效,这时就会将触发器置位,然后PWMCNT继续计数,当计数值与周期常数PWMPER相等时,比较器输出有效,将触发器复位,同时也使PWMCNT复位,结束一个输出周期。7/28/2024PWM对齐方式v1、左对齐方式在该方式下,脉冲计数器为循环递增计数,计数初值为0。当PWM使能后,计数器PWMCNT从0开始对时钟信号递增计数,开始一个输出周期。当计数值与占空比常数寄存器PWMDTY相等时,比较器1输出有效,将触发器置位,而PWMCNT继续计数;当计数值与周期常数寄存器PWMPER相等时,比较器2输出有效,将触发器复位,同时PWMCNT也复位,结束一个输出周期。7/28/2024v2、中心对齐方式在该方式下,脉冲计数器为双向计数双向计数,计数初值为0。当PWM使能后,计数器PWMCNT从0开始对时钟信号递增计数,开始输出一个周期。当计数器与占空比常数寄存器PWMDTY相等时,比较器1输出有效,触发器翻转,而PWMCNT继续计数,当计数值与周期常数PWMPER相等时,比较器2输出有效,此时改变PWMCNT的计数方向,使其递解计数;当PWMCNT再次与PWMDTY相等时,比较器1再一次输出有效,使触发器再次翻转,而PWMCNT继续递减计数,等待PWMCNT减回至0,完成一个输出周期。7/28/2024v周期计算方法左对齐方式:输出周期=通道周期PWMPERx中心对齐方式:输出周期=通道周期PWMPERx2v脉宽计算方法左对齐方式:占空比=(PWMPERx-PWMDTYx)/PWMPERx100%中心对齐方式:占空比=PWMDTYx/PWMPERx100%7/28/2024vPWM初始化步骤1、禁止PWMPWME=02、选择时钟PWMPRCLK,PWMSCLA,PWMSCLB,PWMCLK3、选择极性PWMPOL4、选择对齐方式PWMCAE5、选择占空比和周期PWMDTYx,PWMPERx6、使能PWMPWME=17/28/2024PWM应用实例:/*PWM初始化程序*/voidPWM_Init(void)PWMCTL=0 xF0;/con01,23,45,67=1级联,输出4路16位的PWM,2367两路控制舵机PWMCAE=0 x00;/输出左对齐PWMPOL=0 xFF;/正极性输出PWMPRCLK=0X42;/时钟源A=BusClock/4=10M,时钟源B=BusClock/16=2.5mhzPWMSCLB=2;/SB=B/(2*2)=625KHz,控制舵机PWMCLK=0 xCC;/SB为23,B67通道的时钟A为01,45通道的时钟.PWMPER01=10000;/PWM0=A/1000=10KHzPWMDTY01=0;/PWM0初始不输出(电机没有转速)PWMPER45=10000;/PWM1=A/1000=10KHzPWMDTY45=0;/PWM1初始不输出(电机没有转速)PWMPER23=6250;/PWM23输出周期=1/B*12500=1/625K*12500=20ms(50HZ)PWMDTY23=1050;/舵机无偏转,占空比=PWMDTY23/PWMPER23PWMPER67=6250;/PWM67输出周期=1/SB*250=1/12.5K*250=20ms(50HZ)PWMDTY67=1020;/舵机无偏转,占空比=PWMDTY67/PWMPER67/根据转向舵机PWM极限值确定最大车转弯速度左转弯右转弯的最小半径上测试PWME=0 xFF;/通道使能7/28/2024章节二、TimerMC9S12XS128定时器模块与MC9S12DG128ECT部分功能完全类似,以下均以ECT模块介绍xs128定时器模块。HC12增强型捕捉计时器模块在HCS12标准定时器的基础上增加了一些特点,用以扩展它的应用范围,特别是在汽车ABS方面。基准计时器的核心仍然是一个16位的可编程计数器,其时钟源来自一个预分频器。该计时器可以被应用于多个方面,包括在对输入波形进行测量的同时产生一个输出波形。波形的脉宽可以在几微秒到数秒的范围内变化。增强型定时器模块(ECT)的结构框图如下,ECT功能相当于高速的I/O口,由一个4位预分频器、一个16位自由运行计数器,8个16位IC/OC通道,2个16位脉冲累加器以及一个16位模数递减计数器组成。7/28/2024v1、定时器/计数器系统控制寄存器1(TSCR1)可在任何时候读或写TSCR1寄存器是定时器模块的总开关,它决定模块是否启动以及在中断等待、BDM方式下的行为,还包括标志的管理方式。其各位的意义如下:TEN:定时器使能位,此外它还控制定时器的时钟信号源。要使用定时器模块的ICOC功能,必须将TEN置位。如果因为某种原因定时器没有使能,脉冲累加器也将得不到ECLK64时钟,因为ECLK64是由定时器的分频器产生的,这种情况下,脉冲累加器将不能进行引脚电平持续时间的累加。0:定时器/计数器被禁止,有利于降低功耗。1:定时器/计数器使能,正常工作。TSWAI:等待模式下计时器关闭控制位。【注意】定时器中断不能用于使MCU退出等待模式。0:在中断等待模式下允许MCU继续运行。1:当MCU进入中断等待模式时,禁止计时器。7/28/2024TSFRZ:在冻结模式下计时器和计数器停止位。0:在冻结模式下允许计时器和计数器继续运行。1:在冻结模式下禁止计时器和计数器,用于仿真调试。【注意】TSFRZ不能停止脉冲累加。TFFCA:定时器标志快速清除选择位。0:定时器标志普通清除方式。1:对于TFLGl($0E)中的各位,读输入捕捉寄存器或者写输出比较寄存器会自动清除相应的标志位CnF。对于TFLG2($0F)中的各位,任何对TCNT寄存器($04、$05)的访问均会清除TOF标志;任何对PACN3和PACN2寄存器($22,$23)的访问都会清除PAFLG寄存器($21)中的PAOVF和PAIF位。任何对PACN1和PACN0寄存器($24,$25)的访问都会清除PBFLG寄存器($21)中的PBOVF位。【说明】这种方式的好处是削减了另外清除标志位的软件开销。此外,必须特别注意避免对标志位的意外清除。7/28/2024v2、计时器系统控制寄存器2(TSCR2)TOI:定时器/计时器溢出中断使能。0:中断被禁止。1:当TOF标志被置位时发出硬件中断请求。【注意】TOF标志位在TFLG中TCRE:定时器/计数器复位使能。该位在通道7成功输出比较之后允许时钟计数器复位。该操作模式类似于递增型计数器。0:计数器复位禁止,计数器自由计数。1:通道7成功输出比较后计数器将被复位。【说明】如果TC7=$0000并且TCRE=1,TCNT将继续保持$0000。如果TC7=$FFFF并且TCRE=1,当TCNT从$FFFF到$0000之间被复位后TOF将永远不被置位。PR2,PR1,PR0:计数器预分频选择。7/28/2024v3、控制寄存器(TCTLl-TCTL4)TCTLl-TCTL4分为两组,分别对IC和OC电路进行设定,每组16个二进制位,每两个二进制位管理一个通道。其中TCTLl、TCTL2设定各个OC通道匹配时的动作,包括切断OC与输出引脚的联系,而TCTL3、TCTL4设定IC响应引脚的何种动作,包括禁止IC的响应。OMn、OLn分别设定输出方式和输出电平,这8对控制位(OM7、OL7-OMO、OL0)编码后用于指定通道比较成功后的输出动作。如果每对当中至少有一个为1,对应引脚就固定为相应通道的输出,而与DDRT中的对应位无关。当二者同时为0时,OC与输出引脚断开。7/28/2024各个控制位的作用如下:EDGnB、EDGnA输入捕捉边沿控制位,这8对控制位(EDG7B、EDG7AEDG0B、EDG0A)对输入捕捉的边沿检测电路进行设置。当二者同时为0时,IC与输入引脚断开。【注意】为了使OMn、OLn指定的引脚动作有效,OC7M中的对应位必须清0。若要使用16位脉冲累加器A和B,并使它们分别独立于ICOC7和ICOC0,必须设置对应的IOSn:1、OMn=0、OLn=0,同时寄存器OC7M中的OC7M7、OC7M0位必须清0。7/28/2024v4、主定时器中断标志寄存器(TFLG1、TFLG2)所示的TFLG1、TFLG2为中断标志寄存器,其中TFLG1对应8个ICOC通道,当某CnF=1时说明对应的ICOC通道有动作,表明该通道有中断事件发生。TFLG2只有一个标志位TOF,作为核心计数器的中断请求标志。当TOF=1时说明核心计数器溢出。要清除某个标志位,只需向该位写1,向某位写0不影响该位的状态。当TSCR中的TFFCA位置位时,读IC通道或写OC通道($10-$1F)将自动清除该通道标志CnF,对TCNT的任何访问将自动清除TFLG2。CnF:ICOC通道中断请求标志。0:上次清除标志以来,ICOC通道没有有效动作。1:ICOC通道已经出现动作。将寄存器ICSYS($2B)中的TFMOD位和ICOVW寄存器($2A)联合使用,可以使定时器在两次捕捉后才产生中断,而不是每次捕捉均产生动作。两次捕捉结果分别在捕捉和保持寄存器里面。TOF:定时器溢出标志,当16位自由定时器从$FFFF回滚到$0000时,该位置位。将$80写入到TFLG2将自动清除该位(写1清零)。详见前面关于TMSK2中TCRE控制位的解释。7/28/2024v5、计时器中断使能寄存器(TIE)可在任何时候读或写。TIE寄存器中的位与状态寄存器TFLG1中的标志位相对应。如果将TIE中的某位清0,相应的标志位就不能引起硬件中断。如果被置1,相应的标志位就可以引起中断。C7I-C0I:输入捕捉/输出比较“x”中断使能。7/28/2024v6、ICOC选择寄存器(TIOS)TIOS寄存器用于指定各个通道的功能,即工作于IC还是OC方式。当某位IOSn=0时,对应的通道n为输入捕捉(1C)通道,否则当IOSn=1时,通道n为输出比较(OC)通道。其中的各位可以在任何时候写入或读出。【说明】上电后该寄存器默认为$00,TSCR中的TEN默认也为0,这时所有通道处于通用IO方式,将TEN置位后各个通道进入IC方式,要将某些通道设置成OC方式,必须对TIOS进行设置,即将有关位置1。设置成OC的通道其引脚具有降功率驱动功能,设置成IC的通道具有内部上拉功能,但上电后均处于关闭状态,可以根据需要启用。7/28/2024v7、ICOC寄存器(TC0-TC7)每个IC或OC通道都设置有一个16位的寄存器,对于IC(输入捕捉)通道,当通道的边沿探测器检测到由EDGnA、EDGnB指定的条件时,将自由定时器的值捕捉到寄存器TCn,随后程序可以读取和处理;对于OC(输出比较)通道,程序将预定的时刻写入到TCn,当自由定时器的值与其相等时,触发由OMn、OLn所指定的输出动作。定时器模块共有TC7-TC0等8个16位ICOC寄存器。TC0TC7:7/28/2024v8、定时器核心寄存器、定时器核心寄存器(TCNT)TCNT是递增计数器,它不停地对内部时钟信号计数、程序可随时读取,但在普通模式下禁止写入。TCNT应按字访问,分别访问高、低字节可能得到错误的结果。【说明】在特殊模式下,TCNT可写,但因为写操作与预分频器时钟不同步,TCNT寄存器写入后,其第一个周期可能是一个不同的值。7/28/2024v9、输出比较通道、输出比较通道 7 屏蔽寄存器屏蔽寄存器(OC7M)可在任何时候读或写。前面已经说明,OC7具有特殊地位,它匹配时可以直接改变其他7个输出引脚的状态,并覆盖各个引脚原来的匹配动作结果,寄存器OC7M决定哪些通道将处于OC7的管理之下。OC7M中的各位与PORTT口寄存器的各位一一对应。当通过TIOS将某个通道设定为输出比较时,将OC7M中的相应位置1,对应的引脚就是输出状态,与DDR中的对应位的状态无关。但OC7Mn并不改变DDR相应位的状态。OC7M具有更高的优先级,它优于通过TCTL1和TCTL2寄存器中的OMn和OLn设定的引脚动作,若OC7M中某个位置1,就会阻止相应引脚上由OM和OL设定的动作。7/28/2024v10、输出比较通道、输出比较通道 7 数据寄存器数据寄存器(OC7D)可在任何时候读或写。OC7M对于其他OC输出引脚的管理限于将某个二进制值送到对应引脚,这个值保存在寄存器OC7D中的对应位中。当OC7匹配成功后,若某个OC7Mn=1,则内部逻辑将OC7Dn送到对应引脚。OC7D中的各位与PORTT口寄存器的各位一一对应。当通道7比较成功时,如果OC7M中的某个位为1,OC7D中的对应位将被输出到PORTT的对应引脚。当OC7M中的某个位为1时,通道7匹配成功的动作如果与通道6-0的动作发生在同一个周期,前者将覆盖后者。因此各个通道的动作将依赖于OC7D中各个位的设置。7/28/2024TIMER应用实例voidECT_Init(void)TIOS=0 x00;/输入捕捉TCTL4=0 x02;/通道4下降沿触发TSCR2=0X05;/分频32TSCR1=0 x80;/TimerEnableTIE=0X01;/开中断PortT0PITCFLMT_PITE=0;/PIT定时中断关PITCE_PCE0=1;/定时器通道0使能PITMTLD0=32-1;/8位定时器初值设定(分频系数)32分频,在40MHzBusClock下1250Khz.PITLD0=9000-1;/16位定时器初值设定(计数值).1250/12500=0.1Khz=10ms=控制脉冲PITINTE_PINTE0=1;/定时器中断通道0中断使能PITCFLMT_PITE=1;/PIT定时通道开7/28/2024章节三、ADCvA/D转换器的技术指标a)分辨率分辨率说明A/D转换器对输入信号的分辨能力,理论上,n位A/D转换器能区分的输入电压的最小值为满量程的1/2n。也就是说,在参考电压一定时,输出位数越多,量化单位就越小,分辨率就越高。S12的ATD模块中,若输出设置为8位的话,那么转换器能区分的输入信号最小电压为19.53mV。b)转换时间A/D转换器按其工作原理可以分为并联比较型(转换速度快ns级)、逐次逼近型(转换速度适中us级)、双积分型(速度慢抗干扰能力强)。不同类型的转化的A/D转换器转换时间不尽相同,S12的ATD模块中,8位数字量转换时间仅有6us,10位数字量转换时间仅有7us。7/28/2024ADC寄存器v1、ATD0控制寄存器2-ATD0CTL2ATD0CTL2主要控制ATD0的启动、状态标志以及上电模式,对寄存器进行写操作时,将中断当前的转化过程。ADPU:A/D使能控制位,相当于一个开关,用来启动/禁止A/D转换1=A/D模块上电0=禁止A/D,以减少功耗AFFC:A/D快速转换完成标志位清零1=快速标志位清零顺序,每次读取结果寄存器自动清零0=正常标志位清零顺序,需要软件方式对状态标志位清零AWAI:A/D等待模式1=等待模式下,ATD继续运行0=等待模式下,ATD停止运行,以降低功耗7/28/2024【注意】ETRIGE:外部触发使能控制位,该功能借助引脚AN7,当AN7接收到外部触发时,启动A/D转换,否则不进行转换。0-忽略外部触发;1-有外部触发时开始转换,此时此时AN7不能用于不能用于A/D转换转换。ASCIE:A/D转化序列转换结束中断使能控制位1=允许ATD转换序列转换结束后发生中断0=禁止ATD中断ASCIF:A/D转换序列转换结束中断标志,只用于读。1=发生中断0=为发生中断7/28/2024v2、ATD0控制寄存器3-ATD0CTL3ATD0CTL3主要控制结果寄存器的映射,设置转换序列的长度,还可以暂时冻结ATD0模块,尤其确定ATD0在BDM状态下的行为。S1C、S2C、S4C、S8C:转换序列长度选择位控制位7/28/2024【注意】ATD的每次启动要进行若干次扫描循环,每次扫描循环称为一个转换序列。FIFO:结果寄存器FIFO模式控制位,1=结果寄存器映射到转换序列0=结果寄存器没有映射到转换序列FRZ0、FRZ1:背景调试冻结控制位7/28/2024v3、ATD0控制寄存器4-ATD0CTL4ATD0CTL4用于选择时钟,选择采样转换时间以及选择8位/10位转换方式。SRES8:A/D精度选择控制位1=将采集到的模拟量以8位二进制数表示0=将采集到的模拟量以10位二进制数表示SMP0、SMP1:采样时间采样时间选择控制位7/28/2024PPS0:4:5位模数计数器预分频器-分频系数从2到64-A/D时钟计算公式:ATDClock=BusClock/(PRS+1)0.5-A/D时钟频率应满足:【注意】对于AD转换来说,它的转换周期包括采样时间和运算时间。如果频率太高,则采样时间过短。这对于输出阻抗比较大或信号频率比较高的信号来说,就会产生较大的采样误差,那么AD转换的精度就会受较大的影响。7/28/2024v4、ATD0控制寄存器4-ATD0CTL5ATD0CTL5用于选择转换方式,选择转换通道,设置单/多通道转换和单次/连续转换模式以及对齐方式。【注意】ATDCTRL5设置成多通道转换后,ATDCTRL3设置采集的通道数,此外ATDCTRL5中还需要设置多通道采集的起始通道。比如采集7个通道,起始通道是1,那么就采集从17通道,如果起始通道是2,就采集27,还有0通道。【注意】在S12系列中,当转换序列长度设置为1(S8C:S1C=0001),MULT=0时,只对一个通道进行一次转换。7/28/2024v5、ATD0状态寄存器5-ATD0START0、ATD0START0ATD0START0反映当前的转换通道、A/D转换是否结束、是否有外部触发等;ATD0START1反映转换序列中相应的转换是否完成。SCF-转换序列完成标志在单次转换模式时,当转换完成后置位(SCAN=0)在连续转换模式时,当第一次转换完成后置位(SCAN=1),当AFFC=0,写1清零。ETORF-外部触发覆盖标志如果在转换过程中高/低电平出现,置位FIFOR当结果寄存器在读出之前已经被写入时,置位(CCF没有清零)CC2:0转换计数器-3位计数器指向下一个将要转换的通道CCF7-CCF0-独立通道转换完成标志位每个相应的通道转换结束后置位,当相应的A/D结果寄存器被读出时,清零,注意当AFFC位不同时的情况7/28/2024ADC初始化实例/*AD初始化*/voidAD_Init(void)ATD0CTL2=0 xC0;/启动A/D,快速清零,无等待模式,禁止外部触发,中断禁止ATD0CTL3=0 x20;/转换序列长度为4,NoFIFO,Freeze模式下继续转换ATD0CTL4=0 x85;/8位精度,2个时钟,/ATDClock=BusClock*0.5/PRS+1=2MHz;PRS=5,divider=12ATD0CTL5=0 xA0;/右对齐无符号,单通道采样,通道0ATD0DIEN=0 x00;/禁止数字输入/*读取AD转换结果*/voidAD_GetValue(word*AD_wValue)*AD_wValue=ATD0DR0;/读取结果寄存器的值7/28/2024最后一部分:国赛程序讲解1.源代码讲解2.结构分析3.应该注意的地方7/28/2024p经常不断地学习,你就什么都知道。你知道得越多,你就越有力量pStudyConstantly,AndYouWillKnowEverything.TheMoreYouKnow,TheMorePowerfulYouWillBe写在最后感谢聆听不足之处请大家批评指导Please Criticize And Guide The Shortcomings结束语讲师:XXXXXX XX年XX月XX日
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!