单路电压表c语言编程,用AT89C51单片机制作的数字电压表

本设计利用AT89C51单片机和ADC0809,构建了一个能测量8路0~5V电压的数字电压表。系统包括主控、显示、A/D转换、键盘控制和电源电路,最小分辨率0.019V,误差小于0.02V。软件采用汇编语言编程,包括显示控制、数据处理、电压采集和键盘处理等子程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

此数字电压表,利用A/D转换原理将被测模拟量转换成数字量,并通过控制系统用数字方式显示测量结果。本设计采用AT89C51单片机,ADC0809进行模/数转换,能够测量8路0~5V的输入电压值,可用四位LED数码管轮流或单路显示测量结果。其最小分辨率约为0.019V,测量误差小于0.02V。

一、系统简介

本系统分为主控电路、显示电路、A/D转换电路、键盘控制电路、电源电路及复位电路等,系统框图如右图所示。

二、硬件电路设计

本系统采用AT89C51单片机作为控制核心,对8路模拟电压信号经8位A/D转换芯片ADC0809转换成数字信号后,送单片机进行处理,然后通过数码管显示其电压值。电路原理见上图。

859c0aa28fee16a77e8918de251af659.gif

ADC0809有8路模拟输入口IN0~IN7,通过地址线(23)~(25)脚选择其中一路进行A/D转换。

(22)脚为地址锁存控制,高电平有效。⑥脚为测试控制,当输入一个2μs正脉冲时,启动A/D转换。⑦脚为A/D转换结束标志,当A/D转换结束时,⑦脚输出高电平。⑨脚为A/D转换数据输出允许控制端,当⑨脚为高电平时,A/D转换数据从MSB2-1~MSB2-8输出。⑩脚为时钟输入端,利用单片机ALE脚的六分频再通过74LS74构成的四分频得到500kHz时钟。

AT89C51的P2、P0.4~P0.7口作为数码管显示控制,采用动态显示方式显示测

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值