好文档 - 专业文书写作范文服务资料分享网站

利用51单片机与ADC0809和数码管设计数字电压表 - 图文 

天下 分享 时间: 加入收藏 我要投稿 点赞

-

利用51单片机与ADC0809和数码管设计数字电压表 一、课题功能描述:

利用单片机AT89C51 芯片与ADC0809 芯片设计一个数字电压表,能够测 量0―5V 之间的直流电压,三位数码显示。

二、程序设计

本实验采用AT89C51 单片机芯片配合 ADC0809 模/数转换芯片构成一个简 易的数字电压表,原理电路如图1-1 所示。该电路通过 ADC0809 芯片采样输入口 AI0 输入的0~5V 的模拟量电压,经过模/数转换后,产生相应的数字量经过其输出通道D0~D7 传送给 AT89C51 芯片的F0口。AT89C51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码,并通过P1 口传送给数码管。同时它还通过其三位 I/O 口 P3.0、P3.1、P3.2 产生位片选信号,控制数码管的亮灭。另外,AT89C51 还控制着 ADC0809 的工作。其ALE管脚为 ADC0809提供了 1MHZ 工作的时钟脉冲;P2.3 控制 ADC0809 的地址锁存端(ALE); P2.4 控制 ADC0809 的启动端(START); P2.5 控制 ADC0809 的输出允许端(OE); P3.7 控制 ADC0809 的转换结束信号(EOC)。 电路原理图如下:

- . - 总结资料-

-

三、 器件清单:

1 . AT89S51 芯片 1块 2 . ADC0809 芯片 1块 3 . 74HC245 芯片 1块 4 . 数码管 1个 5 . 6MHZ 晶振 1个 6 . 30pF 电容 2个 7 . 10uF 电解电容 1个 8 . 复位电容 1个 9 . 510Ω电阻 8个 10. 10KΩ电阻 1个 11. 导线 若干

四、程序设计

- . - 总结资料-

-

1、主程序设计

由于ADC0809 在进行A/D转换时需要有CKL 信号,而此时的 ADC0809 的CLK 是连接在 AT89C51 单片机的30管脚,也就是要求从30管脚输出CLK 信号供 ADC0809 使用。因此产生 CLK 信号的方法就等于从软件产生。电压表系统有主

开始 初始化 调用A/D转化程序 调用数据处理程序 调用显示程序 图1-2主程序流程图

程序,A/D 转换子程序和显示子程序,如下流程1-2所示:

2、A/D 转换子程序

- . - 总结资料-

-

启动 ADC0809 对模拟量输入信号进行转换,通过判断 EOC(P3.7)来确定转换是否完成, 若EOC 为0则继续等待;若 EOC为1,则把OE 置位,将转换

开始 初始化 启动A/D转化器 开始 A/D转换结束? (P3.7=1?) 是 P2.5置位,允许输出 将转换得到的数据存储 结 束 图1-3 A/D转换程序流程图

完成的数据存储到 70H 中。程序流程图如图1-3 3、数据处理子程序

数据处理子程序主要根据标度变换公式1-1,把0~255十进制数转换为0.00~5.00V. AX=A0+(Am-A0)(NX-N0/Nm-N0) (1-1) Ax: 模拟测量值; A0: 模拟输入最小值; Am: 模拟输入最大值;

NX: 模数转换后的值; N0:模/数转换后的最小值; Nm:模/数转换后的最大值 。

在本设计中,根据要求知:A0=0V,Am=5V,N0=0,Nm=255,则公式1-1可化简

- . - 总结资料-

开始 从70H中取数据,除以 51 得到个 - 位,存放在70H中,余数移入A 余数与51的一半即1AH借位相 减比较,以便四舍五入,利用P0 余数×10,再除以51 商放入A中 P0=1? 是 否 数据调整,相当于五入 A放入79H中,得到十分位 再将余数放入A中,进行除51操作 四舍 P0=1? 否 是 A = A + 5 四舍 A放入7AH中,得到百分位 结 束 图1-4 数据处理子程序流程图

为:

AX=A0+(Am-A0)(NX-N0/Nm-N0)=5·NX/255=NX/51 (1-2)

程序流程图如图1-4所示:

4、显示子程序

显示子程序采用动态扫描法实现三位数码管的数值显示。测量所得的A/D转换数据放在70H存单元中,测量数据在显示时需转换成10进制BCD码放在78H~7AH单元中。寄存器R1用作显示数据地址指针。 程序流程图如1-5所示:

- . - 总结资料-

利用51单片机与ADC0809和数码管设计数字电压表 - 图文 

-利用51单片机与ADC0809和数码管设计数字电压表一、课题功能描述:利用单片机AT89C51芯片与ADC0809芯片设计一个数字电压表,能够测量0―5V之间的直流电压,三位数码显示。二、程序设计本实验采用AT89C
推荐度:
点击下载文档文档为doc格式
0vgry9emhy17c19373fh7l7tx29yiq00g2m
领取福利

微信扫码领取福利

微信扫码分享