单片机 数字电压表设计
- 格式:doc
- 大小:960.00 KB
- 文档页数:31
数字电压表的设计毕业论文数字电压表的设计摘要:本文主要介绍了数字电压表的设计。
首先介绍了数字电压表的基本原理和功能,然后详细讲解了数字电压表的硬件设计和软件设计。
硬件设计包括电路设计和元器件选择,软件设计包括程序设计和界面设计。
最后对数字电压表进行了实验验证,并总结了设计过程中的经验和教训。
1. 引言数字电压表是一种常用的电子测量仪器,广泛应用于工业控制、科研实验和电子维修等领域。
本文将介绍一种基于单片机的数字电压表的设计方案。
2. 基本原理和功能数字电压表的基本原理是通过采集电压信号并将其转换成数字信号,然后通过显示器显示出来。
数字电压表的功能包括测量电压值、显示电压值、单位切换、数据保存等。
3. 硬件设计3.1 电路设计数字电压表的电路设计主要包括信号采集电路、信号转换电路和显示电路。
信号采集电路负责将待测电压信号转换成电压信号,信号转换电路负责将电压信号转换成数字信号,显示电路负责将数字信号显示出来。
3.2 元器件选择在数字电压表的设计中,元器件的选择非常重要。
需要选择合适的电阻、电容、集成电路等元器件,以确保电路的稳定性和精确度。
4. 软件设计4.1 程序设计数字电压表的程序设计主要包括信号采集程序、信号转换程序和显示程序。
信号采集程序负责采集电压信号,信号转换程序负责将电压信号转换成数字信号,显示程序负责将数字信号显示出来。
4.2 界面设计数字电压表的界面设计主要包括显示界面和操作界面。
显示界面负责将数字信号以合适的格式显示出来,操作界面负责提供操作按钮和设置选项。
5. 实验验证为了验证数字电压表的设计方案的准确性和可靠性,进行了一系列实验。
实验结果表明,设计方案能够准确测量电压值并显示出来。
6. 经验总结在数字电压表的设计过程中,我们遇到了一些问题和挑战。
通过实践和总结,我们得出了一些经验和教训。
例如,在硬件设计中,需要注意电路的稳定性和精确度;在软件设计中,需要考虑程序的效率和界面的友好性。
基于单片机的数字电压表设计一、引言在电子测量领域中,电压表是一种常用的测量仪器,用于测量电路中的电压值。
传统的模拟电压表由于精度低、读数不便等缺点,逐渐被数字电压表所取代。
数字电压表具有精度高、读数直观、抗干扰能力强等优点,广泛应用于工业自动化、电子设备检测、实验室测量等领域。
本文将介绍一种基于单片机的数字电压表设计方案,详细阐述其硬件电路设计、软件编程实现以及系统性能测试。
二、系统总体设计方案(一)设计要求设计一款基于单片机的数字电压表,能够测量 0 5V 的直流电压,测量精度为 001V,具有实时显示测量结果的功能。
(二)系统组成本数字电压表系统主要由以下几个部分组成:1、传感器模块:用于将输入的电压信号转换为适合单片机处理的电信号。
2、单片机模块:作为系统的核心,负责对传感器采集到的数据进行处理和计算,并控制显示模块显示测量结果。
3、显示模块:用于实时显示测量的电压值。
三、硬件电路设计(一)传感器模块选用 ADC0809 作为模数转换芯片,它具有 8 个模拟输入通道,可以将 0 5V 的模拟电压转换为 8 位数字量输出。
(二)单片机模块选择 AT89C51 单片机作为控制核心,它具有 4K 字节的 Flash 程序存储器和 128 字节的随机存取数据存储器。
(三)显示模块采用液晶显示屏(LCD1602)作为显示器件,它能够清晰地显示数字和字符信息。
四、软件编程实现(一)编程语言选择使用 C 语言进行编程,C 语言具有语法简洁、可移植性强等优点。
(二)主程序流程主程序首先进行系统初始化,包括单片机端口初始化、LCD1602 初始化、ADC0809 初始化等。
然后启动 ADC0809 进行模数转换,读取转换结果并进行数据处理,计算出实际的电压值。
最后将电压值发送到 LCD1602 进行显示。
(三)模数转换子程序ADC0809 的转换过程通过控制其启动转换引脚(START)和读取转换结束引脚(EOC)来实现。
课程设计说明书1 引言单片机是指一个集成在一块芯片上的完整计算机系统。
尽管它的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。
同时集成诸如通讯接口、定时器,实时时钟等外围设备。
单片机具有体积小、功耗低、控制功能强等优点。
单片机作为微型计算机一个重要的分支,以它优异的控制功能,在工业控制、智能化仪器仪表系统等领域中日益显示着强大的生命力。
数字电压表(Digital V oltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。
与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。
本次课程设计基于单片A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原理。
目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。
本设计AT89C51单片机的一种电压测量电路,该电路采用ADC0808本文介绍一种基于A/D转换电路,测量范围直流0~5V 的8路输入电压值,并在四位LED数码管上显示或单路选择显示。
测量最小分辨率为0.019V,测量误差约为正负0.02V。
2 数字电压表的设计及方案2.1数字电压表概述数字电压表(Digital V oltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。
传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。
目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。
设计一个单片机电压表涉及硬件和软件的结合。
以下是一个简单的步骤指南,帮助你设计一个基于单片机的电压表:选择单片机:如Arduino、STM32、PIC等。
对于初学者,Arduino是一个很好的选择,因为它简单易用且资源丰富。
硬件需求:单片机板(例如Arduino Uno)ADC(模拟-数字转换器):如果你的单片机内置ADC,则无需额外购买。
电压分压器:用于将待测的高电压降低到单片机可以承受的范围内。
LCD或OLED显示屏:用于显示电压读数。
连接线、面包板和其他辅助材料。
设计分压电路:使用电阻分压器将输入电压降低到ADC的输入范围内。
例如,使用两个10kΩ的电阻可以得到输入电压的一半。
连接硬件:将分压器的输出连接到单片机的ADC输入。
将显示屏连接到单片机的相应引脚。
编程:使用你选择的单片机的编程语言(如Arduino IDE、STM32CubeIDE等)编写程序。
程序功能:读取ADC的值。
使用公式将ADC值转换为实际电压值。
例如,如果你使用的是10位ADC,那么最大值为1023,代表最大电压(通常是5V或3.3V,取决于单片机)。
因此,实际电压= (ADC值/ 1023) * 最大电压。
将计算出的电压值显示在屏幕上。
测试:给单片机提供不同的已知电压源,并检查显示的电压是否与源电压匹配。
如果不匹配,可能需要校准或调整分压器的电阻值。
优化与扩展:根据需要,你可以添加其他功能,如数据存储、无线通信、报警功能等。
封装:一旦测试并确认工作正常,你可以将所有部件放入一个适当的外壳中,以便安全、方便地使用。
请注意,处理高电压时务必小心,确保遵循所有相关的安全指南和标准。
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.性能稳定:采用成熟的单片机技术,性能稳定可靠。
四、设计局限性虽然本设计具有较多的优点,但仍然存在一定的局限性。
课题:数字电压表的设计一、系统设计内容利用单片机AT89C52和ADC0809设计一个数字电压表,能够测量0~5V之间的电压值,用四位数码管显示。
数字电压表利用A/D转换原理,将被测模拟量转换成数字量,并用数字方式显示测量结果的电子测量仪表。
A/D转换器的精度影响数字万用表的准确度。
本书采用ADC0808对输入模拟信号进行转换,控制核心AT89C51单片机对转换的结果进行运算和处理,最后驱动输出装置显示数字电压信号,通过Proteus仿真软件实现接口电路设计,并进行实时仿真。
设计的数字电压表可以测量0~5V的电压值,AT89C51为8位单片机,当ADC0808的输入电压为5V时,输出数字量为FFH,故最大分辨率为0.0196V。
如果要获得更高的精度,需采用12位、13位等高于8位的A/D转换器。
数字电压表的显示部分可以增加BCD码调整程序来通过四位数码显示管显示其数据。
本设计的显示偏差,可以通过校正0808的基准参考电压来解决,或用软件编程来校正其测量值。
本书用单片机AT89C51、ADC0808和数码管构成一个简易数字电压表控制系统,在设计过程中通过Proteus仿真软件进行调试,具有电路简单、成本低、精度高、速度快和性能稳定等优点。
二、系统设计目标(1)掌握Proteus中电压探针和电压表的使用方法。
(2)通过制作简易电压表,学会A/D转换芯片在单片机应用系统中的硬件接口技术和编程方法。
(3)了解ADC0809芯片的功能以及使用方法。
三、系统设计步骤1、Proteus电路设计利用单片机AT89C52和ADC0809设计一个数字电压表的原理图如图1-1所示。
图1-1 ADC0809与单片机的接口电路(1)选取元器件:①单片机:AT89C52②电阻:RES*③ 4位共阴极的数码管:7SEG-MPX4-CC④ A/D转换芯片:ADC0808(代替0809)⑤电位器:POT-HG⑥瓷片电容:CAP⑦晶振:CRYSTAL(2)放置元器件、电源极地、连线、元器件属性设置。
单片机数字电压表课程设计实验心得在进行单片机数字电压表课程设计实验的过程中,我通过实践学习了单片机的基本原理、数字电压测量方法以及编程技巧。
这次实验对于我的学习和成长有着重要的意义,下面我将就此次实验的设计过程、实施情况以及心得体会进行详细总结。
一、设计过程1. 实验目标确定:在进行实验之前,我首先明确了实验的目标,即设计一个能够准确测量电压值并显示的数字电压表。
2. 硬件选择:根据实验要求,我选择了一块适合的单片机开发板作为硬件平台,并购买了一些必要的电子元件,如电阻、电容、显示屏等。
3. 电路设计:在实验开始之前,我进行了电路设计,包括模拟电路和数字电路。
模拟电路主要负责电压的采样和放大,数字电路则负责将采样到的电压值转化为数字信号,并将其显示在显示屏上。
4. 编程实现:在电路设计完成后,我开始进行编程实现。
通过学习单片机的编程语言和相关知识,我成功地将电路和单片机进行了连接,并编写了相应的程序代码。
在编程过程中,我主要使用了C语言来进行程序设计。
5. 测试和调试:在完成编程后,我对整个系统进行了测试和调试。
通过不断地调整参数和修改代码,最终成功实现了一个能够准确测量电压值并显示的数字电压表。
二、实施情况在实施实验的过程中,我遇到了一些困难和问题,但通过不断地学习和探索,我最终克服了这些困难,并成功完成了实验。
1. 硬件连接问题:在初次进行硬件连接时,我遇到了一些问题,如接线错误、元件损坏等。
但通过仔细阅读相关资料和请教老师同学,我逐渐解决了这些问题,并正确地完成了硬件连接。
2. 编程逻辑问题:在编程的过程中,我遇到了一些逻辑问题,导致程序无法正常运行。
但通过仔细分析和调试,我逐步找出了错误,并进行了修改和优化,最终实现了预期的功能。
3. 测试与验证:在完成编程后,我进行了系统的测试和验证。
通过与示波器进行比对和对比实验结果,我发现我的数字电压表的测量结果与实际值非常接近,证明了实验的准确性和可行性。
基于单片机的数字电压表的课程设计一、引言在电子测量领域,电压表是一种常见且重要的测量工具。
传统的模拟电压表存在精度低、读数不直观等缺点,而数字电压表则凭借其高精度、高稳定性和直观的数字显示等优势,在电子测量中得到了广泛的应用。
本课程设计旨在基于单片机设计一款数字电压表,以实现对直流电压的准确测量和数字显示。
二、设计要求1、测量范围:0 5V 直流电压。
2、测量精度:优于 01V 。
3、显示方式:四位数码管显示。
4、具备超量程报警功能。
三、系统总体设计本数字电压表系统主要由单片机最小系统、A/D 转换模块、数码管显示模块和报警模块组成。
单片机最小系统作为控制核心,负责整个系统的运行和数据处理。
A/D 转换模块将输入的模拟电压转换为数字量,供单片机读取。
数码管显示模块用于显示测量的电压值。
报警模块在测量电压超过设定范围时发出报警信号。
四、硬件设计1、单片机最小系统选用 STC89C52 单片机,其具有性能稳定、价格低廉等优点。
最小系统包括单片机芯片、晶振电路和复位电路。
2、 A/D 转换模块采用 ADC0809 芯片进行 A/D 转换。
ADC0809 是 8 位逐次逼近型A/D 转换器,具有 8 个模拟输入通道,能够满足本设计的需求。
3、数码管显示模块使用四位共阳极数码管进行电压显示。
通过单片机的 I/O 口控制数码管的段选和位选,实现数字的显示。
4、报警模块采用蜂鸣器作为报警元件,当测量电压超过 5V 时,单片机输出高电平驱动蜂鸣器发声报警。
五、软件设计软件部分主要包括主程序、A/D 转换子程序、数据处理子程序和显示子程序等。
1、主程序负责系统的初始化,包括单片机端口设置、A/D 转换器初始化等。
然后循环调用 A/D 转换子程序、数据处理子程序和显示子程序,实现电压的测量和显示。
2、 A/D 转换子程序控制 ADC0809 进行 A/D 转换,并读取转换结果。
3、数据处理子程序将 A/D 转换得到的数字量转换为实际的电压值,并进行精度处理。
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单片机数字电压表的设计原理、硬件组成和软件程序设计方法。
在实际应用中,根据具体需求可以对电路和程序进行优化调整,提高系统的性能和稳定性。
基于单片机的简易数字电压表设计随着电子技术的迅猛发展,数字电压表在实验室、工业和日常生活中的应用越来越广泛。
本文将详细介绍基于单片机的简易数字电压表的设计过程,包括系统设计思路、硬件选型、软件实现以及调试过程。
设计一个简易数字电压表的目标是实现对直流电压的实时测量,并将其以数字形式显示。
该系统的核心是单片机,它负责数据采集、处理及结果显示。
选用单片机的原因在于其体积小、成本低、易于编程等优点。
在硬件设计方面,系统主要由输入电路、单片机、显示模块和电源模块组成。
输入电路的作用是将待测电压信号转化为单片机可处理的电信号。
一般采用分压电路,通过电阻分压的方法,将高电压降低至单片机的可接受范围。
还需考虑输入电压的范围,以确保测量精度和系统安全。
选用的单片机需具备一定的模拟输入功能,以便对电压进行采样。
常用的单片机型号有51系列、AVR系列及STM32系列等,其中STM32系列因其较高的性能和丰富的外设而受到广泛关注。
在设计中,应根据具体需求选择合适的单片机,并进行必要的引脚配置。
显示模块的选择是系统设计的重要环节,常用的有液晶显示屏(LCD)和七段数码管。
液晶显示屏具有显示内容丰富、可视角度广等优势,但其功耗相对较高。
而七段数码管则以其简洁明了的特性广泛应用于数字电压表中。
在本设计中,建议使用LCD显示模块,以便于显示多位数值及相关信息。
电源模块的设计需确保系统的稳定运行。
一般采用稳压电源,为单片机及其他外设提供稳定的电压供应。
需考虑电源的功耗及散热问题,确保系统在长期工作中不会出现故障。
数据处理模块是整个系统的核心,其主要任务是将采集到的模拟电压信号转换为相应的数字值。
可采用模数转换(ADC)技术,将模拟信号转换为数字信号,并进行必要的线性化处理。
处理过程中,应考虑量化误差及噪声对测量结果的影响。
数据显示模块负责将处理后的电压值通过LCD显示出来。
在这一过程中,需要对显示内容进行格式化,以确保信息的清晰易读。
基于单片机的数字电压表设计数字电压表在电子技术中使用非常广泛,可以用来测量电路中的直流电压、交流电压以及各种信号的幅度等等。
基于单片机的数字电压表实现了数字电压的读取和显示,具有精确、稳定、易操作等特点,下面将介绍基于单片机的数字电压表的设计原理及实现方法。
一、系统结构基于单片机的数字电压表主要是由程序控制模块、模数转换模块和数字显示模块组成。
程序控制模块主要用来完成开机、校准、测试、功能选择等功能;模数转换模块主要将电压信号转换成数字量,供数字显示模块使用;数字显示模块主要将转换后的数字量显示在LCD液晶屏上。
二、硬件设计1.电源电路电源电路主要用来为电路提供稳定的电压和电流,本电路采用稳压电源芯片LM7805实现,稳压芯片输入端连接外部DC12V/1A电源,输出端连接电路板上的整个电路。
2.输入电路输入电路主要用来将被测电源的电压传递给单片机,常规情况下采用分压电路实现。
在本电路中,电阻R1和电容C1为RC滤波电路,起到滤波作用,防止干扰信号的影响;电阻R2是分压电路中的电阻,它根据电压值的不同设置不同的值,以保证被测电压在单片机内部转换过程中不会对单片机产生影响。
3.单片机模块单片机模块是系统的核心部分,本电路中选用STM32F103C8T6单片机实现模数转换和数码管控制,使用C 语言编写程序,通过模拟输入端口读取电压并进行模数转换,将得到的数字使用查表法将其转换为数码管控制脉冲,控制数码管的亮灭实现数字显示。
4.数字显示模块数字显示模块主要由七段数码管、LCD液晶屏幕、导线和电容等器组成,七段数码管用于展示测量到的电压大小,LCD 液晶屏用于展示功能选项、单位等信息。
导线是电路板内部连接线路,电容等器用来平滑电压波动。
三、软件设计1.引脚定义在程序中首先定义STM32F103C8T6单片机内存地址、输入输出引脚和电平状态,其中A0口用来读取被测电压;B0-B7口用来控制七段数码管的亮灭;C0口用来输出PWM,控制风扇的旋转速度;D0口用来控制蜂鸣器的开启和关闭。
单片机设计数字电压表单片机设计数字电压表数字电压表是一种常见的电子测量仪器,它可以用来测量电路中的电压大小。
在本文中,我们将介绍如何使用单片机设计数字电压表。
单片机是一种集成电路,它可以用来控制电子设备的运行。
在数字电压表中,单片机可以用来读取电路中的电压值,并将其显示在数字显示屏上。
设计数字电压表的第一步是选择适当的单片机。
在本文中,我们将使用ATmega328P单片机。
这是一种常见的单片机,它具有多个输入/输出引脚和内置的模拟数字转换器(ADC)。
接下来,我们需要将电路连接到单片机上。
我们将使用一个电压分压器电路来将电路中的电压降低到单片机可以读取的范围内。
电压分压器电路由两个电阻组成,它们将电路中的电压分成两个部分,其中一个部分与单片机连接。
我们将使用10KΩ和1KΩ电阻来构建电压分压器电路。
接下来,我们需要编写单片机程序来读取电路中的电压值并将其显示在数字显示屏上。
我们将使用C语言编写程序,并使用Arduino开发环境来编译和上传程序。
程序将使用单片机的ADC模块来读取电路中的电压值,并将其转换为数字值。
然后,程序将使用数字显示屏库将数字值显示在数字显示屏上。
最后,我们需要将电路和单片机编程板连接起来,并上传程序到单片机。
我们可以使用USB编程器将程序上传到单片机。
在完成上述步骤后,我们就可以使用数字电压表来测量电路中的电压了。
我们只需要将电路连接到电压分压器电路中,然后将数字电压表连接到电压分压器电路中。
数字电压表将显示电路中的电压值。
总结单片机设计数字电压表是一项有趣的项目,它可以帮助我们了解单片机和电路设计的基础知识。
通过使用单片机和电路设计,我们可以构建各种各样的电子设备,从而实现我们的创意和想法。
一目的和意义 (2)二任务和要求 (2)1、设计任务 (2)2、设计要求 (2)三设计思路 (2)四、系统结构框图与工作原理 (2)1、系统结构框图 (2)2、工作原理 (3)五、硬件介绍 (3)1、单片机系统 (3)2、ADC0808主要特性 (5)ADC0808的外部引脚特征: (5)3、ADC0808的内部结构及工作流程 (7)六、复位电路和时钟电路 (8)1、复位电路设计 (8)2、时钟电路设计 (8)七LED显示系统设计 (9)1、 LED基本结构 (9)2、LED显示器的选择 (9)3、 LED译码方式 (9)4、LED显示器与单片机接口间的设计 (10)八、A/D转换电路和测量电路的设计 (11)九、程序设计 (12)1、程序设计总方案 (12)2、系统子程序设计 (12)十、使用说明与调试结果 (14)十一、总结 (15)参考文献 (16)附一系统原理图 (17)附二程序清单 (18)一目的和意义《单片机原理与接口技术》课程设计是在完成《单片机原理及其接口技术》的理论教学之后安排的一个实践教学环节。
《单片机原理与接口技术》课程设计是学习单片机理论的重要实践环节。
在单片机课程基础上,通过本课程设计的学习使学生增进对单片机的感性认识,加深对单片机理论方面的理解;使学生了解和掌握单片机应用系统软件的软硬件设计工程、方法及实现,强化单片机应用电路的设计与分析能力。
提高学生在单片机应用方面的实践技能和科学作风,培养学生综合运用理论知识解决问题的能力。
二任务和要求1、设计任务基于MCS-51系列单片机AT89C51,设计一个能测量0~5V直流电压的数字电压表2、设计要求(1)选用A/D转换器ADC0808,测定0——+5V范围内的直流电压值。
(2)采集的数据送四位数码管实时显示。
(3)实现多路电压循环测量和循环显示。
三设计思路1、根据设计要求,选择AT89C51单片机为核心控制器件。
2、A/D转换采用ADC0808实现,与单片机的接口为P0口和P2口。
51单片机的数字电压表设计随着科技的快速发展,单片机在许多领域得到了广泛应用。
51单片机作为一种常见的单片机,具有功能强大、易于编程等优点,因此在数字电压表设计中具有独特优势。
本文将介绍如何利用51单片机设计数字电压表。
数字电压表的电源电路通常采用直流电源,可以通过变压器将交流电转换为直流电,再经过滤波和稳压电路,将电压稳定在单片机所需的电压范围内。
数字电压表的信号采集电路可以采用电阻分压的方式,将待测电压分压后送入单片机进行测量。
为了提高测量精度,可以采用差分放大器对信号进行放大和差分输出。
51单片机内置ADC模块,可以将模拟信号转换为数字信号。
在数字电压表中,可以使用ADC模块对放大后的模拟信号进行转换,得到数字信号后进行处理和显示。
数字电压表的显示电路可以采用液晶显示屏或LED数码管,将测量结果以数字形式显示出来。
液晶显示屏具有显示清晰、亮度高、视角广等优点,但价格较高;LED数码管价格便宜、亮度高、寿命长,但显示内容有限。
数字电压表的主程序主要完成电压的采集、A/D转换和显示等功能。
主程序首先进行系统初始化,包括设置ADC模块参数、初始化显示等;然后不断循环采集电压信号,将采集到的模拟信号转换为数字信号后进行处理和显示。
51单片机的ADC模块可以通过特殊功能寄存器进行配置和控制。
在数字电压表的软件设计中,需要编写ADC模块驱动程序,以控制ADC 模块完成模拟信号到数字信号的转换。
具体实现可以参考51单片机的ADC模块寄存器定义和操作指南。
数字电压表的显示程序需要根据显示硬件选择合适的显示库或驱动程序。
在编写显示程序时,需要将采集到的数字信号转换为合适的数值,并将其显示在显示屏上。
具体实现可以参考所选显示库或驱动程序的文档说明。
精度问题:数字电压表的精度直接影响到测量结果的质量。
为了提高测量精度,可以采用高精度的ADC模块和合适的信号处理技术。
同时,需要注意信号采集电路中电阻的精度和稳定性。
基于单片机的数字电压表的设计数字电压表是一种在电子领域中广泛应用的测试设备,用于测量电路中的电压值。
基于单片机的数字电压表拥有计算精度高、体积小、成本低等特点,成为了当今市场上最为流行的一种数字电压表测量方法。
设计基于单片机的数字电压表需要确定一些关键元件和电路,如ADC(模数转换器)、指示器、单片机等,以下是具体步骤和流程:1. 定义参数和需求:在设计数字电压表时,首先要明确测试电压的量程、测试精度、满量程等,只有清晰地定义这些参数,才能确定适合的元器件和电路。
2. 选取ADC:ADC是数字电压表的核心元件之一,它将模拟电压转换为数字信号。
对于基于单片机的数字电压表,通常采用内置于单片机的ADC或外置的一些通用的ADC 芯片。
选取ADC时需要考虑其分辨率、转换速度等性能指标,以满足设计的要求。
3. 选取指示器:指示器是用来显示测试结果的设备,一般有数字显示器和模拟表两种。
数字电压表通常使用数字显示器作为指示器,具有体积小、显示清晰、功耗低等特点。
4. 选取单片机:单片机是数字电压表中非常重要的元器件,它可以实现ADC的引脚控制和数据处理。
在选取单片机时,需要考虑其存储器大小、处理能力、功耗等方面,以保证测试结果精确。
5. 实现电路:将选定的元器件按照电路原理图进行连线,设计好合适的滤波电路、参考电压等,保证测试结果的精度和稳定性。
6. 软件编写:通过单片机自带的编程软件或其他编程软件编写单片机的程序,实现ADC数据采集、数据处理、数字显示等功能,同时实现测试参数的设定和调整。
7. 测试和优化:在电路和程序编写完成后,需要进行测试和评估,根据测试结果进行优化和调整,提高数字电压表的测量精度和可靠性。
基于单片机的数字电压表具有较高的灵活性和可扩展性,可以通过增加外部接口实现更多的测量功能。
同时,单片机的应用还可以实现自动校准、自动调零等功能,为测试工作提供更多的便利。
因此,基于单片机的数字电压表在电子测试领域中得到广泛应用,成为了数字电压表的一种重要类型。
基于单片机的数字电压表设计在当今的电子世界中,电压表是一种必不可少的测量工具。
随着技术的进步,数字电压表因其精度高、易于读取、稳定性好等优点逐渐取代了传统的模拟电压表。
本文将探讨如何基于单片机设计数字电压表。
一、硬件设计1、1传感器模块传感器模块是数字电压表的重要组成部分,负责将输入的模拟电压转化为可被单片机处理的数字信号。
通常,我们使用ADC(模数转换器)来实现这一功能。
ADC的精度直接决定了电压表的测量精度。
1、2单片机模块单片机是数字电压表的“大脑”,负责控制整个系统的运行。
我们选择具有较高性能和可靠性的单片机,如Arduino、STM32等。
这些单片机都具有丰富的外设接口,便于实现复杂的控制逻辑。
1、3显示模块显示模块负责将单片机的处理结果呈现给用户。
常用的显示模块包括LED数码管、LCD液晶屏等。
选择适合的显示模块,可以大大提升电压表的易用性。
二、软件设计2、1数据采集与处理软件首先通过ADC从传感器模块读取模拟电压,然后对其进行处理,得到实际的电压值。
这一步的关键在于选择合适的ADC算法和设置合适的参考电压。
2、2数据输出与存储处理后的电压值需要被输出并存储起来。
通常,我们使用LCD液晶屏将电压值实时显示出来,同时也可以通过串口将数据传输到计算机或云端进行存储和分析。
三、精度与稳定性优化3、1硬件校准为了提高电压表的测量精度,我们可以在生产过程中对每一块电压表进行硬件校准。
通过调整ADC的参考电压或者在软件中进行校准算法的优化,可以有效提高电压表的测量精度。
3、2软件滤波在实际应用中,由于各种噪声和干扰的存在,电压表的读数可能会出现波动。
我们可以通过软件滤波算法,如平均滤波、卡尔曼滤波等,来减小这些干扰对测量结果的影响。
四、应用与扩展基于单片机的数字电压表不仅可以在实验室或工业现场使用,还可以扩展出更多的应用场景。
例如,通过加入无线通信模块,我们可以实现远程监控;通过加入更多的传感器,我们可以实现多通道的电压测量;通过与计算机或云端进行数据交互,我们可以实现大数据分析和预测。
1. 绪论............................... 错误!未定义书签。
1.1 课程设计规定...................... 错误!未定义书签。
1.2 数字电压表简介.................... 错误!未定义书签。
2. 硬件单元电路设计................... 错误!未定义书签。
2.1数字电压表构造框图................. 错误!未定义书签。
2.1.1 AT89C51单片机简介............ 错误!未定义书签。
2.1.2 ADC0832转换器简介............ 错误!未定义书签。
2.1.3 时钟电路..................... 错误!未定义书签。
2.1.4 复位电路..................... 错误!未定义书签。
2.1.5 LED显示电路.................. 错误!未定义书签。
3. 软件单元电路设计................... 错误!未定义书签。
3.1 主程序流程图...................... 错误!未定义书签。
3.2显示子程序流程图................... 错误!未定义书签。
3.3 A/D转换子程序流程图............... 错误!未定义书签。
3.4 数据解决子程序流程图.............. 错误!未定义书签。
4. 数字电压表仿真设计图与实物图....... 错误!未定义书签。
4.1 仿真图............................ 错误!未定义书签。
4.2 器件清单.......................... 错误!未定义书签。
4.3 硬件电路实物图.................... 错误!未定义书签。
5. 程序代码.............................. 错误!未定义书签。
青岛农业大学第六届电子设计大赛设计方案项目名称:基于单片机数字电压表设计参赛成员:张银忠通信10级2班王恒通信10级2班张党顺通信10级2班基于单片机的数字电压表摘要:本文介绍一种基于STC89C52单片机的一种电压测量电路,该电路采用运放OP07高精度、逐步逼近A/D转换电路,测量范围直流0-±2000伏,使用LCD液晶模块显示,可以与PC机进行串行通信。
正文着重给出了软硬件系统的各部分电路,介绍了逐步逼近电路的原理,STC89C52的特点,maax197的功能和应用。
该电路设计新颖、功能强大、可扩展性强。
关键词:电压测量,运放OP07,逐步逼近式 A/D转换器,12864液晶模块1.前言数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。
传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。
目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。
与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。
本章重点介绍单片A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原理。
2.系统原理及基本框图2.1 单片机部分由于单片机在整个设计中占据着重要的地方,首先介绍一下单片机的相关知识。
单片机STC89C52具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要。
8051是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。
8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:·中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
·数据存储器(RAM)8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。
8051内部结构如图1所示:图1 8051 内部结构·程序存储器(ROM):8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。
·定时/计数器(ROM):8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。
·并行输入输出(I/O)口:8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。
·全双工串行口:8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。
·中断系统:8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。
·时钟电路:8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。
单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。
INTEL的MCS-51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。
下图是MCS-51系列单片机的内部结构示意图2所示:图2 MCS-51结构框图MCS-51的引脚说明:MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O 口,中断口线与P3口线复用。
现在我们对这些引脚的功能加以说明:MCS-51的引脚说明:MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,图3是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O 口,中断口线与P3口线复用。
现在我们对这些引脚的功能加以说明:图3 51单片机引脚图Pin9:RESET/Vpd复位信号复用脚,当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。
初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。
RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。
然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8051的初始态。
8051的复位方式可以是自动复位,也可以是手动复位,见下图。
此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。
其复位电路如图4所示:图4 复位电路图·Pin30:ALE/当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。
而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。
更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。
如果单片机是EPROM ,在编程其间,将用于输入编程脉冲。
·Pin29:当访问外部程序存储器时,此脚输出负脉冲选通信号,PC 的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU 读入并执行。
·Pin31:EA/Vpp 程序存储器的内外部选通线,8051和8751单片机,内置有4kB 的程序存储器,当EA 为高电平并且程序地址小于4kB 时,读取内部程序存储器指令数据,而超过4kB 地址则读取外部指令数据。
如EA 为低电平,则不管地址大小,一律读取外部程序存储器指令。
显然,对内部无程序存储器的8031,EA 端必须接地。
2.2 模拟电路部分该方案要求的测量信号电平的动态范围大(0.001~4.99Vrms ),频带宽(20Hz~0.2MHz ),电压测量误差为土(3%读数+2个字)。
由上对AD637性能分析,系统应采用电压输出方式,不宜采用直接dB 输出方式,并应具备输如信号增益调节环节,以保证信号电平的动态范围及精度。
电平测量的原理框图如图5所示:图5 电平(电压)测量原理框图下面是对各框图的解说:(1)可变增益放大电路的设计由于最小输入信号为毫伏级,系统要求具有输入阻抗变换功能,可变增益放大电路可采用射随器加可变增益放大器的结构形式。
由于大多数AD 变换器的满刻度输出为5V ,增益变换档位应为5V 、1V 、100mV 和10mV4个档位。
经实际测量,AD637在输入信号为2MHz 以下,信号有效值为0.7~7Vrms 范围内能保证无误,当输入电压为200mVrms 时,频率上限高达600kHz ,考虑到芯片供电与输入电压的关系, AD673输入信号幅度范围选取0.2~2V 。
所以该可变增益放大电路可采用电阻网络衰减器和固定增益放大器相串联形式,放大器增益不小于200,上述档位对应的衰减器衰减量分别为0.001倍、0.01倍、0.1倍和1倍。
射随器应选择单位增益带宽大于0.6MHz ,输入失调电压、失调电流小的运放芯片,可选择OP07单运放芯片。
其在土15V 供电时,输入失调电压的典型值和最大值分别为20UF 和75UF ;输入偏置电流的典型值和最大值分别为6NA 和12NA ;增益带宽积大于0.6MHZ ,完全满足设计精度要求。
由于放大器增益至少应大于200,放大器芯片的选择主要考虑输入失调电压、电流和增益带宽参数,选择OP07芯片。
其开环在1MHZ 时可达50DB ,输入失调电压典型值为35UV ,失调电流典型值50NA ,满足设计要求。
可变增益放器电路的电路图如图6所示。
待测电信号由J1输入电路,从TESTV 输出。
放大电路输入阻抗变换采用拨码开关S2完成。
档位选择采用模拟开关芯片CD4052。
,MPU 根据采样获得的测量值大小,自动完成档位转换。
档位在10V 时,输入信号首先经R14、R15衰减0.1倍,经射随器后在衰减0.01倍,由CD4052BE 切换至200倍放大器U4。
由电路图可知,流经所有芯片的信号峰值均小于2V ,使整个电路可采用土5V 电源供电,既简化了整个系统的电源设计,又兼容了后继处理电路的要求。
可变增益放大器AD637 模/数转MPU信号输图6 可变增益放大电路2.3 有效测量电路的设计有效测量电路由有效测量芯片AD637和A/D转换芯片ADC0804组成。
有效值测量芯片采用后置二阶滤波连接方式,其中的CAV(C1)取值为1UF时满足信号在20H~1MHZ频带范围内的测量精度要求,此时测量时间为365MS,此时间参数可作为采样周期的参考值。
在该电路中,由于AD637输出的最小电压幅度为200MV,A/D转换精度应大于8BITS方能在A/D转换的参考电压为5V时满足系统测量误差小于3%的要求。
因本系统对A/D转化的采样频率要求高,A/D转换芯片可采用并行输出方式,本电路采用具有8BITS换精度的ADC0804芯片。
由于AD637输出的最大电压幅度为2V,A/D转换器的参考电压至少应为5V,选用+5V电源作为参考电压,完全满足系统精度及AD7920供电要求。
电平测量的完整电路图如图7所示。
图7 有效值测量电路2.4 A/D 转换电路的设计2.4.1 MAX197转换的基本原理MAX197无需外接元器件就可独立完成A/D 转换功能。
它可分为内部采样模式和外部采样模式,采样模式由控制寄存器的D5位决定。
在内部采样控制模式(控制位置0)中,由写脉冲启动采样间隔,经过瞬间的采样间隔(芯片时钟为2MHz 时,为3ms),即开始A/D 转换。
在外部采样模式(D5=1)中,由两个写脉冲分别控制采样和A/D 转换。
在第一个写脉冲出现时,写入ACQMOD 为1,开始采样间隔。