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

下载本文档

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

文档简介

1、黑龙江东方学院本 科 生 毕 业 论 文(设 计)论文题目:基于单片机的交直流数字电压表的设计学 部 计算机 专 业 电气工程及自动化 姓 名 班 级 07级3班 学 号 指导教师 答辩日期 2011 年5月14日 基于单片机的交直流数字电压表的设计摘 要单片机是一种集成电路芯片,采用超大规模技术把具有数据处理能力(如算术运算,逻辑运算、数据传送、中断处理)的微处理器(CPU)。随着单片机技术的飞速发展,各种单片机蜂拥而至,单片机技术已成为一个国家现代化科技水平的重要标志。单片机可单独地完成现代工业控制所要求的智能化控制功能,这是单片机最大的特征。单片机控制系统能够取代以前利用复杂电子线路或数

2、字电路构成的控制系统,可以软件控制来实现,并能够实现智能化。现在单片机控制范畴无所不在,例如通信产品、家用电器、智能仪器仪表、过程控制和专用控制装置等等,观察独立分析、设计单片机的能力,以及实际编程技能。本课题主要解决A/D转换、数据处理及显示控制等三个模块。控制系统采用AT89S52单片机,A/D转换采用AD7236。关键词:A/D,AT89S52,ADC0809Design of digital voltmeter meter base on singlechipAbstractWith Chip Processor is a kind of chip of integrated circ

3、uit, adopt to exceed large-scale technology have data handling ability( such as arithmetic manipulation, logic is operational , data deliver and suspend handling) tiny processor ( CPU ). Along with Chip Processor technology develop fast, various Chip Processor come in great numbers, Chip Processor t

4、echnology has become a important sign of the national modern level of science and technology.Chip Processor can complete modern industrial control alone the intelligent control function that will beg, this is the feature of biggest Chip Processor. When Chip Processor control system can replace, usin

5、g the control system that complex electron Graduate the program of design is ;the design of digital volmeter ;. Check on our condition for the aspects such as Chip Processor technology and programming ability mainly. Observe actual programming ability as well as the ability of independent analysis a

6、nd design Chip Processor. This program solves the data handling and conversion of A/D mainly and shows the 3 modulars such as control. Control system adopts AT89S52 only flat machine, the conversion of A/D adopts ADC0809.Keywords: AT89S52, AD7236,ADC0809 目录 摘要Abstract第1章 绪论1 1.1数字电压表的发展概述1 1.2国内外研究现

7、状2 1.3课题的任务及意义2 1.3.1数字电压表的原理2第2章 系统的设计及原理4 2.1输入电路部分 4 2.2 真有效值转换电路5第3章 芯片介绍8 3.1AD736工作原理及管脚功能 8 3.1.1 典型应用电路8 3.1.2注意事项 10 3.1.3AD736的应用 10 3.2AT89S52概述 11 3.2.1引脚功能描述 11 3.3AD0809简介 13 3.3.1AD0809的逻辑结构13 3.3.2AD0809的工作原理 14 3.3.3AD0809应用说明15第四章 数字电压表的软件设计 16 4.1主程序设计16 4.2外中断服务程序16 4.3软硬件测试17基于单

8、片机的交直流数字电压表的设计第一章 绪论1.1数字电压表的发展综述数字电压表简称DVM,是采用数字化测量技术,把连续的模拟量转换成不连续的、离散的数字形式并加以显示的仪表。与传统的模拟式仪表比较,具有显示清晰直观,读数准确,测量范围宽,扩展功能强等优点。适用于数学实验演示及测控设备仪表等多种场合。数字电压表是诸多数字化仪表的核心与基础,电压表的数字化是将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,这有别于传统的以指针加刻度盘进行读数的方法,避免了读数的视差和视觉疲劳。目前数字万用表的内部核心部件是A/D转换器,转换器的精度很大程度上影响着数字万用表的准确度,本文A/D转换器采

