数字电压表的设计毕业设计论文(编辑修改稿)内容摘要:

时间。 加在 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。 //。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。