基于AT89C51单片机数字电压表的设计
生产了位数,尺寸,型号不同的LED显示器供选择,在本设计中,选择4位一体的数码型LED显示器,简称“4-LED”。本系统中前一位显示电压的整数位,即个位,后三位显示电压的小数位。
4-LED显示器引脚如图3-5所示,是一个共阴极接法的4位LED数码显示管,其中a,b,c,e,f,g为4位LED各段的公共输出端,1、2、3、4分别是每一位位数选端,DP是小数点引出端,4位一体LED数码显示管的内部结构是由4个单独的LED组成,每个LED的段输出引脚在内部都并联后,引出到器件的外部。
图3-5 4位LED引脚
本设计中LED和单片机的连接如图3-6,图中可以看出,本设计用单片机的P0.0~P0.7作为LED显示的片选端口,P2端口作为LED的位选信号。
图3-6 显示电路连接图
9
厦门工学院 课程设计(论文)
3.4 总体电路设计
经过以上的设计过程,可设计出基于单片机的简易数字电压表硬件电路原理 图如图3-7所示。
图3-7 设计电路总图
此电路的工作原理是:+5V模拟电压信号通过变阻器RV1分压后由IN0进入ADC0808,经过A/D转换后,读取转换后的采样值,通过公式:电压=采样值/采样精度*参考电压,将通过公式计算后的数字量经过其输出通道A0-A7传送给AT89C51芯片的P1口,AT89C51负责把接收到的数字量经过数据处理,产生正确的显示段码通过P0口传送给共阴数码管,P2.0、P2.1、P2.2、P2.3产生位选信号控制数码管的亮灭。
AT89C51通过P3.4给ADC0808的CLOCK提供时钟信号,当给单片机的P3.0输出一个正脉冲,利用其下降沿可启动A/D转换,由P3.2检测A/D转换是否完成,转换完成后,通过P3.1使输出允许控制端OE置为高电平,允许单片机读取转换数据,将转换结果送给共阴数码管显示出来。
10
基于AT89C51单片机数字电压表的设计
第4章 数字电压表的软件设计
4.1 设计流程图
主程序主要完成信号存储、信号处理、A/ D转换以及调用显示等。
主程流程如图4-1所示:程序首先从ORG0000H开始,然后无条件件跳转至主程序的首地址开始,初始化后,先调用模数转换程序进行输入信号的数字化,然后调用显示子程序将处理后的数字输出,一次数据结束后,循环执行调用的两个子程序。
图4-1 主程序流程图
A/D转换子程序如图4-2所示:首先进行开始模数转化,执行后,如果检测到转化没有完成则继续转化,如果转化完成,执行下一条指令,将取得模数转化结果并转换为工程量,然后显示转换结果,此为一次模数转换,如此循环可转换下一组数据,全部转换完毕后,结束。
图4-2 A/D转换子程序流程图
11
厦门工学院 课程设计(论文)
4.2 各子程序简介
初始化子程序的主要工作是设置定时器的工作模式,初值预置,开中断和打开定时器等。
A/D转换子程序用来控制对输入的模块电压信号的采集测量,并将对应的数值存入相应的内存单元。
显示子程序采用动态扫描实现四位数码管的数值显示,在本设计中,为了简化硬件设计,主要采用软件定时的方式,即用定时器0方式2产生40ms定时,通过软件延时程序来实现10ms的延时。
12