51单片机实现简易数字电压表(液晶显示)仿真图+程序

基于51单片机的简易数字电压表的设计单片机

基于51单片机的简易数字电压表的设计单片机

————————————————————————————————作者:————————————————————————————————日期: 2

个人收集整理勿做商业用途 甘肃畜牧工程职业技术学院 毕业设计 题目:基于51单片机的简易数字电压表的设计 系部:电子信息工程系 专业:信息工程技术 班级: 学生姓名: 学号: 指导老师: 日期:

目录 毕业设计任务书 (1) 开题报告 (3) 摘要 (6) 关键词 (7) 引言 (7) 第一章A/D转换器 (9) 1.1A/D转换原理 (9) 1.2 ADC性能参数 (11) 1.2.1 转换精度 (11) 1.2.2。转换时间......................................... 错误!未定义书签。 1.3 常用ADC芯片概述 (13) 第二章8OC51单片机引脚 (14) 第三章ADC0809 (16) 3。1 ADC0809引脚功能 (16) 3。2 ADC0809内部结构 (18) 3.3ADC0809与80C51的接口 (19) 3.4 ADC0809的应用指导 (20) 3.4。1 ADC0809应用说明 (20) 3.4.2 ADC0809转换结束的判断方法 (20) 3。4.3 ADC0809编程方法 (21) 第四章硬件设计分析 (22) 4。1电源设计 (22) 4.2 关于74LS02,74LS04 (22) 4。3 74LS373概述 (23) 4。3。1 引脚图 (23) 4。3。2工作原理 (23) 4.4简易数字电压表的硬件设计 (24) 结论 (25) 参考文献 (25) 附录.......................................................................................... 错误!未定义书签。致谢 (29)

基于51单片机的ADC0832数字电压表(仿真+程序)

仿真图: /*********************************包含头文件********************************/ #include #include /*********************************端口定义**********************************/ sbit CS = P3^5; sbit Clk = P3^3; sbit DATI = P3^4; sbit DATO = P3^4; sbit P20=P2^0 ; /*******************************定义全局变量********************************/ unsigned char dat = 0x00; //AD值 unsigned char count = 0x00; //定时器计数

unsigned char CH; //通道变量 unsigned char dis[] = {0x00, 0x00, 0x00}; //显示数值 /*******************************共阳LED段码表*******************************/ unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; char code tablewe[]={ 0xfd,0xfb,0xf7,0xef,0xdf,0xfe }; /**************************************************************************** 函数功能:AD转换子程序 入口参数:CH 出口参数:dat ****************************************************************************/ unsigned char adc0832(unsigned char CH) { unsigned char i,test,adval; adval = 0x00; test = 0x00; Clk = 0; //初始化 DATI = 1; _nop_(); CS = 0; _nop_(); Clk = 1; _nop_(); if ( CH == 0x00 ) //通道选择

基于51单片机的数字电压表仿真设计(有参考文献)

基于51单片机的数字电压表仿真设计 一、引言 随着电子科学技术的发展,电子测量成为广大电子工作者必须掌握的手段,对测量的精度和功能的要求也越来越高,而电压的测量甚为突出,因为电压的测量最为普遍。数字电压表是采用数字化测量技术设计的电压表。数字电压表与模拟电压表相比,具有读数直观、准确、显示范围宽、分辨力高、输入阻抗大、集成度高、功耗小、抗干扰能力强,可扩展能力强等特点,因此在电压测量、电压校准中有着广泛的应用。而单片机也越来越广泛的应用与家用电器领域、办公自动化领域、商业营销领域、工业自动化领域、智能仪表与集成智能传感器传统的控制电路、汽车电子与航空航天电子系统。 单片机是现代计算机技术、电子技术的新兴领域。本文采用ADC0808对输入模拟信号进行转换,控制核心C51单片机对转换的结果进行运算和处理,最后驱动输出装置显示数字电压信号,通过Proteus仿真软件实现接口电路设计,并进行实时仿真。Proteus软件是一种电路分析和实物模拟仿真软件。它运行于Windows 操作系统上,可以进行仿真、分析(SPICE)各种模拟器件和集成电路,是集单片机和SPICE分析于一身的仿真软件,功能强大,具有系统资源丰富、硬件投入少、形象直观等优点,近年来受到广大用户的青睐。 二、数字电压表概述 1、数字电压表的发展与应用 电压表指固定安装在电力、电信、电子设备面板上使用的仪表,用来测量交、直流电路中的电压。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,并且传统的电压表在测量电压时需要手动切换量程,不仅不方便,而且要求不能超过该量程。目前,由各种单片A/D转换器构成的数字电压表,已被广泛用于电子及电工测量领域,并且由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。 2、本次设计数字电压表的组成部分

