单片机课程设计说明书(word文档+全!)

单片机课程设计说明书(word文档+全!)
单片机课程设计说明书(word文档+全!)

单片机课程设计说明书

用ADC0832设计的两路电压表

(用LCD1602显示)

专业 新能源科学与工程

学生姓名

班级

学号

指导教师

完成日期

2015年 1 月 28 日

用ADC0832设计的两路电压表(用LCD1602显示)

摘要:本设计是简易两路数字电压表,数字电压表是采用数字化测量设计的电压仪表。随着电子科学技术的发展,电子测量成为广大电子工作者必须掌握的手段,对测量的精度和功能的要求也越来越高,而电压的测量甚为突出,因为电压的测量最为普遍。

本设计利用单片机STC89C52借助软件实现数字显示功能、自动校准、LED显示,A/D转换器采用ADC0832构成数模转换电路。该电压表测量范围在0~5V。由于采用高性能的单片机芯片为核心,同时利用LED数码管为显示设备,这样就使显示清晰直观、读数准确,减少了因为人为因素所造成的测量误差事件,同时提高了测量的准确度。

根据电压表的主要功能,提出了设计方案并进行了论证。设计包括硬件设计和软件设计两大部分。硬件部分包括单片机最小系统、数模转换电路、显示模块四个部分。首先在Proteus中设计并绘制了电路图,并编写程序使仿真正确。然后便根据设计的电路在万能板上制作完成了实物并调试成功。接着在SD301学习板上完成了同样的功能。接着画了电路原理图,制作了小视频,完成了课程设计。

关键词:单片机,ADC0832,LCD1602,A/D转换,电压表

目录

1 概述 0

1.1 课程设计研究背景与意义 0

1.2 课程设计内容 (1)

2 设计方案论证与方案选择 (1)

2.1 方案论证 (1)

2.2 方案选择 (1)

3 系统硬件电路设计 (2)

3.1 单片机最小系统 (2)

3.2 模数转换电路 (4)

3.3 显示电路 (6)

4 系统软件设计 (9)

4.1 主程序 (9)

4.2 A/D转换程序 (10)

4.3液晶显示子程序 (10)

5 系统调试 (12)

6 结束语 (14)

参考文献 (15)

附录 (16)

附录1 ADC0832设计的两路电压表电路原理图 (17)

附录2 ADC0832设计的两路电压表Proteus仿真电路图 (18)

附录3 ADC0832设计的两路电压表元器件清单 (19)

附录4 ADC0832设计的两路电压表程序清单 (20)

用ADC0832设计的两路电压表(用LCD1602显示)

1 概述

1.1 课程设计研究背景与意义

近年来计算机技术及微电子器件在工程技术中应用十分广泛。在此基础上发展起来的智能仪表,无论是在测量的准确性、灵敏度、可靠性、自动化程度、运用功能方面还是在解决测量技术与控制技术问题的深度及广度方面都有了很大的发展,以一种崭新的面貌展现在人们的面前。

数字电压表(Digital V oltmeter)简称DVM,它是智能仪器中最常见的,是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。这种电子测量的仪表之所以出现,一方面是由于电子计算机的应用逐渐推广到系统的自动控制实验研究的领域,提出了将各种被观测量或被控制量转换为数码的要求,即为了实时控制及数据处理的需要;另一方面,也是电子计算机的发展,带动了脉冲数字电路技术的进步,为数字化仪表的出现提供了条件。所以,数字化测量仪表的产生与发展与电子计算机的发展是密切相关的;同时,为革新电子测量中的繁琐和陈旧方式也催促了它的飞速发展。如今,它又成为向智能化仪表发展的必要桥梁。

数字电压表已绝大部分取代了传统的模拟指针式电压表。因为传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求。数字电压迄今已有40多年的发展史。目前,由各种单片机、A/D转换器构成的数字电压表,已被广泛应用于电子及电子测量、工业自动化仪表、自动测试的系统等领域,显示出强大的生命力。

由于电子技术、大规模集成电路及计算机的发展,人们不久就研制出微处理器数字电压表,实现了DVM数据处理自动化和可编程序。因为带有存储器并使用软件支持,所以可以进行信息处理,可通过标准接口组成自动测试系统。除了完成原有DVM 的各种功能外,还能够自校、自检,保证了自动测量的高标准确度,实现了仪器、仪表的智能化。当前,智能化仪表法十分速度,而微处理式DVM在智能仪表中占的比重最大,智能化的DVM为实现各种物理量的动态测量提供了可能。

