当前位置:文档之家› 单片机课程设计数字电压表

单片机课程设计数字电压表

单片机课程设计数字电压表
单片机课程设计数字电压表

单片机课程设计数字电压表

单片机课程设计——电压表的设计

学院:信息工程学院

专业:电子信息科学与技术

目录

1 引言 (1)

2设计原理及要求 (2)

2.1数字电压表的实现原理 (2)

2.2数字电压表的设计要求 (2)

3软件仿真电路设计 (3)

3.1设计思路 (3)

3.2仿真电路图 (3)

3.3设计过程 (4)

3.4 AT89C51的功能介绍 (5)

3.4.1简单概述 (5)

3.4.2主要功能特性 (6)

3.4.3 AT89C51的引脚介绍 (6)

3.5 ADC0809的引脚及功能介绍 (8)

3.5.1芯片概述 (8)

3.5.2 引脚简介 (8)

3.5.3 ADC0809的转换原理 (9)

3.6 74LS373芯片的引脚及功能 (9)

3.6.1芯片概述 (9)

3.6.2引脚介绍 (10)

3.7 LED数码管的控制显示 (10)

3.7.1 LED数码管的模型 (10)

LED数码管模型如图3-6所示。 (10)

3.7.2 LED数码管的接口简介 (10)

4系统软件程序的设计 (10)

4.1 主程序 (11)

4.2 A/D转换子程序 (12)

4.3 中断显示程序 (13)

5使用说明与调试结果 (14)

6总结 (14)

参考文献 (15)

附录1 源程序 (16)

附录2原理电路 (21)

1 引言

在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用[1]。

传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。数字电压表是诸多数字化仪表的核心与基础[2]。以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。

最近的几十年来,随着半导体技术、集成电路(IC)和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型[4]。数字电压表从1952年问世以来,经历了不断改进的过程,从最早采用继电器、电子管和形式发展到了现在的全固态化、集成化(IC化),另一方面,精度也从0.01%-0.005%。

目前,数字电压表的内部核心部件是A/D转换器,转换的精度很大程度上影响着数字电压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成本这两个方面[3]。

本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块:转换模块、数据处理模块及显示模块。其中,A/D转换采用ADC0808对输入的模拟信号进行转换,控制核心AT89C51再对转换的结果进行运算处理,最后驱动输出装置LED显示数字电压信号

2设计原理及要求

本设计是利用单片机AT89C51与ADC0809设计一个数字电压表,测量0-5V之间的直流电压值,四位数码显示。

2.1数字电压表的实现原理

ADC0809是8位的A/D转换器。当输入电压为5.00V时,输出的数据值为255(0FFH),因此最大分辨率为0.0196(5/255)。ADC0809具有8路模拟量输入端口,通过3位地址输入端能从8路中选择一路进行转换。如每隔一段时间依次轮流改变3位地址输入端的地址,就能依次对8 路输入电压进行测量。LED 数码管显示采用软件译码动态显示。通过按键选择可对8路循环显示,也可单路显示,单路显示可通过按键选择显示的通道数。

2.2数字电压表的设计要求

可以测量0~5V范围内的3路直流电压值。在4位LED数码管上轮流显示各路电压值或单路选择显示,其中3位LED数码管显示电压值,显示范围为0.00V~5.00V,1位LED数码管显示路数,3路分别为0-2。要求测量的最小分辨率为0.02V。

3软件仿真电路设计

3.1设计思路

多路数字电压表应用系统硬件电路由单片机、A/D转换器、数码管显示电路和按键处理电路组成,由于ADC0808在进行A/D转换时需要有CLK信号,本试验中ADC0808的CLK直接由外部电源提供为500kHz的方波。由于ADC0809的参考电压VREF=VCC,所以转换之后的数据要经过数据处理,在数码管上显示出电压值。实际显示的电压值(D/256*VREF) ADC0808采用逐次逼近法转换,把模拟电压转换成16进制的D,由于是对直流电压0~5V进行采集,所以D对应的电压为V0 ,我们的目的就是要把V0显示在LED显示器上,因为单片机不好进行小数点计算,所以有:V0=2*D扩大了100倍,扩大100倍后的结果高八位放寄存器B,低八位放寄存器A,分寄存器B为0或不为0的情况进行存取数据,得到的结果个位放入R0,十位放入R1,通过查表使之显示在LED 显示器。

3.2仿真电路图

用Protues软件仿真设计的电路如图3-1所示。

图3-1 仿真电路3.3设计过程

系统结构框图

系统采用12M晶振产生脉冲做AT89C51的内部时钟信号,通过软件设置单片机的内部定时器T0产生中断信号。利用中断设置单片机的P2.4口取反产生脉冲做AT89C51的时钟信号。通过按键选择八路通道中的一路,将该路电压送入ADC0809相应通道,单片机软件设置ADC0809开始A/D转换,转换结束ADC0809的EOC端口产生高电平,同时将ADC0809的EO端口置为高电平,单片机将转换后结果存到片内RAM。系统调出显示子程序,将保存结果转化为0.00-5.00V分别保存在片内RAM;系统调出显示子程序,将转化后数据查表,输出到LED显示电路,将相应电压显示出来,程序进入下一个循环

3.4 AT89C51的功能介绍

3.4.1简单概述

AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM —Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C51是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU 和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图3-2所示。

图3-2 AT89C51芯片模型

3.4.2主要功能特性

(1) 4K字节可编程闪烁存储器。

(2) 32个双向I/O口;128×8位内部RAM 。

(3) 2个16位可编程定时/计数器中断,时钟频率0-24MHz。