9、用ADC0809对输人模拟信号进行转换,控制核心AT89S52再对转换的结果进行运算和处理,最后驱动输出装置显示数字电压信号。 模拟式电压表具有电路简单、成本低、测量方便等特点,但测量精度较差,特别是受表头精度的限制,即使采用0.5级的高灵敏度表头,读测时的分辨力也只能达到半格。再者,模拟式电压表的输入阻抗不高,测高内阻源时精度明显下降。数字电压表作为数字技术的成功应用,发展相当快。数字电压表(Digital VoIt Me-ter,DVM),以其功能齐全、精度高、灵敏度高、显示直观等突出优点深受用户欢迎。特别是以A/D转换器为代表的集成电路为支柱,使DVM向着多功能化、小型化、智能化方向发展

10、。DVM应用单片机控制,组成智能仪表;与计算机接口,组成自动测试系统。目前,DVM多组成多功能式的,因此又称数字多用表(Digital Multi Meter,DMM)。DVM是将模拟电压变换为数字显示的测量仪器,这就要求将模拟量变成数字量。这实质上是个量化过程,即将连续的无穷多个模拟量用有限个数字表示的过程,完成这种变换的核心部件是A/D转换器,最后用电子计数器计数显示,困此,DVM的基本组成是A/D转换器和电子计数器。DVM最基本功能是测直流电压,考虑到仪器的多功能化,可将其他物理量,如电阻、电容、交流电压、电流等,都变成直流电压,因此,还应有一个测量功能选择变换器,它包含在输入电路中。D

11、VM对直流电压直接测量时的测量精度最高,其他物理量在变换成直流电压时,受功能选择变换器精度的限制,测量精度有所下降。1.2 国内外研究现状传统的电压表功能单一、精度比较低,不能满足时代的需求,采用单片机的数字电压表精度高、抗干扰能力强,可扩展性强、集成方便 ,还可以与PC进行实时通信。目前,由各种单片A/D转化器构成的数字电压表,以被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,显示出强大的生命力。与此同时,由DVM扩展而成的各种通用及专用数字仪表仪器,也把电量及非电量测量技术提高到崭新水平。 数字电压表的设计和开发,已经有多种类型和款式。传统的数字电压表各有特点,它们

12、适合在现场做手工测量,要完成远程测量并要对测量数据做进一步处理,传统数字电压表是无法完成的。然而基于PC通信的数字电压表,既可以完成数据的传递,又可以借助PC对测量数据的处理。所以数字电压表无论在功能和实际上,都具有传统电压表无法比拟的特点,这使得他的开发和应用具有良好的前景。1.3课题的任务及意义1课题的任务(1)通过毕业设计进一步掌握单片机应用系统设计方法和调试过程。(2)掌握交直流电压表的设计方法。(3)掌握交直流调试方法。2课题的意义随着电子科学技术的发展,电子测量成为广大电子工作着必须掌握的手段,对测量的精度和功能的要求也越来越高,而电压的测量甚为突出,因为电压的测量最为普遍。本设计

13、利用单片机技术结合A/D转换芯片构建一个数字电压表。它量程宽,精度高,显示位数多,分辨率高,易与实现测量自动化,在现代测量中占据了巨大的地位。设计的实现能够用于改进或维修学校部分实验室损坏的数字电压表,因而本设计具有非常实际的意义。1.3.1 数字电压表的原理随着科学技术不断的发展,人们对直流电压表的要求也越来越高。本文通过对数字直流电压表的深入研究,分析现有直流电压表所存在的不足,针对这种情况,设计出一个更好的电路系统。本文首先简要地介绍设计的原理与结构,按照步骤,介绍硬件电路设计和软件设计过程,重点是硬件电路中选择芯片的介绍以及具体调试过程中的问题解决,再由单片机控制放大电路的选择,并且通

