首页 » 智能 » 基于51单片机的数字电压表系统设计_单片机_通讯

基于51单片机的数字电压表系统设计_单片机_通讯

落叶飘零 2025-01-23 03:35:22 0

扫一扫用手机浏览

文章目录 [+]

设计一个基于单片机的分辨率为0.02V,量程为0.00~5.00V的数字电压表

二、设计方案的选择

基于51单片机的数字电压表系统设计_单片机_通讯 基于51单片机的数字电压表系统设计_单片机_通讯 智能

四位共阳数码管,用于显示含单位的电压值。

a.为什么选择共阳数码管?

基于51单片机的数字电压表系统设计_单片机_通讯 基于51单片机的数字电压表系统设计_单片机_通讯 智能
(图片来自网络侵删)
由于共阳数码管可以利用单片机本身的驱动能力,不须要外加一些驱动电路,可以简化电路。
选择并行输出的ADC0809芯片将输入的仿照量转化为数字量输出。
单片机选择AT89C51。
(位选四根线,掌握四根线,ADC和单片机通信须要8根线,数码管和单片机通信也须要八根线,故选择有大于24根线的单片机)如下图1为本次系统设计的总流程图:

图1 数字电压表系统设计流程图

三、实验事理解释

1.数码管与单片机的通信办法

器件与器件之间的通信办法紧张分为两类:串行通信和并行通信。

由于本次实验设计不加译码器电路,故采取并行通信。
若采取译码器电路,则需采取串行通信。

a.并行通信、串行通信优缺陷:

并:8根数据线+一些掌握线,传输速率快,编程大略

串:2根数据线和一些掌握线,线少,硬件大略,但须要按照串行通信协议进行编程,程序繁芜,传输速率慢

2.ADC0809芯片功能先容

a.8路仿照旗子暗记分时采集:输入端可以接八路仿照旗子暗记

b.八位模数转换(即2^8=256级,即0~255):把八位仿照旗子暗记转换为256级的数字旗子暗记

c.转换韶光约100us(8路转换即800us)

d.转换过程:输入电压与各级参考电压进行逐次逼近比较。

若输入电压即是5V,输出为数字255(0xFF)

若输入电压介于0~255之间,则输出跟它最靠近的那个数值。

打算ADC0809是否达到精度设计哀求?

ADC0809的芯片利用方法可查阅上一条博客,前面的博客都是为能更好的理解本次系统设计所做的理论铺垫。

A/D转换器的紧张技能指标及其运用

由上文“A/D转换器的紧张技能指标及其运用”,我们可知,参考电压5V分成255平分,以是其精度为1/(2^n)=1/(2^8)=0.0196V/Div,本作品显示到2位小数,末了一位如有颠簸则会按0.02V增减变革。

特殊解释,本例适用于转换0~5V的电压,Vref+接VCC,终极数据丈量准不准确还跟我们的VCC的稳定性、准确性有关。
为了提高精度,建议做一个精准的参考电压源。

查阅上文“A/D转换器的紧张技能指标及其运用”,我们也会知道,精度紧张与量程和位数有关,因此若要进一步完善实验,如本实验的后续将会探索提高系统精度,改换芯片等,以此设计出一个更加精确的电压表。
更多内容敬请等待后续更新。

ADC0809芯片事理图可见下图:

ADC0809芯片事理图

单片机和ADC的相互通信步骤:

单片机和ADC的相互通信步骤

四、proteus仿真

1.proteus仿真把稳事变

a.画事理图的时候要选择ADC0808芯片,并且要选择如下图Library列显示的ANALOG那一项的芯片,否则proteus运行时会显示“Simulation FAILED due to partition analysis errors ""no model specified for U2"的仿真缺点。
缘故原由在于proteus中ADC0809和ADC0808(Library:NATDAC)这些元件没有仿真模型。

ADC0808芯片的选择

b.ADC0809和ADC0808的差异:

ADC0808是ADC0809的简化版本,功能基本相同,一样平常在硬件仿真时采取ADC0808进行A/D转换,实际利用时采取ADC0809进行A/D转换。
从proteus的事理图上器件选择后的结果也可得知,利用方法险些没有差别。

五、事理图及其电路讲解

总事理图

电路剖析:D0~D7接管AD转换数据,OE\ST\EOC\CLK掌握ADC0809,P0口用于输出数码管段码,由于P0口是漏极开路或是集电极开路,因此须要加上拉电阻再接高电平。
P2口用于输出数码管的位选旗子暗记。
ADC0809选择IN0作为输入端,并将ADDA、B、C三根地址线确定为000。
IN0接出的电容为了是输出电压平滑。

相关文章