基于单片机的数字电压表的设计毕业设计(论文)word格式.doc

上传人:文库蛋蛋多 文档编号:4022509 上传时间:2023-04-01 格式:DOC 页数:29 大小:754KB
返回 下载 相关 举报
基于单片机的数字电压表的设计毕业设计(论文)word格式.doc_第1页
第1页 / 共29页
基于单片机的数字电压表的设计毕业设计(论文)word格式.doc_第2页
第2页 / 共29页
基于单片机的数字电压表的设计毕业设计(论文)word格式.doc_第3页
第3页 / 共29页
基于单片机的数字电压表的设计毕业设计(论文)word格式.doc_第4页
第4页 / 共29页
基于单片机的数字电压表的设计毕业设计(论文)word格式.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《基于单片机的数字电压表的设计毕业设计(论文)word格式.doc》由会员分享,可在线阅读,更多相关《基于单片机的数字电压表的设计毕业设计(论文)word格式.doc(29页珍藏版)》请在三一办公上搜索。

1、河南科技学院 2010 届本科毕业设计设计题目:基于单片机的数字电压表的设计学生姓名: 所在院系: 所学专业: 导师姓名: 完成时间: 2011-05-25 摘要本文介绍了一种基于单片机的简易数字电压表的设计。该设计主要由三个模块组成:A/D转换模块,数据处理模块及显示模块。A/D转换主要由芯片ADC0832来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。数据处理则由芯片AT89C51来完成,其负责把ADC0832传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外,它还控制着ADC0832芯片工作。该系统的数字电压表电路简单,所用的元件较少,成本

2、低,且测量精度和可靠性较高。此数字电压表可以测量0-5V的1路模拟直流输入电压值,并通过一个四位一体的7段数码管显示出来。 关键词 单片机;数字电压表;A/D转换;AT89C51;ADC0832Design of Simple Digital Voltmeter Based on Single-chip Microcontroller Abstract This paper which introduces a kind of simple digital voltmeter is based on single-chip microcontroller design. The circuit

3、 of the voltage meter is mainly consisted of three mould pieces: A/D converting mould piece, A/D converting is mainly completed by the ADC0832, it converts the collected analog data into the digital data and transmits the outcome to the manifestation controlling mould piece. Data processing is mainl

4、y completed by the AT89C51 chip, it processes the data produced by the ADC0832 chip and generates the right manifestation codes, also transmits the codes to the manifestation controlling mould piece. Also, the AT89C51 chip controls the ADC0832 chip to work. The voltmeter features in simple electrica

5、l circuit, lower use of elements, low cost, moreover, its measuring precision and reliability. The voltmeter is capable of measuring voltage inputs from 1 route ranging from 0 to 5 volt, and displaying the measurements though a digital code tube of 7 pieces of LED.Keywords Single-chip microcontrolle

6、r; Digital voltmeter; A/D converter; AT89C51; ADC0832 目录1绪论12设计总体方案22.1设计要求22.2设计思路22.3设计方案23硬件电路设计33.1单片机最小系统电路33.2 ADC0832介绍63.2.1 ADC0832 主要特点73.2.2 ADC0832管脚介绍73.2.3单片机对ADC0832的控制原理83.3 LED数码管103.3.1 LED数码管的主要技术参数103.3.2 LED数码管的引脚说明113.3.3 LED数码管编码说明123.4单片机最小系统电路133.5 AD0832电路143.6四位数码管显示电路143.

7、7 电路原材料清单153.8使用工具及仪表清单164软件设计174.1程序设计总方案174.2 系统子程序设计174.2.1 初始化程174.2.2 AD转换子程序174.2.3显示子程序185电压表的调试及性能分析195.1调试与测试195.2 性能分析196总结20参考文献21谢辞22附录23附录一程序源代码23附录二电路图271.绪论在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的

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

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

10、行转换,控制核心AT89C51再对转换的结果进行运算处理,最后驱动输出装置LED显示数字电压信号。2 设计总体方案2.1设计要求 以MCS-51系列单片机为核心器件,组成一个简单的直流数字电压表。采用1路模拟量输入,能够测量0-5V之间的直流电压值。电压显示用4位一体的LED数码管显示,至少能够显示两位小数。 尽量使用较少的元器件。 2.2 设计思路 根据设计要求,选择AT89C51单片机为核心控制器件。A/D转换采用ADC0832实现。电压显示采用4位一体的LED数码管。LED数码的段码输入,由并行端口P2产生:位码输入,用并行端口P0产生。2.3 设计方案硬件电路设计由6个部分组成; A/