51单片机简单数字电压表

单片机硬件实习任务书

通信工程教研室指导教师:_

基于单片机的简易数字电压表的设计 目录 1 引言 (1) 2 设计总体方案 (2) 2.1设计要求 (2) 2.2 设计思路 (2) 2.3 设计方案 (2) 3 硬件电路设计 (3) 3.1 A/D转换模块 (3) 3.2 单片机系统 (6) 3.3 复位电路和时钟电路 (8) 3.4 LED显示系统设计 (8) 3.5 总体电路设计 (11) 4 程序设计 (13) 4.1 程序设计总方案 (13) 4.2 系统子程序设计 (13) 5 仿真 (15) 5.1 软件调试 (15) 5.2 显示结果及误差分析 (17) 结论 (20)

参考文献 (21) 附录程序代码和实物图 (24) 心得体会 ......................................................... 错误!未定义书签。

1引言 在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用[1]。 传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。数字电压表是诸多数字化仪表的核心与基础[2]。以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。 最近的几十年来,随着半导体技术、集成电路(IC)和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型[4]。数字电压表从1952年问世以来,经历了不断改进的过程,从最早采用继电器、电子管和形式发展到了现在的全固态化、集成化(IC 化),另一方面,精度也从0.01%-0.005%。 目前,数字电压表的内部核心部件是A/D转换器,转换的精度很大程度上影响着数字电压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成本这两个方面[3]。 本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块:转换模块、数据处理模块及显示模块。其中,A/D转换采用ADC0808对输入的模拟信号进行转换,控制核心AT89C51再对转换的结果进行运算处理,最后驱动输出装置LED显示数字电压信号[11]。

基于51单片机的数字电压表的设计

目录 目录 1 课程设计 (1) 1.1课程设计目的1.1.1熟悉51单片机功能 (1) 1.1.2提高编程,排错,仪器设备知识 (1) 1.1.3熟悉元件工作原理 (1) 1.2 设计要求 (1) 1.2.1显示 (1) 1.2.2编程 (1) 1.2.3仿真 (1) 2 主要元件介绍 (1) 2.1模数转换芯片ADC0808 (1) 2.1.1简介 (2) 2.1.2引脚功能 (2) 2.2控制芯片AT89C51 (3) 2.2.1概述 (3) 2.2.2管脚说明 (4) 2.3LED数码管 (6) 3 电压表原理系统硬件电路设计与实现 (6) 3.1系统设计原理说明 (6) 3.2系统功能阐述 (7) 4 课程设计心得 (7) 参考文献: (8) 附录 (9) 附录1整体程序 (9) 附录2系统电路图 (12)

1 课程设计 1.1 课程设计目的 1.1.1 熟悉51单片机功能 熟悉51单片机的功能,积累一定的单片机开发经验。 1.1.2 提高编程,排错,仪器设备知识 锻炼和提高在软件编程、排错调试、相关仪器设备的使用技能等方面的知识。 1.1.3 熟悉元件工作原理 熟悉数字电压表和A/D转换器,液晶显示屏的工作原理。 1.1.4加深知识 进一步加深对电子电路、电子元器件、印制电路板等方面知识的认识,为今后能够独立进行某些单片机应用系统的开发设计工作打下一定的基础。 1.2 设计要求 1.2.1显示 可以测量0-5V范围内的输入电压值1.2.2将采集到的电压值显示在4位数码管上。 1.2.2编程 采用汇编或C语言编程; 1.2.3仿真 采用Proteus、KeilC等软件实现系统的仿真调试 2 主要元件介绍 2.1 模数转换芯片ADC0808

(完整版)基于8051单片机的简易数字电压表毕业设计论文

基于8051单片机的简易数字电压表设计 姓名:吴建亮班级:电信1202 学号: 摘要 电压表应用十分广泛,但大部分是模拟电压表,而由于其特性,反应速度慢,读数麻烦并且误差较大,所以为适应不断快速发展的高速信号领域,已经广泛使用数字电压表。本实验设计是基于51单片机开发板ESDM-3A实现的一种数字电压表系统。该设计采用8051单片机作为控制核心,以ADC0为模数转换数据采样,实现被测电压的数据采样,外部采用LCD12864液晶显示电压表的电压值。 1.设计任务和要求 1.1 设计任务 设计制作一个简易直流电压表,该直流电压表能测量直流电压。各硬件模块如图1.1所示。 输入电压AD转换器8051单片机LCD12864 图1.1硬件框图 1.2 设计要求 (1)ADC0的工作方式设置如下:采用单端输入,模拟输入电压从P2.0输入;选择作为参考电压源;转换时钟频率设置为2MHz;采用写“AD0BUSY”启动AD转换。 (2)采用定时器中断每隔0.5s启动一次AD转换;通过ADC0中断服务

