基于AVR单片机的开关电源的设计与实现_第1页
基于AVR单片机的开关电源的设计与实现_第2页
基于AVR单片机的开关电源的设计与实现_第3页
基于AVR单片机的开关电源的设计与实现_第4页
基于AVR单片机的开关电源的设计与实现_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 唐 山 学 院毕 业 设 计设计题目:基于avr单片机的开关电源的设计与实现 系 别: 信息工程系 班 级:姓 名: 2012年6月10 日基于avr单片机的开关电源的设计与实现摘 要电源是电子设备中不可缺少的功能模块,是各种电器设备的能量的来源,其性能的优劣直接影响电子设备的技术性能与其可靠性。因此,能否设计出性能良好的电源是电子设备是否能够高效、可靠运行的一个基本保障。本设计是以atmega8单片机作为主要控制器,制作输出电压可以调节的开关电源。该系统不仅可以预置输出电压而且还可以调节输出电压,并具有过流保护、短路保护以及数码管显示等功能。本论文主要讲述的是由单片机产生pwm波来控制功率

2、管的通断。通过单片机内部集成的ad转换器检测输出电压,并和预置电压进行比较得到误差信号,调用调节函数实现稳压。单片机可以通过键盘来改变输出电压的大小,从而修改pwm波的占空比来调节输出电压的大小。开关电源的输出电压以及输出电流可以通过数码管来显示,当线路发生短路或者过载时都会通过数码管的示数显示出来。本开关电源的主要性能有稳压效果好、效率高、输出电压可调、响应速率快。关键词:开关电源 单片机 电压可调 电压显示 the design and implementation of switching power supply based on mcuabstractto electronic eq

3、uipments, power is a indispensable function module. it is the energy source of all sort of electric equipment . and the performance of the power influences the technical characteristics and reliability of the electronic equipment. therefore, it is the basic of the electronic equipments efficient and

4、 reliable operation that if we can design the good power or not.this design makes a power whose output voltage can be adjusted based on atmega8 mcu as a main controller,. the system can not only preset the output voltage but also adjust the output voltage, and it has functions such as the flow prote

5、ction, short circuit protection and digital pipe display. this thesis is about that pwm waves generated by mcu can control the hige power tube. it can test the output voltage through mcu integrated ad converter, and get error signals by comparison of preset voltage, and stabilize voltage by calling

6、adjustment function. mcu can change the size of the output voltage through the keyboard modifying the pwm waves buty cycle. switch powers output voltage and output current can be show through the digital tube, and it can be show by the digital when the line short-circuited or overload happened. the

7、switch power has a good effect to stabilize the voltage, high efficiency, and its output voltage can be adjusted, and its response speed is high.key words: switching power ;pwm ;voltage adjustable ;voltage display目 录1 引言12 开关电源方案设计32.1开关电源工作原理32.2开关电源方案选择与论证32.3总体结构设计43 系统核心器件选择63.1单片机简介63.1.1引脚说明63

8、.1.2 atmega8i/o口概述83.2 atmega8的ad功能93.2.1 adc功能简介93.2.2 adc相关寄存器103.3 atemga8的pwm功能143.3.1 pwm波形发生器选择143.3.2时钟源选择164硬件电路设计174.1电源电路设计174.1.1整流滤波电路设计174.1.2开关变换电路设计174.2控制电路设计184.2.1时钟电路设计184.2.2单片机复位电路设计184.2.3单片机与数码管接口电路设计194.2.4单片机与键盘接口电路设计204.2.5反馈电路设计215系统软件设计235.1主程序设计235.2键盘防抖动子程序设计245.3数码管扫描子

9、程序设计245.4 adc转换子程序设计255.5 调节函数子程序设计266系统调试286.1软件调试调试286.2系统整体调试286.3系统误差分析317 pcb电路板的绘制以及制作337.1电路板的制作337.1.1 pcb图绘制337.1.2 pcb电路板的制作流程337.2焊接电路板348 结论35谢辞36参考文献37附录38附录一 总体设计电路图38附录二 制作样机图39附录三 器件清单41附录四 源程序42外文资料52唐 山 学 院 毕 业 设 计stepper motor is a kind of pure digital control motor and brushless

10、dc motor controlled by electric pulse signal type. stepper motor is the core of the modern orientation drive, widely used in machinery, electric power, textile, electronics, instruments, printing and aerospace, ships, weapons, and other areas of the defense industry, etc. the characteristics of the