14、过芯片A/D7236将电压值显示在LED上通常电压表可由微安表(电流表的一种)或灵敏电流计来改装.在微安表满偏电流与内阻一定的情况下,只要串联一个足够大的电阻,则它两端所能承受的电压也将随之变大.不妨设满偏电流为I,而微安表内阻为r,而串联电阻的阻值为R,则该改装电压表的量程为I*(R+r).R越大,量程越大.此可以当作电压表为什么要串联一个大电阻的原因之一了。电压表工作时,是并联在待测电路或者电阻上的,这时电压表和电路两端的电压相等.如果电压表的电阻不可忽略,则电压表和待测电阻组成并联电路的总阻值为:1/R并=1/R待测+1/R电压表当且只当电压表的内阻无限大的时候可以认为1/R电压表=0则

15、可认为并联电路的阻值即是待测电阻的阻值,即可认为通过电压表的电流为0,认为电压表的两端不参与到电路之中的.所以为了精准地测出电路电压,电压表必须得有极大的电阻,否则便不可忽略,测得的值便不准确.当然我们也可以同样认为,任何电压表都是不可能不参与到电路中,也不可能是绝对准确的,它所测得的电压值总是会比真实值低一点的.(这是因为并联电阻总是比任一个并联电路中的电阻小,故而并联以后电路分压必定减少.)当然另外必须考虑的一点是,电压表的量程并不是越大就越好的,因为人的读数总是存在偏差的,量程越大,则读数可能带来的绝对偏差越大.只要适合量程的电压表就好了。第二章 系统设计及原理本设计以单片机为电路的核心

16、部件,采用软件编程和硬件相结合的方式设计了一种量程可以自动切换且具有高清晰度显示的数字式交直流电压表,其硬件电路简单,主要用软件编程的方式检测输入信号的大小来实现数字电压表的量程自动切换功能,在硬件电路上通过发光二极管来显示被测电压所选着的档位。输入的模拟电压通过A/D转换模块将其转换成数字电压,在通过软件编程的方式使其在LED数码显示器上显示出来,实现了数字电压表的数字显示功能。双积分ADC的基本原理是对输入模拟电压和参考电压分别进行两次积分,将输入电压平均值变成与之成正比的时间间隔,然后利用时钟脉冲和计数器测出此时间间隔,进而得到相应的数字量输出。由于该转换电路是对输入电压的平均值进行变换

17、,所以它具有很强的抗工频干扰能力,在数字测量中得到广泛应用。说明电路将模拟电压转换为数字量的基本原理模拟电压信号经过档位切换到不同的分压电路衰减后,经隔离干扰通过转换开关控制,若测量直流电压值直接送到A/D转换电路进行A/D转换,若测量交流电压有效值经真有效值转换器后送A/D转换电路进行A/D转换,然后送到单片机中进行数据处理。处理后的数据送到LED中显示,同时通过串行通讯与上位机通信。如图2-1所示。输入电源有效值转换A/D转换电源AT89S52单片机LED显示通讯模块 图 2-1系统框图2.1输入电路部分 AT89S52与MCS-51单片机产品兼容 、8K字节在系统可编程Flash存储器、

18、1000次擦写周期、 全静态操作:0Hz33Hz 、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器 八个中断源 、全双工UART串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针 、掉电标识符。途中分别是有三个电容C5 C6 C7和1个10K的电阻,还有AT89S52组成的电压表的输入电路部分,跟据开关的闭合来选则量程。(如下图)AT90S52输入部分2.2真有效值转换电路真有效值转换器AD736 AD736是经过激光修正的单片精密真有效值AC/DC转换器。其主要特点是准确度高。灵敏性好(满量程为200mvRMS),测量速率快,频率性特好(

19、工作频率范围可达0460kHZ),输入阻抗高,输出阻抗低,电源范围宽且功耗低最大的工作电流为200Ua,用它来测量正弦波电压的综合误差不超过2%。 2.3真有效值转换器AD736应用电路 图2-2为双电源供电时的典型应用电路,该电路的+Vs与接地,-Vs与街地之间均应并联一只0.01uF的电容以便滤掉该电路中的高频干扰。C2起隔直作用。若将1脚与8脚短接而使C2失效,则选择的就是AC+DC的方式;去掉短路线,即为AC方式。在设计过程中通过一个开关可以选择测量的交流信号为AC+DC方式值还是AC方式值。R1为限流电阻,D1,D2为双向限幅二极管,起超过圧保护作用,可选IN4148高速开关二极管。