程序读取转换值。 2.设计方案 2.1 硬件电路 硬件模块如上图1.1所示。输入电压由开发板上J8接口的第2脚0~5.0V 接跳线至单片机扩展接口J7的第4脚P2.0,调节电位器RP3实现不同电压的输入。AD转换器、单片机、液晶屏在开发板已经连接好。 下面简单介绍所用的器件。 C8051F360单片机主要模拟和数字资源包括: (1)高速8051微控制器内核。 (2)10位逐次逼近型AD转换器。 (3)10位电流输出DA转换器。 (4)两个模拟电压比较器CP1和CP0。 (5)片内锁相环PLL。 (6)扩充中断处理系统。 (7)存储器,256字节内部RAM;1024字节XRAML;32字节闪存存储器。 (8)数字资源,多达39个IO引脚,全部为三态双向口,允许与5V 系统接口。 (9)时钟源,2个内部振荡器;80kHz低频低功耗振荡器。 (10)片内调试电路。 液晶屏HGB功能和接口。 1:VSS 接地端 2:VDD 电源正,接+5V 3:VO 对比度调整,接电位器

51单片机的数字电压表设计

51单片机的数字电压表设计 随着科技的快速发展,单片机在许多领域得到了广泛应用。51单片机作为一种常见的单片机,具有功能强大、易于编程等优点,因此在数字电压表设计中具有独特优势。本文将介绍如何利用51单片机设计数字电压表。 数字电压表的电源电路通常采用直流电源,可以通过变压器将交流电转换为直流电,再经过滤波和稳压电路,将电压稳定在单片机所需的电压范围内。 数字电压表的信号采集电路可以采用电阻分压的方式,将待测电压分压后送入单片机进行测量。为了提高测量精度,可以采用差分放大器对信号进行放大和差分输出。 51单片机内置ADC模块,可以将模拟信号转换为数字信号。在数字电压表中,可以使用ADC模块对放大后的模拟信号进行转换,得到数字信号后进行处理和显示。 数字电压表的显示电路可以采用液晶显示屏或LED数码管,将测量结果以数字形式显示出来。液晶显示屏具有显示清晰、亮度高、视角广等优点,但价格较高;LED数码管价格便宜、亮度高、寿命长,但显

示内容有限。 数字电压表的主程序主要完成电压的采集、A/D转换和显示等功能。主程序首先进行系统初始化,包括设置ADC模块参数、初始化显示等;然后不断循环采集电压信号,将采集到的模拟信号转换为数字信号后进行处理和显示。 51单片机的ADC模块可以通过特殊功能寄存器进行配置和控制。在数字电压表的软件设计中,需要编写ADC模块驱动程序,以控制ADC 模块完成模拟信号到数字信号的转换。具体实现可以参考51单片机的ADC模块寄存器定义和操作指南。 数字电压表的显示程序需要根据显示硬件选择合适的显示库或驱动 程序。在编写显示程序时,需要将采集到的数字信号转换为合适的数值,并将其显示在显示屏上。具体实现可以参考所选显示库或驱动程序的文档说明。 精度问题:数字电压表的精度直接影响到测量结果的质量。为了提高测量精度,可以采用高精度的ADC模块和合适的信号处理技术。同时,需要注意信号采集电路中电阻的精度和稳定性。 抗干扰问题:在实际应用中,往往存在各种干扰因素,如电源波动、

基于51单片机的数字电压表课程设计

