首页 数字电压表(新)

数字电压表(新)

举报
开通vip

数字电压表(新)目录 TOC \o "1-3" \h \z \u 第1章 概述 1 第2章 系统总体方案选择与说明 1 2.1 通道转换方案设计 2 2.2 显示部分方案设计 2 第3章 系统方框图与工作原理 2 3.1系统结构框图 2 3.2 工作原理 3 第4章 各部分方案选定、功能及计算 3 4.1 主控制器:功能及芯片选择 4 4.1.1 主控制器的功能 4 4.1.2 主要功能特性 5 4.1.3 AT89C51的引脚介绍 5 4.2 A/D转换、数据处理接口电路 7 4.2.1 A/D转换芯片概述 7 4.2.2 引脚...

数字电压表(新)
目录 工贸企业有限空间作业目录特种设备作业人员作业种类与目录特种设备作业人员目录1类医疗器械目录高值医用耗材参考目录 TOC \o "1-3" \h \z \u 第1章 概述 1 第2章 系统总体 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 选择与说明 1 2.1 通道转换方案设计 2 2.2 显示部分方案设计 2 第3章 系统方框图与工作原理 2 3.1系统结构框图 2 3.2 工作原理 3 第4章 各部分方案选定、功能及计算 3 4.1 主控制器:功能及芯片选择 4 4.1.1 主控制器的功能 4 4.1.2 主要功能特性 5 4.1.3 AT89C51的引脚介绍 5 4.2 A/D转换、数据处理接口电路 7 4.2.1 A/D转换芯片概述 7 4.2.2 引脚简介 8 4.2.3 ADC0808的转换原理 8 4.2.4 数据处理接口电路 8 4.3 显示接口电路 9 4.3.1 LED数码管的模型 9 4.3.2 LED数码管的接口简介 10 第5章 应用系统的程序设计 10 5.1 主程序 11 5.2 A/D转换子程序 12 5.3 中断显示程序 13 第6章 调试说明、使用说明 13 6.1 调试说明 13 6.2 使用说明 14 第7章 设计总结 15 参考文献 16 附录A:程序清单 17 附录B: 数字电压 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 电路原理图 19 第1章 概述 随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。在高速发展的当今社会,高速信号处理的需求越来越多,由于模拟电压表响应速度较慢已经不适用与高速信号领域,取而代之的将是数字电压表。但数字电压表由于存在采样误差,精度不是很高。不过目前可以通过技术手段来缩小误差。使其精度达到与模拟电压表一样精确甚至更高。可见将来数字电压表必将取代模拟电压表。现在有越来越多的数字测量仪器的出现但原理皆与数字电压表殊途同归,因此研究数字电压表有着很大现实意义。 数字电压表(DigitalVoltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。本次课程设计主要研究单片A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原理。目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,显示出强大的生命力。 本设计AT89C51单片机的一种电压测量电路,该电路采用ADC0808本文介绍一种基于A/D转换电路,测量范围直流 0~5V 的8路输入电压值,并在四位LED数码管上显示或单路选择显示。测量最小分辨率为0.019V,测量误差约为正负0.02V。 第2章 系统总体方案选择与说明 实现数字电压表的方案很多,目前广泛采用的是基于74系列逻辑器件,本设计将介绍基于单片机实现的方案。 2.1 通道转换方案设计 方案一:考虑到ADC0808的8路模拟量输入本质上也是模拟开关,因此可以利用其8个模拟通道中的3个作为通道转换器,即根据通道对应的电压测量范围确定对应的电压方法倍数设计对应的放大电路。 方案二:利用手动开关实现通道转换。该方案可简化控制程序,消减系统开销,缩短反应时间,不足之处在于操作麻烦。 综上所述,方案二所需元件少、成本低且易于实现,则选此方案。 2.2 显示部分方案设计 方案一:单片机的P0、P2口分别接74LS248和ULN2003A芯片来驱动四位数码管。 方案二:直接用单片机的P0、P2口驱动数码管,此处把ADC0808的输出端接P3口,控制位接P1口。 综上所述,两个方案都可行,但方案二所需元件少、成本低,则选择此方案。 第3章 系统方框图与工作原理 3.1系统结构框图 根据项目要求,确定该系统的设计方案,图3—1为该方案的硬件电路设计框图。由6个部分组成,即单片机、时钟电路、复位电路、LED显示电路、A/D转换器和测量电压输入电路。 图3—1系统结构框图 3.2 工作原理 系统采用12M晶振产生脉冲做AT89C51的内部时钟信号,通过软件设置单片机的内部定时器T0产生中断信号。利用中断设置单片机的P1.3口产生脉冲做ADC0808的时钟信号。通过IN3作为输入电压端把电压送入ADC0808,单片机设置ADC0808开始A/D转换,转换结束ADC0808的EOC端口产生高电平,同时将ADC0808的EO端口置为高电平,单片机将转换后结果存到片内RAM。系统调出显示子程序,将保存结果转化为00.00—51.00V分别保存在片内RAM;系统调出显示子程序,将转化后数据查表,输出到LED显示电路,将相应电压显示出来,程序进入下一个循环。 第4章 各部分方案选定、功能及计算 根据设计要求与思路,确定该系统的设计方案。硬件电路由5个部分组成,即单片机时钟电路、复位电路、4位显示器电路、A/D转换电路和测量电路。 4.1 主控制器:功能及芯片选择 系统设计使用MCS—51单片机AT98C51芯片。AT98C51芯片由以下部分组成:中央处理器、256单元的内部数据存储器、4KB的程序存储器、定时器/计数器、四个八位的I/O口,中断控制系统及时钟电路。图4-1所示为采用双列直插式封装的AT98C51芯片管脚图。 图4-1 AT89C51芯片管脚图 4.1.1 主控制器的功能 AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C51是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 4.1.2 主要功能特性 (1) 4K字节可编程闪烁存储器。 (2) 32个双向I/O口;128×8位内部RAM 。 (3) 2个16位可编程定时/计数器中断,时钟频率0-24MHz。 (4) 可编程串行通道。 (5) 5个中断源。 (6) 2个读写中断口线。 (7) 低功耗的闲置和掉电模式。 (8) 片内振荡器和时钟电路。 4.1.3 AT89C51的引脚介绍 89C51单片机多采用40只引脚的双列直插封装(DIP)方式,下面分别简单介绍。 (1)电源引脚 电源引脚接入单片机的工作电源。 Vcc(40引脚):+5V电源。 GND(20引脚):接地。 (2)时钟引脚 XTAL1(19引脚):片内振荡器反相放大器和时钟发生器电路的输入端。 XTAL2(20引脚):片内振荡器反相放大器的输出端。 图3-3 电源接入方式 (3)复位RST(9引脚) 在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。 (4) /Vpp(31引脚) 为外部程序存储器访问允许控制端。当它为高电平时,单片机读片内程序存储器,在PC值超过0FFFH后将自动转向外部程序存储器。当它为低电平时,只限定在外部程序存储器,地址为0000H~FFFFH。Vpp为该引脚的第二功能,为编程电压输入端。 (5)ALE/ (30引脚) ALE为低八位地址锁存允许信号。在系统扩展时,ALE的负跳沿江P0口发出的第八位地址锁存在外接的地址锁存器,然后再作为数据端口。 为该引脚的第二功能,在对片外存储器编程时,此引脚为编程脉冲输入端。 (6) (29引脚) 片外程序存储器的读选通信号。在单片机读片外程序存储器时,此引脚输出脉冲的负跳沿作为读片外程序存储器的选通信号。 (7) pin39-pin32为P0.0-P0.7输入输出脚,称为P0口。 P0是一个8位漏极开路型双向I/O口。内部不带上拉电阻,当外接上拉电阻时,P0口能以吸收电流的方式驱动八个LSTTL负载电路。通常在使用时外接上拉电阻,用来驱动多个数码管。 在访问外部程序和外部数据存储器时,P0口是分时转换的地址(低8位)/数据总线,不需要外接上拉电阻。 (8)Pin1-Pin8为P1.0-P1.7输入输出脚,称为P1口。 P1是一个带内部上拉电阻的8位双向I/0口。P1口能驱动4个LSTTL负载。 (9)Pin21-Pin28为P2.0-P2.7输入输出脚,称为P2口。 P2口是一个带内部上拉电阻的8位双向I/O口,P2口能驱动4个LSTTL负载。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接收高8位地址和控制信息。在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。 (10)Pin10-Pin17为P3.0-P3.7输入输出脚,称为P3口。 P3口是一个带内部上拉电阻的8位双向I/O口,P2口能驱动4个LSTTL负载,这8个引脚还用于专门的第二功能。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接控制信息。 4.2 A/D转换、数据处理接口电路 4.2.1 A/D转换芯片概述 ADC0808是一种典型的A/D转换器。它是由8位A/D转换器,一个8路模拟量开关,8位模拟量地址锁存译码器和一个三态数据输出锁存器组成; +5V单电源供电,转化 时间在100us左右;内部没有时钟电路,故需外部提供时钟信号。芯片模型如图4—2所示。 图4-2 ADC0808芯片模型 4.2.2 引脚简介 (1) IN0~IN7:8路模拟量输入端。 (2) D0~D7:8位数字量输出端口。 (3) START:A/D转换启动信号输入端。 (4) ALE:地址锁存允许信号,高电平有效。 (5) EOC:输出允许控制信号,高电平有效。 (6) OE: 输出允许控制信号,高电平有效。 (7) CLK:时钟信号输入端。 (8)A、B、C:转换通道地址,控制8路模拟通道的切换。A、B、C分别与地址线或数据线相连,三位编码对应8个通道地址端口,A、B、C=000~111分别对应IN0~IN7通道的地址端口。 4.2.3 ADC0808的转换原理 ADC 0808 采用逐次比较的方法完成A/D转换,由单一的+5V电源供电。片内带有锁存功能的8路选1的模拟开关,由A、B、C的编码来决定所选的通道。ADC0809完成一次转换需100μs左右,它具有输出TTL三态锁存缓冲器,可直接连接到AT89C51的数据总线上。通过适当的外接电路,ADC0808可对0~5V的模拟信号进行转换。 4.2.4 数据处理接口电路 本电路利用倍增器的原理从测试端输入0~51V的电压,经90K与10K电阻的分压,所以ADC0808输入电压Vin(0~5.1V之间)大约只有测试端的十分之一,经过点单片机处理,最后将其显示在D4、D3、D2、D1共4段显示器。电路如图4-3所示。 图4-3 数据处理电路 4.3 显示接口电路 4.3.1 LED数码管的模型 LED数码管模型如图4-4所示。 图4-4 LED数码管模型 4.3.2 LED数码管的接口简介 LED 的段码端口A~G分别接至AT89C51的P0.0~P0.7口,位选端1~4分别接至P2.0、P2.1、P2.2、P2.3,如图4-5所示。 图4-5 LED与AT89C51的硬件连线 第5章 应用系统的程序设计 多路数字电压表系统软件程序主要有主程序、A/D转换子程序和中断显示程序组成。 5.1 主程序 主程序包含初始化部分、调用A/D转换子程序和相应外部0中断显示电压数值程序,初始化部分包含存放通道的缓冲区初始化和显示缓冲区初始化。另外,对于单路显示和循环显示,系统设置了一个标志位00H控制,初始化时00H位设置为0,默认为循环显示,当它为1时改变为单路显示控制,00H位通过单路、循环按键控制。 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 图如图5-1所示。 图5-1 主程序流程图 5.2 A/D转换子程序 A/D转换子程序用于对ADC0808的4路输入模拟电压进行A/D转换,并将转换的数值存入4个相应的存储单元中,A/D转换子程序每隔一定时间调用一次,即隔一段时间对输入电压采样一次,如图4-2所示。 图5-2 A/D转换流程图 5.3 中断显示程序 设计中采用中断的方式来读取转换完成的数据能节省CPU的资源 当系统设置好后,一旦数据转换完成,便会进入外部中断0,然后在中断中读取转换的数值,处理数据并送数码管显示输出。 LED 数码管采用软件译码动态扫描的方式。每路数据显示时需经过转换变成十进制BCD码,放于4个数码管显示缓冲区中。通过为位选来确定是显示那一位,每位的显示只有五秒的延时,从而完成测量电压的显示功能。 第6章 调试说明、使用说明 6.1 调试说明 本此课程设计应用Proteus7.4及KEIL软件,首先根据自己设计的电路图用Proteus7.4软件画出电路模型,关于这个软件的使用通过查一些资料和自己的摸索学习;然后我们用KEIL软件对所编写的程序进行编译、链接,如果没有错误和警告便可生成程序的hex文件,将此文件加到电路图上使软硬件结合运行,最后进行端口电压的对比测试,测试的结果对比见图6-1中标准电压值采用Proteus7.4软件中的模拟电压表测得。 图6-1 数字电压表与标准电压表的比较 从图中可以看出,简易数字电压表与“标准”数字电压表测得的绝对误差均在0.5V以内,这与采用8位A/D转换器所能达到的理论误差精度相一致,在一般的应用场合可以完全满足要求。 6.2 使用说明 由于是仿真,测量电压的变化是通过调节电阻来实现的。通过调节电阻可以发现设计的测量范围为0~51.00V,达到了本次设计的要求。 单片机为8位处理器,当输入电压为5.00V时,输出数据值为255(FFH)因此单片机最大的数值分辨率为0.0196V(5/255)。这就决定了该电压表的最大分辨率(精度)只能达到0.0196V。测试时电压数值的变化一般以0.02V的电压幅度变化,如要获得更高的精度要求,应采用12位、13位的A/D转换器。 简易数字电压表测得的值基本上均比标准值偏大0.2-0.5V。这可以通过校正0808的基准电压来解决,因为该电压表设计时通过90K和10K的电阻分压来实现输入电压的确定,电压可能有偏差。另外可以用软件编程来校正测量值。 ADC0808的直流输入阻抗为1M欧姆,能满足一般的电压测试需要。另外,经测试ADC0808可直接在2MHz的频率下工作,这样可省去分频率14024。 第7章 设计总结 为期两周的课程设计已经结束,其中充满了许多艰辛,但是,在老师的指导下,经过自己的努力成功地完成了本次课程设计任务。LED的显示结果和直接用数字电压表测试模拟量输入所得结果几乎一致,误差完全在合理的范围之内,可以测量0~51V的输入电压值,经过A/D转换,经过单片机处理后,在LED数码管上显示,测试精度为0.5V以上。 本次课程设计使我对AT89C51、ADC0808和数码管的许多基本知识和接线方法有了深刻的理解。在程序的设计与电压表调试的过程中遇到了很多的问题,刚开始时四个数码管根本不显示,后来发现用的是共阳极的数码管,而设计是共阴极的,更换后数码管终于显示,使我无比的兴奋。但问题又出现了,就如何将0~5V的电压转换为0~51V的电压输出在数码管上显示就难倒了我,困扰了我很久,经过自己查阅资料和请教同学,最后终于解决了这个问题。这些过程充满了艰辛与挑战,正因为有这些艰辛与挑战,使我深深地陶醉在其中,感受到了单片机的奥秘!在解决这些问题的过程中,使我对AT89C51、ADC0808和数码管有了进一步的了解,各个管脚的功能,运行时的接线方法有了深刻的理解。在调试过程中,同样遇到许多困难,有的是由于自己粗心所造成的,有的是由于对芯片的不理解所造成的,有的是由于对C语言语句的理解不够所造成的,种种的问题使我明白,要独立、精彩的完成一次设计是多么的不容易,必须有坚实的理论知识做后盾,必须认真仔细,一点点的马虎都会造成设计的不成功。 经过这次课程设计,我深深地感受到理论知识与实际操作之间的距离,理论知识是基础,实际操作是关键。在设计过程中会遇到种种困难,自己必须先做认真的分析与思考,找出问题出现的根本原因,然后针对问题去寻求解决的办法,根据自己的知识,如果自己现有的知识不能解决,就去查阅相关资料,实在不能解决,也可以请教同学或者老师。这也很好的指导了我今后的学习,在学习理论知识的同时必须注重实践,理论知识是实践的基础,而实践是理论知识的体现。在今后的学习过程中,必须注重实践的重要性。 短短的两周单片机课程设计结束了,但是,自己似乎还沉醉在设计过程中一次次难题解决后的兴奋中,经过本次课程设计激起了自己对单片机的学习兴趣,希望自己以后能够有机会从事单片机方面的工作。最后,非常感谢在本次单片机课程设计过程的老师和同学的指导与帮助! 参考文献 1. 周向红 《51系列单片机应用与实践教程》北京:北京航空航天大学出版社,2008 2. 王迎旭 《单片机原理与应用》北京:机械工业出版社,2004 3. 公茂法 《单片机人机接口实例》北京:北京航空航天大学出版社,2006 4. 郭天祥 《51单片机C语言教程》北京:电子工业出版社,2010 5. 孙育才 《新型AT89S52系列单片机及其应用》 北京:清华大学出版 ,2005 附录A:程序清单 //数字电压表 #include #define uchar unsigned char #define uint unsigned int //数码管段码的定义 uchar code LEDData[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0X7D,0x07,0x7F,0x6F}; uchar code LEDData1[]={0xBF,0x86,0xDB,0xCF,0xE6,0xED,0XFD,0x87,0xFF,0xEF}; float tem; uint temp; //ADC0808引脚定义 sbit OE =P1^0; sbit EOC =P1^1; sbit ST =P1^2; sbit CLK =P1^3; //延时子程序 void DelayMS(uint ms) { uchar i; while(ms--) for(i=0;i<120;i++); } //0~5转化为0~51伏 void transfer(uchar getdata) { tem=getdata/255.0*51.0; temp=tem*100; } //显示转换结果 void Display_Result() { P2=0xF7; //第4只管显示小数点后第二位数 P0=LEDData[temp%10]; DelayMS(5); P2=0xFB; //第3只管显示小数点后第一位数 P0=LEDData[temp%100/10]; DelayMS(5); P2=0xFD; //第2只管显示个位数 P0=LEDData1[temp%1000/100]; DelayMS(5); P2=0xFE; //第1只管显示十位数 P0=LEDData[temp/1000]; DelayMS(5); } //主程序 void main() { TMOD=0x02; TH0=0x14; TL0=0x00; IE=0x82; TR0=1; P1=0x3F; //选择ADC0808的通道3(0111) //高4位设通道地址为0111(3),低4位为ST,EOC,OE等。 while(1) { ST=0; ST=1; ST=0; //启动转换 while(EOC==0); //等待转换结束 OE=1; //允许输出 transfer(P3); Display_Result(); //显示A/D转换结果 OE=0; //关闭输出 } } //T0定时器中断给ADC0808提供时钟信号 void Timer0_INT() interrupt 1 { CLK=!CLK; //ADC0808是时钟信号 } 附录B: 数字电压表电路原理图
本文档为【数字电压表(新)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_933836
暂无简介~
格式:doc
大小:254KB
软件:Word
页数:20
分类:建筑/施工
上传时间:2011-07-02
浏览量:27