与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平数字电压表的特点:显示清晰直观,读书准确。传统的模拟式仪表必须借助于指针和刻度盘进行读数,在读数过程中不可避免地会引入认为的测量误差,并且容易造成视觉疲劳。数字电压表则采用先进的数显技术,使测量结果一目了然,只要仪表不发生跳数现象,测量结果就是唯一的。不仅保证读数的客观性与准确性,还符合人们的读数习惯,能缩短读数和记录的时间。

在电量的测量中,电压、电流和频率是最基本的三个被测量。其中,电压量的测量最为经常。随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。另外,由于数字式仪器具有读数准确方便、精度高、误差小、灵敏度高、分辨率高、测量速度快等特点而倍受用户青睐。数字电压表就是基于这种需求而发展起来的,是一种必不可少的电子仪器仪表。

1.2 课程设计内容

利用单片机STC89C52与ADC0832设计一个两路电压表,将模拟信号0~5V之间的电压值转换成数字量信号,并在LCD1602显示屏上显示,通过虚拟电压表观察ADC0832模拟量输入信号的电压值,LCD1602实时显示相应的数值量。设计两路电压表的硬件电路与软件程序,给出硬件系统的电路原理图与PCB图,对硬件电路与软件分别进行调试,得到调试成功的两路电压表。

2 设计方案论证与方案选择

2.1 方案论证

1.由数字电路及芯片构建

这种设计方案是由模拟电路与数字电路两大部分组成,模拟部分包括输入放大器、A/D转换器和基准电压源;数字部分包括计数器、译码器、逻辑控制器、振荡器和显示器。其中,A/D转换器是它的核心器件,它将输入的模拟量转换成数字量。模拟电路和数字电路是相互联系的,由逻辑控制电路产生控制信号,按规定的时序将A/D转换器逐个组模拟开关接通或断开,保证A/D转换正常进行。A/D转换结果由计数译码电路变成段码,最后驱动显示器显示出相应的数值。此方案设计其优点是:设计成本低,能够满足一般的电压测量。但设计不灵活,都是采用纯硬件电路,很难将其在原有的基础上进行扩展。

2.由单片机系统及A/D转换芯片构成

这种方案是利用单片机系统与模数转换芯片、显示模块等的结合后,组成数字电压表。由于单片机的发展已经成熟,利用单片机系统的软硬件结合,可以组装出应用电路来。此方案的原理是模数(A/D)转换芯片的基准电压端,被测量电压输入端分别输入基准电压和被测电压。模数(A/D)转换芯片将被测量电压输入端所采集到的模拟电压信号转换成相应的数字信号,然后通过对单片机系统进行软件编程,使单片机系统能按规定的时序来采集这些数字信号,通过一定的算法计算出被测量电压的值,最后单片机系统将计算好了的被测电压值按一定的时序送入显示电路模块加以显示。此方案不仅能够继承上一种方案的各种优点,还能改进上一种设计方案设计不灵活。

2.2 方案选择

方案2不仅能够继承方案1的各种优点,还能改进方案1设计方案设计不灵活,难于在原基础上进行功能扩展等不足。

经过以上方案设计,决定采用如图2-1所示方案。即利用单片机系统与模数转换芯片、显示模块等的结合后,组成数字电压表。电路流程图设计如图2-1所示。

图2-1 方案设计

以单片机STC89C52芯片为核心的简单电压测量电路,它由5V直流电源供电。在硬件方面,通过可变电阻调节输入电压的变化来反映检测到的电压变化。通过A/D 转换后数字量在单片机STC89C52处理在转换成相应的实际电压,通过LCD1602显示器进行显示。LCD显示电压实现零辐射、低功耗、散热小、体积小、图像还原精确、字符显示锐利等。

3 系统硬件电路设计

根据第2节总体设计方案,进行了两路电压表的设计,总电路原理图如附录1所示。

3.1 单片机最小系统

本次选用的主控芯片为单片机STC89C52。其引脚图如图3-1所示。

图3-1 STC89C52引脚图

STC89C52是一个低电压,高性能CMOS 8位单片机带有8K字节的可反复擦写的程序存储器(PENROM)。和128字节的存取数据存储器(RAM),这种器件采用ATMEL公司的高密度、不容易丢失存储技术生产,并且能够与MCS-51系列的单片机兼容。片内含有8位中央处理器和闪烁存储单元,有较强的功能的STC89C52单片机能够被应用到控制领域中。