摘要 随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。 数字电压表(DigitalVoltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。本章重点介绍单片A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原理。目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,显示出强大的生命力。 本设计AT89C51单片机的一种电压测量电路,该电路采用基于ADC0808芯片的一种A/D 转换电路,测量范围直流 0~5V 的4路输入电压值,并在LED数码管上显示。测量最小分辨率为0.019V,测量误差约为正负0.02V。

目录 摘要 (1) 第1章设计原理及要求 (3) 1.1数字电压表的实现原理 (3) 2.2数字电压表的设计要求 (3) 第2章芯片介绍 (4) 2.1 AT89C51引脚及功能介绍 (4) 2.1.1 简单概述 (4) 2.1.2 主要功能特性 (5) 2.1.3 AT89C51的引脚介绍 (5) 2.2 ADC0808引脚及功能介绍 (7) 2.2.1 芯片概述 (7) 2.2.2 引脚简介 (7) 2.2.3 ADC0808的转换原理 (8) 2.2.4 ADC工作时序 (8) 2.3 MAX7219引脚及功能介绍 (9) 2.3.1 芯片概述 (9) 2.3.2 引脚简介 (10) 2.3.3 功能特点 (11) 2.3.4 MAX7219工作时序 (11) 2.4 矩阵键盘 (12) 2.5 LED数码管显示 (13) 2.5.1 LED数码管模型 (13) 2.5.2 数码管接口简介 (13) 第3章软件仿真电路设计 (15) 3.1设计思路 (15) 3.2仿真电路图 (15) 3.3设计过程 (19) 第4章系统软件程序的设计 (20) 参考文献 (21) 心得与体会 (22) 附录 (23)

基于51单片机的简易数字电压表的设计

基于stc89c52单片机的数字电压表 班级:智能电网 111 学生:喻卫 湖南铁道职业技术学院电气工程系 目录 1控制要求 2设计目的意义 3 系统原理框图 4 89C52单片机 5 ADC0809 的工作原理 6 系统原理图和PCB图 7程序流程图 8 C语言程序

9数字电压表工作原理 10设计体会 1控制要求 利用STC89C52单片机和ADC0809设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码管显示,使用的元器件数目较少。外界电压模拟量输入到A/D转换部分的输入端,通过ADC0809转换变为数字信号,输送给单片机。然后由单片机给数码管数字信号,控制其发光,从而显示数字。2设计目的意义 1.通过亲身的设计使用电路,将所用的理论知识使用到实践中,增强实践动手能力,进而促进理论知识的强化。 2.通过数字电压表的设计系统掌握51单片机的使用。掌握A/D转换的原理及软件编程及硬件设计的方法,掌握根据课题的要求,提出选择设计方案,查找所需元器,设计并搭建硬件电路,编程写入STC89C52单片机并进行调试等。 3 系统原理框图

4 89C52引脚资料 89C51引脚图 总线型DIP40引脚封装 电源引脚(2个) VCC :接+5V 电源。 GND :接地端。 外接晶体引脚(2个) XTAL1:外接晶振输入端(采用外部振荡器时,此引脚接地)。 XTAL2:外接晶振输入端(采用外部振荡器时,此引脚作为外部振荡信号输入端)。 并行输入/输出引脚(32个) P0.0~P0.7:通用I/O 引脚。 P1.0~P1.7:通用I/O 引脚。 P2.0~P2.7:通用I/O 引脚或数据低8位地址总线复用引脚。 P3.0~P3.7:通用I/O 引脚或第二功能引脚(RXD 、TXD 、INT0、INT1、T0、T1、WR 、 RD )。 STC89C52 P1 P0 P3 P2 AD0809 D0~D7 IN0~IN7 VREF+ VREF- CLK OE ST 、ALE 四位数码管 位选 段选 控制线 数据 待测电压 系统原理框图

基于51单片机的数字电压表设计

. I 1.1数字电压表介绍 数字电压表简称DVM,数字电压表根本原理是将输入的模拟电压信号转化为数字信号,再进展输出显示。而A/D转换器的作用是将连续变化的模拟信号量转化为离散的数字信号,器根本构造是由采样保持,量化,编码等几局部组成。因此AD转换是此次设计的核心元件。输入的模拟量经过AD转换器转换,再由驱动器驱动显示器输出,便得到测量的数字电压。 本次自己的设计作品从各个角度分析了AD转换器组成的数字电压表的设计过程及各局部电路的组成及原理,并且分析了数模转换进而使系统运行起来的原理及方法。通过自己的实践提高了动手能力,也只有亲历亲为才能收获掌握到液晶学过的知识。其实也为建立节约本钱的意识有些帮助。本次设计同时也牵涉到了几个问题:精度、位数、速度、还有功耗等缺乏之处,这些都是要慎重考虑的,这些也是在本次设计中的收获。 1.3 本次设计要求 本次设计的作品要求制作数字电压表的量程为0到10v,由于用到的模数转换芯片是ADC0809,设计系统给的供电电压为+5v,所以能够测量的电压围为-0.25v到5.25v之间,但是一般测量的直流电压围都在这之上,所以采用电阻分压网络,设计的电压测量围是0到25v之间,满足设计要求的最大量程5v的要求。同时设计的精度为小数点后三位,满足要求的两位小数的精度,在不考虑AD芯片的量化误差的前提下,此次设计的精度能够满足一般测量的要求。 2单片机和AD相关知识 2.1 51单片机相关知识 51单片机是对目前所有兼容intel 8031指令系统的单片机的统称。该系列单片机的始祖是intel的8031单片机,后来随着技术的开展,成为目前广泛应用的8为单片机之一。单片机是在一块芯片集成了CPU、RAM、ROM、定时器/计数器和多功能I/O口等计算机所需要的根本功能部件的大规模集成电路,又称为MCU。51系列单片机包含以下几个部

毕业设计(论文)-基于51单片机数字电压表的设计

基于51单片机数字电压表的设计 目录 一、系统总体方案选择与说明 (1) 1.1设计要求 (1) 1.2 设计思路 (1) 1.3 设计方案 (1) 二、硬件电路设计 (2) 2.1 AT89C51的功能介绍 (2) 2.1.1简单概述 (2) 2.1.2主要功能特性 (3) 2.1.3 AT89C51的引脚介绍 (3) 2.2 ADC0808的引脚及功能介绍 (5) 2.2.1芯片概述 (5) ADC0808芯片模型 (5) 2.2.2 引脚简介 (5) 2.2.3 ADC0808的转换原理 (6) 2.2.4 ADC0808的内部结构 (6) 2.2.5 ADC0808电路接线图 (6) 2.3 显示电路 (7) 2.3.1 LM016L的结构及功能 (7) 2.3.2 LM016L的引脚功能介绍 (7) 2.3.3 LM016L的电路接线图 (13) 2.4 复位电路设计 (13) 2.5振荡电路设计 (14) 三、软件设计与说明 (10) 四、系统仿真与调试 (12) 五、总结 (13) 参考文献 (14) 附录 (15) 附录A 系统原理图 (15) 附录B 程序清单 (16)

一、系统总体方案选择与说明 1.1设计要求 (1)使用51单片机,AD0809,数码管等元件组成 (2)能测量0-5V的直流电压 (3)能连续、稳定显示所测电压 (4)测量误差<0.02V) 1.2 设计思路 ⑴根据设计要求,选择AT89C51单片机为核心控制器件。 ⑵A/D转换采用ADC0808实现。 ⑶电压显示采用LCD显示。 1.3 设计方案 数字电压表的设计即将连续的模拟电压信号经过A/D转换器转换成二进制数值,再经由单片机软件编程转换成十进制数值并通过显示屏显示。该设计主要由三个模块组成:A/D转换模块,数据处理模块及显示模块。A/D转换主要由芯片ADC0808来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。数据处理则由芯片AT89C51来完成,其负责把ADC0808传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外,它还控制着ADC0808芯片工作。 数字电压表系统硬件设计框图