(4) 可编程串行通道。

(5) 5个中断源。

(6) 2个读写中断口线。

(7) 低功耗的闲置和掉电模式。

(8) 片内振荡器和时钟电路。

3.4.3 AT89C51的引脚介绍

89C51单片机多采用40只引脚的双列直插封装(DIP)方式,下面分别简单介绍。

(1)电源引脚

电源引脚接入单片机的工作电源。

Vcc(40引脚):+5V电源。

GND(20引脚):接地。

(2)时钟引脚

XTAL1(19引脚):片内振荡器反相放大器和时钟发生器电路的输入端。

XTAL2(20引脚):片内振荡器反相放大器的输出端。

图3-3 电源接入方式

(3)复位RST(9引脚)

在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。

(4)EA/Vpp(31引脚)

EA为外部程序存储器访问允许控制端。当它为高电平时,单片机读片内程序存储器,在PC值超过0FFFH后将自动转向外部程序存储器。当它为低电平时,只限定在外部程序存储器,地址为0000H~FFFFH。Vpp为该引脚的第二功能,为编程电压输入端。

(5)ALE/PROG(30引脚)

ALE为低八位地址锁存允许信号。在系统扩展时,ALE的负跳沿江P0口发出的第八位地址锁存在外接的地址锁存器,然后再作为数据端口。PROG为该引脚的第二功能,在对片外存储器编程时,此引脚为编程脉冲输入端。(6)PSEN(29引脚)

片外程序存储器的读选通信号。在单片机读片外程序存储器时,此引脚输出脉冲的负跳沿作为读片外程序存储器的选通信号。

(7) pin39-pin32为P0.0-P0.7输入输出脚,称为P0口。

P0是一个8位漏极开路型双向I/O口。内部不带上拉电阻,当外接上拉电阻时,P0口能以吸收电流的方式驱动八个LSTTL负载电路。通常在使用时外接上拉电阻,用来驱动多个数码管。在访问外部程序和外部数据存储器时,P0口是分时转换的地址(低8位)/数据总线,不需要外接上拉电阻。

(8)Pin1-Pin8为P1.0-P1.7输入输出脚,称为P1口,是一个带内部上拉电阻的8位双向I/0口。P1口能驱动4个LSTTL负载。

(9)Pin21-Pin28为P2.0-P2.7输入输出脚,称为P2口。

P2口是一个带内部上拉电阻的8位双向I/O口,P2口能驱动4个LSTTL 负载。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash 程序存储器编程时,接收高8位地址和控制信息。在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。

(10)Pin10-Pin17为P3.0-P3.7输入输出脚,称为P3口。

P3口是一个带内部上拉电阻的8位双向I/O口,P2口能驱动4个LSTTL 负载,这8个引脚还用于专门的第二功能。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接控制信息。

3.5 ADC0809的引脚及功能介绍

3.5.1芯片概述

ADC0809是一种典型的A/D转换器。它是由8位A/D转换器,一个8路模拟量开关,8位模拟量地址锁存译码器和一个三态数据输出锁存器组成;+5V 单电源供电,转化时间在100us左右;内部没有时钟电路,故需外部提供时钟信号。芯片模型如图3-4所示。

图3-4ADC0808芯片模型

3.5.2 引脚简介

(1) IN0~IN7:8路模拟量输入端。

(2) D0~D7:8位数字量输出端口。

(3) START:A/D转换启动信号输入端。

(4) ALE:地址锁存允许信号,高电平有效。

(5) EOC:输出允许控制信号,高电平有效。

(6) OE:输出允许控制信号,高电平有效。

(7) CLK:时钟信号输入端。

(8)A、B、C:转换通道地址,控制8路模拟通道的切换。A、B、C分别与地址线或数据线相连,三位编码对应8个通道地址端口,A、B、C=000~111分别对应IN7~IN0通道的地址端口。

3.5.3 ADC0809的转换原理

ADC 0809 采用逐次比较的方法完成A/D转换,由单一的+5V电源供电。片内带有锁存功能的8路选1的模拟开关,由A、B、C的编码来决定所选的通道。ADC0809完成一次转换需100μs左右,它具有输出TTL三态锁存缓冲器,可直接连接到AT89C51的数据总线上。通过适当的外接电路,ADC0809可对0~5V的模拟信号进行转换。

3.6 74LS373芯片的引脚及功能

3.6.1芯片概述

74LS373是一种带有三态门的8D锁存器,其在本设计中是锁存P0口的低8位地址,芯片模型如图3-5所示。

图3-5 74LS373芯片模型

3.6.2引脚介绍

(1) D0~D7:8位数据输入线; (2) Q0~Q7:8位数据输出线

(3) G:数据输入锁存选通信号。当加到该引脚的信号为高电平时,外部数据选通到内部锁存器,负跳变时,数据锁存到锁存器中。

(4)OE :数据输出允许信号,低电平有效。当该信号为低电平时,三态门打开,锁存器中的数据输出到数据输出线上,当该信号为高电平时,输出线为高阻态。

3.7 LED 数码管的控制显示 3.7.1 LED 数码管的模型

LED 数码管模型如图3-6所示。

3.7.2 LED 数码管的接口简介

LED 的段码端口A ~G 和DP 分别接至AT89C51的P1.0~P1.7口,位选端1~4分别接至P2.0、P2.1、P2.2、P2.3

4系统软件程序的设计

多路数字电压表系统软件程序主要有主程序、A/D 转换子程序和中断显示程序组成。

图3-6 LED 数码管模型

4.1 主程序