20、 图2-2双电源供电时的典型应用电路第三章 芯片介绍3.1AD736工作原理及管脚功能AD736 的内部框图如图3-1所示。它主要由输入放大器、全波整流器、有效值单元(又称有效值芯子RMS CORE)、偏置电路、输出放大器等组成。芯片的2脚为被测信号VIN输入端,工作时,被测信号电压加到输入放大器的同相输入端,而输出电压经全波整流后 送到RMS单元并将其转换成代表真有效值的直流电压,然后再通过输出放大器的Vo端输出。偏置电路的作用是为芯片内部各单元电路提供合适的偏置电压。图3-1 AD736的内部框图3.1.1典型应用电路AD736 有多种应用电路形式。图3-2为双电源供电时的典型应用电路,该

21、电路中的+Vs与COM、-Vs与COM之间均应并联一只0.1F的电容以便滤掉该电路中的 高频干扰。Cc起隔直作用。若按图中虚线方向将1脚与8脚短接而使Cc失效,则所选择的就是AC+DC方式;去掉短路线,即为AC方式。R为限流电阻, D1、D2为双向限幅二极管,超过压保护作用,可选IN4148高速开关二极管图3-2 AD736在双电源高阻抗工作时的应用电路 图3-3为采用9V电池的供电电路。R1、R2为均衡电阻,通过它们可使VCOM=E/2=4.5V.C1、C2为电源滤波电容。上述图4和图8电路均为高阻抗输入方式,适合于接高阻抗的分压器。图3-3采用9V的高阻抗应用电路图3-4和图3-5分别为低

22、阻抗输入方式时,用双电源供电和采用9V单电源供电时的典型应用电路。图3-4双电源低阻抗应用电路图3-5 9V电池低阻抗供应电路3.1.2注意事项图3-5是由AD736构成的简单RMS仪表组成框图。图3-6是由单片机8098和AD736等芯片组成的可测量交直流有效值的智能化RMA仪表组成框图。图3-6 AD736构成的简单RMS仪表组成框图3.1.3AD736的应用(1)当被测交流电压超过200mVRMS时,必须在AD736前加一级分压器,以将被测电压衰减到200mV以内。在采用AD736典型电路制作RMS仪表时,可在 AD736的输出端接1.0级、200mV直流毫伏表,或接3位半数字电压表(D

23、VM)。也可利用典型的500型万用表的直流电压档,加上AD736的典型应用电路改制成RMS仪表,AD736应用电路的电源可取自万用表内的9V电池。(2)若要测量交流电流的真有效值, AD736应在前面加一级分流器。此时应用AD736可选图6所示电路。(3)设计高精度真有效值RMS时,还应考虑被 测电压的波峰因素Kp(波峰因K是被测信号的峰值与真有效值之比)的影响.因此应适当增大CAV的容量,以延长取平均值的时间,从而减少由 Kp2所引起的附加误差。AD736是经过激光修正的单片精密真有效值 AC/DC转换器。其主要特点是准确度高、灵敏性好(满量程为200mVRMS)、测量速率快、频率特性好(工

24、作频率范围可达0460kHz)、输入阻 抗高、输出阻抗低、电源范围宽且功耗低最大的电源工作电流为200A.用它来测量正弦波电压的综合差不超过3%3.2 AT89S52 概述:(1)AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。AT89S52使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,AT89S52拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。(2)A