基于c51的数字电压表

设计要求和条件 要求:利用开发板和ADC0809构成一数字电压表,实现对外部多路电压信号的巡回测量和显示,电压范围为0~5V。 条件:开发板、AT89C52、ADC0809 设计方案论证(包括设计思路、设计方法、有关计算、图表、程序等。) 主要设计方框图如下: 数码管显示 单片机处理 模数转换 电压采集 1、主控芯片 四、电路设计思路 模拟电压经过档位切换后形成七段码,经隔离干扰送到A/D转换器进行A/D 转换,转换成BCD码。然后送到单片机中进行数据处理。处理后的数据送到 74ls47形成数码管的段选和74ls138形成数码管的位选。而硬件电路又大体可分

为A/D转换电路、LED显示电路,各部分电路的设计及原理将会在硬件电路设计部分详细介绍;程序的设计使用汇编语言编程,利用Keil和PROTEUS 软件对其编译和仿真。 一般I/O接口芯片的驱动能力是很有限的,在LED显示器接口电路中,输出口所能提供的驱动电流一般是不够的尤其是设计中需要用到多位LED,此时就需要增加LED驱动电路。我利用数码管与三极管串联作为驱动电路。 本实验采用AT89C52单片机芯片配合ADC0809模/数转换芯片构成一个简易的数字电压表。该电路通过ADC0809芯片采样输入口IN0输入的0~5 V的模拟量电压,经过模/数转换后,产生相应的数字量经过其输出通道D0~D7传送给AT89C52芯片的P1口。AT89C52负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码,并通过其P0口传送给数码管。同时它还通过其三位I/O口 P0.4、P0.5、P0.6产生位选信号,控制数码管的亮灭。另外,AT89C52还控制着ADC0809的工作。其P3.3管脚为ADC0809提供了1MHz工作的时钟脉冲;P3.5控制ADC0809的地址锁存端(ALE);P3.6控制ADC0809的启动端(START);P3.4控制ADC0809的输出允许端(OE);P3.7控制ADC0809的转换结束信号(EOC)。 1、模数转换 电路原理图如下所示,三个地址位ADDA,ADDB,ADDC均接地,因而所需测量的外部电压可由ADC0809的IN0端口输入。由于ADC0809