如下4.1图为程序软件设计流程图 其中(a)为主程序流程图,(b )为A/D 转换子程序流程图。

图4.1程序软件设计流程图

其中A/D 转换子程序是将0809转化后的数字量,需通过转化子程序转化成工程量并通过查表送到P1口送给LED 显示。 (1)初始化程序 给

ADC0809时钟脉冲信号,并指向

0809的0通道启动A/D 转换,通过延时等待8路采集完毕。

(2)数据读入 控制0809芯片的ALE 、START 、EOC 和OE ,STRT 为正脉冲时转换开始,EOC 为低电平时A/D 转化结束,OE 为高电平时转换结果送到数据线并被单片机读入,ALE 为上升沿信号地址锁存允许

CLR P2.4

SETB P2.4 CLR P2.4 JNB P2.5,$

(a )主程

(b )A/D 转换

SETB P2.6

MOVX A,@DPTR

MOV ADC,A

CLR P2.6

(3)消抖防抖动的时间是10ms。

(4)通道转换当判断有按键按下后P3.2口置位即允许74373地址锁存,DPTR加1指向下一通道。

4.2 A/D转换子程序

A/D转换子程序用于对ADC0809的4路输入模拟电压进行A/D转换,并将转换的数值存入4个相应的存储单元中,A/D转换子程序每隔一定时间调用一次,即隔一段时间对输入电压采样一次,如图4-2所示

4.3 中断显示程序

设计中采用中断的方式来读取转换完成的数据能节省CPU的资源

当系统设置好后,一旦数据转换完成,便会进入外部中断0,然后在中断中读取转换的数值,处理数据并送数码管显示输出。

LED 数码管采用软件译码动态扫描的方式。在中断程序中包含多路循环显示程序和单路显示程序,多路循环显示程序把4个存储单元的数值依次取出送到4个数码管上显示,每一路显示一秒。单路显示程序只对当前选中的一路数据进行显示。每路数据显示时需经过转换变成十进制BCD码,放于4个数码管显示缓冲区中。单路或多路循环显示通过标志位00H控制。在显示控制程序中加入了对单路或多路循环按键的判断。

图4-3中断显示程序

5使用说明与调试结果

该数字电压表可以同时测量8路直流数据,电压表测量范围为0.00~5.00V,测量最小分辨率为19.5mv。

整个系统由一个按钮控制,最左边个LED显示器是指向当前通道,即电位器编号。用Proteus仿真中点PLAY电压表默认显示第8通道即第8个电位器RV8的测量值。

第一次按下按钮后,改变测量通道即第1通道RV1的值,第2下为第2通道,依次循环测量8个电位器的电压值。

选择其中任意电位器并拨动其位置能改变其值,最大值为5V,最小值为0V,在中间时为2.49V,单片机能读出并正确显示。

经调试后该系统能达到目标要求。

6总结

经过一周左右的努力终于设计成功!!!

这次课程设计对我来说学到的不仅是那些知识,更多的是团队和合作。现在想来,也许学校安排的课程设计有着它更深层的意义吧,它不仅仅让我们综合那些理论知识来运用到设计和创新,还让我们知道了一个团队凝聚在一起时所能发挥出的巨大潜能!在团队中,我们互帮互助,对整个课程设计来说,这是至关重要的,缺少每一个人都会对我们的设计产生影响。还有要感谢指导老师在我们遇到困难时,给予我们的建议与鼓励。

在一个星期后的今天我已明白课程设计对我来说的意义,它不仅仅是让我们把所学的理论知识与实践相结合起来,提高自己的实际动手能力和独立思考的能力,更重要的是同学间的团结,虽然我们这次花去的时间比别人多,但我相信我们得到的也会更多! 发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中

在此向我们的单片机老师说声:谢谢!

参考文献

1、单片机原理与应用设计。电子工业出版社。

张毅刚、彭喜元编著。

2、单片机原理及接口技术。高等教育出版社。李全利主编。

3、MCS-51系列单片机实用编程88例。中国电力出版社。贺哲荣、甄旭主编。

单片机课程设计-数字电压表

目录 1 引言 (1) 2设计原理及要求 (2) 2.1数字电压表的实现原理 (2) 2.2数字电压表的设计要求 (2) 3软件仿真电路设计 (3) 3.1设计思路 (3) 3.2仿真电路图 (3) 3.3设计过程 (3) 3.4 AT89C51的功能介绍 (4) 3.4.1简单概述 (4) 3.4.2主要功能特性 (5) 3.4.3 AT89C51的引脚介绍 (5) 3.5 ADC0808的引脚及功能介绍 (7) 3.5.1芯片概述 (7) 3.5.2 引脚简介 (7) 3.5.3 ADC0808的转换原理 (7) 3.6 74LS373芯片的引脚及功能 (8) 3.6.1芯片概述 (8) 3.6.2引脚介绍 (8) 3.7 LED数码管的控制显示 (8) 3.7.1 LED数码管的模型 (8) 3.7.2 LED数码管的接口简介 (9) 4系统软件程序的设计 (10) 4.1 主程序 (10) 4.2 A/D转换子程序 (10) 4.3 中断显示程序 (12) 5电压表的调试及性能分析 (13) 5.1 调试与测试 (13) 5.2 性能分析 (13) 6电路仿真图 (14) 7总结 (15) 参考文献 (16)

附录1 源程序 (17) 附录2 仿真原理电路 (23)

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

单片机课程设计-电子钟

中北大学 单片机课程设计说明书 数字钟设计 1 设计任务与要求 (1)

