论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
<3> 输出比较: 设计、清除或触发
<4> 脉冲调宽PWM
<5> 可编程时钟输入:系统时钟预分器,外时钟(最高4MHz)输入
<6> 可产生DMA中断
<7> 模块结构,可以扩充至8通道
(2)PWM波发生器
MC68HC(9)08JL3有带缓冲的输出比较功能。通过设置TSC0中的MS0B位,将通道0和1联系起来,在PTD4/TCH0引脚上输出这个输出比较信,PTD5/TCH1这时作为普通的I/O使用。两个通道的输出比较寄存器在相邻的两个溢出周期内,依次轮流控制输出比较功能。先是通道0控制一个溢出周期,然后是通道1控制。这样就可以在其中一个通道控制时,来改写另一个通道的输出比较寄存器,这样就不会出现在不带缓冲的输出比较功能中改写输出比较寄存器时出现的问题。
如果在使用输出比较功能的同时,在计数器溢出时,切换输出引脚上的电平,就可以产生PWM信号。模数寄存器(TMODH:TMODL)中的值决定了PWM信号的周期。当计数器中的值达到模数寄存器中的值时,TIM就切换该通道输出引脚上的电平。相应地,输出比较寄存器中的值决定了PWM信号的脉宽,如下图所示。
PWM周期和脉宽
由于PWM的发生,用到了TIM的输出比较功能,所以,对于PWM来说,同样存在修改输出比较寄存器时带来的输出脉冲暂时不稳定的情况。因此,在MC68HC(9)08JL3中,也有不带缓冲的PWM和带缓冲的PWM之分。它们的操作和前面的输出比较功能是一样的,唯一的区别,在于通道状态控制寄存器TSCx中的TOVx位设置的不同,PWM方式下,要是该位有效,使得时钟溢出时,切换输出引脚上的电平。 (转载自http://zw.nseac.coM科教作文网)
PWM初始化顺序如下:
1. TIM状态控制寄存器TSC:设置TSTOP位,使TIM停止;设置TR位,使TIM复位;
2.在TMODH:TMODL中写入PWM的周期(模数);
3.在TIM通道寄存器(TCHxH:TCHxL)中写入PWM脉宽;
4.在TIM通道状态控制寄存器(TSCx)中:写入0:1(无缓冲的输出比较或者PWM信号)或者1:0(缓冲的输出比较或者PWM信号)到模式选择位MSxB:MSxA;TOVx写入1,在溢出时,切换输出引脚上的电平;在沿/电平选择位,ELSxB:ELSxA,写入1:0(清除输出引脚点平)或者1:1(设置输出引脚电平)。
5.在TSC中清除TSTOP位。
4.4.2 ADC转换模块
MC68HC(9)08JL3包含有一个8位的12路ADC转换器。其主要特性为:
<1>12路可复用的ADC通道
<2>结果为连续线性近似
<3>8位的分辨率
<4>单一或连续转换
<5>具有转换结束标志或中断功能
6.时钟可选的ADC
ADC的12路输入引脚分别为PTB7~PTB0,PTD3~PTD0。可以选择其中的任何一条腿作为ADC的电压输入,ADC通过近似连续的计数器值来标定转换结果。其精度为8位。当转换结束,ADC将结果放入ADC数据寄存器,并且设立标志或产生中断。
PTB7~PTB0,PTD3~PTD0可作为通常I/O引腿或ADC的输入,通过设定(ADC状态控制寄存器,$003C)来选择哪一路作为ADC输入。一旦设定为ADC输入,其作为普通I/O功能失效,这时,向此位的端口寄存器或DDR写入无效,而读时,倘若DDR相应位为0,读入为0;而相应位为1,读出的将是以前的锁存值。这时,其它未设为ADC输入的引腿保持其正常的I/O功能。
ADC转换为线性转换,高于或等于Vss,其结果为$FF, 低于或等于Vdd,其结果为$00。每次转换要16个ADC内部时钟。ADC从写ADSCR信号的第一个ADC内部时钟的上升沿开始转换。倘若ADC内部时钟为1MHz,其完成一次转换耗时16us。
(科教作文网http://zw.ΝsΕac.cOM编辑)