基于单片机控制的数字电压表设计_第1页
基于单片机控制的数字电压表设计_第2页
基于单片机控制的数字电压表设计_第3页
基于单片机控制的数字电压表设计_第4页
基于单片机控制的数字电压表设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于单片机控制的数字电压表课程设计任务书1.设计目的与要求设计出一个用于测量电压的数字电压表。准确地理解有关要求,独立完成系统设计,要求所设计的电路具有以下功能:(1)测压范围 05V;(2)精度误差 0.02V 以内;(3)能够同时采集 8 路数据并能循环(6 位)显示;(4)具备过压保护功能;2设计内容 (1)画出电路原理图,正确使用逻辑关系;(2)确定元器件及元件参数;(3)进行电路模拟仿真;(4)SCH 文件生成与打印输出;3编写设计报告写出设计的全过程,附上有关资料和图纸,有心得体会。4答辩在规定时间内,完成叙述并回答问题。论文结构清晰,层次分明,理论严谨。基于单片机控制的数字电压表摘要:本设计介绍一种基于 AT89S51 单片机的一种电压测量电路,该电路采用 ADC0809 转换电路,ADC0809是 CMOS 工艺,采用逐次逼近法的 8 位 A/D 转换芯片,可以输入 8 路电压,先用 ADC0809 的转换器对各路电压值进行采样,得到相应的数字量,在按数字量与模拟量成正比关系运算得到对应的模拟量电压值,然后把模拟量值通过显示器显示出来。显示用 4 位数码管轮流显示,并且可以显示路数,测量的最小分辨率为 0.019V,测量误差位0.02V。该电路设计新颖、功能强大、可扩展性强。关键词:单片机,AT89C51,电压测量,ADC0809,数字电压表。目 录1 引言12 总体设计方案.12.1 设计思路 .12.1.1 方案的确立12.2 总体设计框图 .23 设计与原理分析 .23.1 输入过压保护电路 .23.2 A/D 转换电路 33.2.1 ADC0809 的结构 33.2.2 ADC0809 工作时序图 43.3 ADC0809 与 AT89s51 接口电路.43.4 驱动电路与显示电路 .53.4.1 74LS245 管脚图 54 程序设计 .65 结束语7参考文献 .8附录 1.9附录 2101 引言数字电压表(Digital Voltmeter)简称 DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与 PC 进行实时通信。目前,由各种单片 A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。与此同时,由 DVM 扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。2 总体设计方案2.1 设计思路根据系统的功能要求,控制系统采用 AT89C51 单片机,A/D 转换器采用ADC0809。ADC0809 是 8 位精度的 A/D 转换器。但输入电压为 5.00V 时,输出的数据值为255(OFFH) ,因此最大分辨率为 0.0196V(5/255) 。ADC0809 具有 8 路模拟量输入端口,通过 3 位地址输入端能从 8 路中选择一路进行转换。如每隔一段时间依次轮流改变 3 位地址输入端的地址,就能依次对 8 路输入电压进行测量。LED数码管显示采用软件译码动态显示。通过按键选择可 8 路循环显示,也可单路显示,单路显示可通过按键选择所要显示的通道数。2.1.1 方案的确立ADC0809 具有 8 路模拟量输入通道 IN0IN7,通过 3 位地址输入端 C、B 、A 进行选择。ALE 为地址控制端,当输入为高电平时,C 、B、A 引脚输入的地址锁存于 ADC0809 内部的锁存器中,经内部译码电路译码选中相应的模拟通道。START 端为启动转换控制端,当输入一个2S 宽的高电平脉冲时,就启动 ADC0809 开始对输入通道的模拟量进行转换。EOC 为 A/D 转换结束信号。ADC0809 为逐次比较型 A/D 转换器,但开始转换时,EOC 信号为低电平,经过一定的时间,转换结束,转换结束信号 EOC 输出高电平,转换结果存放于 ADC0809 内部的输出数据锁存器中。OE 为 A/D 转换数据输出允许控制端,存放于输出数据锁存器的数据通过ADC0809 数据线 D0D7 输出。 CLOCK 为 ADC0809 的时钟信号输入端。在连接时,ADC0809的数据线 D0D7 与 AT89C51 的 P0 口相连,ADC0809 的地址引脚,锁存段 ALE、启动信号START、数据输出允许端 OE 分别与 AT89C51 的 P2 口相连,转换结束信号 EOC 与 AT89C51的 P3.7 相连。始终信号输入端 CLOCK 信号,由单片机的地址锁存信号 ALE 端直接提供。单片机的系统时钟为 6MHZ,因而 ADC0809 始终输入端 CLOCK 信号的频率为 1MHZ。能达到ADC0809 所需要的时钟信号。LED 数码管采用动态扫描方式连接,通过 AT89C51 的 P3.0P3.3 口控制。P1 口为 LED 数码管的字段码输出端,P3.0P3.3 口为 LED 数码管位选码输出端,分别用 74LS245 进行驱动。S1 和 S2 是两个按键开关,分别与单片机的 P3.5 和 P3.6 相连。S1 用单路显示或多路循环显示转换控制,S2 用于单路显示时的通道选择。2.2 设计方框图根据设计要求和方案的确立,方框如图 1 过 压 保 护 电 路输 入 电 路AT89C51单片机LED显示 驱动 电 路LED显 示电 路ADC0809A/D转换电路复位电路时钟电路图 1 总体方框图3 设计与原理分析3.1 输入过压保护电路ADC0809 的输入电压是 5V,过高时,会埙坏 ADC0809 的内部电路。电压高于 5V 时,A/D 不能转换,是所测的电压不准确。精度达不到所要的要求,因此输入电压时,要对ADC0809 进行过压保护电路,本设计电路使用 5V 的稳压管进行保护,当电压高于 5V 时有稳压管进行稳压,当低于 5V 时稳压管不起做用。如图 2 所示。输 入输 出图 2 过压保护电路3.2 A/D 转换电路3.2.1 ADC0809 的结构如图 3 所示,ADC0809 的内部结构图与引脚图。它有 8 路模拟开关、8 位 A/D 转换器、三态输出锁存器以及地址锁存译码器等组成。图 3 ADC0809 结构引脚ADC0809 是 采 样 频 率 为 8 位 的 、 以 逐 次 逼 近 原 理 进 行 模 数 转 换 的 器 件 。 其 内 部 有 一个 8 通 道 多 路 开 关 , 它 可 以 根 据 地 址 码 锁 存 译 码 后 的 信 号 , 只 选 通 8 个 单 断 模 拟 输 入 信 号中 的 一 个 进 行 A/D 转 换 。引 脚 功 能 说 明 如 下 : IN0IN7: 8 个 输 入 通 道 的 模 拟 输 入 端 。 D0D7: 8 位 数 字 量 输 出 端 START: 启 动 信 号 , 加 上 脉 冲 后 , A/D 转 换 开 始 进 行 。 ALE: 地 址 锁 存 信 号 。 由 低 至 高 时 , 把 三 位 地 址 信 号 送 入 通 道 号 地 址 锁 存 器 ,并 经 译码 器 得 到 地 址 输 出 , 以 选 择 相 应 的 模 拟 输 入 通 道 。 EOC: 转 换 结 束 信 号 。 转 换 开 始 后 , EOC 信 号 变 低 ; 转 换 结 束 时 , EOC 返 回 高 电 平 。这 信 号 可 以 作 为 A/D 转 换 器 的 状 态 信 号 来 查 询 , 也 可 以 直 接 用 作 中 断 请 求 信 号 。 OE: 输出允许信号。用于控制三态输出锁存器向单片机输出转换得到的数据。OE=0,输出数据线呈高阻;OE=1,输出转换得到的数据。 VCC: +5V 电源。 Vref 参考电压 。电源参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为+5V(Vref(+)=+5V, Vref(-)=-5V). CLK 时钟信号。ADC0809 的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。通常使用频率为 500KHz 的时钟信号。图 3 中多路开关可选通 8 个模拟通道,允许 8 路模拟量分时输入,共用一个 A/D 转换器进行转换,这是一种经济的多路数据采集方法。地址锁存与译码电路完成对 A、B、C 3 个地址位进行锁存和译码,其译码输出用于通道选择,其转换结果通过三态输出锁存器存放、输出,因此可以直接与系统数据总线相连,表 1 为通道选择表表 1 8 位模拟开关功能表ADDC ADDB ADDA 输入通道号0 0 0 IN00 0 1 IN10 1 0 IN20 1 1 IN31 0 0 IN41 0 1 IN51 1 0 IN61 1 1 IN73.2.2 ADC0809 工作时序图如图 4 ADC0809 的时序图。在 ALE=1 期间,模拟开关的地址(ADDC 、ADDB 和 ADDA)存入地址锁存。输入启动信号 START 的上升沿复位 ADC0809,下降沿启动 A/D 转换。EOC 为输出的转换结束信号,正在转换时为 0,转换结束时为 1。OE 为输出允许控制端,在转换完成后用来打开输出三态门,以便从 ADC0809 输出这次转换的结果。图 4 ADC0809 的时序图3.3 ADC0809 与 AT89S51 接口电路ADC0809 与 AT89C51 采用查询方式。如图 5 所示,由于 ADC0809 片内有三态输出锁存器,因此可以直接与 AT89S51 接口。这里将 ADC0809 作为一个外部扩展并行 I/O 口,采用先选法寻址。由 P2.5 和 P2.6 分别控制启动转换信号端(START)和 ALE 端,第三位地址线加到 ADC0809 的ADDA、 ADDB、ADDC 端。当启动 ADC0809 时,先送通道号地址到 ADDA、ADDB 和ADDC;由 ALE 信号锁存通道号地址后,让 START 有效;锁存通道号并启动 A/D 转换。A/D 转换完毕,EOC 端置 1,然后使 OE 端有效,打开输出锁存器三态门,8 位数据便读入到单片机中。IN-0 26msb2-121 2-220 IN-1 272-3192-418 IN-2282-58 2-615IN-3 12-714 lsb2-817 IN-4 2EOC7 IN-53ADD-A25IN-6 4ADD-B24 ADD-C23 IN-7 5ALE22ref(-) 16ENABLE9 START6 ref(+) 12CLOCK10EA/VP31X119 X218RESET9RD17 WR16INT012 INT113T014 T115P101 P112P123 P134P145 P156P167 P178P00 39P01 38P02 37P03 36P04 35P05 34P06 33P07 32P20 21P21 22P22 23P23 24P24 25P25 26P26 27P27 28PSEN 29ALE/P30TXD 11RXD 10VCC图 5 ADC0809 与 AT89S51 接口电路3.4 驱动电路与显示电路3.4.1 74LS245 的管脚图如图 6 所示 74LS245 的管脚图,16 个三态门每两个三态门组成一路双向驱动。驱动方向由, DIR 两个控制端控制, 控制端控制驱动器有效或高阻态,在 控制端有效( =0)时,DIR 控制端控制驱动器的驱动方向。图 6 74ls245 管脚图3.4.2 驱动与显示电路如图 7 所示,数码管显示时,单片机的驱动能力达不到数码管的驱动电流,有时工作不稳定,因此需要一个驱动电路,是数码感显示电路如图 7 所示。本电路用 74LS245 16 个三态门每两个三态门组成一路双向驱动。通过单片机输送过来的信号有 74LS245 进行驱动,有数码管进行显示。A0 2A13A2 4A3 5A46A5 7A6 8A79B018 B117 B216B315 B414 B513B612 B711E 19DIR1A02A13A24A35A46A57A68A79B018B117B216B315B414B513B612B711E19DIR1abfcg deDPY4 5 9 7 6 2 1a b c d e f g10dpdpVCC 8DS?SMGabfcg deDPY4 5 9 7 6 2 1a b c d e f g10dpdpVCC 8DS?SMGabfcg deDPY4 5 9 7 6 2 1a b c d e f g10dpdpVCC 8DS?SMGabfcg deDPY4 5 9 7 6 2 1a b c d e f g10dpdpVCC 8DS?SMGVCCVCC图 7 驱动与显示电路4 程序设计(1) 主程序模块主程序主要完成初始化、调用 A/D 转换子程序和调用显示子程序等等。主程序的流程图如图 8 所示。(2) A/D 转换子程序A/D 转换子程序用于对 ADC0809 的输入模拟电压进行 A/D 转换,并将转换的数值存入 8 个相应的存入单元中,如图 9 所示。A/D 转换子程序每隔一定时间调用一次,即每隔一段时间对输入电压采样一次。(3) 显示子程序LED 数码管采用软件译码动态扫描方式。在显示子程序中包含多路循环显示和单路显示程序。多路循环显示把 8 个存储单元的数值依次取出送到 4 位数码管上显示。每一路显示 1 秒,单路显示程序只对当前选中的一路数据进行显示。每路数据显示时需经过转换变成十进制 BCD 码,放于 4 个数码管的显示缓冲中。单路显示或多路显示通过标志位控制。在显示控制程序中加入了对单路或多路循环按键和通道选择按键判断。如图 10 所示。开 始启 动一 次 转 换 EOC=1?取数据(OE=0)ADC0809 通道地址加1地址小于 8?否是否结 束是开 始FLAG=0?通 道 值 清 0当 前 通 道 数 据 转 换通 道 值 加 1地址小于 8?结 束是检 测 按 键 是否4 位 LED 数 据 显 示当前通道数送通道显示位4 位 LED 扫描显示检测按键否图 10 显示子程序流程图图 9 A/D 转换子程序开 始初 始 化调用 A/D 转换子程序调 用 显 示 子 程 序图 8 主程序流程图5 结束语时间过得真快,一眨眼的功夫三周的单片机实习就结束了。从上学期上完单片机已经两个学期了。在这期间我一直在努力的学习单片机知识,但是在开始我不知道怎样的编写程序,甚至不知道用什么来仿真电路,我通过上网查找资料甚至通过询问一些网友才了解一些知识。通过对仿真软件的了解,我也用汇编写了一些程序,但是,在图书馆书籍上,大部分都是用 C 语言写的,我就通过看书和上网找到一些视频来看,慢慢的用 C 语言编写一些程序,但是都没有做过实物。通过这次实习我可以了解到做单片机设计的全过程。当我拿到数字电压表这个设计课题时,在老师的指导下,我就先对数字电压表电路进行进行论证,然后在图书馆和上网找相关的资料,经过几天的奋斗,才把电路的原理图设计出来,但在这几天里,我不知道看了不知看多少书籍,了解相关的知识,才把原理图设计出来。虽然把原理图设计好了,但是还要做 PCB 板,就开始电路板的设计,在电路板的设计上,各个方面的问题,通过老师和同学们的帮助,我很快的解决了 PCB 相关的问题。在程序编写上,可能自己的编成思想不成熟,遇到了许多的问题,我就通过问同学和老师,甚至有时通过 QQ 和一些网友交流来解决问题。最后通过调试,才完整的把电路完成。最后感谢指导老师给我们这次实习的机会和各位老师对我们的耐心指导和帮助!参考文献1 谢自美. 电子线路设计试验测试(第二版) M. 武汉:华中科技出版社,2002.2 胡大可 李培弘 方路平. 基于 8051 的嵌入式开发指南M. 北京:电子工业出版社,2003.3 张疑坤 陈善久 裘雪红. 单片微型计算机原理及应用M. 西安:西安电子科技大学出版, 20034 马忠梅. 单片机的 C 语言应用程序设计 M. 北京:北京航空航天大学出版社,1999.5 谢筑森. 单片机开发与典型应用设计M. 合肥:中国科学技术大学出版社, 1997.6 陈汝全. 单片机实用技术:整机设计、多机通信、实用技术M. 北京:电子工业出版社, 1992.3.7 夏继强. 单片机实验与实践教程M. 北京:北京航空航天大学出版社, 20018 胡大可. 李培弘 方路平 基于 8051 的嵌入式开发指南M. 北京:电子工业出版社,2003.9 张疑坤. 陈善久 裘雪红 单片微型计算机原理及应用M.西安:西安电子科技大学出版社, 2001.10 张积东. 单片机 51/98 开发与应用M. 北京:电子工业出版社,1994.11 余孟尝. 数字电子技术基础简明教程M. 北京:高等教育出版社,1999.12 杨素行. 模拟电子技术基础简明教程(第二版)M. 北京:高等教育出版社 1998.附录 1abfcg deDPY4 5 9 7 6 2 1a b c d e f g10dpdp VCC 8abfcg deDPY4 5 9 7 6 2 1a b c d e f g10dpdp VCC 8abfcg deDPY4 5 9 7 6 2 1a b c d e f g10dpdp VCC 8abfcg deDPY4 5 9 7 6 2 1a b c d e f g10dpdp VCC 8EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10IN-026msb2-1212-220IN-1272-3192-418IN-2282-582-615IN-312-714lsb2-817IN-42EOC7IN-53ADD-A25IN-64ADD-B24ADD-C23IN-75ALE22ref(-)16ENABLE9START6ref(+)12CLOCK10A02A13A24A35A46A57A68A79B018B117B216B315B414B513B612B711E19DIR1A02A13A24A35A46A57A68A79B018B117B216B315B414B513B612B711E19DIR1AA0 AA1 AA2 AA3 AA4 AA5 AA6 AA7AA0 AA1 AA2 AA3 AA4 AA5 AA6 AA7AA0 AA1 AA2 AA3 AA4 AA5 AA6 AA7AA0 AA1 AA2 AA3 AA4 AA5 AA6 AA7AA0AA1AA2AA3AA4AA5AA6AA7A0A1A2A3A0A1A2A3R1 5.1KR2 5.1KR3 5.1KR4 5.1KR5 5.1KR6 5.1KR7 5.1KR8 5.1KVCCP00P01P02P03P04P05P06P07P00 P01 P02 P03 P04 P05 P06 P07P00 P01 P02 P03 P04 P05 P06 P07P10 P11 P12 P13 P14 P15 P16 P17P10P11P12P13P14P15P16P17P30 P31P32P33P30P31P32P33CLOCKCLOCKSTARTSTARTOEOE AABBCCALEALEVCCEOCEOCVCCS1S2R9 5.1KR10 5.1KP35P36P35 P36 S3R10 200R11 1KC1 22UFVCC RSTC2 30 C3 30Y1RSTX1 X2X1 X2位位位位位位位位位R12 1KR13 1KR14 1KR15 1KR16 1KR17 1KR18 1KR19 1KD1D2D3D4D5D6D7D7IN0IN1IN2IN3IN4IN5IN6IN7IN0IN1IN2IN3IN4IN5IN6IN7位位位位位位位位数字电压表的原理图附录 2#include #include #define ad_con P2#define addata P0#define Disdata P1#define uchar unsigned char#define uint unsigned intuchar number=0x00;sbit ALE=P23;sbit START=P24;sbit OE=P25;sbit KEY1=P35;sbit KEY2=P36;sbit EOC=P37;sbit DISX=Disdata7;sbit FLAG=PSW0;uchar code dis_711=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff;Uchar code scan_con4=0xf1,0xf2,0xf4,0xf8;uchar data ad_data8=0x00,0x00,0x00,0x00,0x00,0x00,0x0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论