25、T89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止3.2.1 引脚功能描述 VCC : 电源GND : 地10P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻

26、辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计

27、数器2的触发输入(P1.1/T2EX),具体如下图所示。在flash编程和校验时,P1口接收低8位地址字节。引脚号第二功能P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5 MOSI(在系统编程用)P1.6 MISO(在系统编程用)P1.7 SCK(在系统编程用)P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱东4个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(II

28、L)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 AT89S52引脚图 3.

29、3AD0809的简介3.3.1 AD0809 的逻辑结构 ADC0809 是8 位逐次逼近型A/D转换器。它由一个8路模拟开关、一个地址锁存译码器、一个A/D 转换器和一个三态输出锁存器组成(见下图)。多路开关可选通8个模拟通道,允许8 路模拟量分时输入,共用A/D 转换器进行转换。三态输出锁器用于锁存A/D 转换完的数字量,当OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据。 ADC0809结构图3.3.2 AD0809 的工作原理 IN0IN7:8 条模拟量输入通道 ADC0809 对输入模拟量要求:信号单极性,电压范围是05V,若信号太小,必须进行放大;输入的模拟量在转换过程中

30、应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。 地址输入和控制线:4条ALE 为地址锁存允许输入线,高电平有效。当ALE 线为高电平时,地址锁存与译码器将ABC 三 条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B 和C 为地址输入线,用于选通IN0IN7 上的一路模拟量输入。通道选择表如下表所示。 C B A 选择的通道 0 0 0 IN0 0 0 1 IN1 0 1 0 IN2 0 1 1 IN3 1 0 0 IN4 1 0 1 IN5 1 1 0 IN6 1 1 1 IN7 数字量输出及控制线:11 条 ST 为转换启动信号。当ST 上跳

31、沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST 应保持低电平。EOC 为转换结束信号。当EOC 为高电平时,表明转换结束;否则,表明正在进行A/D 转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE1,输出转换得到的数据;OE0,输出数据线呈高阻状态。D7D0 为数字量输出线。CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,REF(),VREF()为参考电压输入。 3.3.3 AD0809 应用说明 (1) ADC0809 内部带有输出锁存器,可以与AT89S51 单片机

32、直接相连。 (2) 初始化时,使ST 和OE信号全为低电平。 (3) 送要转换的哪一通道的地址到A,B,C 端口上。 (4) 在ST 端给出一个至少有100ns 宽的正脉冲信号。 (5) 是否转换完毕,我们根据EOC 信号来判断。 (6) 当EOC变为高电平时,这时给OE 为高电平,转换的数据就输出给单片机了。第四章 数字电压表的软件设计软件程序设计的关键在单片机控制AD0809转换的数字量如何送LED显示。当档位开关到相应位置,则单片机P1.4-P1.7相应位为0,单片机通过检测哪位位0判断当前档位控制显示数值。主程序完成初始化,启动A/D转换,检测档位,数据显示,AT89S52的外中断/I

33、NT0工作在边沿触发方式。外中断0的中断服务程序完成转换数据读出,处理工作。4.1主程序的设计主程序的初始化主要包括:显示单元70H-75H送初值0,为信息00H-05H清0,中断初始化等。P1.3=1启动转换信号后单片机检测档位,显示数据等待中断请求信号。流程图如图13主程序初始化启动A/D转换检测档位 数据显示 等待中断图13 主程序框图检测测量档位的子程序是以程序扫描方式不断检测P1.4-P1.7口,哪一位为低电平则选中对应档位,调整显示的小数点位数。显示子程序是以动态扫描方式进行数据显示。4.2外中断服务程序当/STB来下降沿触发/INT0,产生中断请求,单片机响应中断执行中断服务。中