STC89C52提供以下的功能标准:

①8K字节闪烁存储器

②256字节随机存取数据存储器

③32个I/O口,2个16位定时/计数器

④1个5向量两级中断结构,

⑤1个串行通信口,片内震荡器和时钟电路。

另外,STC89C52还可以进行0HZ的静态逻辑操作,并支持两种软件的节电模式。闲散方式停止中央处理器的工作,能够允许随机存取数据存储器、定时/计数器、串行通信口及中断系统继续工作。掉电方式保存随机存取数据存储器中的内容,但震荡器停止工作并禁止其它所有部件的工作直到下一个复位。

要使单片机工作,必须提供复位电路和晶体振荡电路,即组成单片机最小应用系统,使其正常工作。采用的复位方法是自动复位,单片机复位满足的条件为:RST 引脚上出现10ms(T=RC)以上的高电平,所以当电容值取C=10UF时,电阻R=10K才会满足要求。

STC89C52单片机最小系统如图3-2所示。

图3-2 STC89C52单片机最小系统

单片机内部每个部件要想协调一致地工作,必须在统一口令——时钟信号的控制下工作。单片机工作所需要的时钟信号有两种产生方式,即内部时钟方式和外部时钟方式。单片机内部有一个构成振荡器的增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端,这个放大器与作为反馈元件的片外晶振一起构成自激振荡器。在该图中,电容C1和C2取22pF,晶体的震荡频率取12Mhz,晶体震荡频率高,则系统的时钟频率也高,单片机运行速度也就快。晶振选用12MHZ。

3.2 模数转换电路

本次A/D转换器采用集成电路选用芯片ADC0832。其引脚图如图3-3所示。

图3-3 ADC0832引脚图

CS:片选使能,低电平有效

CH0:模拟输入通道0,或作为IN+/-使用

CH1:模拟输入通道1,或作为IN+/-使用

GND:芯片参考0电位(地)

DI:数据信号输入,选择通道控制

DO:数据信号输出,转换数据输出

CLK:芯片时钟输入

VCC:电源输入

ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。芯片转换时间仅为32μS,具有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过DI数据输入端,可以轻易的实现通道功能的选择。正常情况下ADC0832与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI并联在一根数据线上使用。

与DS1302非常相似,CS作为选通信号,在时序图中可以看到,从CS置为低电平开始,一直到置为高电平结束。CLK提供时钟信号。当ADC0832未工作时其CS

输入端应为高电平,此时芯片禁用,CLK和DO/DI的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第2、3个脉冲下沉之前DI端应输入2位数据(SGL、Odd)用于选择通道功能,当此2位数据为“1”、“0”时,只对CH0进行单通道转换。当2位数据为“1”、“1”时,只对CH1进行单通道转换。当2位数据为“0”、“0”时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。当2位数据为“0”、“1”时,将CH0作为负输入端IN-,CH1作为正输入端IN+进行输入。在完成输入启动位、通道选择之后,到第 3 个脉冲的下沉之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。从第4个脉冲下沉开始由DO端输出转换数据最高位DATA7,随后每一个脉冲下沉DO端输出下一位数据。直到第11个脉冲时发出最低位数据DATA0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下沉输出DATA0。随后输出8位数据,到第19 个脉冲时数据输出完成,也标志着一次A/D转换的结束。最后将CS置高电平禁用芯片,此时就可以开始读出数据,转换得到的数据会被送出二次,一次高位在前传送,一次低位在前传送,连续送出。

作为单通道模拟信号输入时ADC0832的输入电压是0~5V且8位分辨率时的电压精度为19.53mV。如果作为由IN+与IN-输入的输入时,可将电压值设定在某一个较大范围之内,从而提高转换的宽度。但值得注意的是,在进行IN+与IN-的输入时,如果IN-的电压大于IN+的电压,则转换后的数据结果始终为00H。

图3-4 ADC0832时序图

集成模数转换芯片ADC0832实现的A/D转换电路如图3-5所示。被测信号由ADC0832模拟输入端输入,完成A/D转换后送入单片机,经相应处理后送出显示。

图3-5 A/D转换电路

3.3 显示电路

此次使用LCD1602液晶显示屏,其电路图如3-6所示。

图3-6 1602液晶显示电路

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