单片机课程设计数字电压表_第1页
单片机课程设计数字电压表_第2页
单片机课程设计数字电压表_第3页
单片机课程设计数字电压表_第4页
单片机课程设计数字电压表_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、2014 2015学年 第2学期0例速曲完单片机应用技术课程设 计报告题目:数字电压表设计专业:12 自动化班级:1 班姓 名:指导教师:陆媛 宋洪儒电气工程学院20 15年 5月 15日ii任务书课题名称指导教师(职称)陆媛 宋洪儒执行时间2014 2015学年第2学期 第11周学生姓名学号承担任务吴伟1209111051软件仿真电路设计谈阳1209111039原理设计罗伟1209111034系统软件程序设计黄亚洲1209111020测试与调试设计目的1、进一步熟悉和掌握单片机的结构及工作原理。2、掌握单片机的接口技术及相关外围芯片的外特性,控制 方法。3、通过课程设计,掌握以单片机核心的电

2、路设计的基本方 法和技术,了解有美电路参数的计算方法。4、通过程序设计和仿真,逐步掌握模块化程序设计方法和 仿真软件的使用。5、通过完成一个包括电路设计和程序开发的完整过程,使 学生了解开发单片机应用系统的全过程,为今后从事相应打 卜基础。设计要求可以测量05v范围内的3路直流电压值。在4位led 数码管上轮流显示各路电压值或单路选择显示,其中3位led数码管显示电压值,显示范围为0.00v5.00v, 1位led数码管显示路数,3路分别为0-2。要求测量的最小分辨 率为0.02v。摘要随着电子科学技术、传感技术、自动控制技术和计算机技术的发展,电子测量成为广大电子工作者必须掌握的手段,对测量

3、的精度和功能的要求也越来越高,单片机技术作为计算机技术的一个分支广泛应用于工业控制、智能化仪器仪表、家用电器,甚至电子玩具等各个领域。本文介绍一种以at89s51单片机为 核心的数字电压测量电路,该电路采用icl7135高精度、双积分a/d转换电路, 测量范围直流0-2000伏,使用lcd160锻晶模块显示,并可以与pc机进行申 行通信。该电路设计新颖、功能强大、可扩展性强。18目录摘要 31引言 52设计原理及要求 62.1 数字电压表的实现原理 62.2 数字电压表的设计要求 63软件仿真电路设计 63.1 设计思路 63.2 仿真电路图 73.3 设计过程 83.4 at89c51的功能

4、介绍 83.5 adc0809的引脚及功能介绍 113.6 74ls373芯片的引脚及功能 133.7 led数码管的控制显示 134系统软件程序的设计 144.1 主程序 144.2 a/d转换子程序 164.3 中断显小程序 175使用说明与调试结果 186总结 18参考文献 19附录1源程序 20附录2仿真结果 23答辩记录及评分表 271引言在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的 测量最为经常。而且随着电子技术的发展, 更是经常需要测量高精度的电压, 所 以数字电压表就成为一种必不可少的测量仪器。数字电压表简称dvm它是采用数字化测量技术,把连续的模拟量转换

5、成不连续、离散的数字形式并加以显示的 仪表。由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而 得到广泛应用1。传统的指针式刻度电压表功能单一, 进度低,容易引起视差和视觉疲劳,因 而不能满足数字化时代的需要。采用单片机的数字电压表,将连续的模拟量如直 流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强, 可扩展性强、集成方便,还可与 pc实时通信。数字电压表是诸多数字化仪表的 核心与基础2。以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字 仪表及各种非电量的数字化仪表。目前,由各种单片机和a/d转换器构成的数字 电压表作全面深入的了解是很有必要的。最

6、近的几十年来,随着半导体技术、集成电路(ic)和微处理器技术的发展, 数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型4。数字电压表从1952年问世以来,经历了不断改进 的过程,从最早采用继电器、电子管和形式发展到了现在的全固态化、集成化(ic 化),另一方面,精度也从 0.01%-0.005%。目前,数字电压表的内部核心部件是 a/d转换器,转换的精度很大程度上影 响着数字电压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成 本这两个方面3。本文是以简易数字直流电压表的设计为研究内容, 本系统主要包括三大模块:转 换模块、数据处理模块及显