11、stepping motor control system based on single chip microcomputer include high stability, low cost, convenient control and wide application , etc.the ir remote control is used as rhe input to the contrler, which can send an input signal of command for the the design of the stepper motor control syste

12、m with the single chip processor as the core processor. the remote control can change the rotation states of stepper motor and the running status can be showed on lcd1602 display.the infrared remote control with carrier for 38 khz is used as the control end of the user, which can convert the users c

13、ommands into the infrared signal. the tl1838 can receive the infrared signal and convert it into electrical signal, which input to tstc89c52.the mcu can obtain instructions of users by processing the incoming signal and control stepping motor of the 28byj48 type, the current status can be shown by l

14、cd1602. users can control acceleration, deceleration, forward, inversion for the stepping motor. the features of the control system of stepper motor includes high precision, stable running, convenient control and simple maintenance and wide application, etc.1 引言电源技术是一种综合电力变换技术、现代电子技术、自动控制技术等的多学科应用功率

15、半导体器件的边缘交叉的技术。它对电子仪器、工业自动化、现代通讯、计算机、国防、电力工程以及某些高新技术提供高效率、高质量、高可靠性的电源起着关键性的作用。而随着科学技术的发展,电源技术又与微电子技术、电机工程、材料科学、现代控制理论等许多领域密切相关。当代许多高新的技术均与市电的电流、电压、相位、频率、以及波形等基本参数的控制和变换相关,电源技术可以实现对这些参数的精密控制及高效率处理,尤其是可以实现大功率的电能频率的变换,从而为多项高新技术的发展提供有力的支持。电源技术以及其产业的进一步发展必将为降低材料消耗、大幅度节约电能以及提高生产效率提供重要的手段。所以,不仅电源技术其本身是一项高新的

16、技术,亦为其他多项高新技术的发展基础。电源,现如今已经是非常重要的基础科技以及产业,从日常生活到高尖端的科技,都离不开电源技术的参与与支持,电源技术亦正是在这种环境中不断的发展以及壮大起来的。电源的重要性不能否认,但是传统电源存在着不足的地方,比如,传统的电源效率不高,线性电源由于功率管是工作在线性放大状态,输出电流和功率管的电流是成正比的,因此当输出电流越大时,功耗就越大。通常情况下,线性电源效率只有4050%左右,因此,提高电源效率是电源发展中应重点解决的问题,而开关电源就能够很好地解决这个问题,开关电源的功率开关管是工作在开关状态的,亦是说,只要开关管导通,管子就会产生损耗,因此,开关电

17、源的效率比线性电源要高很多,一般情况下可以达到80%以上,本设计选择开关电源作为研究对象,利用其输出电压和输入电压之间的占空比的关系,假定输入基本上是稳定的,利用单片机控制占空比,就可以控制输出电压,通过a/d转换,采样输出电压,并使用数码管显示,然后通过键盘预置电压,最终完成可调开关电源的制作。本文研究的单片机控制开关电源,可以通过键盘预置期望的输出电压值,通过a/d转换器对输出的电压值进行采样,由软件控制单片机输出相应占空比的脉冲宽度,对开关电源进行脉宽调制,输出预期的电压值,并采用调节函数控制输出电压稳定,构成可输出1v到14v的可调电压,并显示实时电压和预置值。目前电子设备的日益小型化

18、更需要供电电源的小型化,因此,制作小型化电源是未来电源制作发展的一个趋势,传统的开关电源线路一般都是很复杂体积也比较大,如果使用的单片机作为控制核心,那么必将可以大大地简化电源的结构,为制作更加小的电源提供很大的可能,并且,使用单片机可以扩展出许多的功能,如显示、可维护性强、实时控制调整电压。由于目前国内拥有的专门的pwm输出的单片机价格很昂贵,普通的单片机i/o口模拟的脉宽频率又太低,速度太慢,远远达不到现代电源要求的工作频率,因此,目前单片机控制的电源的使用并不广泛,但是单片机在智能化、扩展性强、可实现的人机交互界面等方面的优势使其成为未来电源的重要发展的方向。所以,我们研究单片机控制的开

