单片机数字电压表设计.doc

上传人:仙人指路1688 文档编号:4147395 上传时间:2023-04-07 格式:DOC 页数:28 大小:415.50KB
返回 下载 相关 举报
单片机数字电压表设计.doc_第1页
第1页 / 共28页
单片机数字电压表设计.doc_第2页
第2页 / 共28页
单片机数字电压表设计.doc_第3页
第3页 / 共28页
单片机数字电压表设计.doc_第4页
第4页 / 共28页
单片机数字电压表设计.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《单片机数字电压表设计.doc》由会员分享,可在线阅读,更多相关《单片机数字电压表设计.doc(28页珍藏版)》请在三一办公上搜索。

1、唐 山 学 院 单片机原理及应用 课 程 设 计 题 目 单片机数字电压表设计 系 (部) 信息工程系 班 级 10通信本2 姓 名 jinke 学 号 4100214236 指导教师 _ 2013 年 1 月 2 日至 1 月 6 日 共 1 周 单片机原理及应用 课程设计任务书一、设计题目、内容及要求设计题目:单片机数字电压表设计设计内容及要求:(1)可以测量05V的8路直流电压。 (2)在LED数码管上显示测量电压值,显示范围为0.00V5.00V,一位LED数码管显示路数,8路轮流显示。(3)拓展部分:通过控制键可以改变显示模式,8通道轮流显示或单路选择显示。(4)其他功能,创新部分(

2、自定)。二、设计原始资料Proteus,KEIL三、要求的设计成果(课程设计说明书、设计实物、图纸等) 设计结果在计算机上能正确仿真;设计说明书一份(包括硬件原理电路、源程序清单等)四、进程安排周一:利用proteus完成硬件电路绘制周二:编写各部分应用程序周三:程序组合并调试周四:编写设计说明书周五:答辩五、主要参考资料 1、何立民主编,单片机中级教程,北京航空航天大学出版社。2、张毅刚主编,单片机原理与应用设计,电子工业出版社。指导教师(签名):教研室主任(签名):课程设计成绩评定表出勤情况出勤天数 缺勤天数成绩评定出勤情况及设计过程表现(20分)课设答辩(20分)设计成果(60分)总成绩

3、(100分)提问(答辩)问题情况第二组:1. A/D转换器与单片机之间数据传输是采用何种方法,写出相应的程序段。2. A/D转换器中的start信号,eoc信号和oe信号的功能分别是什么?程序中如何控制信号的。3. 7段数码管选用的是共阴极还是共阳极数码管?多个数码管显示时采用何种方法,简述程序设计思路,写出程序段。4. 在设计中选用了几个数码管?数码管的位码和段码分别和单片机的那些引脚相连?综合评定 指导教师签名: 年 月 日目 录1引言12 单片机简介22.1 概述22.2 发展历史22.3 基本结构32.3.1 运算器32.3.2 控制器32.3.3 主要寄存器43 硬件设计及其工作原理

4、53.1 数字电压表主要器件53.1.1 单片机AT89C5153.1.2 芯片ADC080873.1.3 七段数码管简介83.2 数字电压表电路设计93.2.1处理器电路93.2.2 A/D转换电路103.3 控制电路103.4 显示电路113.5 整体电路图设计114 数字电压表软件设计135 软件仿真145.1 Proteus ISIS软件简介145.1.1 Proteus ISIS启动145.1.2 Proteus ISIS工作界面155.2 Keil软件简介155.3 利用Proteus ISIS仿真与调试166 总结18参考文献19附 录201 引言数字电压表的基本工作原理是利用A

5、/D转换电路将待测的模拟信号转换成数字信号,通过相应换算后将测试结果以数字形式显示出来的一种电压表。较之于一般的模拟电压表,数字电压表具有精度高、测量准确、读数直观、使用方便等优点。在测量仪器中,电压表是必须的,而且电压表的好坏直接影响到测量精度。具有一个精度高、转换速度快、性能稳定的电压表才能符合测量的要求。为此,我们设计了数字电压表,此作品主要由A/D0808转换器和单片机AT89C51构成,A/D转换器在单片机的控制下完成对模拟信号的采集和转换功能,最后由数码管显示采集的电压值。电压表的数字化测量,关键在于如何把随时连续变化的模拟量转化成数字量,完成这种转换的电路叫模数转换器(A/D)。