7、示模块。其中, a/d转换采用adc0808寸输入的模拟 信号进行转换,控制核心at89c5仙对转换的结果进行运算处理,最后驱动输出 装置led显示数字电压信号2设计原理及要求本设计是利用单片机 at89c51与adc0809设计一个数字电压表,测量0 5v之间的直流电压值,四位数码显示。2.1 数字电压表的实现原理adc0809是8位的a/d转换器。当输入电压为5.00v时,输出的数据值为 255 (0ffh),因此最大分辨率为 0.0196 (5/255)。adc0809具有8路模拟量输 入端口,通过3位地址输入端能从8路中选择一路进行转换。如每隔一段时间依 次轮流改变3位地址输入端的地址

8、,就能依次对 8路输入电压进行测量。led 数码管显示采用软件译码动态显示。通过按键选择可对8路循环显示,也可单路 显示,单路显示可通过按键选择显示的通道数。2.2 数字电压表的设计要求可以测量05v范围内的3路直流电压值。在4位led数码管上轮流显示 各路电压值或单路选择显示,其中 3位led数码管显示电压值,显示范围为 0.00v5.00v, 1位led数码管显示路数,3路分别为02 要求测量的最小分辨 率为0.02v。3软件仿真电路设计3.1 设计思路多路数字电压表应用系统硬件电路由单片机、a/d转换器、数码管显示电路和按键处理电路组成,由于 adc0808在进行a/d转换时需要有clk

9、信号,本 试验中adc0808的clk直接由外部电源提供为 500khz的方波。由于adc0809 的参考电压vref=vcc,所以转换之后的数据要经过数据处理,在数码管上显 示出电压值。实际显示的电压值(d/256*vref) adc0808采用逐次逼近法转换, 把模拟电压转换成16进制的d,由于是对直流电压05v进行采集,所以d对 应的电压为v0 ,我们的目的就是要把 v0显示在led显示器上,因为单片机不 好进行小数点计算,所以有:v0=2*d扩大了 100倍,扩大100倍后的结果高八位放寄存器b,低八位放寄存器a ,分寄存器b为0或不为0的情况进行存取数 据,得到的结果个位放入 r0,

10、十位放入r1,通过查表使之显示在led显示器3.2 仿真电路图用protues软件仿真设计的电路如图3-1所示c1i ,cteec2王u1 x1 u3oe甘he嵋| uh)0u73aleout?aoioqlffgmobqitt5addaouttomiitom116cirriiksii*bk113ih2gtahtik1用 bocki 口17ifiibibz1ztwdc he 二附ml1fmmmpd.w1f 口刘u工ximl2pq3fadj 阻,枷, p03wdsfcjj9ad6啊po.tndtfzwnlf胆p231qtteip23w11ale隔网2取万启灯 pz.7m15finp 1 1p3.1

11、it: paairmc12pupinm11,三utd,13p3st1fl后门丽1.p1j阳丽s1*111713旭r1a.ctest* .r*us*tijtcrh 16工ls1eoun&er二 f 匚k iffifu图3-1仿真电路3.3 设计过程系统结构框图系统采用12m晶振产生脉冲做at89c51的内部时钟信号,通过软件设置单 片机的内部定时器t0产生中断信号。利用中断设置单片机的p2.4 口取反产生脉 冲做at89c51的时钟信号。通过按键选择八路通道中的一路,将该路电压送入 adc0809相应通道,单片机软件设置 adc0809开始a/d转换,转换结束 adc0809的eoc端口产生高电

12、平,同时将 adc0809的eo端口置为高电平, 单片机将转换后结果存到片内 ram。系统调出显示子程序,将保存结果转化为 0.00-5.00v分别保存在片内ram;系统调出显示子程序,将转化后数据查表,输 出到led显示电路,将相应电压显示出来,程序进入下一个循环3.4 at89c51 的功能介绍3.4.1 简单概述at89c51是一种带4k字节闪存可编程可擦除只读存储器(fperom 一flash programmable and erasable read only memory)的低电压、高性能 cmos 8位微处理器,俗称单片机。 at89c51是一种带2k字节闪存可编 程可擦除只读

13、存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用 atmel高密度非易失存储器制造技术制造,与工业标 准的mcs-51指令集和输出管脚相兼容。由于将多功能8位cpu和闪烁存储器组合在单个芯片中,atmel的at89c51是一种高效微控制器,at89c2051是它的一种精简版本。at89c51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图3-2所示。u119xtal1p0.0/ad0p0.1/ad1p0.2/ad2xtal2p0.3/ad3p0.4/ad4p0.5/ad5p0.6/ad6rstp0.7/ad7p2.0/a8p2.1/a9p2