11、D转换电路,AT89C51单片机系统,LED显示系统、时钟电路、复位电路以及测量电压输入电路。硬件电路设计框图如图1所示。 时钟电路 复位电路A/D转换电路测量电压输入显示系统AT89C51 P1 P0 P 2 图1 数字电压表系统硬件设计框图3.硬件电路设计3.1单片机的介绍40个引脚,4k bytes flash片内程序存储器,128 bytes的随机存取数据存储器(ram),32个外部双向输入/输出(i/o)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(wdt)电路,片内时钟振荡器。AT89S52单片机是一种低功耗高性能的CMOS8位微控制

12、器,内置8KB可在线编程闪存。该器件采用Atmel公司的高密度非易失性存储技术生产,其指令与工业标准的80C51指令集兼容。片内程序存储器允许重复在线编程,允许程序存储器在系统内通过SPI串行口改写或用同用的非易失性存储器改写。通过把通用的8位CPU与可在线下载的Flash集成在一个芯片上,AT89S52便成为一个高效的微型计算机。它的应用范围广,可用于解决复杂的控制问题,且成本较低。其结构框图如图3.1所示。图3.1 AT89S52结构框图图3.2 AT89S52 此外,AT89S52设计和配置了震荡频率可为12MHZ并可通过软件设置省电模式。空闲模式下,cpu暂停工作,而ram定时计数器,

13、串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存ram的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有pdip、tqfp和plcc等三种封装形式,以适应不同产品的需求。主要功能特性: 兼容mcs-51指令系统 4k可反复擦写(1000次)isp flash rom 32个双向i/o口 4.5-5.5v工作电压 2个16位可编程定时/计数器 时钟频率0-33mhz 全双工uart串行中断口线 128x8bit内部ram 2个外部中断源 低功耗空闲和省电模式 中断唤醒省电模式 3级加密位 看门狗(wdt)电路 软件设置空闲和省电功能 灵活的isp字节和分页编程 双数据寄存器

14、指针按照功能,AT89S52的引脚可分为主电源、外接晶体振荡或振荡器、多功能I/O口、控制和复位等。1.多功能I/O口AT89S52共有四个8位的并行I/O口:P0、P1、P2、P3端口,对应的引脚分别是P0.0 P0.7,P1.0 P1.7,P2.0 P2.7,P3.0 P3.7,共32根I/O线。每根线可以单独用作输入或输出。P0端口,该口是一个8位漏极开路的双向I/O口。在作为输出口时,每根引脚可以带动8个TTL输入负载。当把“1”写入P0时,则它的引脚可用作高阻抗输入。当对外部程序或数据存储器进行存取时,P0可用作多路复用的低字节地址/数据总线,在该模式,P0口拥有内部上拉电阻。在对F

15、lash存储器进行编程时,P0用于接收代码字节;在校验时,则输出代码字节;此时需要外加上拉电阻。P1端口,该口是带有内部上拉电阻的8位双向I/O端口,P1口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写“1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。P1口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在对Flash编程和程序校验时,P1口接收低8位地址。另外,P1.0与P1.1可以配置成定时/计数器2的外部计数输入端(P1.0/T2)与定时/计数器2的触发输入端(P1.0/T2EX),如图3.3所示。端口引脚复用功能P1.0T2

16、(定时器/计算器2的外部输入端)P1.1T2EX(定时器/计算器2的外部触发端和双向控制)P1.5MOSI(用于在线编程)P1.6MISO(用于在线编程)P1.7SCK(用于在线编程)图3.3 P1口管脚复用功能 P2端口,该口是带有内部上拉电阻的8位双向I/O端口,P2口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写“1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。P2口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在访问外部程序存储器或16位的外部数据存储器时,P2口送出高8位地址,在访问8位地址的外部数据存储器时,P2口引脚

17、上的内容(就是专用寄存器(SFR)区中P2寄存器的内容),在整个访问期间不会改变。在对Flash编程和程序校验期间,P2口也接收高位地址或一些控制信号。 P3端口,该口是带有内部上拉电阻的8位双向I/O端口,P3口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写“1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。P3口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在AT89S52中,同样P3口还用于一些复用功能,如表3.2所列。在对Flash编程和程序校验期间,P3口还接收一些控制信号。端口引脚复用功能P3.0RXD(串行输入口)P3