34、断服务首先完成读取测量数据,再判断极性。测量数据通过R2的内容判断第一次中断则数据送70H,直至第五次中断送75H,对R2清0,则一次的测量结束。等待下次测量。流程图如图14外中断服务读测量数据保护现场电压极性为正?R2=N00H=1显负数送71H数送72H数送73H数送74H数送75HR2清0恢复现场中断返回图14 流程图4.3软硬件测试首先单片机最小系统的设计几乎都是统一的, AT89S52接线灵活,IO口的设置具有多样性,用杜邦线将彩屏与单片机学习板按照电路原理图连接好,经过不断的软件,硬件的反复修改,最终实现了软件编写的目标功能!软件测试基于单片机的交直流数字电压表的设计,AD736芯

35、片简化了硬件电路设计的同时也无形加大了软件编写的复杂程度,为方便程序的调试和提高效率,故将软件编写分模块进行,先将实时时钟模块一步步调试,按照时序图将读写函数写好后,会显示秒部分,并准时走,但所测量的数据不够准确,有一些误差。经检查发现与AD736芯片本身的量程有关,因为电压衰减产生误差,经过不断调节,已把误差缩小到2%。结 论文章的创新点在与突破传统的指针式电压表设计,采用以单片机AT89S52为核心的新型数字式电压表设计方案,其具有精度高,测量准确可靠,性价比高等特点,同时采用A/D736组成的转换电路使得系统结构简单,性价比高,整个方案较好地完成了数字式电压表的设计。本次设计的误差有电压

36、衰减产生误差和测交流有效值时AD736转换误差,测量正弦波电压的综合误差不超过2%.由于AD736的满量程为200mv,影响了整个设计的量程和精度。同时使用AT89S52进行数据控制、处理、送到显示器显示,硬件结构简单,软件采用汇编语言实现,程序简单、可读写性强、效率高。与传统的电路相比,具有处理速度快、稳定性高、性价比高的优点。经过将近三周的单片机课程设计,终于完成了我的基于单片机的交直流数字电压表的设计,虽然没有完全达到设计要求,但从心底里说,还是高兴的,毕竟这次设计把实物都做了出来,高兴之余不得不深思呀!在本次设计的过程中,我发现很多的问题,虽然以前还做过这样的设计但这次设计真的让我长进

37、了很多,单片机课程设计重点就在于软件算法的设计,需要有很巧妙的程序算法,虽然以前写过几次程序,但我觉的写好一个程序并不是一件简单的事,有好多的东西,只有我们去试着做了,才能真正的掌握,只学习理论有些东西是很难理解的,更谈不上掌握。从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高,这就是我在这次课程设计中的最大收获。致 谢感谢我的老师姜斌!本论文从选题构思、资料收集到修改定稿,无不凝聚着老师的心血。正是老师的辛勤劳动,我才有了今天的成绩!古语有云“师者,传道,授业,解惑者也”,陈

38、伟老师广泛渊博的学识、严谨细致的治学态度、一丝不苟的工作作风和积极进取的事业精神,都使我受益匪浅。陈伟老师的悉心教诲,使我在学术专业方面有了一定的提高,更为重要的是,老师在治学为人上的那份执著和热诚,也深深地影响着我,并将鼓励我在未来的路上不断地探索、前进!感谢郑载满老师、王艳老师、齐伯文老师、张俊杰老师和林玉江老师,他们的教诲,换来了我对专业知识的系统掌握!感谢所有给以我支持和帮助的朋友、同学们!最后,感谢在百忙之中审阅本文的专家、老师们附录一PCB图附录二主要程序*PROJECT NAME:DIGITAL TIMER*DESCRIPTION:ADJUST THE TIME BY PRESS

39、 THE 4X4 KEYS *HAB_RDWARE:P0-Digitron&FLASH, P2-4X4KEYS P3.2-LED SHOWS THE KEY IS PRESSING P3.7-LED SHOWS THE KEY WAS RELEASE*PROGRAMMER:andy *DATA:2009-06-16 21:50*COPYRIGHT:andys design-hourse All Right Reserved*QQ: */ PORT EQU P1 ;数据接口B_WR EQU P2.0B_RD EQU P2.1B_CS EQU P2.2B_FLAG BIT 00H R_CONVER