14、.2/a10psenp2.3/a11alep2.4/a12ea-p2.5/a13p2.6/a14p2.7/a15p1.0p3.0/rxdp1.1p3.1/txdp1.2p3.2/int0p1.3p3.3/intlp1.4p3.4/t0p1.5p3.5/t1p1.6p3.6/wrp1.7p3.7/rd39183837369353433322921222324302531261272810211312413514615716817at89c51图3-2 at89c51 芯片模型3.4.2 主要功能特性(1) 4k字节可编程闪烁存储器。(2) 32 个双向 i/o 口; 128x8 位内部 ram

15、。(3) 2个16位可编程定时/计数器中断,时钟频率0-24mhz(4)可编程串行通道。(5) 5个中断源。(6) 2个读写中断口线。(7)低功耗的闲置和掉电模式。(8)片内振荡器和时钟电路。3.4.3 at89c51的引脚介绍89c51单片机多采用 40只引脚的双列直插封装 (dip)方式,下面分别简单介绍(1)电源引脚电源引脚接入单片机的工作电源。vcc(40引脚):+5v电源。gnd(20弓|脚):接地。时钟引脚xtal1(19引脚):片内振荡器反相放大器和时钟发生器电路的输入端xtal2(20引脚):片内振荡器反相放大器的输出端。xtal2c1i卜xtai1gnd图3-3电源接入方式复

16、位rst(9引脚)在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。(4) ea/vpp(31 引脚)ea为外部程序存储器访问允许控制端。当它为高电平时,单片机读片内程 序存储器,在pc值超过0fffh后将自动转向外部程序存储器。当它为低电平时, 只限定在外部程序存储器,地址为 0000hffffh。vpp为该引脚的第二功能, 为编程电压输入端。(5)ale/ prog (30 引脚)ale为低八位地址锁存允许信号。在系统扩展时,ale的负跳沿江p0 口发 出的第八位地址锁存在外接的地址锁存器, 然后再作为数据

17、端口。 prog为该引 脚的第二功能,在对片外存储器编程时,此引脚为编程脉冲输入端。(6) psen (29 弓唧)片外程序存储器的读选通信号。在单片机读片外程序存储器时,此引脚输出 脉冲的负跳沿作为读片外程序存储器的选通信号。pin39-pin32为p0.0-p0.7输入输出月却,称为 p0 口。p0是一个8位漏极开路型双向i/o 口。内部不带上拉电阻,当外接上拉电 阻时,p0 口能以吸收电流的方式驱动八个 lsttl负载电路。通常在使用时外接 上拉电阻,用来驱动多个数码管。在访问外部程序和外部数据存储器时,p0 口 是分时转换的地址(低8位)/数据总线,不需要外接上拉电阻。(8)pin1-

18、pin8为p1.0-p1.7输入输出脚,称为p1 口,是一个带内部上拉电阻的 8 位双向i/o 口。p1 口能驱动4个lsttl负载。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输入输出

19、脚,称为 p3 口。p3 口是一个带内部上拉电阻的8位双向i/o 口,p2 口能驱动4个lsttl负 载,这8个引脚还用于专门的第二功能。端口置 1时,内部上拉电阻将端口拉到 高电平,作输入用。对内部flash程序存储器编程时,接控制信息。3.5 adc0809的引脚及功能介绍3.5.1 芯片概述adc0809是一种典型的a/d转换器。它是由8位a/d转换器,一个8路模 拟量开关,8位模拟量地址锁存译码器和一个三态数据输出锁存器组成;+5v单电源供电,转化 时间在100us左右;内部没有时钟电路,故需外部提供时钟 信号。芯片模型如图3-4所示。u126 二7indin1clock start1

20、0铝 4in27工in 3 in日eqcin5in60lit10ut2_212019 i_b口in70ut3qut425adda ut5gadd boutfi_li23addcout717ale0ut91_vref(+)vref(-)oe_2.ad co 80 h图3-4adc0808芯片模型3.5.2 引脚简介(1) in0in7 : 8路模拟量输入端。d0d7: 8位数字量输出端口。start: a/d转换启动信号输入端。(4) ale:地址锁存允许信号,高电平有效。(5) eoc:输出允许控制信号,高电平有效。(6) oe:输出允许控制信号,高电平有效。(7) clk :时钟信号输入端。