18、.1TXD(串行输出口)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(定时器0的外部输入)P3.5T1(定时器1的外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)图3.4 P3端口引脚与复用功能表2.RST 复位输入端。在振荡器运行时,在此脚上出现两个机器周期的高电平将使其单片机复位。看门狗定时器(Watchdog)溢出后,该引脚会保持98个振荡周期的高电平。在SFR AUXR(地址8EH)寄存器中的DISRTO位可以用于屏蔽这种功能。DISRTO位的默认状态,是复位高电平输出功能使能。3.ALE/PROG 地址锁存允许信号。在存取

19、外部存储器时,这个输出信号用于锁存低字节地址。在对Flash存储器编程时,这条引脚用于输入编程脉冲PROG。一般情况下,ALE是振荡器频率的6分频信号,可用于外部定时或时钟。但是,在对外部数据存储器每次存取中,会跳过一个ALE脉冲。在需要时,可以把地址8EH中的SFR寄存器的0位置为“1”,从而屏蔽ALE的工作;而只有在MOVX或MOVC指令执行时ALE才被激活。在单片机处于外部执行方式时,对ALE屏蔽位置“1”并不起作用。4.PSEN 程序存储器允许信号。它用于读外部程序存储器。当AT89S52在执行来自外部存储器的指令时,每一个机器周期PSEN被激活2次。在对外部数据存储器的每次存取中,P

20、SEN的2次激活会被跳过。5.EA/Vpp 外部存取允许信号。为了确保单片机从地址为0000HFFFFH的外部程序存储器中读取代码,故要把EA接到GND端,即地端。但是,如果锁定位1被编程,则EA在复位时被锁存。当执行内部程序时,EA应接到Vcc。在对Flash存储器编程时,这条引脚接收12V编程电压Vpp。6.XTAL1 振荡器的反相放大器输入,内部时钟工作电路的输入。7.XTAL2 振荡器的反相放大器输出。3.2 ADC0832介绍ADC0832 是美国国家半导体公司生产的一种 8 位分辨率、双通道 A/D 转换芯片。由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经

21、有很高的普及率。学习并使用 ADC0832 可是使我们了解 A/D 转换器的原理,有助于我们单片机技术水平的提高。3.2.1 ADC0832 主要特点 8位分辨率; 双通道A/D转换; 输入输出电平与TTL/CMOS相兼容; 5V电源供电时输入电压在05V之间; 工作频率为250KHZ,转换时间为32S; 一般功耗仅为15mW; 8P、14PDIP(双列直插)、PICC 多种封装; 商用级芯片温宽为0C to +70C,工业级芯片温宽为40C to +85C;3.2.2 ADC0832管脚介绍图3.5 ADC0832引脚图 CS_ 片选使能,低电平芯片使能。 CH0 模拟输入通道0,或作为IN

22、+/-使用。 CH1 模拟输入通道1,或作为IN+/-使用。 GND 芯片参考0 电位(地)。 DI 数据信号输入,选择通道控制。 DO 数据信号输出,转换数据输出。 CLK 芯片时钟输入。 Vcc/REF 电源输入及参考电压输入(复用)。ADC0832 为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在05V之间。芯片转换时间仅为32S,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过DI 数据输入端,可以轻易的实现通道功

23、能的选择。3.2.3单片机对ADC0832 的控制原理正常情况下 ADC0832 与单片机的接口应为 4 条数据线,分别是 CS、CLK、DO、DI。但由于 DO 端与 DI 端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将 DO 和 DI 并联在一根数据线上使用。(见图 3)当 ADC0832 未工作时其 CS 输入端应为高电平,此时芯片禁用,CLK 和DO/DI 的电平可任意。当要进行 A/D 转换时,须先将 CS 使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端 CLK 输入时钟脉冲,DO/DI 端则使用 DI 端输入

24、通道功能选择的数据信号。在第 1 个时钟脉冲的下沉之前 DI 端必须是高电平,表示启始信号。在第 2、3 个脉冲下沉之前 DI 端应输入 2 位数据用于选择通道功能,其功能项见图3.6。图3.6 ADC0832功能图如图3.5 所示,当此 2 位数据为“1”、“0”时,只对 CH0 进行单通道转换。当 2 位数据为“1”、“1”时,只对 CH1 进行单通道转换。当 2 位数据为“0”、“0”时,将 CH0 作为正输入端 IN+,CH1 作为负输入端 IN-进行输入。当 2 位数据为“0”、“1”时,将 CH0 作为负输入端 IN-,CH1 作为正输入端 IN+进行输入。到第 3 个脉冲的下沉之