1.1设计任务 (1) 1.2设计要求 (1) 2单片机简介 (2) 2.1单片机的发展历程 (2) 3系统设计思路和方案 (3) 3.1系统总体方案 (3) 3.2硬件简介 (3) 3.2.1硬件选择 (3) 3.2.2 51单片机的构成 (4) 3.2.3 STC89C52RC引脚功能说明 (5) 3.2.4 LED简介 (6) 3.3 Keil调试 (7) 4、系统实物图 (9) 5、课程设计体会 (9) 参考文献 (10) 附录A (11) 附录B (13) 附录C (14)

1 设计任务与要求 1.1设计任务 本课题应完成以下设计内容: 1)硬件设计 设计数字钟的电路原理图,用PROTEL绘制硬件电路。制作实物。 2)软件设计 (1)时、分、秒的设置及显示; (2)画出程序框图; (3)调试与分析。用PROTEUS仿真。 3)课程设计说明书 1.2设计要求 本课程设计的基本要求是使学生全面掌握单片机控制系统设计的基本理论,熟悉掌握MCS-51 系列单片机的编程方法,具体要求:本例利用AT89C51的定时器和6位7段数码管,设计一个电子时钟。显示格式为“XX XX XX”,由左向右分别是:时、分、秒。

2单片机简介 2.1单片机的发展历程 单片机是微型计算机的一个重要分支,也是一种非常活跃和颇具生命力的机种,特别适用于工业控制领域。1971年微处理器研制成功不久,就出现了单片机,但最早的单片机是1位的,处理能力有限。单片机的发展共分四个阶段:第一阶段是初级阶段,功能非常简单;第二阶段是低性能阶段, 16位定时器/计数器,片内ROM、RAM容量加大,直到现在仍被广泛应用,是目前应用数量较多的单片机。、32位单片机推出阶段,以满足不同的用户需要。纵观单片机几十年的发展历程,单片机的今后发展方向将向多功能、高性能、高速度、低功耗、低价格、外围电路内装化以及内存储器容量增加和FLASH存储器化方向发展。 2.2实用价值与理论意义 在单片机模块里比较常见,数字时钟是一种用0数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更高的使用寿命,新词得到了广泛的应用。 数字时钟是采用数字电路实现对时、分、秒数字显示的计时装置,广泛用于个人家庭、车站、码头、办公室等公用场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字时钟的精度远远超过老式钟表,钟表的数字化给人们的生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。因此研究数字时钟及扩大其应用有着非常现实的意义。

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

单片机原理及系统课程设计 专业:电气工程及其自动化 班级: 姓名: 学号: 指导教师: 兰州交通大学自动化与电气工程学院 2010 年 3 月 7 日

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

图3.2系统原理图4软件设计

5.系统调试及仿真结果 6.总结 两周的课程设计结束了,在这过程中,我学到了很多东西。首先,我学会了单片机设计的基本过程有哪些,每一过程有哪些基本的步骤,怎样通过查资料去完成这每一步。其次我巩固了上学期所学的一些单片机知识,从而加深了对ADC0809芯片的功能的了解。在编程过程中,遇到了许多困难,通过与同学之间的交流和咨询,最后解决了这些困难。所谓实践出真知,学到的东西只有运用到实践当中,才能真正体会到知识的力量。最后,通过这次课程设计,让我明白了想法和实践还是有差距的,当你真正去做一件事的时候,你会发现你的想法可能不适用,随时都需要调整,另外扎实的理论知识也是完成设计任何设计必不可少的要素,一切想法离开了理论知识都是空想。 参考文献 [1]彭为,黄科,雷道仲.单片机典型系统设计实例精讲[M].电子工业出版社.2009:22-54. [2] 谭浩强.C程序设计(第三版)[M].清华大学出版社.2009:32-46. [3] 王思明,张金敏,张鑫等.单片机原理及应用系统设计(第一版)[M].科学出版社.2012:70-292.

附录A源程序代码#include #include #define uchar unsigned char sbit p21=P2^1; sbit p22=P2^2; sbit p23=P2^3; sbit EOC=P3^1; sbit OE=P3^0; sbit ST=P3^2; sbit p34=P3^4; sbit p35=P3^5; sbit p36=P3^6;

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

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系列单片机包含以下几个部件: 一个8位CPU;一个片振荡器及时钟电路; 4KB的ROM程序存储器; 一个128B的RAM数据存储器; 寻址64KB外部数据存储器和64KB外部程序存储空间的控制电路; 32条可编程的I/O口线; 两个16位定时/计数器; 一个可编程全双工串行口; 5个中断源、两个优先级嵌套中断结构。51系列单片机如下图: 图1 51单片机引脚图

单片机课程设计数字电压表

单片机课程设计 ——电压表的设计 学院:信息工程学院 专业:电子信息科学与技术 班级:2011150 学号:201115002 姓名:王冬冬 同组同学:凡俊兴 201115001

目录 1 引言 (1) 2设计原理及要求 (2) 2.1数字电压表的实现原理 (2) 2.2数字电压表的设计要求 (2) 3软件仿真电路设计 (2) 3.1设计思路 (2) 3.2仿真电路图 (3) 3.3设计过程 (3) 3.4 AT89C51的功能介绍 (4) 3.4.1简单概述 (4) 3.4.2主要功能特性 (5) 3.4.3 AT89C51的引脚介绍 (5) 3.5 ADC0809的引脚及功能介绍 (7) 3.5.1芯片概述 (7) 3.5.2 引脚简介 (8) 3.5.3 ADC0809的转换原理 (8) 3.6 74LS373芯片的引脚及功能 (8) 3.6.1芯片概述 (8) 3.6.2引脚介绍 (9) 3.7 LED数码管的控制显示 (9) 3.7.1 LED数码管的模型 (9)