21、(8)a、b、c:转换通道地址,控制8路模拟通道的切换。a、b、c分别与地址线 或数据线相连,三位编码对应 8个通道地址端口,a、b、c=000111分别对应 in7in0通道的地址端口。3.5.3 adc0809的转换原理adc 0809采用逐次比较的方法完成 a/d转换,由单一的+5v电源供电。片 内带有锁存功能的8路选1的模拟开关,由a、b、c的编码来决定所选的通道。 adc0809完成一次转换需100仙s左右,它具有输出ttl三态锁存缓冲器,可直 接连接到at89c51的数据总线上。通过适当的外接电路, adc0809可对05v 的模拟信号进行转换。3.6 74ls373 芯片的引脚及

22、功能3.6.1 芯片概述74ls373是一种带有三态门的8d锁存器,其在本设计中是锁存p0 口的低8 位地址,芯片模型如图3-5所示。图3-5 74ls373芯片模型o 1234567 q q q q q qd1d233.6.2 弓|脚介绍(1) d0d7:8位数据输入线;(2) q0q7:8位数据输出线(3) g:数据输入锁存选通信号。当加到该引脚的信号为高电平时,外部数据选通 到冲锁存器,负跳变时,数据锁存到锁存器中。oe :数据输出允许信号,低电平有效。当该信号为低电平时,三态门打开,锁 存器中的数据输出到数据输出线上,当该信号为高电平时,输出线为高阻态。3.7 led数码管的控制显示3

23、.7.1 led数码管的模型led数码管模型如图3-6所示。图3-6 led数码管模型3.7.2 led数码管的接口简介led的段码端口 ag和dp分别接至 at89c51的p1.0p1.7 口,位选端 1 4 分另接至 p2.0、p2.1、p2.2、p2.34系统软件程序的设计多路数字电压表系统软件程序主要有主程序、a/d转换子程序和中断显示程序组成。4.1 主程序如下4.1图为程序软件设计流程图 其中(a)为主程序流程图,(b)为a/d转 换子程序流程图。开始初始化调用a/d转 换子程序(b) a/d转换子程序流程图(a)主程序流程图图4.1程序软件设计流程图其中a/d转换子程序是将080

24、9转化后的数字量,需通过转化子程序转化成工程量并通过查表送到 p1 口送给led显示。(1)初始化程序 给adc0809时钟脉冲信号,并指向 0809的0通道启动a/d转换,通 过延时等待8路采集完毕。(2)数据读入 控制0809芯片的ale、start、eoc和oe, strt为正脉冲 时转换开始,eoc为低电平时a/d转化结束,oe为高电平时转换结果送到数据 线并被单片机读入,ale为上升沿信号地址锁存允许clrp2.4setbp2.4clrp2.4jnbp2.5,$setbp2.6movxa,dptrmovadc,aclrp2.6(3)消抖 防抖动的时间是10ms。(4)通道转换 当判断

25、有按键按下后p3.2 口置位即允许74373地址锁存,d ptr加1指向下一通道。4.2 a/d转换子程序a/d转换子程序用于对 adc0809的4路输入模拟电压进行 a/d转换, 并将转换的数值存入4个相应的存储单元中,a/d转换子程序每隔一定时间调用一次,即隔一段时间对输入电压采样一次,如图 4-2所示图4-2转换子程序流程图4.3 中断显示程序设计中采用中断的方式来读取转换完成的数据能节省cpu的资源当系统设置好后,一旦数据转换完成,便会进入外部中断0,然后在中断中读取转换的数值,处理数据并送数码管显示输出。led数码管采用软件译码动态扫描的方式。在中断程序中包含多路循环显示程序和单路显

26、示程序,多路循环显示程序把4个存储单元的数值依次取出送到4个数码管上显示,每一路显示一秒。单路显示程序只对当前 选中的一路数据进行显示。 每路数据显示时需经过转换变成十进制bcd码,放于4个数码管显示缓冲区中。单路或多路循环显示通过标志位00h控制。在显示控制程序中加入了对单路或多路循环按键的判断。5使用说明与调试结果该数字电压表可以同时测量8路直流数据,电压表测量范围为 0.005.00v, 测量最小分辨率为19.5mv。整个系统由一个按钮控制,最左边个led显示器是指向当前通道,即电位器 编号。用proteus仿真中点play电压表默认显示第8通道即第8个电位器rv8 的测量值。第一次按下