25、后 DI 端的输入电平就失去输入作用,此后 DO/DI端则开始利用数据输出 DO 进行转换数据的读取。从第 4 个脉冲下沉开始由 DO端输出转换数据最高位 DATA7,随后每一个脉冲下沉 DO 端输出下一位数据。直到第 11 个脉冲时发出最低位数据 DATA0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第 11 个字节的下沉输出 DATD0。随后输出 8 位数据,到第 19 个脉冲时数据输出完成,也标志着一次 A/D 转换的结束。最后将 CS 置高电平禁用芯片,直接将转换后的数据进行处理就可以了。更详细的时序说明请见图3.6。图3.7ADC0832时序图作为单通道模

26、拟信号输入时 ADC0832 的输入电压是 05V 且 8 位分辨率时的电压精度为 19.53mV。如果作为由 IN+与 IN-输入的输入时,可是将电压值设定在某一个较大范围之内,从而提高转换的宽度。但值得注意的是,在进行 IN+与 IN-的输入时,如果 IN-的电压大于 IN+的电压则转换后的数据结果始终为00H。3.3 LED数码管 3.3.1 LED数码管主要技术参数图3.8 数码管数码管使用条件:a、段及小数点上加限流电阻b、使用电压:段:根据发光颜色决定; 小数点:根据发光颜色决定c、使用电流:静态:总电流 80mA(每段 10mA);动态:平均电流 4-5mA 峰值电流 100mA

27、上面这个只是七段数码管引脚图,其中共阳极数码管引脚图和共阴极的是一样的,4位数码管引脚图数码管使用注意事项说明:()数码管表面不要用手触摸,不要用手去弄引角;()焊接温度:度;焊接时间:()表面有保护膜的产品,可以在使用前撕下来。3.3.2 LED数码管的引脚说明这类数码管可以分为共阳极与共阴极两种,共阳极就是把所有LED的阳极连接到共同接点com,而每个LED的阴极分别为a、b、c、d、e、f、g及dp(小数点);共阴极则是把所有LED的阴极连接到共同接点com,而每个LED的阳极分别为a、b、c、d、e、f、g及dp(小数点),如下图所示。图中的8个LED分别与上面那个图中的ADP各段相对

28、应,通过控制各个LED的亮灭来显示数字。图3.9 共阳数码管内部结构图3.10 共阴数码管内部结构对于单个数码管来说,从它的正面看进去,左下角那个脚为1脚,以逆时针方向依次为110脚,左上角那个脚便是10脚了,上面两个图中的数字分别与这10个管脚一一对应。注意,3脚和8脚是连通的,这两个都是公共脚。 还有一种比较常用的是四位数码管,内部的4个数码管共用adp这8根数据线,为人们的使用提供了方便,因为里面有4个数码管,所以它有4个公共端,加上adp,共有12个引脚,下面便是一个共阴的四位数码管的内部结构图(共阳的与之相反)。引脚排列依然是从左下角的那个脚(1脚)开始,以逆时针方向依次为112脚,

29、下图中的数字与之一一对应。图3.11位共阳数码管内部结构3.3.3数码管编码说明 4位数码管编码说明,如图3.12所示:P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0eddpcgbfa00010100028H111101011EBH20011001032H310100010A2H411100001E1H510100100A4H60010010024H711101010EAH80010000020H910100000A0HH0110000161HL001100013DH-11110111F7HC001111003CH图3.12 控制命令表3.4单片机最小系统电路图3.13 单片

30、机最小系统(1) 单片机9脚接复位电路,可按复位按钮S1给单片机复位。(2) 晶振采用12MHZ。(3) 由于单片机只访问片内Flash ROM并执行内部程序存储器中的指令,因此单片机的31脚接高电平VCC。3.5 ADC832电路。图3.14 ADC0832电路ADC0832的1脚片选接P1.3,2脚通道0接电位器的抽头,4脚接低,5脚和6脚是数据接P1.2,7脚时钟接P1.0,8脚接VCC。3.6 四位数码管显示电路图3.15 数码管显示电路4位数码管为共阳管,由于单片机输出电流比较小,故用4个PNP型的三极管9015来驱动数码管。单片机输出低电平时三极管导通,使数码管的4各公共端1、4、

