基于51单片机的数字电压表
基于51单片机的数字电压表
文章目录
- 基于51单片机的数字电压表
- 前言
- 一、基本设计要求
- 二、Proteus仿真
- 三、使用步骤
- 1.使用中断
- 2.使用四位数码管显示
- 3.主函数及关于ADC0808的代码
- 总结
前言
继续整理总结之前的小项目,这一次的没有去将实物连接出来,运用的是Proteus仿真制作的,借着回忆还没有完全散去,写下此小项目。本设计中利用51单片机制作了一个简单的数字电压表,主要通过A/D转换器ADC0808把输入的模拟信号即电位器的电压值转换成数字信号,送到LED数码管进行数据显示,并预设了一个警报值,当超过警报值时,报警电路发出警报,灯泡闪烁。
一、基本设计要求
- 以单片机为核心,设计一个数字电压表。采用中断方式,对2路0~5V的模拟电压进行循环采集,采集的数据送LED数码管显示,并存入内存。超过界限时指示灯闪烁。
- ADC0808为ADC器件的AD转换电路,并对ADC采集所得信号的进一步处理。
- 本程序将1.25 V和2.5 V作为两路输入的报警值
- 当调节滑动变阻器时,可观察到显示的电压发生变化,且两路输入电压的测算值交替显示.。当任一路电压输入超过预设值时,LED闪烁,蜂鸣器发声。
二、Proteus仿真
三、使用步骤
1.使用中断
代码如下(示例):
void init()
{TMOD=0x01;TH0=0xFC;TL0=0x18;ET0=1;EA=1;TR0=1;
}
void init0() interrupt 1
{static u16 i;TMOD=0x01;TH0=0xFC;TL0=0x18;i++;if(i==5000)//在中断里面进行设置ADC0808哪一个端口输出{ADDA=0;}if(i==10000){ADDA=1;i=0;}
}
2.使用四位数码管显示
void display()
{P3=0xff;P1=0xf7;P3=(~smgduan[dat/1000])&0x7f;delay5ms();P3=0xff;P1=0xfb;P3=~smgduan[(dat/100)%10];delay5ms();P3=0xff;P1=0xfd;P3=~smgduan[(dat/10)%10];delay5ms();P3=0xff;P1=0xfe;P3=~smgduan[(dat%10)];delay5ms();
}
3.主函数及关于ADC0808的代码
void main()
{while(1){LED=0;sound=0;ADDC=0;ADDB=0;init();START=0;OE=0;START=1;START=0;while(EOC==0);OE=1;dat=P0;dat=dat*19.53125;display();OE=0;if(ADDA==1){abc=dat*0.001;if(abc>1.25){sound=1; LED=1;delay(3500);LED=0;} }if(ADDA==0){abc=dat*0.001;if(abc>2.5){sound=1; LED=1;delay(3500);LED=0;}} }
}
关于数字电压表完整代码及Proteus电路图百度网盘自取:
链接:https://pan.baidu.com/s/16nELmxn1rGXHXuxsLP0tuQ
提取码:gzx5
总结
本次用51单片机设计一个数字电压表,设计中用到了ADC0808芯片,以前也没有接触过这个芯片,让自己有了新的了解,懂得了简易数字电压表设计方法以及数模转换运算的一般原理,也进一步了解了at89c51单片机编程,熟练了编程过程中的思路,提高了分析能力。但不足的地方是当时没主动去买零件进行连接成实物
学习从零开始,到无穷结束
基于51单片机的数字电压表相关推荐
- 基于51单片机的数字电压表(ADC0832)(Proteus仿真+程序)
编号:29 基于51单片机的数字电压表(ADC0832) 功能描述: 本设计由51单片机最小系统+ADC0832模块+两路模拟量输入模块+液晶1602显示模块 1.主控制器是AT89C82单片机 2. ...
- 基于51单片机的数字电压表(PCF8591)(Proteus仿真+程序)
编号:32 基于51单片机的数字电压表(PCF8591) 功能描述: 本设计由51单片机最小系统+PCF8591模块+四路模拟量输入模块+一路DA输出+液晶1602显示模块 1.主控制器是89C82单 ...
- 基于51单片机自动数字电压表PCF8591 TLC2543 TL548 proteus仿真汇编程序设计
硬件设计1 基于51单片机+PCF8591 ADC的仿真电路图: A. 基于51单片机和PCF8591的电压表,具有仿真图/源程序: B. 由数码管作为显示器: C.测试电压范围为0~5V,精度约为0 ...
- 基于51单片机的数字电压表c语言程序,基于单片机的数字电压表(全文完整版)...
<基于单片机的数字电压表.doc>由会员分享,可免费在线阅读全文,更多与<基于单片机的数字电压表>相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索. 1 ...
- 基于51单片机的数字电压表设计
一.硬件设计 1. 原理图设计 主控芯片:STC89C52RC; 显示模块:使用4 PIN OLED模块: ADC模块:使用ADC0809,8 位 A/D转换器: 2. PCB设计 二.软件设计 1. ...
- 基于51单片机的数字电压表c语言程序,基于51单片机的数字电压表的设计..doc
数字电压表的设计目录 TOC \o "1-3" \h \z \u HYPERLINK \l "_Toc282204562" 绪论1 HYPERLINK \l & ...
- 基于51单片机的数字电压表c语言程序,基于AT89C51单片机的直流数字电压表设计毕业论文+任务书+Proteus代码+电路图+源码...
摘 要 数字电压表是一种结构简单.应用广泛的测量仪表,近年来越来越多地应用在电压测量场合,因此对其测量精度.可靠性和可维护性的要求也越来越高.数字电压表是也诸多数字化仪表的核心与基础,其数字化是将连续 ...
- 基于51单片机数字电压表的设计 仿真、程序、原理图(转发)
摘 要 数字电压表简称DVM,数字电压表基本原理是将输入的模拟电压信号转化为数字信号,再进行输出显示.而A/D转换器的作用是将连续变化的模拟信号量转化为离散的数字信号,器基本结构是由采样保持,量化,编 ...
- 基于51单片机的直流数字电压表(0-5V)
基于51单片机的直流数字电压表(0-5V) 需要资料的请回原文下载 利用串行A/D转换器TLC549对输入信号电压源进行采集转换成数字信号给51单片机,经单片机进行数据处理后给1602液晶显示. 误差 ...
- 44、基于51单片机数字电压表设计电流电压功率表
毕设帮助.开题指导.技术解答(有偿)见文末. 目录 摘要 一.硬件方案 二.设计功能 三.实物图 四.原理图 五.PCB图 六.Protues仿真 七.程序 部分代码 八.资料包括 摘要 本次设计要求 ...
最新文章
- 第十三周项目二-动物这样叫(1)
- ways of make process to background job
- 在vs2005中使用Com连接SAP系统(二)
- PHP面向对象的魔术方法
- 支持各硬件平台的机器学习模型 AWS发表新开源项目
- 熊猫烧香病毒是计算机病毒,“熊猫烧香”计算机病毒大案告破
- net-java-php-python-新华眼镜ERP系统计算机毕业设计程序
- java画地图热力图_高德地图+热力图+AJAX(SSM)
- Java io流使用相对路径读取文件
- Labview实现AM调制
- S7–1500遇上工业无线AP:一个立体仓库无线网络故障诊断分析案例
- 计算机网络名怎么设置,网络ssid怎么设置
- 简单梳理下git的使用感受,思考git中最重要的是什么
- 超融合一体机概述及优势
- 从文件获取文件内容并提取promise对象的result结果
- Logistic Regression 为什么用极大似然函数
- java to go 基础知识与区别入土指南
- Morse(摩斯电码)加解密实现(python)
- 【开源推介02-pyang】-你离yang模型只差一个pyang工具
- 同济大学计算机教研室,Else语句-同济大学计算机基础教研室.PPT