27、按钮后,改变测量通道即第1通道rv1的值,第2下为第2通道, 依次循环测量8个电位器的电压值。选择其中任意电位器并拨动其位置能改变其值,最大值为5v,最小值为0v,在中间时为2.49v,单片机能读出并正确显示。经调试后该系统能达到目标要求。6总结经过一周左右的努力终于设计成功! !这次课程设计对我来说学到的不仅是那些知识,更多的是团队和合作。现在想来,也许学校安排的课程设计有着它更深层的意义吧,它不仅仅让我们综合那些理论知识来运用到设计和创新,还让我们知道了一个团队凝聚在一起时所能发 挥出的巨大潜能!在团队中,我们互帮互助,对整个课程设计来说,这是至关重 要的,缺少每一个人都会对我们的设计产生

28、影响。还有要感谢指导老师在我们遇到困难时,给予我们的建议与鼓励。在一个星期后的今天我已明白课程设计对我来说的意义,它不仅仅是让我 们把所学的理论知识与实践相结合起来, 提高自己的实际动手能力和独立思考的 能力,更重要的是同学问的团结,虽然我们这次花去的时间比别人多, 但我相信 我们得到的也会更多!发现、提出、分析、解决问题和实践能力的提高都会受益 于我在以后的学习、工作和生活中。在此向我们的单片机老师说声:谢谢!参考文献1、单片机原理与应用设计。电子工业出版社。张毅刚、彭喜元编著。2、单片机原理及接口技术。高等教育出版社。李全利主编。3、mcs-51系列单片机实用编程 88例。中国电力出版社。

29、贺哲荣、甄旭主编。20附录1源程序adc equ 50horg 0000hajmp mainorg000bhajmp eint0org0030h21main: mov tmod,#02h;初始化脉冲信号movth0,#250;movtl0,#250;setb easetb tr0setb et0mov r4,#8start1:mov dptr,#7ff0h ; 指向 0 通道movx dptr,a ;jbp3.4,aaa1lcall delay ;jbp3.4,aaa1 ;setb p3.2;p3.2inc r4cjne r4,#9,aaa2mov r4,#1aaa2: inc r5 ;inc

30、 dptr ;mov b,r5 ;mov p0,bclr p3.2jnb p3.4,$读取转换数值调用延时程序判断是否按下按钮并开始转换数值给高电平锁存地址显示所选通道指向下一通道显示通道并重新锁存地址aaa1: clrp2.4setb p2.4clr p2.4jnb p2.5,$setb p2.6movx a,dptr ;mov adc,aclr p2.6lcallconv ;lcall disp ;lcalldelay ;ljmp start1conv: mov a,adcmov b,#51div abmov r1,amov a,bmov b,#2mul abmov b,#10div ab

31、mov r2,amov r3,bretdisp:mov dptr,#tablemov a,r4movc a,a+dptrclr p2.3mov p1,a读取转换数据开始转化为工程量调用转换子程序调用显示子程序调用延时程序;数值转换子程序数码显示子程序lcall delay24setb p2.3mov a,r3movc a,a+dptrclr p2.0mov p1,alcall delaysetb p2.0mov a,r2movc a,a+dptrclr p2.1mov p1,alcall delaysetb p2.1mov a,r1movc a,a+dptrclr p2.2orl a,#80h

32、mov p1,alcall delaysetb p2.2reteint0:cpl p3.3retidelay:mov r6,#1; 延时 1ms 子程序d1: mov r7,#250djnz r7,$djnz r6,d1rettable:db 3fh,06h,5bh,4fh,66hdb 6dh,7dh,07h,7fh,6fh附录2仿真结果26pdoado fdl1md1 fd2fad2 p0i3ad3 ,dlgh fdsad5 pdu9ad6 pdltwd7pzjjae fiw虺pz2h1d f23a11 f工旗任 ipzm13 fzjffau ipztm15w 肛1欣pawnp3ato f3st1 叮即晒 pjjflt临iw卫oewefwvthwou ibale0107-m couts直m 1outsamaoirr*oe117out?1帕ominsin 4ciniinn号tmini痔1okindrm血熠nnnn uuuu:良t-r 出& = wt -一 :.ifli ._ -s -丁 .exzw 京-r- 1-点上 fo:&二ee- y lul fl-nr后曰 ic 号

温馨提示

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

评论

0/150

提交评论