6、数字电压表的核心部件就是A/D转换器,由于各种不同的A/D转换原理构成了各种不同类型的DVM。一般说来,A/D转换的方式可分为两类:积分式和逐次逼近式。积分式A/D转换器是先用积分器将输入的模拟电压转换成时间或频率,再将其数字化。根据转化的中间量不同,它又分为U-T(电压-时间)式和U-F(电压-频率)式两种。逐次逼近式A/D转换器分为比较式和斜坡电压式,根据不同的工作原理,比较式又分为逐次比较式及零平衡式等。斜坡电压式又分为线性斜坡式和阶梯斜坡式两种。在高精度数字电压表中,常采用由积分式和比较式相结合起来的复合式A/D转换器。本设计以AT89C51单片机为核心,以逐次比较型A/D转换器ADC

7、0808、七段数码管为主体,构造了一款简易的数字电压表,能够实现自动和手动测量8路0.005.00V的直流电压,最小分辨率为0.02V。2 单片机简介2.1 概述2.1单片机芯片单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发

8、提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。它最早是被用在工业控制领域。由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,当时的单片机都是8位或4位的。其中最成功的是INTEL的8031,此后在8031上发展出了MCS51系列单片机系统。因为简单可靠而性能不错获得了很大的好评。尽管2000年以后ARM已经发展出了32位的主频超过300M的高端单片机,直到目前基

9、于8031的单片机还在广泛的使用。在很多方面单片机比专用处理器更适合应用于嵌入式系统,因此它得到了广泛的应用。事实上单片机是世界上数量最多处理器,随着单片机家族的发展壮大,单片机和专用处理器的发展便分道扬镳。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。 汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量因此远超过PC机和其他计算的总和。单片机作为计算机发展的一个重要分支领域,根据目前发展情况,从不同角度单片机大致可以分为通用型/专用型、总线型

10、/非总线型及工控型/家电型。2.2 发展历史单片机诞生于1971年,经历了SCM、MCU、SoC三大阶段,早期的SCM单片机都是8位或4位的。其中最成功的是INTEL的8031,此后在8031上发展出了MCS51系列MCU系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力

11、比起80年代提高了数百倍。目前,高端的32位Soc单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。2.3 基本结构2.3.1 运算器运算器由运算部件算术逻辑单元(Arithmetic & Logical Unit,简称ALU)、累加器和寄存器等几部分组成。ALU的作用是把传来的数据进行算术或逻辑运算,输入来源为两个8

12、位数据,分别来自累加器和数据寄存器。ALU能完成对这两个数据进行加、减、与、或、比较大小等操作,最后将结果存入累加器。例如,两个数6和7相加,在相加之前,操作数6放在累加器中,7放在数据寄存器中,当执行加法指令时,ALU即把两个数相加并把结果13存入累加器,取代累加器原来的内容6。运算器有两个功能:1. 执行各种算术运算。2. 执行各种逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。运算器所执行全部操作都是由控制器发出的控制信号来指挥的,并且,一个算术操作产生一个运算结果,一个逻辑操作产生一个判决。2.3.2 控制器控制器由程序计数器、指令寄存器、指令译码器、时序发生器和操作控制器等组成,

13、是发布命令的“决策机构”,即协调和指挥整个微机系统的操作。其主要功能有:1. 从内存中取出一条指令,并指出下一条指令在内存中的位置。2. 对指令进行译码和测试,并产生相应的操作控制信号,以便于执行规定的动作。3. 指挥并控制CPU、内存和输入输出设备之间数据流动的方向。微处理器内通过内部总线把ALU、计数器、寄存器和控制部分互联,并通过外部总线与外部的存储器、输入输出接口电路联接。外部总线又称为系统总线,分为数据总线DB、地址总线AB和控制总线CB。通过输入输出接口电路,实现与各种外围设备连接。2.3.3 主要寄存器1. 累加器A累加器A是微处理器中使用最频繁的寄存器。在算术和逻辑运算时它有双

14、功能:运算前,用于保存一个操作数;运算后,用于保存所得的和、差或逻辑运算结果。2. 数据寄存器DR数据寄存器通过数据总线向存储器和输入/输出设备送(写)或取(读)数据的暂存单元。它可以保存一条正在译码的指令,也可以保存正在送往存储器中存储的一个数据字节等等。3. 指令寄存器IR和指令译码器ID指令包括操作码和操作数。指令寄存器是用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存中取到数据寄存器中,然后再传送到指令寄存器。当系统执行给定的指令时,必须对操作码进行译码,以确定所要求的操作,指令译码器就是负责这项工作的。其中,指令寄存器中操作码字段的输出就是指令译码器的输入。4. 程序计

