基于51单片机的数字电压表的设计
- 格式:doc
- 大小:211.50 KB
- 文档页数:16
基于51单片机的直流数字电压表设计概述:直流数字电压表是一种用于测量直流电压的仪器,它通过将电压信号转换为数字形式,并显示在数码管上,实现对电压的准确测量。
本文将介绍基于51单片机的直流数字电压表的设计原理和实现方法。
一、设计原理:1.1 电压信号采集:直流数字电压表的第一步是采集待测电压信号。
常用的采集方法是使用一个分压电路将待测电压降低到合适的范围,再通过运算放大器将其放大到合适的电平。
51单片机的模拟输入引脚可以接受0-5V的模拟电压信号,因此可以直接将放大后的信号接入单片机进行采集。
1.2 模数转换:采集到的模拟电压信号需要经过模数转换(A/D转换)才能被单片机读取和处理。
51单片机内部集成了一个10位的A/D转换器,可以将输入的模拟电压转换为相应的数字量。
通过设置不同的参考电压和采样精度,可以实现对不同电压范围的准确测量。
1.3 数码管显示:经过模数转换后,得到的数字量需要通过数码管进行显示。
51单片机的IO口可以通过控制段选和位选的方式,将数字量转换为相应的数码管显示。
可以根据需要选择常用的七段数码管或者液晶显示屏进行显示。
二、设计实现:2.1 硬件设计:硬件设计包括电路原理图设计和PCB布局设计两个部分。
电路原理图设计主要包括电压采集电路、运算放大器、A/D转换器和数码管驱动电路等部分。
PCB布局设计需要考虑信号的走线和电源的分布,以保证电压信号的准确采集和显示。
在设计过程中,需要注意地线和信号线的分离,以减少干扰。
2.2 软件设计:软件设计主要包括单片机的程序编写和调试。
首先需要编写采集模拟电压信号和进行A/D转换的程序,将转换后的数字量存储在单片机的内部存储器中。
然后编写数码管驱动程序,将存储的数字量转换为相应的数码管显示。
最后,通过按键或者旋转编码器等方式,可以实现对量程和精度的选择。
三、设计优化:3.1 精度优化:为了提高直流数字电压表的测量精度,可以采用更高精度的A/D转换器,增加参考电压的精度,或者通过校准电路对测量误差进行校正。
51单片机的数字电压表设计不需要仿真(原创版)目录一、引言二、51 单片机的数字电压表设计原理1.主要硬件2.电路设计3.编程方法三、设计优点1.电路简单2.成本低3.性能稳定四、设计局限性五、总结正文一、引言在电子技术领域,数字电压表是一种重要的测量工具,它可以将模拟信号转化为数字信号,并显示在数码管上。
随着单片机技术的不断发展,基于单片机的数字电压表设计越来越受到关注。
本文将以 51 单片机为例,介绍一种数字电压表的设计方法,该方法不需要仿真。
二、51 单片机的数字电压表设计原理1.主要硬件本设计采用 AT89C51 单片机、AD 转换器 ADC0808 和共阳极数码管为主要硬件。
AT89C51 是一款 8 位单片机,具有较高的执行速度和稳定性;ADC0808 是一款 12 位 A/D 转换器,可以将模拟信号转换为数字信号;共阳极数码管用于显示数字信号。
2.电路设计电路设计主要包括输入电阻分压、ADC0808 的连接和数码管的动态扫描显示。
在输入端,采用电阻分压方式降低输入电压,使其适合 ADC0808 的输入范围。
ADC0808 的输出端连接到单片机的数据总线,单片机根据输出的数字信号进行数据处理。
数码管采用动态扫描显示方式,通过单片机控制数码管的点亮时间,实现数字信号的显示。
3.编程方法编程主要分为两部分:一是数据采集,即将模拟信号转换为数字信号;二是数据处理和显示,即将采集到的数字信号进行处理并在数码管上显示。
在数据采集部分,程序需要发送 ADC0808 的启动信号,并读取转换后的数字信号。
在数据处理和显示部分,程序需要根据数码管的显示要求,控制数码管的点亮时间。
三、设计优点1.电路简单:本设计采用较少的硬件,电路连接简单,易于实现。
2.成本低:主要硬件都是常见的单片机和元器件,成本较低。
3.性能稳定:采用成熟的单片机技术,性能稳定可靠。
四、设计局限性虽然本设计具有较多的优点,但仍然存在一定的局限性。
目录摘要 (I)1 绪论 (1)1.1数字电压表介绍 (1)1.2仿真软件介绍 (1)1.3 本次设计要求 (2)2 单片机和AD相关知识 (3)2.1 51单片机相关知识 (3)2.2 AD转换器相关知识 (4)3 数字电压表系统设计 (5)3.1系统设计框图 (5)3.2 单片机电路 (5)3.3 ADC采样电路 (6)3.4显示电路 (6)3.5供电电路和参考电压 (7)3.6 数字电压表系统电路原理图 (7)4 软件设计 (8)4.1 系统总流程图 (8)4.2 程序代码 (8)5 数字电压表电路仿真 (15)5.1 仿真总图 (15)5.2 仿真结果显示 (15)6 系统优缺点分析 (16)7 心得体会 (17)参考文献 (18)1 绪论1.1数字电压表介绍数字电压表简称DVM,数字电压表基本原理是将输入的模拟电压信号转化为数字信号,再进行输出显示。
而A/D转换器的作用是将连续变化的模拟信号量转化为离散的数字信号,器基本结构是由采样保持,量化,编码等几部分组成。
因此AD转换是此次设计的核心元件。
输入的模拟量经过AD转换器转换,再由驱动器驱动显示器输出,便得到测量的数字电压。
本次自己的设计作品从各个角度分析了AD转换器组成的数字电压表的设计过程及各部分电路的组成及原理,并且分析了数模转换进而使系统运行起来的原理及方法。
通过自己的实践提高了动手能力,也只有亲历亲为才能收获掌握到液晶学过的知识。
其实也为建立节约成本的意识有些帮助。
本次设计同时也牵涉到了几个问题:精度、位数、速度、还有功耗等不足之处,这些都是要慎重考虑的,这些也是在本次设计中的收获。
1.2仿真软件介绍Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。
它运行于Windows 操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:(1)现了单片机仿真和SPICE电路仿真相结合。
甘肃畜牧工程职业技术学院毕业设计题目:基于51单片机的简易数字电压表的设计系部:电子信息工程系专业:信息工程技术班级:学生姓名:学号:指导老师:日期:目录毕业设计任务书 (1)开题报告 (2)摘要 (6)关键词 (7)引言 (8)第一章AD转换器 (9)1.1AD转换原理 (9)1.2 ADC性能参数 (11)1.2.1 转换精度 (11)1.2.2. 转换时间 (12)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)参考文献 (26)附录 (27)致谢 (29)毕业设计任务书开题报告摘要随着我国现代化技术建设的发展,电子检测技术日新月异,本此设计基于80C51单片机的一种8路输入电压测量电路,该电路采用ADC0809 A D转换元件,实现数字电压表的硬件电路与软件设计。
该系统的数字电压表电路简单, 可以测量0~5V的电压值,并在四位LED数码管上轮流显示或单路选择显示。
所用的元件较少,成本低,调节工作可实现自动化。
还可以方便地进行8路AD转换量的测量,远程测量结果传送等功能。
With the construction of modern technology, electronic detection technology advances, the 80C51 microcontroller for this design is based on an 8-input voltage measurement circuit that uses ADC0809 A D conversion components, digital voltage meter . The system's digital voltmeter circuit is simple, can measure the voltage 0 ~ 5V, and the four turns on the LED digital display or a single select Show. Fewer components used in low cost, regulation work can be automated. You can also easily 8 A D conversion volume measurement, remote measurement transferfunctions.数字电压表单片机 AD转换 AT80C51Digital voltmeter microcontroller A D conversion AT80C51数字电压表简称DVM,它是采用了数字化测量技术,把连续模拟量(直流输入电压)转换成不连续,离散的数字形式加以现实的仪表。
基于51单片机的数字电压表仿真设计一、引言随着电子科学技术的发展,电子测量成为广大电子工作者必须掌握的手段,对测量的精度和功能的要求也越来越高,而电压的测量甚为突出,因为电压的测量最为普遍。
数字电压表是采用数字化测量技术设计的电压表。
数字电压表与模拟电压表相比,具有读数直观、准确、显示范围宽、分辨力高、输入阻抗大、集成度高、功耗小、抗干扰能力强,可扩展能力强等特点,因此在电压测量、电压校准中有着广泛的应用。
而单片机也越来越广泛的应用与家用电器领域、办公自动化领域、商业营销领域、工业自动化领域、智能仪表与集成智能传感器传统的控制电路、汽车电子与航空航天电子系统。
单片机是现代计算机技术、电子技术的新兴领域。
本文采用ADC0808对输入模拟信号进行转换,控制核心C51单片机对转换的结果进行运算和处理,最后驱动输出装置显示数字电压信号,通过Proteus仿真软件实现接口电路设计,并进行实时仿真。
Proteus软件是一种电路分析和实物模拟仿真软件。
它运行于Windows 操作系统上,可以进行仿真、分析(SPICE)各种模拟器件和集成电路,是集单片机和SPICE分析于一身的仿真软件,功能强大,具有系统资源丰富、硬件投入少、形象直观等优点,近年来受到广大用户的青睐。
二、数字电压表概述1、数字电压表的发展与应用电压表指固定安装在电力、电信、电子设备面板上使用的仪表,用来测量交、直流电路中的电压。
传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,并且传统的电压表在测量电压时需要手动切换量程,不仅不方便,而且要求不能超过该量程。
目前,由各种单片A/D转换器构成的数字电压表,已被广泛用于电子及电工测量领域,并且由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。
2、本次设计数字电压表的组成部分本设计是由单片机AT89C51作为整个系统控制的核心,整个系统由衰减输入电路、量程自动转换电路、交直流转换电路、模数转换及控制电路以及接口电路五大部分构成。
51单片机的数字电压表设计不需要仿真
摘要:
1.51单片机数字电压表设计简介
2.硬件电路组成及原理
3.软件程序设计要点
4.系统性能与应用
正文:
一、51单片机数字电压表设计简介
51单片机数字电压表设计是一种基于嵌入式技术的电子测量工具,具有体积小、精度高、操作简便等优点。
本设计以51单片机为核心,结合A/D转换器、显示模块等硬件,实现对输入模拟电压信号的采集、处理和显示。
二、硬件电路组成及原理
1.核心控制器:51单片机
2.A/D转换器:将模拟电压信号转换为数字信号
3.显示模块:采用共阳极数码管,实现数字电压值的显示
4.模拟量输入:电阻分压电路,可测量0-5V范围内的电压信号
三、软件程序设计要点
1.初始化:配置单片机的工作模式、时钟频率等参数
2.A/D转换:设置A/D转换器的工作模式,进行电压信号的采样和转换
3.数据处理:对A/D转换后的数字信号进行处理,如数据调整、滤波等
4.显示更新:根据处理后的数据,通过动态扫描显示技术更新数码管的显
示内容
5.循环检测:持续监测输入电压信号,实时更新显示
四、系统性能与应用
本设计的51单片机数字电压表具有以下特点:
1.测量范围:0-5V
2.精度:±1%
3.响应速度:≤100ms
4.电源:直流5V
广泛应用于工业生产、实验室测量、电子产品研发等领域,为工程师提供了一种高效、准确的电压测量解决方案。
通过以上介绍,我们可以了解到51单片机数字电压表的设计原理、硬件组成和软件程序设计方法。
在实际应用中,根据具体需求可以对电路和程序进行优化调整,提高系统的性能和稳定性。
摘要随着电子技术的发展,电子测量技术对测量的精度和功能的要求也越来越高,而数字电压表作为实验室的基本测量设备,它可以很好的满足测量精度和功能的要求。
本设计利用AT89S51单片机技术结合A/D转换(采用ADC0809)构建了一个直流数字电压表。
经过对数字电压表基本原理的分析,本文设计了一个以51单片机为核心的数字电压表系统,给出了直流数字电压表的设计流程,设计了电压测量子系统和电流测量子系统,给出了硬件电路的框图、电气原理图和软件流程图。
系统设置了3个键的键盘,用于设定电压、电流切换的功能键、系统复位键以及清零键。
关键词:数字电压表;AT89S51单片机;A/D转换;ADC0809;AbstractAs electronic science and technology development, electronic measurement technology on the accuracy of measurement and functional requirements are increasingly high, and digital voltmeter measurement equipment as the basic laboratory, it can well meet the measuring precision and function requirements. A dc digital voltmeter is built by using AT89S51 with the A/D convertor (ADC0809)in the paper.This paper first introduces the main method and design voltmeter SCM system advantage; Then introduces the design process of dc digital voltmeter, and hardware system and the design of software system, and gives the hardware circuit design system diagram and software system design flow diagram.Keywords: Digital voltmeter; AT89S51MCS; A/D conversion; ADC0809.目录1 绪论 (1)1.1前言 (1)1.2数字电压表的介绍 (1)1.2.1数字电压表的发展概况 (1)1.2.2数字电压表在各领域中的应用 (2)1.2.3数字电压表的优点 (2)1.3单片机的介绍 (3)1.3.1单片机简介 (3)1.3.2单片机的发展概况 (3)1.3.3单片机的应用 (4)1.3.4单片机的特点 (6)1.4课题背景,国内外研究现状 (6)1.5本文主要研究内容 (8)2 数字电压表的工作原理 (9)2.1数字电压表的基本结构 (9)2.2数字电压表的工作原理 (9)2.2.1模数(A/D)转换与数字显示电路 (10)2.2.2多量程数字电压表分压原理 (10)2.2.3多量程数字电压表分流原理 (11)3 硬件系统各模块具体设计及实现 (14)3.1单片机的选择 (14)3.1.1AT89S51的引脚框图 (15)3.1.2AT89S51的内部结构图 (17)3.2A/D转换器的选择 (18)3.2.1ADC0809的引脚结构 (19)3.2.2ADC0809的内部逻辑结构 (21)3.3显示器的选择 (21)3.4键盘的选择 (23)3.5表笔探针设计 (23)4 系统总体方案研究 (25)4.1总体方案确定 (25)4.2系统框图及阐述 (25)4.3ADC0809与AT89S51的连接 (26)4.4键盘与单片机的连接 (27)4.5多量程数字电压表档位切换原理 (28)4.5.1多量程电压的测量 (28)4.5.2多量程电流的测量 (30)5 系统的软件设计 (31)5.1系统软件设计的总体思想 (31)5.2系统单片机的软件设计 (31)5.2.1键盘的处理 (31)5.2.2显示的处理 (31)5.2.3档位切换的处理 (32)6 系统软件流程图 (33)6.1主程序流程图 (33)6.2A/D转换流程图 (34)7 设计总结 (35)参考文献 (36)致谢 (37)附录 (38)1 绪论1.1前言数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。
课程名称:微机原理课程设计题目:数字电压表ﻬ摘要单片微型计算机简称单片机,是典型的嵌入式微控制器,常用英文字母的缩写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 创新部分 ........................................................................................... 错误!未定义书签。
目录目录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图2.1 ADC08082.1.1 简介ADC0808是采样分辨率为8位的、以逐次逼近原理进行模/数转换的器件。
其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。
ADC0808是ADC0809的简化版本,功能基本相同。
内容摘要:进入二十一世纪以来,在现代化检测技术运用过程中,往往需要通过具有高精细度以及科学化的数字电压表完成相应的现场检测工作。
通过将世纪检测得到的数据通过传输功能送入计算机计算中心,从而完成相应的存储、计算以及控制、实时显示等各项功能。
而在本文中,笔者所的数值电压表为51式单片机(AT89c51),而A/D转换装置采用的是TLC2543型号硬件,从而实现整个数值电压表软件以及硬件电路的设计。
在本系统中,具有电路简单,元件使用数量少、设计成本低等优点,并且整个调节过程完全自动化。
除此以外,本数字电压表可以进行八路的转化量(A/D)测量以及测量结果远程传送等多项功能。
本设计数值电压表能够对0V~5V电压的8路电压值进行准确的测量,同时在外部数码管上进行单路或者轮流模式的显示。
关键词:模拟信号数字电压表单片机 A/D转换The design of digital voltage meter based on 51 single chipmicrocomputerAbstract:the twenty-first century, in the process of applying modern detection techniques , often need to complete the appropriate field testing work by having a high finesse and scientific digital voltmeter . Century detected by the data transfer function obtained by computing center into the computer , thus completing the appropriate storage , computing and control , real-time display and other functions . In this article, the author numerical voltmeter 51 type microcontroller (AT89c51), while the A / D converter TLC2543 model is used in hardware , enabling the entire value voltmeter software and hardware design . In this system , with a simple circuit using a small number of components , design and low cost , and the whole adjustment process is fully automated. In addition, the eight digital voltmeter can be converted amount (A / D) measurement and remote transmission of measurement results and many other features . The design values voltmeter capable of 0V ~ 5V voltage 8 accurately measure voltage , single or simultaneous display mode turns on an external digital control .Keywords: Analog signal Digital voltmeter SCM A/D converter;目录前言 (1)1 概述 (1)1.1 选题背景 (1)1.2 研究意义 (1)2 设计方案分析 (2)2.1 A/D转化装置 (2)2.2 电源 (2)3 硬件部分设计分析 (3)3.1 单片机 (3)3.1.1 对单片机芯片进行选择 (3)3.2 外围电路与AT89C51接口设计分析 (6)3.2.1 TLC2543 (7)3.2.2 TLC2543的特点 (7)3.2.3 TLC2453接口时序 (7)3.2.4 TLC2543 A/D芯片与89C51单片机的接口 (7)4 软件部分设计分析 (10)4.1 程序初始化 (11)4.2 A/D转换装置子程序 (12)4.3 显示子程序 (12)5 结论 (13)参考文献: (14)附录: (15)基于51单片机的数字电压表设计前言随着时代的进步,科技不断发展,电压表也在更新换代,由以前的表面指针电压表更替为以数码管或者液晶显示面板显示的电压表。
数字电压表的设计目录绪论 (1)第1章系统总体方案选择与说明 (1)1.1 项目分析及其设计 (1)1.1.1 通道转换方案设计 (1)1.1.2 显示部分方案设计 (1)第2章系统总体结构与系统功能 (2)2.1 系统结构框图 (2)2.2 系统功能 (2)第3章硬件设计说明及计算方法 (2)3.1 单片机的选择及时钟电路 (2)3.2 驱动模块 (3)3.3 LED显示电路设计与器件选择 (4)3.4 A/D转换模块及转化电路设计 (6)第4章软件设计与说明 (7)4.1 数字电压表系统软件设计方案确定 (7)4.2 数字电压表应用程序设计 (9)第5章调试结果及其说明 (9)5.1 调试结果及其说明 (9)参考文献 (10)附录A 系统原理图 (11)附录B 系统源程序 (12)绪论本设计采用了以单片机为开发平台,控制系采用AT89C52单片机,A/D 转换采用ADC0809。
系统除能确保实现要求的功能外,还可以方便进行8路其它A/D转换量的测量、远程测量结果传送等扩展功能。
简易数字电压测量电路由A/D 转换、数据处理、显示控制等组成。
关键词: 单片机 AT89C52 A/D转换 ADC0808 数据处理课程设计要求:利用八位A/D转换器实现分辨率位八位二进制数的电压表,测量结果用四位数码管显示。
第一章系统总体方案与选择实现数字电压表的方案很多,目前广泛采用的时基于74系列逻辑器件,本设计将介绍基于单片机实现的方案。
1.1 项目分析及其设计方案设计此设计包含两个模块,通道转换和显示部分方案。
1.1.1通道转换方案设计方案一:考虑到ADC0808的8路模拟量输入本质上也是模拟开关,因此可以利用其8个模拟通道中的3个作为通道转换器,即根据通道对应的电压测量范围确定对应的电压方法倍数设计对应的放大电路。
方案二:利用手动开关实现通道转换。
该方案可简化控制程序,消减系统开销。
缩短反应时间,不足之处在于操作麻烦。
综上所述:方案二所需元件少、成本低且易于实现,则选此方案。
1.1.2显示部分方案设计方案一:单片机的P0、P2口分别接74LS248和ULN2003A芯片来驱动四位数码管方案二:直接用单片机的P1、P2口驱动数码管,此处把ADC0808的输出端接P1口,因为P1口能够驱动数码管。
综上所述,两个方案都可行,但方案二所需元件少、成本低,则选择此方案。
第二章系统总体结构2.1 系统结构框图根据项目要求,确定该系统的设计方案,图2-1为该系统设计方案的结构框图。
硬件电路由6各部分组成,即单片机、时钟电路、复位电路、LED显示电路、A/D装唤器和测量电压输入电路。
时钟电路复位电路LED显示电路A/D转化测量电压输入电路单片机图2-1 系统结构框图2.2系统功能在一切准备就绪以后,滑动变阻器RV1的阻值,A/D采样数据,经过单片机的处理,在4位一体的LED数码管管上显示当前电压值。
每改变一次RV1的阻值,在数码管上就会获得一个新的数值。
第三章硬件电路设计3.1 单片机的选择及时钟电路根据初步设计方案的分析,设计这样一个简单的应用系统,可以选择带有EPROM 的单片机,应用程序直接存储在片内,不用在外部扩展程序存储器,电路可以简化。
此电路选择ATmel公司生产的AT89C51。
AT89系列与MCS-51系列单片机相比有两大优势:第一,片内程序存储器采用闪速存储器,使程序的写入更加方便;第二,提供了更小尺寸的芯片,使整个电路体积更小。
它以较小的体积、良好的性价比倍受青睐。
单片机工作的时间基准是由时钟电路提供的。
在单片机的XTAL1和XTAL2两个管脚,接一只晶振及两只电容就构成了单片机的时钟电路。
电路中,电容C1和C2对震荡电路有微调的作用,通常的取值范围位(30+10)pF。
石英晶体选择6MHz或12MHz都可以,其结果只是机器周期时间不同,影响计数器的计数初值,此设计取12MHz。
图3-1 单片机最小系统3.2驱动模块该设计的驱动电路是由74LS245来驱动的。
74LS245是我们常用的芯片,用来驱动LED或其他设备,它是8路同相三态双向总线收发器,课双向传输数据。
74LS245还具有双向三态功能,既可以输出,也可以输入数据。
当51单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。
当片选端CE低电平有效时,AB/BA=0;信号由B向A传输;AB/BA=1,信号由A向B传输;当CE位高电平时,A,B均为高阻图3-2 74LS245管脚图3.3 LED 显示电路设计与器件选择单片机应用系统中,通常都需要进行人机对话。
这包括人对应用系统的状态干预与数据输入,以及应用系统向人们显示运行状态与运行结果。
显示器、键盘电路就是用来完成人机对话活动的人机通道。
图3-3 LED显示管脚LED显示器的驱动是一个非常重要的问题,由图3-2-1可知,显示电路由LED 显示器、段驱动电路和位驱动电路组成。
此设计不采用段驱动芯片和位驱动芯片,直接由单片机的P0,P2口驱动,实验证明可行。
在应用系统中,设计要求不同,使用的LED显示器的位数也不同,因此生产厂家就生产了多种位数、尺寸、型号不同的LED显示器。
在我们的设计中,选择4位一体的共阴极时钟型LED显示器,采用动态显示方式。
图3-4 LED动态显示采用P0口作为LED的段码输出信号,P2口的低四位作为LED位码的输出控制信号。
硬件电路的连接如图3-2-2所示。
该电路的工作原理:当P0口输出段码信号的BCD码后,输出具有一定驱动能力的七段字形码,由于4-LED的段码输入管脚是并联在一起的,所以每一位LED的段码输入管脚都能获得这个段码信号。
若要控制在每一时刻只有一位LED 被点亮,必须靠位码信号控制。
P2口低四位输出位码信号后接到LED的位码控制端,因此P2口的低四位的位码信号在每一时刻只有一位是“0”,其他位全为“1”,然后按时间顺序改变输出“0”的位置,控制在每一时刻只有一位LED被点亮,达到动态显示的目的。
3.4 A/D转换模块及转换电路设计A/D转换器的功能是将模拟量转换为与其大小成正比的数字量信号。
能实现这种转换的原理和方法很多,此设计采用ADC0808转换器。
ADC0808是一种逐次逼近型的8位A/D转换器件,片内有8路模拟开关,可输入8个模拟量,单极性,量程为0~+5V。
3.4.1 ADC0808 简介1. ADC0808引脚功能图3-5 ADC0808引脚图(1) IN0~IN7:8路模拟量输入。
(2) ADDA、ADDB、ADDC:模拟量输入通道地址选择,其8位编码分别对应IN0~IN7.(3) ALE:地址锁存允许,上升沿将通道选择信号存入地址锁存器。
(4) START:ADC转换启动信号,正脉冲有效,引脚信号要求保持在200ns 以上,其上升沿将内部逐次逼近寄存器清零。
(5) EOC:转换解释信号,可做为中断请求信号或供CPU查询。
(6) CLK:时钟输入端,要求频率范围在10kHz~1.2MHz.(7) OE:允许输出信号。
(8) Vcc:芯片工作电压。
(9) VREF(+)、VREF(-):基准参考电压的正、负值。
(10)OUT1~OUT8:8路数字量输出端。
3.4.2 A/D转换电路设计集成摸数转换芯片ADC0808实现的A/D转换电路被测信号由ADC0808模拟输入端输入,完成A/D转换后送入单片机,经相应处理后送出显示。
第四章软件设计与说明进行应用软件设计时可以采用模块化结构设计,其优点是:①每个模块的程序结构简单,任务明确,易于编写、调试和修改;②程序可读性好,对程序的修改可局部进行,其他部分可以保持不变,易于功能扩充和版本升级;③易于使用频繁的子程序可以建立子程序,便于多个模块调用;④便于分工合作,多个程序员同时进行程序的编写和调试工作,加快软件研制进度。
4.1 数字电压表系统软件设计方案确定(1)根据设计要求,根据系统所要完成的功能,设计出图4-1所示的功能模块。
图4-1 数字电压表软件设计的模块(2)程序的设计①主程序的设计主程序的内容一般包括:主程序的起始地址、中断服务额程序的起始地址、有关内存单元及相关部件的初始化和一些子程序调用等。
根据设计要求,设计出如图4-2所示的主程序流程图。
开始初始化调用A /D 转化子程序调用显示子程序图4-2 主程序流程图 转化是否完成?开始结束开始模数转化取得模数转化结果并化为工程量显示转化结果YN图4-3 A/D 转换子程序流程图② A/D转换子程序的设计 A/D转换程序的功能是采集数据,再整个系统设计中占有很高的地位。
当系统置好后,单片机扫描转换结束管脚P2.6的输入电平状态,当输入为高电平则转换完成,将转换的数值转换并显示输出。
若输入为低电平,则继续扫描。
程序流程图如图4-3所示。
③数码转换及显示子程序的设计由于人们日常习惯使用十进制数,而计算机的键盘输入、输出以及显示常采用二进制编码的十进制数(即BCD码)或ASCII码。
因此,在程序设计中经常要进行数码转换。
4.2 数字电压表应程序设计(1)程序起始地址 MCS-51系列单片机复位后,(PC)=0000H,而0003H~002BH分别为各中断源的入口地址。
所以,编程序时应在0000H处写一条跳转指令。
当CPU接到中断请求信号并予以响应后,CPU把当前的PC内容压入栈中进行保护,然后转入相应的中断服务程序入口处执行。
(2)LED动态显示延时 LED显示器每一位的显示时间是5ms,延时5ms子程序是典型的软件定时程序。
说明:LED采用7段字形代码,第1位采用把dp置1的方式显示小数点。
第五章调试结果及其说明5.1 调试结果及其说明采用Keil μVision编译器进行源程序编译,调试好程序后将.Hex文件导入Proteus进行软件调试。
在Proteus ISIS编辑窗口中单击开始仿真按钮,4位LED数码管显示相应的电压值。
当通道打到通道0时,滑动变阻器RV1的阻值调至最小位置时,LED显示0.000,正确显示数值;把RV1调至中间位置时,LED显示2.650,同样正确读出数据;当把RV1的阻值调至最大位置时,LED显示5.000,正确读出数据。
同理调试其他通道时,能正确显示通道数和电压值,证明该8路电压表合格。
调试结果如图5-1图5-1 调试结果参考文献[1] 单片微机原理及应用徐春晖主编电子工业出版社[2] 单片机应用技术(C语言版)王静霞主编电子工业出版社[3] 新概念51单片机C语言教程郭天祥主编电子工业大学[4] 单片机典型系统设计实例精讲彭为等电子工业出版社[5] 单片机原理与应用设计张毅刚等电子工业出版社附录B 系统源程序LED_0 EQU 30HLED_1 EQU 31HLED_2 EQU 32HLED_3 EQU 33H //存放四个数码管的段码ADC EQU 35H //存放转换后的数据ST BIT P3.2OE BIT P3.0EOC BIT P3.1ORG 0000HSTART:MOV LED_0,#00HMOV LED_1,#00HMOV LED_2,#00HMOV LED_3,#00HMOV DPTR,#TABLE //送段码表首地址SETB P3.4SETB P3.5CLR P3.6 //选择ADC0808的通道3WAIT:CLR STSETB STCLR ST //启动转换JNB EOC,$ //等待转换结束SETB OE //允许输出MOV ADC,P1 //暂存转换结果CLR OE //关闭输出LCALL INTOVLCALL DISP //显示AD转换结果SJMP WAITINTOV:MOV DPTR,#TAB //因为所用的滑动变阻器为0.01的精度,所以MOV A,ADC //最小的读数为0.05,其余均为0.05的倍数MOVC A,@A+DPTR //因此,第三位小数,要么是5,要么是0MOV B,#2DIV ABMOV R0,B //A/2的余数付给R0,通过判断R0的值,MOV B,#100DIV ABMOV R1,A //将A 除以100,并将商赋给R1MOV A,#10XCH A,B //交换数据DIV AB // 得到得商为整数位,余数为第一个小数位MOV LED_3,A //整数位MOV LED_2,B //第一位小数MOV LED_0,R1 //第三位小数CJNE R0,#01,KK1 //若R0=1,则执行下条语句,否则转移到KK1 MOV LED_1,#05 //第二位小数BACK: RETKK1: MOV LED_1,#00AJMP BACKDISP: // 采用4位共阴数码管,故选通开关低有效,MOV DPTR,#TABLE //整数位MOV A,LED_3MOVC A,@A+DPTRSETB ACC.7CLR P2.0MOV P0,ALCALL DELAYSETB P2.0MOV DPTR,#TABLE //十分位MOV A,LED_2MOVC A,@A+DPTRCLR P2.1MOV P0,ALCALL DELAYSETB P2.1MOV DPTR,#TABLE //百分位MOV A,LED_1MOVC A,@A+DPTRCLR P2.2MOV P0,ALCALL DELAYSETB P2.2MOV DPTR,#TABLE //千分位MOV A,LED_0MOVC A,@A+DPTRCLR P2.3MOV P0,ALCALL DELAYSETB P2.3RETDELAY: MOV R6,#10 //延时5毫秒D1: MOV R7,#250DJNZ R7,$DJNZ R6,D1RETTABLE: DB 3FH,06H,5BH,4FH,66H //数码管0-9的码表DB 6DH,7DH,07H,7FH,6FHTAB: DB 0, 0 , 0 , 1, 0, 2, 0, 0, 3, 0 //存放AD转换后的数DB 4, 0, 0, 5, 0, 6, 0, 0, 7, 0DB 8, 0, 0, 9, 0, 0, 10, 0, 11, 0DB 0, 12, 0, 13, 0, 0, 14, 0, 15, 0DB 0, 16, 0, 17, 0, 0, 18, 0, 19, 0DB 0, 20, 0, 0, 21, 0, 22, 0, 0, 23DB 0, 24, 0, 0, 25, 0, 26, 0, 0, 27DB 0, 28, 0, 0, 29, 0, 0, 30, 0, 31DB 0, 0, 32, 0, 33, 0, 0, 34, 0, 35DB 0, 0, 36, 0, 37, 0, 0, 38, 0, 39DB 0, 0, 40, 0, 0, 41, 0, 42, 0, 0DB 43, 0, 44, 0, 0, 45, 0, 46, 0, 0DB 47, 0, 48, 0, 0, 49, 0, 50, 0, 0DB 51, 0, 0, 52, 0, 53, 0, 0, 54, 0DB 55, 0, 0, 56, 0, 57, 0, 0, 58, 0DB 59, 0, 0, 60, 0, 0, 61, 0, 62, 0DB 0, 63, 0, 64, 0, 0, 65, 0, 66, 0DB 0, 67, 0, 68, 0, 0, 69, 0, 70, 0DB 0, 71, 0, 0, 72, 0, 73, 0, 0, 74DB 0, 75, 0, 0, 76, 0, 77, 0, 0, 78DB 0, 79, 0, 0, 80, 0, 0, 81, 0, 82DB 0, 0, 83, 0, 84, 0, 0, 85, 0, 86DB 0, 0, 87, 0, 88, 0, 0, 89, 0, 90DB 0, 0, 91, 0, 0, 92, 0, 93, 0, 0DB 94, 0, 95, 0, 0, 96, 0, 97, 0, 0DB 98, 0, 99, 0, 0, 100, 0, 0, 0END。