LED数码管模型如图3-6所示。 (9) 3.7.2 LED数码管的接口简介 (9) 4系统软件程序的设计 (9) 4.1 主程序 (10) 4.2 A/D转换子程序 (11) 4.3 中断显示程序 (12) 5使用说明与调试结果 (13) 6总结 (13) 参考文献 (14) 附录1 源程序 (15) 附录2原理电路 (19)

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

基于单片机的电子时钟课程设计报告

目录 一、引言········ 二、设计课题········· 三、系统总体方案········· 四、系统硬件设计······ 1.硬件电路原理图 2.元件清单 五、系统软件设计········· 1.软件流程图 2.程序清单 六、系统实物图········ 七、课程设计体会········ 八、参考文献及网站········· 九、附录·········

一.引言 单片机因将其主要组成部分集成在一个芯片上而得名,就是把中央处理器、随机存储器、只读存储器、中断系统、定时器/计数器以及I/O接口电路等部件集成在一个芯片上。 基于单片机设计的数字钟精确度较高,因为在程序的执行过程中,任何指令都不影响定时器的正常计数,即便程序很长也不会影响中断的时间。 数字钟是采用数字电路实现对日期、时、分、秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。数字钟已成为人们日常生活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所,给人们的生活、学习、工作带来极大的方便。不仅如此,在现代化的进程中,也离不开电子钟的相关功能和原理,比如机械手的控制、家务的自动化、定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。而且是控制的核心部分。因此,研究数字钟及扩大其应用,有着非常现实的意义。 本设计使用12MHZ晶振与单片机AT89C51相连接,以AT89C51芯片为核心,采用动态扫描方式显示,通过使用该单片机,加之在显示电路部分使用HD74LS373驱动电路,实现在8个LED数码管上显示时间,通过4个按键进行调时、复位等功能,在实现各功能时数码管进行相应显示。软件部分用C语言实现,分为显示、延迟、调时、复位等部分。通过软硬件结合达到最终目的。

数字电压表课程设计实验报告

自动化与电气工程学院 电子技术课程设计报告 题目数字电压表的制作 专业 班级 学号 学生姓名 指导教师 二○一三年七月

一、课程设计的目的与意义 1.课程设计的主要目的,是通过电子技术综合设计,熟悉一般电子电路综合设计过程、设计要求、完成的工作内容和具体的设计方法。 2.同时了解双积分式A/D转换器ICL7107的性能及其引脚功能,熟悉集成电路ICL7107构成直流数字电压表的使用方法,并掌握其在电路中的工作原理。 3.通过设计也有助于复习和巩固以往的模电、数电内容,达到灵活应用的目的。在完成设计后还要将设计的电路进行安、调试以加强学生的动手能力。在此过过程中培养从事设计工作的整体观念。 4.利用双积分式A/D转换器ICL7107设计一数字电压表,量程为-1.99—+1.99,通过七段数码管显示。 二、电路原理图 数字电压表原理图

三、课程设计的元器件 1.课程设计所使用的元器件清单: 2.主要元器件介绍 (1)芯片ICL7107: ICL7107的工作原理 双积分型A/D转换器ICL7107是一种间接A/D转换器。它通过对输入模拟电压和参考电压分别进行两次积分,将输入电压平均值变换成与之成正比的时间间隔,然后利用脉冲时间间隔,进而得出相应的数字性输出。 它的原理性框图如图所示,它包括积分器、比较器、计数器,控制逻辑和时钟信号源。积分器是A/D转换器的心脏,在一个测量周期内,积分器先后对输入信号电压和基

准电压进行两次积分。比较器将积分器的输出信号与零电平进行比较,比较的结果作为数字电路的控制信一号。时钟信号源的标准周期Tc 作为测量时间间隔的标准时间。它是由内部的两个反向器以及外部的RC组成的。其振荡周期Tc=2RCIn1.5=2.2RC 。 ICL7106A/D转换器原理图 计数器对反向积分过程的时钟脉冲进行计数。控制逻辑包括分频器、译码器、相位驱动器、控制器和锁存器。 分频器用来对时钟脉冲逐渐分频,得到所需的计数脉冲fc和共阳极LED数码管公共电极所需的方波信号fc。 译码器为BCD-7段译码器,将计数器的BCD码译成LED数码管七段笔画组成数字的相应编码。 驱动器是将译码器输出对应于共阳极数码管七段笔画的逻辑电平变成驱动相应笔画的方波。 控制器的作用有三个:第一,识别积分器的工作状态,适时发出控制信号,使各模拟开关接通或断开,A/D转换器能循环进行。第二,识别输入电压极性,控制LED 数码管的负号显示。第二,当输入电压超量限时发出溢出信号,使千位显示“1" ,其余码全部熄灭。 钓锁存器用来存放A/D转换的结果,锁存器的输出经译码器后驱动LED 。它的每个测量周期自动调零(AZ)、信号积分(INT)和反向积分(DE)三个阶段。

单片机课程设计报告——数字电压表[1]剖析

数字电压表 单片机课程设计报告 班级: 姓名: 学号: 指导教师: 2011 年3 月29 日