15、数器PCPC用于确定下一条指令的地址,以保证程序能够连续地执行下去,因此通常又被称为指令地址计数器。在程序开始执行前必须将程序的第一条指令的内存单元地址(即程序的首地址)送入PC,使它总是指向下一条要执行指令的地址。5. 地址寄存器AR地址寄存器用于保存当前CPU所要访问的内存单元或I/O设备的地址。由于内存与CPU之间存在着速度上的差异,所以必须使用地址寄存器来保持地址信息,直到内存读/写操作完成为止。显然,当CPU向存储器存数据、CPU从内存取数据和CPU从内存读出指令时,都要用到地址寄存器和数据寄存器。同样,如果把外围设备的地址作为内存地址单元来看的话,那么当CPU和外围设备交换信息时,

16、也需要用到地址寄存器和数据寄存器。3 硬件设计及其工作原理3.1 数字电压表主要器件 本次课程设计是以AT89C51单片机为控制核心,以A/D转换器ADC0808为数据采样系统,实现被测电压的数据采样;用共阴数码管显示结果的简易数字电压表,能够实现8路0.005.00V的直流电压,最小分辨率为0.02V。3.1.1 单片机AT89C51AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器

17、件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图3-1所示:图3-1 AT89C51单片机引脚图AT89C51引脚介绍: 4个8位的I/O引脚,P0,P1,P2,P3 P0口(P0.0-P0.7):8位双向三态I/O口线,既可作普通I/O口,也可作数据/低 8位地址总线。 P1口(P1.0-P1.7):8位准双向三态I/O口线,作普通I/O口。P2口(P2.0-

18、P2.7):8位准双向三态I/O口线,既可作普通I/O口,也可作数据/高8位地址。 表3-1 P3口引脚第二个功能P3口(P3.0-P3.7):8位准双向三态I/O口线,既可作普通I/O口,另外每个引脚还有第二个功能。如下表所示:端口引脚第二功能P3.0RXDP3.1TXDP3.2INT0P3.3INT1P3.4T0P3.5T1P3.6WRP3.7RDP3口还接收一些用于闪烁存储器编程和程序校验的控制信号。RST:复位输入。当震荡器工作时,RET引脚出现两个机器周期以上的高电平将使单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE输出脉冲用于锁存地址的低8位字节。即使不访

19、问外部存储器,ALE以时钟震荡频率的1/16输出固定的正脉冲信号,因此它可对输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲时,闪烁存储器编程时,这个引脚还用于输入编程脉冲。如果必要,可对特殊寄存器区中的8EH单元的D0位置禁止ALE操作。这个位置后只有一条MOVX和MOVC指令ALE才会被应用。此外,这个引脚会微弱拉高,单片机执行外部程序时,应设置ALE无效。PSEN:程序储存允许输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器读取指令时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器时,这两次有效的PSEN

20、信号不出现。EA/VPP:外部访问允许。欲使中央处理器仅访问外部程序存储器,EA端必须保持低电平。需要注意的是:如果加密位LBI被编程,复位时内部会锁存EA端状态。如EA端为高电平,CPU则执行内部程序存储器中的指令。闪烁存储器编程时,该引脚加上+12V的编程允许电压VPP,当然这必须是该器件是使用12V编程电压VPP。XTAL1:震荡器反相放大器及内部时钟发生器的输入端。XTAL2:震荡器反相放大器的输出端。VCC:电源电压 GND:地3.1.2 芯片ADC0808本电路采用芯片ADC0808来进行模数转换。其引脚图如图3-2所示:图3-2 ADC0808引脚图利用ADC0808作为AD数据

21、采样器件, ADC0808是CMOS单片型逐次逼近式A/D转换器它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型D/A转换器、逐次逼近。ADC0808的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。ADC0808各个管脚功能:IN0IN7:8路模

22、拟量输入端。ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路D0D7:8位数字量输出端。ALE:地址锁存允许信号,输入,高电平有效。START: A/D转换启动信号,输入,高电平有效。EOC: A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。REF(+)、REF(-):基准电压。ADC0808内部结构图:逐次逼近型A/D转换器ADC0808由八路模拟开关、地址

23、锁存与译码器、比较器、D/A转换器、寄存器、控制电路和三态输出锁存器等组成。其内部结构如图3-3所示。图3-3 ADC0808内部结构3.1.3 七段数码管简介7段LED数码管,是在一定形状的绝缘材料上,利用单只LED组合排列成“8”字型的数码管,分别引出它们的电极,点亮相应的点划来显示出0-9的数字。如图1-6。 LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。右图是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。 将多只LED的阴极连在一起即为