19、关电源,非常具有现实意义以及研究意义。开关电源的效率往往是与开关管的变换速度成正比的,要进一步提高开关电源的效率,就必须要提高电源的工作频率。但是频率提高之后,对整个电路中的元器件又有了新的要求。要进一步研制并且生产出适合于高频工作的储能电感、开关管、开关变压器、高频电容等元器件是开关电源设计与实现所面临的另一个问题。由于开关电源中,功率晶体管工作在开关状态,当开关速度提高之后,会受到电路中分布的电感以及电容成分或者二极管中储存的电荷的影响从而产生了较大的浪涌和噪声,使其交变电流和电压会通过电路中的元器件产生较强的谐波干扰以及尖峰干扰,这些尖峰电压或电流可能会损坏电路当中的器件,同时这些谐波以

20、及尖峰干扰会污染市电电网,影响邻近的电子仪器与设备的正常性工作。虽然也可以采取一些抑制干扰的措施,在一定程度上降低这些干扰的影响,但是目前阶段的精密电子仪器中,仍然难以使用开关电源,因此,克服开关电源产生的各种噪声干扰,是我们要努力解决的第三个问题。近年来开关电源的发展速度越来越快,而且其应用越来越广泛。本文着重研究基于atmega8单片机的开关电源设计与实现的基本原理、硬件组成以及设计、程序编写与调试、硬件电路pcb的绘制以及样机的制作等。2 开关电源方案设计2.1开关电源工作原理开关电源指的是功率管工作在开关方式,即功率管工作在截止和导通状态的电源,缩写为sps(switching pow

21、er supply)。开关电源的核心部分是一个直流变换器,利用直流变换器把一种直流电压变换为极性以及数值不同的多种直流电压。开关电源的工作流程如图2-1所示。假设开关电源的基准电压为5v,但是,由于某种原因而使电网波动导致输入的电压减小,从而导致输出的电压也将会减小,然而在此时,采样电路的采样电压也将会减小,假设采样电压值为4.9v,误差是0.1v,然而,经过比较放大电路以后,脉冲调制电路会根据这个误差,提高脉宽信号的占空比从而使输出的电压增大。同样的,当电网波动导致电压增大时,采样电路当中的采样电压就会变大,脉宽调制电路就会减小脉冲的占空比而使输出的电压减小,从而达到电压稳定的效果。整流滤波

22、电路开关管滤波电路采样电路比较放大脉冲调宽输出输入基准电压图2- 1开关电源原理框图2.2开关电源方案选择与论证 从对电源输出的控制来说,单片机控制开关电源,可以有以下几种方案。方案一:单片机的扩展a/d和d/a芯片,单片机通过a/d转换芯片不断的检测电源的输出电压值,再根据电源输出的电压值与设定值的差值调整pwm脉宽,然后通过d/a芯片输出一个基准的电压值,从而控制专门的pwm控制芯片,间接地控制电源工作。方案二:单片机通过a/d转换输出一个电压,作为电源的基准电压,电源可以通过键盘设置预置输出电压,如果单片机不加入反馈控制,电源仍要使用专门的pwm控制芯片,工作过程为:当通过键盘设置预置电

23、压时,单片机通过数模转换芯片输出一个电压作为控制芯片的一个基准电压,这个基准电压可以使控制芯片按预置电压值来输出相应的占空比的控制脉冲,以输出期望的输出电压值。方案三:选用带模数转换的atmega8单片机芯片,通过片内模数转换模块实时检测输出电压值的大小,然后再同预置电压值相比较,根据预置电压与采样电压的误差,调整单片机输出pwm脉冲的占空比,从而实现输出电压值与预置电压值相等。方案一分析:单片机加入了反馈控制,使系统的稳定性提高,但是由于单片机还需要扩展a/d转换和d/a转换芯片,而且还是需要专门的pwm控制芯片,成本很高,不宜采用。方案二分析:单片机中只是输出一个基准电压,没有加入反馈控制

24、,这样仍要使用专门的控制芯片,单片机的作用非常的小,而且价格比较昂贵,电源的成本增加,削弱了单片机本身的作用,浪费了单片机大量的i/o口的资源,成本高,不适宜采用。方案三分析:在本方案中,不仅单片机中加入了反馈控制,而且是以单片机作为开关电源的控制核心,单片机得到了充分的利用,而且省去了d/a转换芯片和a/d转换芯片,使成本大大的降低。综合以上分析,本次设计选择方案三控制方案,使用atmega8单片机,采用4位数码管显示输出电压值、输出电流值以及键盘预置电压值等,本设计要求输出电压值是可以调节的,所以设定预置值时需要从键盘输入,实现输入不同的电压值,输出端口就可以输出不同的电压值。2.3总体结

