×
单片机 > 单片机程序设计 > 详情

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

发布时间:2020-05-30 发布时间:
|
这几天在看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<  
 
 

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 波的本身还是数字脉冲波,其中含有大量丰富的高频成分,因此在实际使
用中,还需要一个好的积分器电路,如采用有源低通滤波器,或多阶滤波器等,能
将高频成分有效的去除掉,从而获得比较好的模拟变化信号。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
minis3c2440移植之内核移植