24、共阴式,而将多只LED的阳极连在一起即为共阳式。以共阴式为例,如把阴极接地,在相应段的阳极接上正电源,该段即会发光。当然,LED的电流通常较小,一般均需在回路中接上限流电阻。假如将b和c段接上正电源,其它端接地或悬空,那么b和c段发光,此时,数码管显示将显示数字“1”。而将a、b、d、e和g段都接上正电源,其它引脚悬空,此时数码管将显示“2”。依此类推。图3-4 7段LED数码管3.2 数字电压表电路设计3.2.1 处理器电路主处理器采用AT89C51单片机,外接A/D转换电路,控制电路和显示电路。其工作原理是从ADC0808中采集电压的数字量并把它转换为十进制量,将其在LED上显示出来。单片

25、机还接受控制电路的控制,以改变显示模式和切换测试通道。图3-5 单片机系统电路3.2.2 A/D转换电路本次设计共采集八路模拟电压值,占用IN0、IN1、IN2、IN3、IN4、IN5、IN6、IN7单个通道。时钟由单片机提供矩形波。正负基准电压分别为+5V和0V。EOC与P2.5相连,以查询的方式通知单片机转换完成。以P2.4控制START和ALE,控制其开始转换和地址锁存。以P2.6控制模数转换器的输出。电路图如图3-6所示。图3-6 A/D转换电路3.3 控制电路控制电路主要的作用是控制显示模式和切换测试通道。按键BUTTON接P3.4口,功能是切换通道;开关SWITCH接P3.5口,通

26、过查询的方式来间接控制LED是按通道循环显示电压还是只显示某一通道的值。其电路图如图3-7所示。 图3-7 控制电路3.4 显示电路图4 控制电路本显示电路采用共阴极4位8段数码管。段码由单片机的P1口控制,位码由P2.0、P2.1、 P2.2 、P2.3四个端口控制。很明显采用的是动态显示方式。其中第一位显示通道数,后三位显示电压值,有两位小数。电路图如图3-8所示。图3-8 显示电路3.5 整体电路图设计整体电路如下图所示,左上角的八组变化电压分时输入ADC0808经AT89C51控制进行模数转换将转换的数值用数码管显示出来。控制电路控制是否自动循环显示及手动循环显示。电路图如图3-9所示

27、。图3-9 系统总电路图4 数字电压表软件设计根据硬件电路编写相应的程序,实现电压的采集、转换、处理、显示几个功能,从而实现测量电压的效果。另外利用外部中断一实现通道的手动和自动之间的转换,这是本软件设计的思想。具体程序参见附录一。主设计流程如图4-1。图4-1 数字电压表程序设计流程要实现的功能有:1. 可以测量05V范围内的8路直流电压值。2. 在4位LED数码管上轮流显示各路电压值或单路选择显示,其中3位LED数码管显示电压值,显示范围为0.00V5.00V,1位LED数码管显示路数,8路分别为0-7。3. 测量最小分辨率为0.02V。5 软件仿真5.1 Proteus ISIS软件简介

28、Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围

29、芯片。提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。5.1.1 Proteus ISIS启动双击桌面上的ISIS 6 Professional图标或者单击屏幕左下方的“开始”“程序”“Proteus 6 Professional” “ISIS 6 Professional”,出现如图3-1所示屏幕,表明进入P

30、roteus ISIS集成环境。图5-1 启动时的屏幕5.1.2 Proteus ISIS工作界面Proteus ISIS的工作界面是一种标准的Windows界面,如图3-2所示。包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。图5-2 Proteus ISIS的工作界面5.2 Keil软件简介1. 系统概述 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语

31、言后再使用C来开发,体会更加深刻。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。 2. Keil C51单片机软件开发系统的整体结构 C51工具包的整体结构,如图(1)所示,其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真

32、等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。 使用独立的Keil仿真器时,注意事项: (1) 仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。 (2) 仿真器上的复位按钮只复位仿真芯

33、片,不复位目标系统。 (3) 仿真芯片的31脚(/EA)已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。5.3 利用Proteus ISIS仿真与调试将汇编程序经Keil编译后生成的.HEX文件装入到AT89C51中对其仿真,将Switch开关打开,数码管将循环显示八个通道的电压值;将Switch开关闭合,Button按钮控制通道切换。分别将滑动变阻器位于不同位置得到不同阻值分别在数码上显示出来。闭合switch开关,按动button,显