25、构设计本设计的系统工作原理如图2-2所示。工频的交流电经过变压器降压,再经过整流滤波电路将输出电压分成了两路,其中的一路电压通过稳压与滤波电路输出+5v的电压以提供给单片机,而另一路电压则作为开关变换部分的输入电压。单片机根据键盘的输入值和采样电压值之间的差值,来修改单片机输出pwm脉冲的占空比,通过此脉冲,控制功率管的通与断,以便得到期望的输出电压值。当键盘上有输入动作的时候,单片机就会到检测键盘的输入动作,同时修改相应的占空比,在经过其内部集成的a/d转换模块采样输出电压,单片机根据采样电压值与键盘的输入动作再次修改pwm脉冲的占空比,从而使输出电压变得稳定。而开关变换器采用工字型电感作为

26、储能元件,在功率管导通的时候,电感会储存能量,在功率管关断时,电感释放其所存储的电能供给负载。当闭环的时候,开关电源自动进行脉宽调制,当系统读取到键盘预置的电压变化时,先将键盘输入值和从输出端的取样值进行比较,假设当前键盘输入值为10v,从输出端取样出的值为6v,差值为4v,而系统就会根据这个差值,更新脉宽提高pwm脉冲的占空比,从而使得输出端电压上升为10v;同样的,当键盘输入值为6v,输出端的取样值为10v,差值为-4v,系统会根据这个误差值更新脉冲的宽度,将pwm脉冲的占空比减小以使输出的电压变小,这就是系统的脉宽调制过程。与此同时,电源可以进行自动稳压,假设在某一正常的状态下,输出电压

27、为,反馈电压为(),用户设定电压为,当时,偏差为0v,单片机不进行脉宽的更新,当电网波动导致输出电压增加时,即时,单片机采样的电压也会增加,单片机会根据偏差值修改占空比使导通时间变小,从而使电压值下降,同样当电网波动使输出电压下降时,即时,单片机修改脉宽使得导通时间变长,从而使输出电压值上升,如此循环来进行稳压。整流滤波电路开关变换电路整流滤波电路控制电路辅助电源四位数码管取样电路键盘输出图2- 2单片机控制开关电源系统框图3 系统核心器件选择3.1单片机简介atmega8是由atmel公司在2002年的第一季度推出的一款新型的avr高档单片机。在avr的大家族中,atmega8是一种非常特殊

28、的单片机它的芯片内集成的存储器容量较大及硬件接口电路丰富强大,具有avr单片机mege系列的全部性能以及特点。但是采用的封装为小引脚(dip 28和tqfp/mlf32),因此其价格较便宜,并且avr单片机系统内自带的可编程特性,使得不需要购买昂贵的编程器和仿真器亦可以进行单片机的嵌入式系统的开发和设计,同时,也是为单片机的初学者提供了非常方便以及简捷的学习开发环境。 atmega8的如此许多的特点,使其成为一款具有极高的性价比的单片机,在产品应用市场上极具竞争力,深受广大单片机用户的喜爱,而且亦被很多仪器仪表行业和家用电器厂商看中,从而,使atmega8迅速地进入大批量的应用领域。atmeg

29、a8为一款采用cmos工艺生产的低功耗的单片机,并且基于avr risc的结构的8位的单片机。avr单片机核心部分是将32个工作寄存器以及丰富的指令集联结到一起,所有的工作寄存器均与alu(算术逻辑单元)直接相连,从而实现了在一个时钟周期内仅执行一条指令,并且与此同时访问(读写)两个独立的寄存器的操作。因此,atmega8达到接近1mips/mhz的性能,运行的速度比普通的cisc单片机要高出10倍。本设计中是利用单片机atmega8作为主要的控制器件,由单片机产生pwm脉冲控制功率开关管的导通与关断,从而来实现开关电源的输出电压的可调功能。3.1.1引脚说明atemga8现有mlf、pdip

30、和tqfp三种封装形式,其中mlf属于超小型表贴封装,左上角圆形标记处为引脚序号的起点和终点;pdip是一种双列直插式塑料封装,28引脚分成左右两排;tqfp是超薄方形扁平塑料封装,32条引脚线均匀地分布在正方形的四条边上,截角处为引脚序号起点。本设计中所用到的单片机就是28引脚的双列直插式的其引脚图如图3-1所示。图3- 1 atmega8的引脚图atmega8的引脚说明如下:1.vcc 数字电路电源。2.gnd 接地。3.端口b(pb7.pb0)端口b是8位双向的i/o口,而且具有可编程内部上拉电阻。而其输出缓冲器具有对称驱动特性,可以输出和吸收大电流。当用作输入使用的时候,如果内部的上拉

