《单片机数字电压表设计.docx》由会员分享,可在线阅读,更多相关《单片机数字电压表设计.docx(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片机数字电压表设计 基于51单片机的数字电压表设计 二级学院铜陵学院 专业自动化 班级 组号 组员 指导教师 目录 一课程设计任务书错误!未定义书签。 1.1 设计题目、目的 错误!未定义书签。 1.2 题目的基本要求和拓展功能错误!未定义书签。 1.3 设计时间及进度安排 错误!未定义书签。 二设计内容错误!未定义书签。 2.1 元器件选型错误!未定义书签。 2.2 系统方案确定 错误!未定义书签。 2.3 51单片机相关知识 错误!未定义书签。 2.4 AD转换器相关知识 错误!未定义书签。 三数字电压表系统设计 (7) 3.1系统设计框图 (8) 3.2 单片机电路 (9) 3.3 A
2、DC采样电路 (10) 3.4显示电路 (11) 3.5供电电路和参考电压 3.6 数字电压表系统电路原理图 四软件部分 4.1 主程序 4.2 显示子程序 五数字电压表电路仿真 5.1 仿真总图 5.2 仿真结果显示 六系统性能分析 七心得体会 一课程设计任务书 智能仪表课程设计是自动化专业的专业实践课程。本课程的任务是通过设计完成功能的单片机系统,使学生掌握目前典型的自动化易表的一般设计要求和设计方法,掌握开发及设计工具的使用方法,通过这一实践过程,锻炼学生的动手能力和分析、解决问题的能力,培养对所学知识的综合应用能力。 1、设计的题目 简易数字电压表的设计 对简易数字电压表的设计,掌握目
3、前自动仪表的一般设计要求,工程设计方法,开发及设计工具的使用方法。数字电压表简称DVM,数字电压表基本原理是将输入的模拟电压信号转化为数字信号,再进行输出显示。而A/D转换器的作用是将连续变化的模拟信号量转化为离散的数字信号,器基本结构是由采样保持,量化,编码等几部分组成。因此AD转换是此次设计的核心元件。输入的模拟量经过AD转换器转换,再由驱动器驱动显示器输出,便得到测量的数字电压。 2、基本功能要求: 1.可以选择测量测量8路0-5V的8路输入电压值; 2.可轮流显示或单路选择显示(可选); 3.测量显示最小分辨率为0.01V;测量误差约为0.02V; 4. 具有电压过低、过高声光报警功能
4、,报警限可独立设置; 拓展功能: (1):测量电压范围扩大,可测量小电压和大电压;可测量显示0-2mA电流; (2):带通讯功能,电压测量值可在PC机上显示; (3):带实时存储记忆和复现功能; 3、设计时间及进度安排: 1、学分:3分 2、时间安排:3周 计划安排: 第17周任务布置,确定分组。任务分析,方案,绘制原理图: 第18周进行设计方案的确认,提交原理图,元器件清单何预定价格,进行购买;第18周硬件焊接,调试;软件编程,联合硬件的调试; 第19周撰写课程实际报告,分组验收答辩; 二设计内容: 2.1 元器件选型: A/D转换器芯片ADC0809,AT89C52单片机,1602液晶显示
5、器; 2.2 系统方案确定: 按系统功能实现要求,决定控制系统采用AT89C52单片机,A/D转换采用ADC0809。系统除能确保实现要求的功能外,还可以方便地进行8路其他A/D转换量的测量、远程测量结果传送等扩展功能。数字电压表系统设计方案框图如图。 P0:地址数据低8位口 P1:普通I/O口 P2:地址高8位口 P3:特殊功能口 晶振电路保证信号传输同步,串口通信是与外界进行信息交换的一种方式,按键电路中一个按键是单路和轮流显示的选择,一个按键是单路时的通道选择。 实现过程: 当外部05V的模拟信号输入时,首先通过ADC8090转换模块进行转换,转换成数字信号并进入通道进行选择后,将信号传
6、入AT89C52单片机时,单片机通过按键电路中的一个按键来选择单路还是8路,另一个按键作单路显示时选择通道,当选择完毕后将数据送入到显示器,通过P3特殊功能口经三极管驱动输出控制位。 2.3 51单片机相关知识 51单片机是对目前所有兼容intel 8031指令系统的单片机的统称。该系列单片机的始祖是intel的8031单片机,后来随着技术的发展,成为目前广泛应用的为单片机之一。 单片机是在一块芯片内集成了CPU、RAM、ROM、定时器计数器和多功能I/O口等计算机所需要的基本功能部件的大规模集成电路,又称为MCU。51系列单片机内包含以下几个部件:一个位CPU;一个片内振荡器及时钟电路; 4
7、KB的ROM程序存储器; 一个128B的RAM数据存储器; 寻址64KB外部数据存储器和64KB外部程序存储空间的控制电路; 32条可编程的I/O口线; 两个16位定时计数器; 一个可编程全双工串行口; 个中断源、两个优先级嵌套中断结构。51系列单片机如下图: 图1 51单片机引脚图 引脚功能: Vcc: 电源电压 GND:地 P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。 在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问
8、期间激活内部上拉电阻。 在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或 输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流 与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入.flash 编程和程序校验期间,P1接收低8位地址。(P1.0/T2)和输入(P1.1/T2EX),P2口:P2是一个带有内部上
9、拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流 在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVXRI指令)时,P2口输出P2锁存器的内容。 P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上位电阻拉高
10、并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流 P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能, P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。 RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片复位。 ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲
11、(PROG)。 如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。 PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次RSEN信号。 EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),EA 端必须保持低电平(接地)。需注意的是:如
12、果加密位LB1被编程,复位时内部会锁存EA 端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源VPP,当然这必须是该器件是使用12V编程电压VPP。 XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端。 2.外部时钟:输入端接在XTAL1 输出端接在XTAL2 晶体可以在1.2mhz-12mhz之间任选,电容可以在20-60uf之间选择。 3.74ls244:是一个缓冲输入口,同时也是一个单向驱动器一减轻总线负担。 4.mc14024:用与二进制计数。 5.ADC080
13、9:A/D转换器: 2.4 AD转换器相关知识 ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8 路模拟输入信号中的一个进行A/D转换。 ADC0809是采样频率为8位的、以逐次逼近原理进行模数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8个单断模拟输入信号中的一个进行A/D转换。 1主要特性 1)8路8位AD转换器,即分辨率8位。 2)具有转换起停控制端。 3)转换时间为100s 4)单个5V电源供电 5)模拟输入电压范围05V,不需零点和满刻度校准。
14、6)工作温度范围为-4085摄氏度 7)低功耗,约15mW。 2 内部结构 ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图1322所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近寄存器、逻辑控制和定时电路组成。 3外部特性(引脚功能) ADC0809芯片有28条引脚,采用双列直插式封装,如图所示。下面说明各引脚功能。 IN0IN7:8路模拟量输入端。 2-12-8:8位数字量输出端。 ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路 ALE:地址锁存允许信号,输入,高电平有效。 START: AD转换启动信号,输
15、入,高电平有效。 EOC: AD转换结束信号,输出,当AD转换结束时,此端输出一个高电平(转换期间一直为低电平)。 OE:数据输出允许信号,输入,高电平有效。当AD转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。 REF(+)、REF(-):基准电压。 Vcc:电源,单一5V。 GND:地。 ADC0809的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 AD转换,之后EOC输出信号变低,指示转换正在进行。直
16、到AD转换完成,EOC 变为高电平,指示AD转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。 图2 ADC0909引脚 三数字电压表系统设计 3.1系统设计框图 此次设计的是数字电压表,要求的电压范围是05v,而设计扩展的量程为025v。系统 设计主要包括四个部分:分别是电源模块、AD模数转换部分、51单片机最小系统部分、1602液晶显示部分。首先由单片机初始化ADC0809模数转换芯片和1602液晶显示,当外接被测电压后,ADC0809将模拟电压信号转换为数字信号输入到单片机的I/O口,通过单片机处理后将电压的大小
17、显示在1602液晶上面。如下是本次设计作品的框图: 图3 系统框图 3.2 单片机电路 单片机最小系统如下图所示,各个引脚都已经标出,而且四个I/O口都已经用排阵引出,方便外接I/O扩展用。 图4 单片机最小系统 3.3 ADC采样电路 由于ADC0809是带地址锁存的模数转换器件,ADDA、ADDB、ADDC为模拟通道选择,编码为000111分别选中IN0IN7。ALE为地址锁存信号,其上升沿锁存ADDA、ADDB、ADDC 的信号,译码后控制模拟开关,接通八路模拟输入中相应的一路。CLK为输入时钟,为AD 转换器提供转换的时钟信号,典型工作频率为640KHz。START为AD转换启动信号,
18、正脉冲启动ADDAADDC选中的一路模拟信号开始转换。OE为输出允许信号,高电平时候打开三态输出缓存器,是转换后的数字量从D0D7输出。EOC为转换结束信号,启动转换后EOC变为低电平,转换完成后EOC编程高电平。 图5 ADC模数转换 3.4显示电路 以下是1602液晶引脚的接线图,中间没有接线的为数据控制端口。 1602字符型通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线 VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样: 图6 1602引脚图 3.5供电电路和参考电压 由于此次系统的芯片工作电压为+5v,所以用常用的三端稳压器LM317和L
19、M337构成的电源系统供电,其中ADC0809要提供一个准确的参考电源才能正常的工作,而LM317正好能够达到要求。 图7 系统供电部分 3.6 数字电压表系统电路原理图 简易数字电压测量电路由A/D转换、数据处理及显示控制等组成,电路原理图如图所示。A/D转换由集成电路0809完成。0809具有8路模拟输入端口,地址线(23 25脚)可决定对哪一路模拟输入作A/D转换。22脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存。6脚为测试控制,当输入一个2uS宽高电平脉冲时,就开始A/D转换。7脚为A/D 转换结束标志,当A/D转换结束时,7脚输出高电平。9脚为A/D转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从该端口输出。10脚为0809的时钟输入端,利用单片机30脚的六分频晶振频率再通过14024二分频得到1MHz时钟。单片机的P1、P3.0P3.3端口作为四位LED数码管显示控制。P3.5端口用作单路显示/循环显示转换按钮,P3.6端口用作单路显示时选择通道。P0端口作A/D转换数据读入用,P2端口用作0809的A/D转换控制。 图8 数字电压表总原理图
限制150内