数字电压表的设计毕业设计论文(编辑修改稿)内容摘要:
时间。 加在 RST端的高电平信号要维持足够长的时间才能保证系统可靠复位。 一般来说复位方式有上电自动复位和按钮复位两种。 图 33是 AT89c51 单片机的上电复位和按钮复位组合电路。 图 33 复位电路 A/D转化 模块 现实中大多数都是模拟量,这样并不能被我们直接采用,所以人们研制了数字量的器件,它能把模拟的物理量转变成我们能够利用的数字量,这是单片机几桶收集整理转变数据的关键,在电路设计中必不可少,经过人们不断努力改进,现在的转换器已经具备了很强的抗干扰能力,转换精度十分准确,性能强,价格低廉,种类多,常用的有逐次逼近型,双重积分型等。 逐次逼近式 A/D 转换的转换速度和精度都比双积分型更高, ADC0808 转换器可以与单片机连接,把转换得到的数字量送入单片机,并对数字量进行分析和显示。 每个位比较一次,那么一个 n位久需比较 n次,这过程中所消耗的由位数和单片机时钟周期来共同决定,因为现实中更注重效率,而逐次逼近型 A/D转换器转换速度快,在现实的生产生活中被大量采用。 A/D 转化器的工作原理 转换器要想工作,必须先做几个步骤如寄存器每一个都必须归零,开始转换工作时,必须将最高位置高电也就是置 1才能把数据送入转换器中进行转换,转换后的结果与输入时的比较,若经转换的模拟量小于输入的模拟量,则 1被保留,如转换的模拟量大于输入的模拟量,则 1不保留,接着第二位第三位第四位并最终到最低位,最终寄存器中所存储的便是输入模拟量所对 应的二进制的数字量。 ADC0808 主要特征 ADC0808 是有使能控制端和微机直接接口的 CMOS 单片型逐次逼近式 A/D 转换器,首华东 交通 大学 理工学院毕业 设计 9 先应用在智能仪器和机床控制领域片内可以对模拟电压信号对 8路同时进行转换,之所以这么做,是因为 ADC0808 与其他相比有着先天的优势 :第一,它是 8 路 8 位的转换器;其次, 8路模拟开关并具有锁存控制功能再次可以接各种微控制器口;第三,锁存三态,与TTL转换电压低且精度高低功耗等特点。 ADC0808 的外部引脚特征: ADC0808 有 28 条引脚,其引脚图如下所示: 图 34 ADC0808的引脚图 下面说明各个引脚功能: IN0IN7( 8条):用来进行输入控制转换模拟电压。 地址控制: ALE 为地址输入锁存许可线,输入高电平时有效,当 ALE 置高电平时,做为地址输入线使用。 START:启动信号脉冲线,正脉冲宽度不小于 100ns,否则无法启动, EOC: 标志着转换结束的输出线,电位处于高电平时则表示 A/D 转换已经结束,且数字量自动锁入锁存器中。 D1D8:数字量输出端口, D8 位最低位, D1 位最高位。 OE:输出允许端,高电平时,把转换后的数字量通过 D1D8 引脚上输出。 REF+、 REF:输入电压参考量,指给电阻阶梯网络的参考电压和标准值。 Vcc、 GND: Vcc 一般 R与 EF+连接在一起为主电源输入端,地端是 GND 与 REF连接在一起,这样便是 VCC , GND 的作用。 转换器和单片机的链接,如下图: 田 唯 迪 : 数字电压表的设计 10 图 35 转换器和单片机的链接 显示模块设计 数码管介绍 本文的电压值是选用 LED 数码管来显示的。 LED数码管由 8 个发光二极管组成,其中7 个按“ 8”字型排列,还有一个是位于右下角且发光管的圆点形状为 dp,用来显示小数点。 LED有低功耗、亮 度强、线路简单、寿命长等优点,数码管的引脚图 如图 36 所示: 华东 交通 大学 理工学院毕业 设计 11 图 36数码管引脚排列 发光二极管有两种接法,分别是共阳极接法和共阴极接法,把 8 个点连在一起,高电平在公共端接入的叫共阳极,低电平在公共端接入的叫共阴极。 数码管有静态和动态两种显示方式。 静态显示, 就是指一个 I/O 端口只能控制一个数码管的段码数据。 这样各个数码管显示相对独立,每个数码管接收的显示字符一经确定,相应 I/O 口的输出段码将保持不变,直到显示下一个字符,此特点使得数码管的显示亮度也较高。 但是也存在着缺点,大量的 I/O 端口在数码管过 多时将被占用。 动态显示,指逐位地点亮显示器的各个位,点亮一次显示器的亮度与间隔时间、导通电流和点亮时间的比例三者相关。 动态显示的亮度要比静态显示要暗,所以在选择静态显示电路中的限流电阻应该要大于限流电阻时阻值,防止数码管损坏。 采用了自动显示 8 路模拟电压值动态显示对于设计的实现非常容易。 数码管显示模块电路 数码管要求的驱动电流在 10mA~ 20mA,为防止数码管灌入的电流太大, 超出了单片机允许的电流范围 而导致器件损坏 , 在 P1 口输出段码显示处 ,要加入 10K 的限流电阻排阻,一共 8个同阻值的电阻,分别 对应 LED 的 8 个接口,既保护数码管,又简单电路。 本设计选用软件译码的方式来简化电路和进行数值显示。 显示电路采用 LED 数码管通过软件译码动态显示,通过单片机的 P 、 、 口控制。 通过译码器驱动将依次循环点亮数码管 ,如图 37 所示: 田 唯 迪 : 数字电压表的设计 12 图 37 数码管电路 LED 数码管与单片机接口设计 LED 驱动电路设计是一个很重要的问题,单片机的 I/O 口产生的电流并不能直接驱动LED,驱动电路能力太差,这样就会导致显示器亮度低,这时,只要用驱动电路产生足够的电流, LED就能正常工作。 在 LED 驱动电路的设计过程中,可以利用上拉电阻解决这种问题, 就是可以在 LED 的DP引脚到 P0口和 7 段显示引脚之间接上上拉电阻, 以此来增强 P0口的驱动能力, LED 以正常的亮度运行。 如图 38所示。 图 38 数码管与单片机的链接 华东 交通 大学 理工学院毕业 设计 13 高阻隔放大电路 采用 LM324 运放构成的前级信号调理电路,作为衰减信号的缓冲,提高输出阻抗,电压不变,电流增大,保证输出稳定并减小后级电路对信号的影响,避免冲击电压对运放的危害,加一个电容保护电路。 图 39 高阻隔放大电路 总体电路设计 总结以上的设计,利用 protues 软件绘制出简易的数字直流电压表电路原理图。 数字直流电压表电路 图的工作原理是:输入模拟电压,对模拟电压信号进行处理然后再由ADC0808 的 IN0 通道进入,这样经过转换后的数字量经过 D0D7 输出通道再传送给单片机芯片的 P1 口,接收到的数字量可以通过 AT89C51 进行数据处理,通过 P0口输出给译码器,从而 7段数码管的显示段码再传送给 74HC245 译码然后去驱动 LED, 还控制 、 、 的段选以及小数点。 此外, AT89C51 还控制 ADC0808 的工作,单片机 AT89C51 通过从ALE引脚输出方波,接到 ADC0808 的 CLOCK, 发正脉冲启动 A/D转换, A/D 转换完成产生中断,单片机进入中断程序 ,从 P1口读取转换的 置高电位,然后送给 LED 显示。 总体电路设计完毕,利用 Proteus 制出硬件的原理结构图,并作相应的检查、修改、及测试,直至完成完善的硬件原理结构图。 本设计目的是能对电压进行测量,显示的功能和其他相应的软件配合。 如图 310 所示: 田 唯 迪 : 数字电压表的设计 14 图 310 系统电路图 华东 交通 大学 理工学院毕业 设计 15 4 程序 设计 流程图 主 程序流程分成 3个模块,初始化模块,显示 A/D 转换子程序模块和子程序模块构成的。 第一步,开始,系统自动回到初始化状态,此时, A/D 转化子程序启动,将输入的模拟信号转化为数字信号,测量限值比较,若输入的模拟电压大于电压表的测量范围,则系统蜂鸣器报警且输出电压表测量电压最大值,若输入电压小于测量范围,则系统正常运行且输出准确电压,接着显示子程序启动,数字信号通过 LED 显示板显示数值,流程结束。 如下图所示: 图 41 数字电压表主程序框图 启动电源前,系统自动复位,蜂鸣器关闭, LED 显示关闭,定时器初始化。 启 动电源,输入被测模拟电压值,经过 A/D 转换程序,译码器获得电压数值,通过 LED显示器显示,此时判断被测电压是否超出测量范围,若超出,蜂鸣器报警,输出测量范围最大值;若正常,则输出准确电压。 另外,还可设置系统电压的测量范围,通过限制设置一栏设定想要的测量范围。 主程序核心代码: //主程序 void main() { int value。 //电压数据 田 唯 迪 : 数字电压表的设计 16 unsigned int delay_count=0。 //延时计数 BUZ=0。 //上电先关闭蜂鸣器 LED=1。 //关 LED TimerInit()。 //定时器初始化 while(1) { delay_count++。 //延时计数 +1 if(delay_count5000) { delay_count=0。 //延时计数清 0 value=GetValue()。 //获取电压 ValueDis(value)。 //显示电压 if(value=valueMAX) //电压正常 { BUZ=0。 //关蜂鸣器 LED=1。 //关 LED b_over=0。 //超限标志 } else //电压超限 { b_over=1。 //。数字电压表的设计毕业设计论文(编辑修改稿)
相关推荐
6 / W R16P 3 .5 /T 115P 2 .7 /A 1 528P 2 .0 / A 821P 2 .1 / A 922P 2 .2 /A 1 023P 2 .3 /A 1 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U2A T 8 9 C 5 2X1C R Y S T A LC12 2 p FC22 2 p FC31 0 u F
24MHz,它决定了单片机电路产生的时钟信号震荡频率,在本系统中选择的是 12MHz,因而时钟信号的震荡频率为 12MHz。 复位电路 单片机在启动运行时都需要复位,使 CPU 和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。 其复位电路图如图 10 所示。 2 2 uR22 0 0 22uFC1GND1KR1Res3200R00Res3RETSSWPB 图 10
其中,秒钟调整按键的功能是当闹钟时间 调整 开关闭合时调整闹钟时间的秒位,XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 1 2 3 4 5 6 7 8 U1 AT89C51 SW1 SWSPST 反之对时间值的秒位进行调整,分钟调整按键的功能是当 闹钟时间调整开关 闭 合时调整闹钟时间的分位,反之对时间值的分位进行调整,时钟调整按键的功能是当
计数器内部的计数功能 , 计数器的内部计数 信号 clk 和频率计数器的使能信号 enable。 频率计数器的计数模块的输出信号就是个位 sec、 十位 sec10。 电路图如 图 26 所示。 图 26 计数模块电路图 10 十进制计数器 , 它的输入端口主要包括使能端口 enable 计数输入端口clk, 输出端口主要包括计数输出端口 q 和进位输出端口 cout。 计数模块程序及仿真图
alue_buff[k]) k=j。 {temp=value_buff[k]。 value_buff[k]=value_buff[i]。 value_buff[i]=temp。 } } return value_buff[(N1)/2]。 } 算术平均滤波法适用于对一般的具有随机干扰的信号进行滤波。 这种信号的特点是信号本身在某一数值范围附近上下波动,如测量流量、液位时经常遇到这种情况。
片机。 U2 温度传感器。 U3 集成芯片。 U4 4位 7段数码管 共阳。 串口头 母头。 USB头。 洞洞板 其中(一些元器件需要注意): 4位 数码管 共阳 焊接的时候顺序一定要对,千万不能跟共阴的数码管搞混合。 DS18B20温度传感器 — 注意接地和 VCC接口不要接反 和最小系统电路连接时要接对引脚不能搞混。 串口头 母头 RS232端口引脚定义: (因为计算机后面的串口多为公头