数字电压表电路设计报告 一、题目及设计要求 采用51系列单片机和ADC设计一个数字电压表,输入为0~5V线性模拟信号,输出通过LED显示,要求显示两位小数。 二、主要技术指标 1、数字芯片A/D转换技术 2、单片机控制的数码管显示技术 3、单片机的数据处理技术 三、方案论证及选择 主要设计方框图如下: 1、主控芯片 方案1:选用专用转化芯片INC7107实现电压的测量和实现,用四位数码管显示出最后的转换电压结果。缺点是京都比较低,内部电压转换和控制部分不可控制。优点是价格低廉。 方案2:选用单片机AT89C51和A/D转换芯片ADC0809实现电压的转换和控制,用四位数码管显示出最后的转换电压结果。缺点是价格稍贵;优点是转换京都高,且转换的过程和控制、显示部分可以控制。 基于课程设计的要求和实验室能提供的芯片,我选用了:方案2。 2、显示部分 方案1:选用4个单体的共阴极数码管。优点是价格比较便宜;缺点是焊接时比较麻烦,容易出错。 方案2:选用一个四联的共阴极数码管,外加四个三极管驱动。这个电路几乎没有缺点;优点是便于控制,价格低廉,焊接简单。 基于课程设计的要求和实验室所能提供的仪器,我选用了:方案2。

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

单片机课程设计--数字钟

单片机课程设计--数字钟 一、设计目的及意义 (1)巩固、加深和扩大51系列单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力; (2)培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力; (3)对课题设计方案的分析、选择、比较、熟悉用51单片机做系统开发、研制的过程,软硬件设计的方法、内容及步骤 二、原理图设计中简要说明设计目的 (1)功能:24小时制时间显示,可随时进行时间校对调整,整点报时及闹钟功能。 (2)原理图中所使用的元器件功能在图中的作用 1.主要元件AT89C51 P3.2 /INT0(外部中断0) 定时器/计数器0溢出中断 2.LED及按键开关 用于时间的显示和设定 (3)各器件的工作过程及顺序 计时状态,AT89C51通过P1口持续向LED发送信号,使LED扫描显示刚前时分秒,当出现定时器/计数器0溢出中断时,时间加多1秒,AT89C51从P1口向LED输出新的时间;只按住SET UP键时,进入外部中断0,时间计数停止,通过点击按键H,M,S对时分秒进行调整,新的时间值送给了计时程序,松开SET UP键退出中断,回到计时状态; 按住SET UP键和ALARM键时,进入外部中断0,时间计数停止,通过点击按键H,M对时分进行闹钟定时,AT89C51记忆时分值,退出时先松开SET UP键再松开ALARM; 闹铃:当时间值和设定闹铃值一样时,进行闹铃一分钟。

(3)流程图 Y Y 按下设定键 N (4)程序清单 #include #define uint unsigned int #define uchar unsigned char sbit wela1=P2^0; sbit wela2=P2^1; sbit wela3=P2^2; sbit wela4=P2^3; sbit wela5=P2^4; sbit wela6=P2^5; sbit dp= P1^7; sbit c0= P0^0; sbit c1= P0^1; sbit c2= P0^2; sbit c3= P0^3; sbit c4= P0^4; sbit c5= P0^5; 定时器溢出中断0 LED 扫描显示 初始设定 时间加1秒 外部中断0 按下闹钟? 时间调整 闹钟定时 时间相同? 闹铃

基于单片机的数字电压表

基于单片机的数字电压表 摘要:本文介绍一种基于89S52单片机的一种电压测量电路,该电路采用ICL7135高精度、双积分A/D转换电路,测量范围直流0-±2000伏,使用LCD液晶模块显示,可以与PC机进行串行通信。正文着重给出了软硬件系统的各部分电路,介绍了双积分电路的原理,89S52的特点,ICL7135的功能和应用,LCD1601的功能和应用。该电路设计新颖、功能强大、可扩展性强。 关键词:电压测量,ICL7135,双积分A/D转换器,1601液晶模块 Abstract: The introduction of a cost-based 89S52 MCU a voltage measurement circuits, the circuits used ICL7135 high-precision, dual-scoring A/D conversion circuits, measuring scope DC 0-2000 volts, the use of LCD that can be carried out with a PC serial communications. The paper focuses on providing a software and hardware system components circuit, introduced double integral circuit theory, 89S52 features ICL7135 functions and applications, LCD1601 functions and applications. the circuit design innovative, powerful, can be expansionary strong. Key Words: Digital Voltmeter ICL7135 LCD1601 89S52 1前言 数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。本章重点介绍单片A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原理。

单片机课程设计报告数字电压表

University of South China 单片机课程设计报告 设计课题:基于单片机的数字电压表设计专业班级:电卓103班 学生姓名:李文帅 指导教师:朱卫华 设计时间:2012年1月10日

内容摘要 电压表是测量仪器中不可缺少的设备,目前广泛应用的是采用专用集成电路实现的数字电压表。本系统以8051单片机为核心,以逐次逼近式A/D转换器ADC0809、数码管显示器为主体,设计了一款简易的数字电压表,能够测量0~5V的直流电压,最小分辨率为0.02V。 该设计大体分为以下几个部分,同时,各部分选择使用的主要元器件确定如下: 1、单片机部分。使用常见的8051单片机,同时根据需要设计单片机电路。 2、测量部分。该部分是实验的重点,要求将外部采集的模拟信号转换成数字信号,通过单片机的处理显示在显示器上,该部分决定了数字电压表的精度等主要技术指标。根据需要本设计采用逐次逼近型A∕D转换器ADC0809进行模数转换。 3、数码管显示部分。其中一位为整数部分,其余位小数部分。 索引关键词:8051 模数转换数码管显示