31、5和12脚为高电平,此时数码管的数据端输入低电平后数码管被点亮,120欧电阻R12到R19为三极管的限流电阻。3.7电路原材料清单序号名称型号单位数量备注1电阻1K支12电阻200支53传感器支4电阻510支85电阻5.6K支16电阻10K支47晶振12MHz支18普通电容33pF支29电解电容10uF/50V支1105号电池节311小按钮支412三极管9012支4三极管9013支1蜂鸣器支数码管支单片机S2支3.8使用工具及仪表清单序号名称型号单位数量备注万用表块內热式电烙铁焊锡丝若干直流稳压电源台编程烧写器台导线若干4 软件设计4.1 程序设计总方案 根据模块的划分原则,将该程序划分初始化

32、模块,A/D转换子程序和显示子程序,这三个程序模块构成了整个系统软件的主程序,如图4.1所示。开始初始化调用A/D转换子程序调用显示子程序结束图4.1 数字式直流电压表主程序框图4.2 系统子程序设计4.2.1 初始化程序所谓初始化,是对将要用到的MCS_51系列单片机内部部件或扩展芯片进行初始工作状态设定,初始化子程序的主要工作是设置定时器的工作模式,初值预置,开中断和打开定时器等。4.2.2 A/D转换子程序A/D转换子程序用来控制对输入的模块电压信号的采集测量,并将对应的数值存入相应的内存单元,其转换流程图如图4.2所示。开始启动转换A/D转换结束?输出转换结果数值转换显示结束图4.2

33、A/D转换流程图4.2.3 显示子程序显示子程序采用动态扫描实现四位数码管的数值显示,在采用动态扫描显示方式时,要使得LED显示的比较均匀,又有足够的亮度,需要设置适当的扫描频率,当扫描频率在70HZ左右时,能够产生比较好的显示效果,一般可以采用间隔10ms对LED进行动态扫描一次,每一位LED的显示时间为1ms。在本设计中,为了简化硬件设计,主要采用软件定时的方式,即用定时器0溢出中断功能实现11s定时,通过软件延时程序来实现5ms的延时。 5电压表的调试及性能分析5.1 调试与测试本设计应用Proteus6及KEIL51软件,首先根据自己设计的电路图用Proteus6软件画出电路模型,关于

34、这个软件的使用通过查一些资料和自己的摸索学习;然后我们用KEIL51软件对所编写的程序进行编译、链接,如果没有错误和警告便可生成程序的hex文件,将此文件加到电路图上使软硬件结合运行,最后进行端口电压的对比测试,测试的第一路对比见图5.1中标准电压值采用Proteus6软件中的模拟电压表测得。 图5.1从图中可以看出,简易数字电压表与“标准”数字电压表测得的绝对误差均在0.02V以内,这与采用8位A/D转换器所能达到的理论误差精度相一致,在一般的应用场合可以完全满足要求。5.2 性能分析由于单片机为8位处理器,当输入电压为5.00V时,输出数据值为255(FFH)因此单片机最大的数值分辨率为0

35、.0196V(5/255)。这就决定了该电压表的最大分辨率(精度)只能达到0.0196V。测试时电压数值的变化一般以0.02V的电压幅度变化,如要获得更高的精度要求,应采用12位、13位的A/D转换器。简易数字电压表测得的值基本上均比标准值偏大0.01-0.02V。这可以通过校正0832的基准电压来解决,因为该电压表设计时直接用7805的供电电源作为基准电压,电压可能有偏差。另外可以用软件编程来校正测量值。6.总结经过一段时间的努力,毕业论文-基于单片机的简易数字电压表基本完成。但设计中的不足之处仍然存在。这次设计是我第一次设计电路,并用Proteus实现了仿真。在这过程中,我对电路设计,单片

36、机的使用等都有了新的认识。通过这次设计学会了Proteus和Keil软件的使用方法,掌握了从系统的需要、方案的设计、功能模块的划分、原理图的设计和电路图的仿真的设计流程,积累了不少经验。基于单片机的数字电压表使用性强、结构简单、成本低、外接元件少。在实际应用工作应能好,测量电压准确,精度高。系统功能、指标达到了课题的预期要求、系统在硬件设计上充分考虑了可扩展性,经过一定的改造,可以增加功能。本文设计主要实现了简易数字电压表测量一路电压的功能,详细说明了从原理图的设计、电路图的仿真再到软件的调试。通过本次设计,我对单片机这门课有了进一步的了解。无论是在硬件连接方面还是在软件编程方面。本次设计采用