31、电阻使能,此时端口被外部电路拉低,将会输出电流。在复位的过程中,即使系统的时钟还没有起振,端口b仍处于高阻的状态。而通过时钟来选择熔丝位设置,pb6可以作为正方向振荡放大器或者时钟操作电路输入端。通过时钟来选择熔丝位设置,pb7可以作为反方向振荡放大器输出端。4.端口c(pc5.pc0)端口c是7位双向i/o口,具有可编程内部上拉电阻。其输出缓冲器具有对称驱动特性,可输出和吸收较大电流。作为输入引脚使用时,如果内部的上拉电阻有使能,当端口被外部的电阻拉低时将会输出电流。而在复位的过程中,即使系统的时钟还没有起振,端口c也是处于高阻状态。pc6的电气特性不同于端口c的其他引脚。如果熔丝位rstd

32、isbl编程,pc6可以作为通用i/o口引脚使用。如果熔丝位rstdisbl没有编程,pc6可作为复位输入引脚。持续的时间长度超过最小门限的时间长度的低电平将会引起系统的复位,如果持续时间不超过最小门限时间的低电平,则不能够保证单片机复位的可靠。5.端口d(pd7.pd0)端口d是8位的双向i/o口,具有可编程的内部的上拉电阻。其具有对称驱动特性的输出缓冲器,可以吸收和输出较大的电流。而当作输入使用的时候,如果内部的上拉电阻使能,那么端口被外部的电路拉低时将会输出电流。而在复位的过程当中,即便系统时钟还没有起振,端口d则处于高阻状态。6. 复位输入引脚。若持续的时间超过最小门限的时间的低电平将

33、会引起系统的复位。若持续的时间小于门限的时间的脉冲并不能保证复位的可靠性。7.是端口c(3.0) 、adc(7.6)及模数转换器的电源。当不使用adc时,此引脚应该直接与连接。而使用adc时应该通过一个低通滤波器与连接。需要注意的是端口c(5.4)为数字电源。8.aref模数转换的模拟基准输入引脚。3.1.2 atmega8i/o口概述atmega8的i/o口共有pb、pc、pd三个,其中pc口为7位i/o端口,相应的端口线为pc6pc0;pb和pd均为8位的i/o端口,相应端口线为pb7pb0和pd7pd0。在pb、pc和pd三个端口中,每个端口都有三个i/o寄存器。以x(x的取值为b、c和

34、d之一)端口做为例子,这三个i/o寄存器是pinx(x口输入引脚寄存器)、portx(x口数据寄存器)和ddrx(x口数据方向寄存器)。其中,pinx由n位pinxn拼装而成;portx由n位portxn拼装而成;ddrx由n位ddxn构成。因此,atmega8的三个i/o端口有9个i/o寄存器,它们是pinb、pinc、 pind、portb、portc、portd、ddrb、ddrc和ddrd,其中,ddrc、portc和pinc均为7位i/o寄存器,位号n为60,其余的为8位i/o寄存器。 avr单片机的每一个i/o端口作为通用数字i/o端口使用的时候,输出缓冲器具有对称的驱动能力,可以

35、输出或吸收较大的电流,从而可以直接驱动led显示以及蜂鸣器等。而且所有端口的引脚都是具有与电压无关的上拉电阻,并且有保护二极管与和地相连。atmega8的i/o口的输入输出都是通过对其i/o口的配置而实现的,当引脚配置为输出时,假设portxn为1,引脚会输出高电平,假如portxn为0,引脚会输出低电平;当引脚的配置为输入时,若portxn为1,上拉电阻将使能,如果想要关闭这个上拉电阻,可以将portxn位清零,或者经过这个引脚配置作为输出,即使此时并没有时钟在运行,复位时各引脚为高阻态。atmega8的i/o配置如表3-1所示。表3- 1 atmega8的i/o配置ddrxnportxnp