Contents Abstract The voltmeter is indispensable in measuring instruments and equipment, is widely used digital voltmeter ASIC implementation. 8051, successive approximation type A / D converter ADC0809 digital tube display as the main design of a simple digital voltmeter capable of measuring 0 to 5V DC voltage, minimum resolution of 0.02V . The design is divided into several parts, each part of the main components selected for use are determined as follows: 1, microcontroller part. Using a common 8051, according to the need to design a microcontroller circuit. 2, the measurement section. This part is the focus of the experiment, require external acquisition of the analog signal is converted into a digital signal through the microcontroller of the processing and display on the display, the portion determines the main technical indicators such as the precision of the digital voltmeter. According to the needs of the design using successive approximation type A / D converter ADC0809 analog-to-digital conversion. 3, the digital display section. One for the integer part, the remaining bits of the fractional part. Index Keywords: 8051 Analog-to-digital Conversion digital display.

单片机课程设计数字电子钟[修改好的]

单片机技术课程设计说明书数字电子钟 院、部:电气与信息工程学院 学生姓名:郭红满 指导教师:王韧职称副教授 专业:通信工程 班级:1102 完成时间:2013-12-20

摘要 电子钟在生活中应用非常广泛,而一种简单方便的数字电子钟则更能受到人们的欢迎。所以设计一个简易数字电子钟很有必要。本电子钟采用ATMEL公司的AT89S52单片机为核心,使用12MHz 晶振与单片机AT89S52 相连接,通过软件编程的方法实现以24小时为一个周期,同时8位7段LED数码管(两个四位一体数码管)显示小时、分钟和秒的要求,并在计时过程中具有定时功能,当时间到达提前定好的时间进行蜂鸣报时。该电子钟设有四个按键K1、K2、K3和K4键,进行相应的操作就可实现校时、定时、复位功能。具有时间显示、整点报时、校正等功能。走时准确、显示直观、运行稳定等优点。具有极高的推广应用价值。 关键词电子钟;AT89S52;硬件设计;软件设计

ABSTRACT Clock is widely used in life, and a simple digital clock is more welcomed by people. So to design a simple digital electronic clock is necessary.The system use a single chip AT89S52 of ATMEL’s as its core to control The crystal oscillator clock,using of E-12MHZ is connected with the microcontroller AT89S52, through the software programming method to achieve a 24-hour cycle, and eight 7-segment LED digital tube (two four in one digital tube) displays hours, minutes and seconds requirements, and in the time course of a timing function, when the time arrived ahead of scheduled time to buzz a good timekeeping. The clock has four buttons K1, K2, K3 and K4 key, and make the appropriate action can be achieved when the school, timing, reset. With a time display, alarm clock settings, timer function, corrective action. Accurate travel time, display and intuitive, precision, stability, and so on. With a high application value. Key words Electronic clock;AT89S52;Hardware Design;Software Design

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

引言 数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便。目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。本论文重点介绍单片A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原理。

1 实训要求 (1)基本要求: ①实现8路直流电压检测 ②测量电压范围0-5V ③显示指定电压通道和电压值 ④用按键切换显示通道 (2)发挥要求 ①测量电压范围为0-25V ②循环显示8路电压 2 实训目的 (1)进一步熟悉和掌握单片机的结构和工作原理; (2)掌握单片机的借口技术及,ADC0809芯片的特性,控制方法; (3)通过这次实训设计,掌握以单片机为核心的电路设计的基本方法和技术;(4)通过实际程序设计和调试,逐步掌握模块化程序设计的方法和调试技术。 3 实训意义 通过完成一个包括电路设计和程序开发的完整过程,使自身了解开发单片机应用系统的全过程,强化巩固所学知识,为以后的学习和工作打下基础。 4 总体实训方案 测量一个0——5V的直流电压,通过输入电路把信号送给AD0809,转换为数字信号再送至89s52单片机,通过其P1口经数码管显示出测量值。 4.1 结构框图 如图1—1所示 图1—1

单片机课程设计 数字电压表设计

《单片机原理及应用》课程设计报告书 课题名称数字电压表设计 名姓 学号 专业

指导教师 机电与控制工程学院月年日 1 任务书 电压表是测量仪器中不可缺少的设备,目前广泛应用的是采用专用集成电路实现的数字电压表。本系统以8051单片机为核心,以逐次逼近式A/D转换器ADC0809、LED显示器为主体,设计了一款简易的数字电压表,能够测量0~5V的直流电压,最小分辨率为0.02V。 该设计大体分为以下几个部分,同时,各部分选择使用的主要元器件确定如下: 1、单片机部分。使用常见的8051单片机,同时根据需要设计单片机电路。 2、测量部分。该部分是实验的重点,要求将外部采集的模拟信号转换成数字信号,通过单片机的处理显示在显示器上,该部分决定了数字电压表的精度等主要技术指标。根据需要本设计采用逐次逼近型A∕D转换器ADC0809进行模数转换。 3、键盘显示部分。利用4×6矩阵键盘的一个按键控制量程的转换,3或4位LED显示。其中一位为整数部分,其余位小数部分。 关键词:8051 模数转换LED显示矩阵键盘 2 目录

1 绪论 (1) 2 方案设计与论证 (2) 3 单元电路设计与参数计算 (3) 4 总原理图及参考程序 (8) 5 结论 (14) 6 心得体会 (15) 参考文献16 (7) 3 1.绪论 数字电压表的基本工作原理是利用A/D转换电路将待测的模拟信号转换成数字信号,通过相应换算后将测试结果以数字形式显示出来的一种电压表。较之于一般的模拟电压表,数字电压表具有精度高、测量准确、读数直观、使用方便等优