40、 EQU 30HR_TEMP EQU 31HR_VALUEH EQU 32H ;高位R_VALUEL EQU 33H R_VALUEM EQU 34H ;低位R_DISP0 EQU 35HR_DISP1 EQU 36HR_DISP2 EQU 37HR_DISP3 EQU 38HR_DATA1 EQU 39H ;要显示数据临时存放区R_DS_COUNT EQU 3AH ;显示位选择R_DEL0 EQU 3BHR_DEL1 EQU 3CH;- ORG 0000HAJMP L_MAINORG 0003H;lJMP F_INT0RETI ORG 000BHlJMP F_TIMER0ORG 0013HR

41、ETIORG 001BHRETI/*FUCTION:MAINPROGRAMER:ANDYVER:A*/ORG 0040H L_MAIN: MOV TMOD,#11H MOV TH0,#HIGH(65536-55536) MOV TL0,#LOW(65536-55536) SETB EA SETB ET0 SETB TR0 ;SETB EX0SETB B_CSSETB B_WR SETB B_RD MOV SP,#70H MOV R0,#35H CLR B_FLAG MOV R_DATA1,#00H MOV R_VALUEH,#00H MOV R_VALUEM,#00H MOV R_VALUEL

42、,#00H MOV R_DISP0,#00HMOV R_DISP1,#00H MOV R_DISP2,#00H MOV R_DISP3,#00H MOV R3,#0FFH MOV R6,#4 MOV R0,#32H L_LOOP: LCALL F_STARTLCALL F_ADUSTLCALL F_DELAYAJMP L_LOOP /*FUCTION:ADUST*/ F_ADUST:MOVA,R_CONVERANLA,#0F0H;屏蔽低4位SWAPA;高低4位交换MOVB,#2MULABMOVR7,AMOVDPTR,#TAB_HIGHTMOVCA,A+DPTR;查表得到百位MOVR_VALUE

43、H,AMOVA,R7INCAMOVCA,A+DPTR;MOVR_VALUEM,AMOVA,R_CONVERANLA,#0FHMOVDPTR,#TAB_LOWMOVCA,A+DPTRADDA,R_VALUEMDAAMOVR_VALUEL,AMOVA,R_VALUEHADDCA,#00MOVR_VALUEH,A MOV A,R_VALUELANL A,#0FHMOV R_DISP0,AMOV A,R_VALUELANL A,#0F0HSWAP AMOV R_DISP1,A MOV A,R_VALUEHANL A,#0FHMOV R_DISP2,AMOV A,R_VALUEHANL A,#0F0HS

44、WAP AMOV R_DISP3,ARET ;*;FUNCUTION:START CONVERT;*F_START: CLR B_CS ;启动 NOP NOP NOP CLR B_WR NOP NOP NOP NOP NOP NOP SETB B_WR NOP NOP SETB B_CS NOP NOP NOP LCALL F_DELAY ;等待LCALL F_DELAYLCALL F_DELAYLCALL F_DELAYCLRB_CS ;读取转换后的数字量NOPNOPNOPCLRB_RDNOPNOPNOPNOPNOPNOPMOV R_CONVER,PORTMOV P3,R_CONVERSETBB_RDSETBB_CSRET ;*;FUCOTION :INTERRUPT FOR TIMER0 & DISPLAY THE TIME NOW;*F_TIMER0:PUSH ACCPUSH PSWCLR TR0 MOV TH0,#HIGH(65536-1000)MOV TL0,#LOW(65536-1000)SETB TR0MOV A,R0 ;数据ANL A,#0FHMOV R_DATA1,AINC R3 ;位INC R0MOV A,R3ANL A,#0FH SWAP AORL A,R_DATA1MOV P0,AD

温馨提示

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

评论

0/150

提交评论