专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

学习笔记-avr单片机C编程1

作者:佚名   来源:本站原创   点击数:  更新时间:2013年02月01日   【字体:

 这几天在看AVR单片机的书。ASURO的项目的编程是建立在已有的成熟函数上,所以导致我对AVR单片机的运行机理(中断、定时器的使用)不甚了解。突然一个个超声波模块的程序放在眼前,才发现我连AVR单片机的了解基本上等于零。另外一个项目需要用mega128控制直流电机,还有和无线、有线遥控器的通信,电路(模块)需要自己搭起来,那么就必须知道AVR单片机的原理和编程。
         和已经学过的51单片机相比,MEGA系列单片机是十分高级的单片机,功能强大,因而在构造和使用上也复杂了一些。
         存储器区别,AVR分为5个部分,访问指令上有区别。
         输入输出,51是准双向口,每个端口只有一个寄存器。而AVR的I/O口是标准双向口,每个端口有三个寄存器,DDRX(输出使能),PORTX(输出数据,上拉使能?),PINX(输入管脚)。
         定时器,51的定时器两种用法,即以晶振频率的十二分频信号作为输入的定时器工作方式,或以外部引脚INT0,INT1上输入信号的计数器工作方式。 而AVR的定时器除了普通的定时/计数功能外,还有一些增强的功能,如:比较匹配(?),PWM调制器,由ICP引脚或模拟比较器触发的捕捉功能(?)。在选择输入信号上,分频比有1、8、64、256、1024几种,作为计数器使用,既可上升沿触发,也可以下降沿触发。如下,一部分和定时器相关的寄存器
            T0: TCCR0: CS02 CS01 CS00  分频比
           T1: TCCR1A:  COM1X1/0
                                  PWM11/0
                 TCCR1B:  ICNC1,CTC1,ICES1
                 TCNT1
                 OCIX        等等
       C中的一些位操作已经模块化了,如PORTB|=(1<<2);D2位置一
                                                             PORTB&=~(1<<6);D6位清零
                                                            TCCR2=(1<<WGM21)|(1<<CS20); WGM21、CS20置一,其余位清零。
 
 
 

PWM脉宽调制波
 
 
PWM 是脉冲宽度调制的简称。实际上,PWM 波也是一个连续的方波,但在一个周期中,
其高电平和低电平的占空比是不同的。一个典型 PWM 的波形如图 8-15 所示。

在图中,T 是 PWM 波的周期,T1 是高电平的宽度,Vcc 是高电平值。当该 PWM 波通过一个积分器后(低通滤波器)后,我们可以得到其输出的平均电压为:

式中,T1/T 称为 PWM 波的占空比。控制调节和改变 T1 的宽度,即改变 PWM 的占空比,
就可以的到不同的平均电压输出。因此在实际应用中,常利用 PWM 波的输出,实现 D/A 转换,调节电压或电流控制改变马达的转速,实现变频控制等功能。
一个 PWM 方波的参数有频率、占空比和相位(在一个 PWN 周期中,高低电平转换的起始时间),其中频率和占空比为主要的参数。图 8-16 为 3 个占空比都为 2/3 的 PWM 波形,尽管他们输出的平均电压是一样的,但其中(b)的频率比(a)高一倍,相位相同;而(c)与(a)的频率相同,但相位不同。

在实际应用中,除了要考虑如何正确的控制和调整 PWM 波的占空比,获得达到要求的平
均电压的输出外,还需要综合的考虑 PWM 的周期、PWM 波占空比调节的精度(通常用 BIT 位表示)、积分器的设计等。而且这些因素相互之间也是互相牵连的。根据 PWM 的特点,在使用 AVR 定时计数器设计输出 PWM 时应注意以下几点:
1,首先应根据实际的情况,确定需要输出的 PWM 波的频率范围。这个频率与控制的对
象有关。如输出的 PWM 波用于控制灯的亮度,由于人眼不能分辨 42Hz 以上的频率,
所以 PWM 的频率应高于 42Hz,否则人眼会察觉到灯的闪烁。PWM 波的频率越高,经
过积分器输出的电压也越平滑。
2,同时还要考虑占空比的调节精度。同样,PWM 波占空比的调节精度越高,经过积分
器输出的电压也越平滑。但占空比的调节精度与 PWM 波的频率是一对矛盾,在相同
的系统时钟频率时,提高占空比的调节精度,将导致 PWM 波频率的降低。
3,由于 PWM 波的本身还是数字脉冲波,其中含有大量丰富的高频成分,因此在实际使
用中,还需要一个好的积分器电路,如采用有源低通滤波器,或多阶滤波器等,能
将高频成分有效的去除掉,从而获得比较好的模拟变化信号。

关闭窗口

相关文章