点。 电压表的数字化测量,关键在于如何把随时连续变化的模拟量转化成数字量,完成这种转换的电路叫模数转换器(A/D)。数字电压表的核心部件就是A/D转换器,由于各种不同的A/D转换原理构成了各种不同类型的DVM。一般说来,A/D 转换的方式可分为两类:积分式和逐次逼近式。 积分式A/D转换器是先用积分器将输入的模拟电压转换成时间或频率,再将其数字化。根据转化的中间量不同,它又分为U-T(电压-时间)式和U-F(电压-频率)式两种。 逐次逼近式A/D转换器分为比较式和斜坡电压式,根据不同的工作原理,比较式又分为逐次比较式及零平衡式等。斜坡电压式又分为线性斜坡式和阶梯斜坡式两种。 在高精度数字电压表中,常采用由积分式和比较式相结合起来的复合式A/D转换器。本设计以8051单片机为核心,以逐次比较型A/D转换器ADC0809、LED 显示器为主体,构造了一款简易的数字电压表,能够测量1路0~5V直流电压,最小分辨率0.02V。 4 2.方案设计与论证 基于单片机的多路数字电压表电路的基本组成如图3.1所示。

单片机课程设计电子钟汇编语言

ORG 0000H MOV 40H,#00H MOV 41H,#00H MOV 42H,#00H MOV 43H,#00H MOV 44H,#00H MOV 45H,#00H MOV 46H,#00H MOV 47H,#00H MOV R0,#00H MOV R1,#00H CLR P3.0 CLR P3.1 UU: MOV TMOD ,#00H MOV TH0,#00H MOV TL0,#00H CLR TR0 MM: MOV A,40H MOV 50H,#11111110B MOV P2,50H MOV DPTR ,#TAB MOVC A,@A+DPTR MOV P0,A LCALL YY MOV A,50H RL A MOV 50H,A MM1: MOV P2,50H MOV DPTR,#TAB MOV A,41H ADD A,#0AH MOVC A,@A+DPTR MOV P0 ,A LCALL YY MOV A,50H RL A MOV 50H,A MM2: MOV P2,50H MOV DPTR,#TAB MOV A,42H

MOV P0 ,A LCALL YY MOV A,50H RL A MOV 50H,A MM3: MOV P2,50H MOV DPTR,#TAB MOV A,43H ADD A,#0AH MOVC A,@A+DPTR MOV P0 ,A LCALL YY MOV A,50H RL A MOV 50H,A MM4: MOV P2,50H MOV DPTR,#TAB MOV A,44H MOVC A,@A+DPTR MOV P0 ,A LCALL YY MOV A,50H RL A MOV 50H,A MM5:MOV P2,50H MOV DPTR,#TAB MOV A,45H ADD A ,#0AH MOVC A,@A+DPTR MOV P0 ,A LCALL YY MOV A,50H RL A MOV 50H,A MM6: MOV P2,50H MOV DPTR,#TAB MOV A,46H

基于单片机的数字电压表制作——(C语言)

基于单片机的数字电压表制作——ADC0832模数转换应用程序(C语言) 主要部件:AT89S51 ADC0832 八段数码管 关键字:ADC0832程序C语言数字电压表 本文所描述的数字电压表是利用ADC0832模数转换芯片完成的。该芯片能将0~5V的模拟电压量转换为0~255级的数字量,所以本文描述的数字电压表的量程为0~5V。 以下是程序部分: 该程序是本人自编的,经测试可用,但不保证程序的可靠性及稳定性。若有转载请标明出处。 如果有同学将本程序烧写到单片机里却不能正常工作的,请注意以下三点: 1、是否将端口重新定义。每个单片机开发板的引脚连接都是不一样的,若不加修改直接把程序烧写到单片机里,那是绝对不能正常工作的。 2、是否正确选择通道值。ADC0832有两个模拟输入端口(也就是我说的通道),你要先弄清楚你用的是那个通道,并在main函数中设置相应的通道值(以CH命名的那个变量)。本程序默认使用0通道,如果0通道不行就改成1通道,反正不是0通道就是1通道。 3、如果你做的电压表在保证电路连接正确且没有以上两点问题的情况下,还是不能正常工作,请将程

序中的“if (adval == test)”这一行删掉。其实这一点我个人也不清楚到底有没有问题。我有两个单片机开发板,其中一个必须要把那一行删掉才能工作。这说明ADC0832读出的前8位与后8位数值不一样(确切的说应该是后8位反转的数值),这有悖于ADC0832的原理。我不知道到底是硬件还是软件出了问题,特此把这种现象标明。若有哪位同学知道其原因的还请多多指教。 /***********************************************************************************/ /*简易数字电压表制作——ADC0832模数转换应用程序(C语言版)*/ /*目标器件:AT89S51 */ /*晶 振:12.000MHZ */ /*编译环境:Keil uVision2 V2.12 */ /***********************************************************************************/ /*********************************包含头文件********************************/ #include #include /*********************************端口定义**********************************/ sbit CS = P3^5; sbit Clk = P3^4; sbit DATI = P3^3; sbit DATO = P3^3; /*******************************定义全局变量********************************/ unsigned char dat = 0x00; //AD值 unsigned char count = 0x00; //定时器计数 unsigned char CH; //通道变量 unsigned char dis[] = {0x00, 0x00, 0x00}; //显示数值 /*******************************共阳LED段码表*******************************/

相关主题
文本预览
相关文档 最新文档