34、示不同通道电压值,并将该路电压值与电压表显示电压值比较,得到如下图。图5-3电压表显示不同通道电压值图5-4八路电压值循环显示仿真图 由图本数字电压表测量的误差都在0.02V以内,精度高,反应快,可以完成对多路电压的测试。6 总结做了一周的课程设计,我基本上圆满的完成了课设的相关任务,达到了课程设计的技术要求,相信这对以后也是有帮助的。通过课程设计这一实践环节,我对这个学期以来所学到知识有了更深层的理解,而且自己分析问题和解决实际问题的能力也有一定的提高。同时在这个过程中我也发现了自己许多的不足,包括对所学的基础知识理解不是很透彻,以至于电路设计了很长时间,最后还得连夜赶着写课程设计论文。本设

35、计以AT89C51单片机为控制核心,通过集成摸数转换芯片ADC0808将被测信号转换成数字信号,经单片机内部程序处理后,由七段数码管显示测量结果。仿真测试表明,系统性能良好,测量读数稳定易读、更新速度合理,直流电压测量范围为0.005.00V,最小分辨率为0.02V,满足任务书指标要求。认真的做完这次课程设计实践后,我自己感觉在这些都有了很大的提高。但由于时间原因,这次课程设计没能达到自己预想那么好,但所幸的是功夫不负有心人,所有功能指标都已基本实现了。在接下来的时间里,我会继续把它做好。最后我还总结出了一个结论,当认真的投入到一项工作中时,不但会得到许多收获,还会感觉到很大的乐趣。最后在此再

36、次向带领我们这次课程设计的老师说声:谢谢!参考文献1 何立民主编.单片机中级教程(第二版).北京航空航天大学出版社,2006.102 张毅刚主编.单片机原理与应用设计.电子工业出版社,2008.43 吴金戌,沈庆阳,郭庭吉.8051单片机实践与应用.北京:清华大学出版社,2002.94 汪德彪.MCS-51单片机原理及接口技术(第二版).北京:电子工业出版社,2009.6附 录;源程序ADCEQU50HORG 0000HAJMP MAINORG 000BHAJMP NT0ORG 0030HMAIN:LCALL CLK ;初始化MOV R4,#7CLR F0START2:MOV R0,#50ST

37、ART1:MOV DPTR,#7FF0H ;指向0通道 MOVX DPTR,A ;读取转换数值 JB P3.5,LOOP4;控制显示方式JB P3.4,AAA1 ;按一下显示下一路 SETB F0LCALL DELAY ;调用延时程序LJMP LOOP3LOOP4: JB F0,AAA1 LOOP3:SETB P3.2 ;P3.2给高电平锁存地址MOV A,R4;控制地址ORL A,DPLMOV DPL,A INC R4 ;显示所选通道 CJNE R4,#8,AAA2 MOV R4,#0 AAA2: INC DPTR ;指向下一通道 MOV P0,R4 CLR P3.2 JNB F0,AAA1

38、JNB P3.4,$LJMP LOOP1AAA1: DJNZ R0,LOOP2;循环显示时,每一路循环显示50次CLR F0LJMP START2LJMP LOOP1LOOP2:SETB F0LOOP1:CLR P2.4 ;启动A/D转换 SETB P2.4 CLR P2.4 JNB P2.5,$ SETB P2.6;锁存地址 MOVX A,DPTR ;读取转换数据开始转化为工程量 MOV ADC,A CLR P2.6 LCALL CONV ;调用转换子程序LOOP: LCALL DISP ;调用显示子程序 LCALL DELAY ;调用延时程序 LJMP START1 CONV:MOV A,

39、ADC ;数值转换子程序 MOV B,#51DIV ABMOV R1,AMOV A,BMOV B,#2MUL ABMOV B,#10DIV ABMOV R2,AMOV R3,B RETIDISP:MOV DPTR,#TABLE ;数码显示子程序 MOV A,R4 MOVC A,A+DPTR CLR P2.0 MOV P1,A LCALL DELAY SETB P2.0 MOV A,R3 MOVC A,A+DPTR CLR P2.3 MOV P1,A LCALL DELAY SETB P2.3 MOV A,R2 MOVC A,A+DPTR CLR P2.2 MOV P1,A LCALL DELA

40、Y SETB P2.2 MOV A,R1 MOVC A,A+DPTR CLR P2.1 MOV P1,ASETB P1.7 LCALL DELAY SETB P2.1;显示小数点 RETCLK: MOV TMOD,#02H; ;初始化脉冲信号 MOV TH0,#245; MOV TL0,#245; SETB EA SETB TR0 SETB ET0NT0:CPL P3.3 RETIDELAY:MOV R6,#1 ;延时子程序DELAY1: MOV R7,#250DJNZ R7,$ DJNZ R6,DELAY1 RETTABLE: DB 3FH,06H,5BH,4FH,66H;制表程序 DB 6DH,7DH,07H,7FH,6FH END

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号