36、udi/o方向上拉电阻说明00×输入无高祖态输入口010输入有上拉输入口,被拉低时输出电流011输入无高阻态10×输出无输出低电平(吸收电流)11×输出无输出高电平(输出电流)3.2 atmega8的ad功能在avr单片机中有两种支持模拟信号的输入功能端口,分别是模拟比较器和模数转换器adc。模数转换器在微控制器中,作用是将模拟信号转换成数字信号的形式,微控制器才能进行处理。而且利用模拟比较器可以监测模拟信号变化情况1。3.2.1 adc功能简介a/d转换,即将模拟信号转换为数字信号的过程,a/d转换器的简称为adc(模数转换器)。adc是将连续变量的模拟输入信号

37、转换成离散的二进制数字信号的器件。由于系统的实际对象基本上都是一些模拟量,例如压力、温度、声音、图像、电压、位移等,要使计算机或者数字仪表能够识别出这些模拟量,必须要首先处理这些信号,将这些模拟信号转换成数字信号。模数转换器是将模拟输入信号转换为数字信号形式输出来。由于数字信号仅表示一个相对大小,所以每一个模数转换器需要一个参考模拟量作为转换标准,输出的数字量则表示输入信号相对于参考信号的大小。模数转换器实际上是一个比例的问题,adc产生的数字值要跟输入模拟量与转换器量程的比值有关。转换的关系如下: (3-1)其中x为数字输出量,n为数字输出位数(adc的位数),是模拟输入量的值,是模拟输入量

38、最大值。adc的性能如何取决于它的指标数,adc共有6个主要指标:分辨率、转换速率与转换时间、功耗、采样频率、数据输出速率。1.分辨率分辨率是指adc能够转换的二进制数位数,它描述的为adc量化信号准确度,高分辨率adc比低分辨率adc能把输入区间划分为更多的子区间,adc输入范围所划分子区间个数的对数即为adc的分辨位数,位数越多相应分辨率亦越高。2.转换精度转换精度指的是a/d转化器实际的输出值与理想的输出值的精确的接近程度。有两种表达方法:绝对误差以及相对误差。绝对误差是一个数字量实际模拟输入电压和理想模拟输入电压之差的最大值,通常以数字量最小有效位(lsb)的分数值来表示。相对误差指的

39、是在整个转换之范围内,数字量所对应模拟输入量的实际值同理论值之差,运用模拟电压满量程的百分比表示。数模转换的转换精度计算公式: (3-2)3.转换时间与转换速率转换时间指的是adc完成一次转换需要的时间;转换速率是指adc每秒转换次数,为转换时间和采样保持所需时间和的倒数,大多数的adc转换时间和转换速率互为倒数的关系。4.功耗功耗也是adc性能的一个非常重要的指标。减小功耗可以减小系统重量,提高电池的使用时间。减小功耗可以使adc的工作稳定较容易保持在合理的范围内。5.采样频率采样频率是指adc单位时间内对模拟输入信号采样的次数,常常表示为:ksps(千次采样每秒)或msps(兆次采样每秒)

40、。6.数据输出速率数据输出速率指的是单位时间内adc输出转换结果次数。输出转换结果指数字输出信号。atmega8具有10位精度的逐次逼近型adc,内建采样/保持电路。其特点为:0.5lsb非线性度和2lsb据对精度;65260us转换时间(adc的转换时间表见表3-2),最高分辨率时采样率可达到15ks/s;可选择的左调整adc读数;连续转换或单次转换模式;adc转换结束中断;基于睡眠模式的噪声抑制器;可选的内部adc参考电压。表3- 2 avr单片机片上a/d转换时间条件采样/保持(启动转换后的时钟周期数)转换时间(周期)第1次转换14.5us25us正常转换,单端1.5us13us自动触发

41、的转换2us13.5us正常转换,差分(atmega16)1.5/2.5us13/14us3.2.2 adc相关寄存器atmega8共有三个adc寄存器,它们分别为adc多工选择寄存器、adc数据寄存器、adc控制和状态寄存器。1.adc多工选择寄存器(admux)admux是多路复用选择寄存器,也是单片机64个i/o寄存器之一,admux各位定义如表3-3所示。表3- 3 admux各位定义位76543210位符号refs1refs0adlar-mux3mux2mux1mux0 (1)refs1、refs0(位7和位6):参考电压选择位这些位用于选择adc的参考电压。若在adc转换过程中,这

42、些位重新进行设置,只有在当前adc转换结束(adcsra寄存器的adif置位)后改变才会生效。如果adc的参考电压选用内部电压参考源,aref引脚上不将不需要施加外部参考电压,只能在与地之间并接抗干扰电容。adc的电压参考源如表3-4所示。表3- 4 adc的电压参考源refs1refs0参考电压选择00aref,内部关闭01avcc,aref引脚外加滤波电容10保留112.56v的片内基准电压源,aref引脚外加滤波电容 (2)adlar(位5):adc转换结果左对齐选择位adlar叫做adc结果左端对齐选择位,用于决定adc转换结果在adc数据寄存器中的存放格式。若使adlar=0,则ad