基于C51单片机、AD1674和MAX7221的数字电压表(含原理图)

基于C51单片机、AD1674和MAX7221的数字电压表(含原理图) 2010年06月24日星期四 15:43 #include #include #define uchar unsigned char #define uint unsigned int #define addo (10.0/4095.0)//转换进率,12位精度(2^12-1=4095),满量程为10V /*管脚定义*/ sbit DIN = P2^5; sbit SCL = P2^6; sbit CS = P2^7; sbit STS = P2^0; sbit CS1 = P2^1; sbit A0 = P2^2; sbit CE = P2^3; sbit RC = P2^4; static uchar disbuf[8];//显示缓存 /*微秒延时函数*/ void delay_us(uchar n) { uchar i; while(n--) { for(i=0;i<10;i++); } } /*毫秒延时函数*/ void delay_ms(uint n) { uchar i; while(n--) { for(i=0;i<100;i++); } } /*向MAX7221串行写一个字节的数据*/ void WriteData(uchar dat) { uchar i;

for(i=0;i<8;i++) { DIN = (dat&(0x80>>i))?1:0; SCL = 0; delay_us(2); SCL = 1; delay_us(2); } } /*向MAX7221中指定的地址写入数据*/ void MAX7221_Write(uchar addr,uchar dat) { CS = 0; WriteData(addr); WriteData(dat); CS = 1; } /*MAX7221的初始化*/ void MAX7221_Initial(void) { MAX7221_Write(0x0A,0x07);//LED亮度值设置为8/16 MAX7221_Write(0x0B,0x07);//扫描显示器的个数为8个 MAX7221_Write(0x0C,0x01);//正常操作模式(非掉电模式) MAX7221_Write(0x0F,0x00);//正常显示模式(非测试模式) MAX7221_Write(0x09,0xff);//对0~7的8个数据进行B型BCD译码} /*LED显示函数*/ void display(void) { uchar i; for(i=0;i<8;i++) { MAX7221_Write(i+1,disbuf[i]); } } /*读取AD1674转换结果*/ uint AD1674_Read(void) { uint temp;

基于51单片机数字电压表的设计与实现.

大连东软信息技术职业学院 高职毕业设计(论文) 论文题目:基于51单片机数字电压表的设计与实现 系所:电子工程系 专业:嵌入式系统工程 学生姓名: 学生学号: 指导教师: 导师职称: 完成日期:2013年04月22日 大连东软信息技术职业学院 Dalian Neusoft Institute of Information Technology

基于51单片机数字电压表的设计与实现 摘要 数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并且加以显示的仪表。数字电压表自从一九五二年以来,随着电子技术的飞跃发展,尤其是目前,做成测量仪表、模拟指示仪表的数字化和自动测量的系统,而得到了很大的发展。数字电压表是从电位差计的自动化这种想法研制出来的,因此即便是最初的数字电压表,其精度也要比模拟式仪表高,而其成本比电位差计也高。以后,DVM的发展就着眼在高精度和低成本两个方面。 单片机可单独地完成工业控制所要求的智能化控制功能,这是单片机最大的特征。本电路主要采用STC89C52RC芯片和ADC0832芯片来完成一个简易的数字电压表,可以够对输入的0~5 V的模拟直流电压进行测量,并且通过一个4位一体的7段LED数码管进行显示。该电压表的测量电路由三个模块组成:A/D转换模块、数据处理模块及显示控制模块。A/D转换主要由芯片ADC0832来完成,它负责把采集到的模拟量转换成相应的数字量再传送到数据处理模块。数据处理则由芯片STC89C52RC来完成,其负责把ADC0832传送来的数字量经一定的数据处理,产生相应的显示码送到显示模块进行显示;另外它还控制着ADC0832芯片的工作。 关键词:单片机,数字电压表,A/D转换,ADC0832

数字电压表的单片机设计(C语言编程)

目录 一设计总体方案 (1) 1.1 设计要求 (1) 1.2 设计思路 (1) 1.3 设计方案 (1) 二硬件电路元件分析与设计 (2) 2.1 单片机系统 (2) 2.1.1 AT89C51性能 (2) 2.1.2 AT89C51各引脚功能 (2) 2.2 A/D转换模块 (3) 2.2.1 ADC0808主要特性 (3) 2.2.2 ADC0808工作流程 (4) 2.3 LED显示系统设计 (5) 2.3.1 LED显示器的选择 (5) 2.3.2 LED译码方式 (5) 2.4 双D正沿触发器 (6) 2.5 总体电路设计 (6) 三程序设计 (9) 3.1 程序设计总方案 (9) 3.2 系统子程序设计 (9) 3.2.1 初始化程序 (9) 3.2.2 A/D转换子程序 (9) 3.2.3 显示子程序 (10) 四仿真调试 (12) 4.1 软件调试 (12) 4.2 显示结果及误差分析 (12) 4.2.1 显示结果 (12) 4.2.2 误差分析 (13) 结束 (15) 参考文献 (16) 附录 (17)

一设计总体方案 1.1 设计要求 ⑴以AT89C51单片机为核心器件,组成一个简单的直流数字电压表。 ⑵能够测量0-5V之间的直流电压值。 ⑶电压显示用4位一体的LED数码管显示,尽量使用较少的元器件。 1.2 设计思路 ⑴根据设计要求,选择AT89C51单片机为核心控制器件。 ⑵A/D转换采用ADC0808实现,与单片机接口为P0口和P3口的高四位引脚。 ⑶电压显示采用4位一体的LED数码管。 ⑷LED数码的段码输入,由并行端口P1产生:位码输入,用并行端口P2高四位产生。 1.3 设计方案 硬件电路设计由5个部分组成; A/D转换电路,AT89C51单片机系统,LED 显示系统、时钟电路、测量电压输入电路。硬件电路设计框图如图1-1 图1-1 数字电压表系统硬件设计框图

基于51单片机-PCF8591数字电压表课程设计

课程名称:微机原理课程设计 题目:数字电压表 ﻬ摘要 单片微型计算机简称单片机,是典型的嵌入式微控制器,常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。它最早是被用在工业控制领域。 其中我们用于学习用的最多的是STC89C52单片机,STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但也做了很多改进使得芯片具有传统51单片机不具备的功能。STC89C52具有8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KB EE PROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构,全双工串行口。 本设计就是以单片机STC89C52为核心,附以外围电路,实现数字电压表的功能,并运用软件Proteus进行仿真来得到实验结果。 关键词:STC89C52单片机、仿真、中断、数字电压表、数码管显示 ﻬ目录

一、任务要求ﻩ错误!未定义书签。 1.1 设计任务ﻩ错误!未定义书签。 1.2设计要求ﻩ错误!未定义书签。 1.3发挥部分 ...................................................................................... 错误!未定义书签。 1.4 创新部分 ........................................................................................... 错误!未定义书签。 二、方案总体设计与论证ﻩ4 三、硬件设计ﻩ5 3.1 单片机晶振部分................................................................................ 错误!未定义书签。 3.2 单片机复位部分................................................................................ 错误!未定义书签。 3.3电源模块部分ﻩ错误!未定义书签。 3.4 A/D转换部分ﻩ错误!未定义书签。 3.5数码管显示部分ﻩ错误!未定义书签。 3.6 单片机STC89C52 (9) 四、软件设计 (11) 4.1 程序设计总方案 (11) 4.2 系统子程序设计ﻩ错误!未定义书签。 4.3 A/D转换子程序ﻩ错误!未定义书签。 4.4 中断 ................................................................................................. 错误!未定义书签。 五、系统仿真与调试 .................................................................... 错误!未定义书签。 六、设计总结与心得体会 ............................................................ 错误!未定义书签。 6.1设计总结 ......................................................................................... 错误!未定义书签。 6.2心得体会 ......................................................................................... 错误!未定义书签。 七、参考文献ﻩ错误!未定义书签。 ﻬ一、任务要求 1.1设计任务 使用所学的单片机以及编程的知识,利用PCF8591A/D转换芯片把电阻转换为电压并使用四位数码管显示出来。

基于单片机的简易数字电压表的设计(1)(DOC)

目录 1.引言 (1) 2.设计的总体方案 (2) 2.1 设计要求 (2) 2.2 设计思路 (2) 2.3 设计方案 (2) 3.硬件设计方案 (3) 3.1 A/D转换模块 (3) 3.1.1 逐次逼近型A/D转化器原理 (3) 3.1.2 PCF8591主要特性 (3) 3.1.3 PCF8591的外部引脚特性 (4) 3.1.4 PCF8591的内部结构及工作流程 (5) 3.2 单片机系统 (7) 3.2.1 STC90C51性能 (7) 3.2.2 STC90C51各引脚功能 (7) 3.3 复位电路和时钟电路 (9) 3.3.1 复位电路的设计 (9) 3.3.2 时钟电路的设计 (9) 3.4 LED显示电路的设计 (10) 3.4.1 LED基本结构 (10)

3.4.2 LED显示器的选择 (11) 3.4.3 LED译码方式 (11) 3.4.4 LED显示器与单片机接口技术 (12) 3.5 总体电路的设计 (13) 4.程序设计 (15) 4.1 程序设计总方案 (15) 4.2 系统子程序设计 (15) 4.2.1 初始化程序 (15) 4.2.2 A/D转换子程序 (15) 4.2.3 显示子程序 (16) 5.仿真 (17) 5.1 软件调试 (17) 5.2 显示结果及误差分析 (17) 5.2.1 显示结果 (17) 5.2.2 误差分析 (19) 结论 (20) 参考文献 (21) 设计程序 (22)

1 引言 数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。本课程设计介绍单片A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原理. 2 设计总体方案 2.1设计要求 (1)以MCS-51系列单片机为核心器件,组成一个简单的直流数字电压表。 ⑵能够测量0-20V之间的直流电压值。 ⑶电压显示用4位一体的LED数码管显示,至少能够显示两位小数。 ⑷尽量使用较少的元器件。 2.2 设计思路

基于单片机的简易数字电压表的设计.

简易数字电压表的设计 说 明 书 姓名: X X 学号: ******XX 专业班级:电子信息科学与技术(2)班学院:电气工程与信息学院 联系方式:1829834XXXX

2 设计总体方案 2.1设计要求 ⑴以MCS-51系列单片机为核心器件,组成一个简单的直流数字电压表。 ⑵采用1路模拟量输入,能够测量0-5V之间的直流电压值。 ⑶电压显示用4位一体的LED数码管显示,至少能够显示两位小数。 ⑷尽量使用较少的元器件。 2.2 设计思路 ⑴根据设计要求,选择AT89C51单片机为核心控制器件。 ⑵A/D转换采用ADC0808实现,与单片机的接口为P1口和P2口的高四位引脚。 ⑶电压显示采用4位一体的LED数码管。 ⑷LED数码的段码输入,由并行端口P0产生:位码输入,用并行端口P2低四位产生。 2.3 设计方案 硬件电路设计由6个部分组成; A/D转换电路,AT89C51单片机系统,LED显示系统、时钟电路、复位电路以及测量电压输入电路。硬件电路设计框图如图1所示。 图1 数字电压表系统硬件设计框图

3 硬件电路设计 3.1 A/D转换模块 现实世界的物理量都是模拟量,能把模拟量转化成数字量的器件称为模/数转换器(A/D转换器),A/D转换器是单片机数据采集系统的关键接口电路,按照各种A/D芯片的转化原理可分为逐次逼近型,双重积分型等等。双积分式A/D转换器具有抗干扰能力强、转换精度高、价格便宜等优点。与双积分相比,逐次逼近式A/D转换的转换速度更快,而且精度更高,比如ADC0809、ADC0808等,它们通常具有8路模拟选通开关及地址译码、锁存电路等,它们可以与单片机系统连接,将数字量送到单片机进行分析和显示。一个n位的逐次逼近型A/D转换器只需要比较n次,转换时间只取决于位数和时钟周期,逐次逼近型A/D转换器转换速度快,因而在实际中广泛使用[1]。 3.1.1 逐次逼近型A/D转换器原理 逐次逼近型A/D转换器是由一个比较器、A/D转换器、存储器及控制电路组成。它利用内部的寄存器从高位到低位一次开始逐位试探比较。 转换过程如下: 开始时,寄存器各位清零,转换时,先将最高位置1,把数据送入A/D转换器转换,转换结果与输入的模拟量比较,如果转换的模拟量比输入的模拟量小,则1保留,如果转换的模拟量比输入的模拟量大,则1不保留,然后从第二位依次重复上述过程直至最低位,最后寄存器中的内容就是输入模拟量对应的二进制数字量[5]。其原理框图如图2所示: 图2 逐次逼近式A/D转换器原理图

相关主题
相关文档
最新文档