-0-贵州大学课程设计设计题目:简易数字电压表系别:_________________________班级:_________________________学号:_________________________姓名:_________________________指导教师:_________________________20年月日-1-课程设计任务书1系专业班姓名学号课程设计时间:2012年7月2日至2012年7月13日课程设计题目:简易数字电压表的设计课程设计任务与要求一、设计目的《单片机原理及应用》是一门实践性很强的课程,通过本次课程设计使学生在掌握基础知识的同时,熟悉单片机系统的设计方法。二、设计任务利用MCS-51单片机及相应元器件设计一台简易数字电压表。三、设计要求1、数字电压表应具有以下功能:(1)、可以测量0伏-5伏的3路输入电压值。(2)、在四位LED数码管(其中3位显示电压,一位显示路)上轮流显示3路或单路选择显示。(3)、测量最小分辨率0.019伏。2、根据设计要求及参数在规定时间内完成设计任务。要求设计说明书以及电路原理图必须用Word和相关的制图软件完成。-2-课程设计进度计划安排2012年7月2日~3日:查阅文资料,确定设计方案2012年7月4日~6日:硬件原理图设计2012年7月9日~11日:软件编程及调试2012年1月12日~13日:编写设计说明书,绘制设计电路原理图指导教师(签名):日期:年月日-3-目录摘要....................................................................................................-1-0.引言..................................................................................................-1-1.系统概述.........................................................................................-1-2.数字电压表硬件电路设计.............................................................-2-2.1实验所需元器件:.............................-2-2.2原理框图.....................................-2-2.3主要芯片介绍.................................-3-3.显示设计.......................................................................................-8-3.1LED显示的原理................................-8-3.2LED显示驱动..................................-9-4.设计接线图.................................................................................-10-5.程序设计.....................................................................................-10-5.1主程序设计图................................-10-5.2源程序......................................-12-6.心得体会.......................................................................................-16-7.参考文献.....................................................................................-16-附图......................................................................................................-17--1-摘要随着单片机技术的,单片机广泛的应用于测量技术中。以往的测量技术与之相比,只能将被测量通过指针仪表显示测量数据。但是指针仪表读数不方便,且不易于实现计算机控制,本文利用了单片机在测量技术中的应用,采用80C51单片机实现模拟电压信号的测量与显示,构成数字式电压表。以便与其它设备进行数据交换,便于实现智能化控制。0.引言在广泛的自动控制领域中,需要有类似微型计算机功能的支持,单常常有不能把计算机安装在设备里面,因此,微型控制器的一个重要分支(单片机)应运而生。随着单片机技术的发展,单片机以其稳定可靠、体积小、功耗低、价格低廉的特点广泛应用于多重需要计算机控制功能的现场控制领域和实时控单片机控制系统。为了更好的学习和使用单片机,我们利用单片机制作了一数字电压表。1.系统概述数字电压表主要由模数转换电路、单片机控制电路、显示电路等三部分组成。其中ADC0809等器件组成的转换电路,将输入的模拟量信号进行取样、转换、然后将转换后的数字信号送进单片机。单片机控制电路主要对数据进行程序处理,显示电路主要用于将单片机的信-2-号数据转换后显示测量结果。2.数字电压表硬件电路设计2.1实验所需元器件:1.80C51芯片1块2.ADC0809芯片1块3.4位一体数码1个4.按键开关3个5.2.2KΩ电阻1个6.4.7KΩ电阻1个7.10KΩ电阻3个8.导线若干9.电容3个10.5V电源1块2.2原理框图三路被测量模拟电压ADC0809模数转换电压信号1电压信号2电压信号380C51单片机显示方式选择数码管显示图1.数字电压原理框图-3-2.3主要芯片介绍a)ADC0809的内部结构ADC0809的内部逻辑结构图如图2所示。图2ADC0809内部逻辑结构图中多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用一个A/D转换器进行转换,这是一种经济的多路数据采集方法。地址锁存与译码电路完成对A、B、C3个地址位进行锁存和译码,其译码输出用于通道选择,其转换结果通过三态输出锁存器存放、输出,因此可以直接与系统数据总线相连。ADC0809对输入模拟量要求:信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。IN0--4-IN7:8条模拟量输入通道地址输入和控制线:4条ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入ADC0809的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。b)80C51芯片芯片的引脚描述HMOS制造工艺的MCS-51单片机都采用40引脚的直插封装(DIP方式),制造工艺为CHMOS的80C51/80C31芯片除采用DIP封装方式外,还采用方型封装工艺,引脚排列如图。其中方型封装的CHMOS芯片有44只引脚,但其中4只引脚(标有NC的引脚1、12、23、34)是不使用的。在以后的讨论中,除有特殊说明以外,所述内容皆适用于CHMOS芯片。如图3所示,是MCS-51的逻辑符号图。在单片机的40条引脚中有2条专用于主电源的引脚,2条外接晶体的引脚,4条控制或与其-5-它电源复用的引脚,32条输入/输出(I/O)引脚。图380C51引脚图下面按其引脚功能分为四部分叙述这40条引脚的功能。1、主电源引脚VCC和VSSVCC——(40脚)接+5V电压;VSS——(20脚)接地。2、外接晶体引脚XTAL1和XTAL2XTAL1(19脚)接外部晶体的一个引脚。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。当采用外部振荡器时,对HMOS单片机,此引脚应接地;对CHMOS单片机,此引脚作为驱动端。XTAL2(18脚)接外晶体的另一端。在单片机内部,接至上述振荡器的反相放大器的输出端。采用外部振荡器时,对HMOS单片机,该引脚接外部振荡器的信号,即把外部振荡器的信号直接接到内部时-6-钟发生器的输入端;对XHMOS,此引脚应悬浮。3、控制或与其它电源复用引脚RST/VPD、ALE/PROG、PSEN和EA/VPP。①RST/VPD(9脚)当振荡器运行时,在此脚上出现两个机器周期的高电平将使单片机复位。推荐在此引脚与VSS引脚之间连接一个约8.2k的下拉电阻,与VCC引脚之间连接一个约10μF的电容,以保证可靠地复位。VCC掉电期间,此引脚可接上备用电源,以保证内部RAM的数据不丢失。当VCC主电源下掉到低于规定的电平,而VPD在其规定的电压范围(5±0.5V)内,VPD就向内部RAM提供备用电源。②ALE/PROG(30脚):当访问外部存贮器时,ALE(允许地址锁存)的输出用于锁存地址的低位字节。即使不访问外部存储器,ALE端仍以不变的频率周期性地出现正脉冲信号,此频率为振荡器频率的1/6。因此,它可用作对外输出的时钟,或用于定时目的。然而要注意的是,每当访问外部数据存储器时,将跳过一个ALE脉冲。ALE端可以驱动(吸收或输出电流)8个LS型的TTL输入电路。对于EPROM单片机(如8751),在EPROM编程期间,此引脚用于输入编程脉冲(PROG)。③PSEN(29脚):此脚的输出是外部程序存储器的读选通信号。在从外部程序存储器取指令(或常数)期间,每个机器周期两次PSEN有效。但在此期间,每当访问外部数据存储器时,这两次有效的PSEN信号将不出现。PSEN同样可以驱动(吸收或输出)8个LS型的TTL输入。-7-④EA/VPP(引脚):当EA端保持高电平时,访问内部程序存储器,但在PC(程序计数器)值超过0FFFH(对851/8751/80C51)或1FFFH(对8052)时,将自动转向执行外部程序存储器内的程序。当EA保持低电平时,则只访问外部程序存储器,不管是否有内部程序存储器。对于常用的80C51来说,无内部程序存储器,所以EA脚必须常接地,这样才能只选择外部程序存储器。对于EPROM型的单片机(如8751),在EPROM编程期间,此引脚也用于施加21V的编程电源(VPP)。4、输入/输出(I/O)引脚P0、P1、P2、P3(共32根)①P0口(39脚至32脚):是双向8位三态I/O口,在外接存储器时,与地址总线的低8位及数据总线复用,能以吸收电流的方式驱动8个LS型的TTL负载。②P1口(1脚至8脚):是准双向8位I/O口。由于这种接口输出没有高阻状态,输入也不能锁存,故不是真正的双向I/O口。P1口能驱动(吸收或输出电流)4个LS型的TTL负载。对8052、8032,P1.0引脚的第二功能为T2定时/计数器的外部输入,P1.1引脚的第二功能为T2EX捕捉、重装触发,即T2的外部控制端。对EPROM编程和程序验证时,它接收低8位地址。③P2口(21脚至28脚):是准双向8位I/O口。在访问外部存储器时,它可以作为扩展电路