43、c中数字量按“右对齐”格式存放;若adlar=1,则adc中数字量按“左对齐”格式存放。无论何时对adlar位进行改变,都会立即对adc数据寄存器产生影响。(3)mux3mux0(位3位0)mux3mux0称为adc模拟通道选择位,用于设定adc7adc0、和gnd中哪一路模拟电压被a/d转换,选择关系如表3-5所示。表3- 5 adc通道选择表mux3.mux0单端输入通道0000adc00001adc10010adc20011adc3表3- 6 adc通道选择表(续)mux3.mux0单端输入通道0100adc40101adc50110adc60111adc71000-1001-1010-

44、1011-1100-1101-11101.23v()11110v(gnd)2. adc数据寄存器adch和adcladc称为单片机的数据寄存器,二进制16位,是由adch和adcl拼装而组成的,用于存放a/d转换后得到的数字量。adc中10位数字量有“左端对齐”和“右端对齐”两种存放格式,受admux寄存器中adlar位控制。若adlar=0,则adc寄存器中数据为“右端对齐”;若adlar=1,则adc寄存器为“左端对齐”。在“左端对齐”和“右端对齐”两种格式下,adc中数字量的存放形式如表3-8和表3-9所示。表3- 7 adc在右端对齐下的数据格式(adlar=0)位1514131211

45、1098位符号-adc9adc8位符号adc7adc6adc5adc4adc3adc2adc1adc0表3- 8 adc在左端对齐下的数据格式(adlar=1)位15141312111098位符号adc9adc8adc7adc6adc5adc4adc3adc2位符号adc1adc0-为了确保adc中所读数字量为同一次a/d转换结果,adc数据寄存器在用户读出adcl后便被冻结,adc中不能把新的a/d转换结果送入进去,直到adch寄存器被读出以后为止。因此,如果adc中数据采用左端对齐的格式,并且只需8位转换精度,那么用户仅需读取adch寄存器足矣;否则,用户必须先读adcl,后读adch,两

46、次读出之间不能插入其它任何指令。3. adc控制和状态寄存器(adcsra) adcsra被称之为adc控制和状态寄存器。用户可以通过in/out指令对它进行读写,也可对其中的每一位进行位寻址。adcsr中各位定义如表3-6所示。表3- 9 adcsr各位定义位76543210位符号adenadscadfradifadieadps2adps1adps0(1)aden(位7)aden的名称为adc使能位,用于控制adc是否使能。如果aden=1,则adc被使能;如果aden=0,则adc被关闭。(2)adsc(位6)adsc名为adc启动转换位。在单次转换模式下,置位adsc能够启动一次a/d转

47、换;在连续转换的模式下,将adsc置位会启动第一次a/d转换。先使aden=1然后使adsc=1或者aden和adsc同时设置为1,adc首次进行a/d转换,经过25个adc时钟后本次a/d转换完成;在以后各次常规a/d转换中,每次a/d只需要13个adc时钟时间。 在每次a/d转换过程中,adsc始终处于1状态,只有在a/d转换完成后才变为0状态。强制写0无效。 (3)adfr(位5) adfr是adc转换模式的选择位。如果使adfr=0,则adc被设定成单次转换模式或者连续转换模式的终止状态;如果使adfr=1,则adc被设定成连续转换模式。在连续转换的模式之下,模拟输入电压被连续采样,a

48、dc数据寄存器也被不断地更新。(4)adif(位4)adif被称为adc(完成)中断标志位,是一个状态位,用于指示当前adc中断是否存在。如果adif=0,则表示没有a/d转换或本次a/d转换尚未完成,adc还未更新;如果adif=1,则表示本次a/d转换已完成,adc也已更新。(5)adie(位3)adie被称为adc中断允许位,用于控制adc中断是否被允许。如果adie=1,那么adc中断被允许;如果adie=0,那么adc中断被关闭。一旦adif=1,而且adie和sreg的位i也被置为1,则单片机便会响应中断从而进入相应的中断服务程序执行。 (6)adps2adps0(位2位0)adp