37、了AT89C51单片机芯片,与以往的单片机相比增加了许多新的功能,使其功能更为完善,应用领域也更为广泛。设计中还用到了模/数转换芯片ADC0832,以前在学单片机课程时只是对其理论知识有了初步的理解。通过这次设计,对它的工作原理有了更深的理解。在调试过程中遇到很多问题,硬件上的理论知识学得不够扎实,对电路的仿真方面也不够熟练。 总之这次电路的设计和仿真,基本上达到了设计的功能要求。在以后的实践中,我将继续努力学习电路设计方面的理论知识,并理论联系实际,争取在电路设计方面能有所提升。参考文献1 李朝青.单片机原理及接口技术(简明修订版).杭州:北京航空航天大学出版社,19982 李广弟.单片机基

38、础.北京:北京航空航天大学出版社,19943 阎石.数字电子技术基础(第三版). 北京:高等教育出版社,19894 石东海等.单片机数据通信技术从入门到精通.西安:西安电子科技大学出版社, 2002.148150. 5 王忠飞,胥芳MCS一51单片机原理及嵌入式系统应用M.西安:西安电子科技大学出版社,2007P268-2736蔡朝洋,单片机控制实习与专题制作M.北京:北京航空航天大学出版社,20067张毅刚,彭喜源,谭晓昀等.MSC-51单片机应用设计M.哈尔滨:哈尔滨工业大学出版社,19998周坚.单片机C语言轻松入门M.北京:北京航空航天大学出版社,20069李全利,迟荣强.单片机原理及

39、接口技术M.北京:高等教育出版社,200410梅丽凤,王艳秋.单片机原理及接口技术(修订本)M.北京:清华大学出版社;北京交通大学出版社,200611阎石.数字电子技术基础 M.北京:高等教育出版社,199812 廖常初.现场总线概述J.电工技术,1999.13王宜怀,刘晓升.嵌入式应用技术基础教程.北京:清华大学出版社,2005.7.14邵贝贝等.单片机认识与实践.北京:航空航天大学出版社,2006.8.15MC75 AT Command Set V03.Siemens Company,2006.16Clark M, Service Business Strategies and ArchI

40、tecturesM.Birmingham,UK: Wrox Press,2002.17Dave Crane,Eric Pascarello,Darren James.Ajax IN ACTIONM.Manning Publications CO,2006谢辞经过几个月的忙碌和工作,本次毕业设计已经接近尾声,作为一个本科生的毕业设计,由于经验的匮乏,难免有许多考虑不周的地方,如果没有导师的督促指导。以及一起工作的同学们的支持,想要完成这个设计是难以想象的。 在这里要感谢唐俊英老师,他循导善诱的教导和不拘一格的思路给予我无尽的启迪;他严谨细致,一丝不苟的作风一直是我们工作.学习中的榜样;并将积极影

41、响我今后的学习和工作。然后要感谢大学4年来的所有老师,为我们打下了电子专业知识的基础;同时还要感谢06电气所有的同学们,正是因为有你们的支持和鼓励。我才能在温暖的环境中茁壮成长并顺利完成毕业设计。附录附录一 程序源代码:#include #include #define uchar unsigned char#define uint unsigned intsbit ADCS = P13;sbit ADCLK = P10;sbit ADDI = P12;sbit ADDO = P12;sbit DIAN = P25;uchar code LEDData=0x28,0xeb,0x32,0xa2,

42、0xe1,0xa4,0x24,0xea,0x20,0xa0;/*延时子程序*/void Delay(uint num)while( -num );void Display(uint dat) /显示的数值为毫伏uchar ge,shi,bai,qian;qian = dat/1000%10;bai = dat/100%10;shi = dat/10%10;ge = dat%10;P2 =0x29; /显示UP0 = 0xbf;Delay(300);P0 = 0xff;P2 =LEDDatashi; /显示小数位P0 = 0xef;Delay(300);P0 = 0xff;P2 =LEDDatabai; /显示个位P0 = 0xfb;Delay(300);P0 = 0xff;P2 =LEDDataqian; /显示十位P0 = 0xfe;DIAN =0; /显示小数点Delay(300);P0 = 0xff; uchar ADC0832(bit mode,bit channel) /AD转换,返回结果uchar i,dat,ndat;ADCS = 0;/拉低CS端_nop_();_nop_();ADDI = 1;/第1个下降沿为高电平ADCLK = 1;/拉高C

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号