沈阳理工大学学士学位论文
采用30p或者22p。
3.3.4 蜂鸣器模块
图3.17蜂鸣器电路图
此蜂鸣器的作用主要用于报警,当采集的电压低于某个值或者高于某个值时,自动报警提醒。此蜂鸣器是无源的,外接有+5v的电压和三极管,电阻,以及地。三极管的作用是起到开关作用,三极管是PNP的,当PF7端口输出低电平时,三极管导通,此时蜂鸣器工作。电阻主要用于限流
3.4.5 LED数码管显示模块
图3.18 LED数码管原理图
27
沈阳理工大学学士学位论文
LED(Light Emiting Diode)是发光二极管的缩写。LED数码管里面有8知发光二极管。分别记作a、b、c、d、e、f、g、dp。其中dp是小数点,每一只发光二极管都有一根电极引到外部引脚上,而另外一只引脚就连接在一起同样也引到外部引脚上,记作公共端(COM),如表所示。
表3.10
显示数字 0 1 2 3 4 5 6 7 8 9 7 dp 0 0 0 0 0 0 0 0 0 0 3 g 0 0 1 1 1 1 1 0 1 1 2 f 1 0 0 0 1 1 1 0 1 4 e 1 0 1 0 0 0 1 0 1 0 5 d 1 0 1 1 0 1 1 0 1 1 8 c 1 1 0 1 1 1 1 1 1 1 9 b 1 1 1 1 1 0 0 1 1 1 10 a 1 0 1 1 0 1 1 1 1 1 16进制代码 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH 1
显示器普遍地用于直观地显示数字系统的运行状态和工作数据,按照材料及产品工艺,单片机应用系统中常用的显示器有:发光二极管LED显示器、液晶LCD显示器、CRT显示器等。LED显示器是现在最常用的显示器之一。市面上常用的LED数码管有两种,分为共阳极与共阴极。共阳极:当数码管里面的发光二极管的阳极接在一起作为公共引脚,在正常使用时此引脚接电源正极。当发光二极管的阴极接低电平时,发光二极管被
28
沈阳理工大学学士学位论文
点亮,从而相应的数码管显示。而输入高电平的段则不能点亮。相反,共阴极:当数码管里面的发光二极管的阴极接在一起作为公共引脚,在正常使用时此引脚接电源负极。当发光二极管的阳极接高电平时,发光二极管被点亮。从而相应的数码管显示,而输入低电平的段则不能点亮。
3.3.6 A/D转换模块
图3.19 AD转换电路图
电压采集主要是用一个滑动变阻器来实时产生变化的电压。 此AD转换主要用于模拟电压转换数字电压。
ATMEGA128自带的AD转换主要用了两个寄存器ADMUXA和ADCSRA
ADMUXA寄存器
图3.20 ADMUXA寄存器图
Bit 7:6 – REFS1:0: 参考电压选择
通过这几位可以选择参考电压。如果在转换过程中改变了它们的设置,
只有等到当前转换结束(ADCSRA 寄存器的ADIF 置位) 之后改变才会起作用。如果在
29
沈阳理工大学学士学位论文
AREF 引脚上施加了外部参考电压,内部参考电压就不能被选用了。
Bit 5 – ADLAR: ADC 转换结果左对齐ADLAR影响ADC转换结果在ADC数据寄存器中的存放形式。ADLAR置位时转换结果为左对齐,否则为右对齐。ADLAR 的改变将立即影响ADC 数据寄存器的内容,不论是否有转换正在进行。 Bits 4:0 – MUX4:0: 模拟通道与增益选择位
通过这几位的设置,可以对连接到ADC 的模拟输入进行选择。也可对差分通道增益进行选择。细节见Table 98。如果在转换过程中改变这几位的值,那么只有到转换结束 (ADCSRA 寄存器的ADIF 置位) 后新的设置才有效。
ADCSRA寄存器
图3.21 ADCSRA寄存器图
Bit 7 – ADEN: ADC 使能
ADEN置位即启动ADC,否则ADC功能关闭。在转换过程中关闭ADC将立即中止正在进行的转换。
Bit 6 – ADSC: ADC 开始转换
在单次转换模式下,ADSC 置位将启动一次ADC 转换。在连续转换模式下,ADSC 置位将启动首次转换。第一次转换( 在ADC 启动之后置位ADSC,或者在使能ADC 的同时置位ADSC) 需要25 个ADC 时钟周期,而不是正常情况下的13 个。第一次转换执行ADC初始化的工作。在转换进行过程中读取ADSC 的返回值为\,直到转换结束。ADSC 清零不产生任何动作。
Bit 5 – ADFR: ADC 连续转换选择当该位写1, ADC 工作在连续转换模式。在该模式下, ADC 不断对 数据寄存器采样与更新。 该位写0,停止连续转换模式。
Bit 4 – ADIF: ADC 中断标志在ADC 转换结束,且数据寄存器被更新后, ADIF 置位。如果ADIE 及SREG 中的全局中断使能位I 也置位,ADC 转换结束中断服务程序即得以执行,同时ADIF 硬件清零。此外,还可以通过向此标志写1 来清ADIF。要注意的是,如果对ADCSRA 进行读-修改-写操作,那么待处理的中断会被禁止。这也适用于SBI
30
沈阳理工大学学士学位论文
及CBI 指令。
Bit 3 – ADIE: ADC 中断使能若ADIE 及SREG 的位I 置位, ADC 转换结束中断即被激活。
Bits 2:0 – ADPS2:0: ADC 预分频器选择位
这几位确定了XTAL 与ADC 输入时钟之间的分频因子。
AD转换结果转换结束后(ADIF 为高),转换结果被存入ADC 结果寄存器(ADCL, ADCH)。
单次转换的结果如下:ADC?1024*VINv
REF式中,VIN为被选中引脚的输入电压,VREF为参考电压。
0x000 代表模拟地电平, 0x3FF 代表所选参考电压的数值减去1LSB。
AD转换概述在我们所采集的信号中大多是连续变化的物理量,而要对各种信号进行处理,则需要将其转换为计算机能处理的数字量,A/D转换器就是将连续变化的模拟量转换成计算机能接受的数字量。A/D转换器的种类很多,就位数来说,可以分为8位、10位、12位和16位等。位数越高其分辨率就越高,价格也就越贵。A/D转换器型号很多,而其转换时间和转换误差也各不相同。按模拟量转换成数字量的原理可以分为3种:双积分式、逐次逼近式及并行式A/D转换器。逐渐逼近式A/D转换器:它是一种速度快、精度较高、成本较低的直接式转换器,其转换时间从几微秒到几百微秒。双积分A/D转换器:它是一种间接式的A/D转换器,优点是抗干扰能力强,精度比较高,不足是数度很慢,适用于系统对转换度要求不高的场合。并行式A/D转换器:它又被称为flash(快速)型,它的转换速度很高,但她采用较多的比较器,而n位的转换就需要2n-1个比较器,因此电路规模也极大,价格也很贵,只适用于视频A/D转换器等数度特别高的领域[10]。比较以上三种方案,在价格、转换速度等多种标准的考虑下,本设计选用ATMEGA128自带的AD转换模块。ATmega128有一个10位的逐次逼近型ADC。ADC与一个8通道的模拟多路复用器连接,能对来自端口A 的8 路单端输入电压进行采样。单端电压输入以0V (GND) 为基准。器件还支持16 路差分电压输入组合。两路差分输入(ADC1、ADC0 与ADC3、ADC2)有可编程增益级,在A/D 转换前给差分输入电压提供0 dB (1x)、20 dB (10x) 或46 dB(200x) 的放大级。七路差分模拟输入通道共享一个通用负端(ADC1),而其他任何ADC 输入可做为正输入端。如果使用1x 或10x 增益,可得到8 位分辨率。如果使用200x 增益,可得到7 位分辨率。
31