49、s2adps0叫做adc时钟预分频选择位,用于决定系统主时钟和adc时钟之间的分频率,如表3-7所示。表3- 10 adc时钟分频adps2adps1adps0分频率00020012010401181001610132110641111283.3 atemga8的pwm功能atmega8单片机定时器/计数器1除了可以设置为一般模式以及ctc(比较匹配清零计数器)模式以外,还可设置为相位可调pwm、快速pwm以及相应频率可调pwm模式,通过外部运算放大器从而构成8位、9位、10位或16位的d/a转换器。3.3.1 pwm波形发生器选择pwm波形发生器选择控制位,在t/c1的控制寄存器a和控制寄存

50、器b中的wgm13.wgm10位。t/c1控制寄存器a和控制寄存器b如表3-10和表3-11所示。表3- 11 t/c1的控制寄存器a(tccr1a)位76543210位符号com1a1com1a0com1b1com1b1foc1afoc1bwgm11wgm10表3- 12 t/c1的控制寄存器b(tccr1b)位76543210位符号icnc1ices1-wgm13wgm12cs12cs11cs10tccr1a中wgm11和wgm10被称为波形发生器模式控制位,同tccr1b中的wgm13和wgm12组合,用于控制t/c1的计数方式和工作方式(计数上限值),以及确定波形发生器的工作模式,如表

51、3-12所示。表3- 13波形发生器模式的确定模式wgm13.0t/c1工作模式计数上限值(top)ocr1a/ocr1b更新tov1置位00000一般模式0xffff立即0xffff100018位pwm,相位可调0x00fftop0x0000200109位pwm,相位可调0x01fftop0x00003001110位pwm,相位可调0x03fftop0x000040100ctcocr1atop0xffff501018位pwm,快速0x00ff立即top601109位pwm,快速0x01fftoptop7011110位pwm,快速0x03fftoptop81000pwm,相位和频率可调icr1

52、0x00000x000091001pwm,相位和频率可调ocr1a0x00000x0000101010pwm,相位可调icr1top0x0000111011pwm,相位可调ocr1atop0x0000121100ctcicr1立即0xffff131101保留-141110pwm,快速icr1toptop151111pwm,快速ocr1atoptop通过设定wgm13wgm10=1、2、3、10或11,可以把t/c1设定成相位可调pwm模式,以便能在oc1a/oc1b引脚上产生高精度相位可调pwm波,在这种模式之下,tcnt1为一个双程的计数器,可以从0一直增加到top值,并且在下一个计数脉冲到

53、达之时改变计数的方向,从top值开始一直减小到0。在正向比较匹配(com11: com10=2)(见表3-13)模式下,如果正向加1的过程中tcnt1的计数值和ocr1a/ocr1b的输出比较值发生相同匹配,则oc1a/oc1b被置零,oc1a/oc1b引脚输出为低电平;如果反向减1过程中tcnt1的计数值和oc1a/oc1b输出比较相同,则oc1a/oc1b被置位,oc1a/oc1b引脚输出为高电平。在反向比较匹配(com11: com10=3)模式下,如果正向加1过程中tcnt1的计数值和ocr1a/ocr1b输出比较值相同匹配,则oc1a/oc1b被置位,oc1a/oc1b引脚输出为高电

54、平;如果反向减1过程中tcnt1的计数值和oc1a/oc1b输出比较相同,则oc1a/oc1b被置零,oc1a/oc1b引脚输出低电平。通过设置t/c1控制寄存器a可以设定通道a以及通道b的输出比较模式, t/c1在oc1a/oc1b引脚上输出波形的频率由tcnt1计数上限决定,该计数上限值越大,输出波形频率越低;输出波形起始脉宽和相位由输出比较寄存器ocr1a/ocr1b中设定的比较匹配值来决定2。ocr1a为t/c1输出比较匹配寄存器a,由ocr1ah跟ocr1al拼装成,其值可以用单片机通过程序来设定。随着tcnt1不断计数,ocr1a中设定值一次一次地和tcnt1中实时值进行比较,一旦比较相等便将tifr中的ocf1a(t/c1输出比较匹配a中断标志位) 置位以及向单片机请求一次中断,并改变一次oc1a(pb1)引脚上的电平值。ocr1b以及ocr1a的情况类似,当ocr1b的值和tcnt1的实时值比较相等时,也会将tifr中的ocf1b(t/c1输出比较匹配b中断标志位) 置位以及向单片机请求一次中断,亦会在oc1b(pb2)引脚上产生相

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论