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

下载本文档

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

文档简介

1、目录概述. _ . TOC o 1-3 h z u HYPERLINK l _Toc232154044 31. 设计目的和功能要求. 4 _ HYPERLINK l _Toc232154047 1.1设计目的. 4 HYPERLINK l _Toc232154048 1.2功能要求. . 4 HYPERLINK l _Toc232154048 1.3设计理念. 4 HYPERLINK l _Toc232154051 2.总体设计. 4 HYPERLINK l _Toc232154052 2.1系统设计. 4 HYPERLINK l _Toc232154053 2.2设计方案. .4 _ HYP

2、ERLINK l _Toc232154054 2.3总体设计框图. . 5 HYPERLINK l _Toc232154056 3.设计原理图. . 6 HYPERLINK l _Toc232154058 4.硬件电路设计. . 7 HYPERLINK l _Toc232154059 4.1核心组件介绍. . . 7 HYPERLINK l _Toc232154060 4。 1.1芯片简介. 7 _ HYPERLINK l _Toc232154060 4。 1.2 其他电路部分介绍. . 13显示电路. .13 _/D 转换测量模拟电压输入部分. 14晶振电路. .15 _ HYPERLINK

3、 l _Toc232154061 五、软件设计. .15 _ 5.1 组装流程图. . 15装配流程图. . 15/D 转换测量程序. . 17程序流程图. 18 5.2 汇编器列表. . 18 5.3 程序说明. .21 _6. 调试模拟. .22 _7. 设计总结和贡献. 23 _8. 参考文献. .24 _概述在电能的测量中,电压、电流和频率是最基本的三个被测量,其中电压的测量是最常见的。而随着电子技术的发展,经常需要测量高精度的电压,因此数字电压表已成为不可缺少的测量仪器。数字电压表,简称DVM,是一种利用数字测量技术,将连续的模拟量转换成不连续的、离散的数字形式并显示出来的仪器。数字

4、仪器因其读数准确方便、精度高、误差小、测量速度快而被广泛使用1。传统的模拟刻度电压表功能单一,进度低,容易造成视差和视觉疲劳,无法满足数字时代的需求。采用单片机数字电压表,将直流电压等连续的模拟量转换成不连续的离散数字形式并显示出来,具有精度高、抗干扰能力强、扩展性强、易于集成等特点。沟通。数字电压表是许多数字仪器的核心和基础2。以数字电压表为核心,可扩展为各种通用数字表、专用数字表和各种非电数字表。目前,有必要对各种单片机和A/D转换器组成的数字电压表有一个全面深入的了解。近几十年来,随着半导体技术、集成电路(IC)和微处理器技术的发展,数字电路和数字测量技术也取得了长足的进步,这导致了数字

5、电压表的快速发展和新型的出现4 。数字电压表自1952年问世以来,经历了一个不断改进的过程,从最早使用继电器、电子管和表格到现在的全固态、集成(IC)也从 0.01%-0.005% 增加。目前,数字电压表的核心部件是A/D转换器。转换的精度极大地影响了数字电压表的精度。因此,数字电压表的未来发展将集中在高精度和低成本两个方面。方面3。本文基于一个简单的数字直流电压表的设计。系统主要包括三个模块:转换模块、数据处理模块和显示模块。其中,ADC0808用于A/D转换,对输入的模拟信号进行转换,控制核心AT 89C52对转换结果进行算术处理,最后驱动输出器件LED显示数字电压信号11。设计目的和功能

6、要求1.1设计目的使用单片机和ADC0808核心元件制作4位数字电压表,更好地学习和掌握ADC0808的工作原理和A/D的转换和编程方法。1.2功能要求(1)以MCS-52系列单片机为核心器件组成实时模拟数字电压表。(2) 采用1路模拟量输入,可测量0-5V之间的直流电压值。(3)电压显示采用4位一体式LED数码管显示,至少可显示两位小数。 尽量少用元件。1.3设计理念根据设计要求,选择AT5289C单片机作为核心控制器件。(2)A/D转换由ADC0808实现,与单片机的接口为P1口和P2口的高四位引脚。 = 3 * GB2 (3)电压显示采用4个一体化LED数码管。 = 4 * GB2 LE

7、D 数字段码输入,由并口 P0 产生:位码输入,由并口 P2 的低四位产生2. 整体设计 2.1 系统设计主要分为硬件电路和软件程序两部分。硬件电路包括:单片机及外围电路、模拟信号采集电路、A/D转换电路、数码管显示电路、各部分电路的连接。软件的程序可以使用C语言,也可以使用汇编,这里使用的是汇编语言,详细的设计思路后面会介绍。 2.2 设计方案数字电压表的设计方案有很多,但比较流行的是用集成电路来设计。其设计主要由模拟电路和数字电路两部分组成。模拟部分包括A/D转换器、参考电源等;数字部分包括振荡器、数显、计数器等。其中,A/D转换器将输入的模拟量转换为数字量。它是数字电压表的核心部件。它的

8、选择一般有两种选择:1、采用双积分A/D转换器MC14433,具有多个调制BCD码输出端子和超量程输出端子,采用动态扫描显示,便于自动控制。但是,该芯片只能完成A/D转换功能。实现显示功能需要与其他驱动芯片配合,使得整个硬件电路板的布线复杂,增加了电路设计和实际焊接的工作量。2.逐次逼近A/D转换器。其转换速度更快,精度更高,如ADC0808、ADC0809等,它们通常有8个模拟选通开关和地址译码、锁存电路等,可以与单片机系统连接,数字量送单片机处理分析显示。这样电路设计简单,电路板布线不复杂,便于焊接调试。这里采用这种方案。显示部分可用各种数码管或液晶显示器显示。在此简化使用4位八段共阴极数

9、码管来显示A/D转换后的结果。 2.3 总体设计框图四位八段共阴极数码管单片机量程变换处理A/D转换器四位八段共阴极数码管单片机量程变换处理A/D转换器ADC0808数字信号采集外界模拟信号置 入置 入显示出模拟电压的数值显示出模拟电压的数值振荡器、时序脉冲预先写好的汇编程序预先写好的汇编程序三。设计示意图4、硬件电路设计 4.1 核心组件介绍 4.1.1 芯片介绍一、单片机AT89C52介绍一个。芯片引脚图:湾。说明:AT89C52只是51系列单片机的型号。 AT89C52是美国爱特梅尔公司生产的低压、高性能CMOS 8位单片机。该芯片包含 8KB 的可重写程序存储器和 12B 的随机存取数

10、据存储器(RAM)。采用爱特梅尔高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,芯片配置通用8位中央处理器(CPU)和闪存单元,功能强大的AT89C52微控制器可以可灵活应用于各种控制领域。 AT89C52单片机属于AT89C51单片机的增强型,在管脚排列、硬件组成、工作特性、指令系统等方面与Intel的80C52兼容。 AT89C52单片机在电子行业有着广泛的应用。三、主要特点:片上程序存储器包括8KB Flash程序存储器,可重写寿命1000次;片上数据存储器包含 256 字节的 RAM;具有 32 条可编程 I/O 线;带3个可编程定时器;中断系统有8个中断源6个中断向量2级

11、优先级中断结构;串口为全双工可编程串行通讯口;具有数据指针DPTR;低功耗工作模式包括空闲模式和掉电模式;具有可编程3级程序锁定位;AT89C52的工作电源电压为5(1+0.2)V,典型值为5V;AT89C52 的最高工作频率为 24MHz。d。引脚说明VCC :电源电压GND:地端口 P0:端口 P0 是一个 8 位开漏双向 I/O 端口。作为输出,每个位可以驱动 8 个 TTL 逻辑电平。当向 P0 端口写入“1”时,该引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0 端口也被复用为低 8 位地址/数据。在这种模式下,P0 有一个部分上拉电阻。在 Flash 编程时,端口 P0 也用

12、于接收指令字节;在程序验证期间,输出指令字节。对于程序验证,需要一个外部上拉电阻。端口 P1:端口 P1 是一个带有上拉电阻的 8 位双向 I/O 端口。 p1 输出缓冲器可以驱动四个 TTL 逻辑电平。当P1端口写“1”时,一个上拉电阻将该端口拉高,此时可以作为输入端口使用。用作输入时,由于外部电阻,外部下拉的引脚将输出电流(IIL)。此外,P1.0 和 P1.2 分别用作定时器/计数器 2 的外部计数输入(P1.0/T2)和定时器/计数器 2 的触发输入(P1.1/T2EX)。在闪存编程和验证期间,P1 端口接收低 8 位地址字节。引脚号次要功能P1.0 T2(定时器/计数器T2的外部计数

13、输入),时钟输出P1.1 T2EX(定时器/计数器T2捕获/重载触发信号和方向控制)P1.5 MOSI(用于系统编程)P1.6 MISO(用于系统编程)P1.7 SCK(用于系统编程)端口 P2:端口 P2 是一个带有上拉电阻的 8 位双向 I/O 端口。 P2 输出缓冲器可以驱动四个 TTL 逻辑电平。当P2端口写“1”时,一个上拉电阻将该端口拉高,此时可以作为输入端口使用。用作输入时,由于外部电阻,外部下拉的引脚将输出电流(IIL)。 16位地址访问外部程序存储器或读取外部数据存储器时(例如,执行MOVX DPTR),P2端口致高位8位地址。在此应用中,P2 端口使用强外部上拉致 1。当使

14、用 8 位地址(如 MOVX RI)访问外部数据存储器时,P2 端口输出 P2 锁存器的内容。在闪存编程和验证过程中,P2 端口还接收高 8 位地址字节和一些控制信号。端口 3:端口 3 是一个带上拉电阻的 8 位双向 I/O 端口,p2 输出缓冲器可以驱动 4 个 TTL 逻辑电平。当P3端口写“1”时,一个上拉电阻会将端口拉高,此时可以作为输入端口使用。用作输入时,由于外部电阻,外部下拉的引脚将输出电流(IIL)。 P3 端口也用作 AT89S52 的特殊功能(第二功能)。端口引脚辅助功能端口引脚次要功能P3.0接收端P3.1TXDP3.2INT0P3.3INT1P3.4T0P3.5T1P

15、3.6写P3.7研发P3 端口还接收一些用于闪存编程和程序验证的控制信号。RST:复位输入。当振荡器工作时,RET 引脚上的高电平超过两个机器周期将使微控制器复位。ALE/ :访问外部程序存储器或数据存储器时,ALE 输出脉冲用于锁存地址的低 8 位字节。即使不访问外部存储器,ALE 也会以时钟振荡频率的 1/16 输出固定的正脉冲信号,因此可用于输出时钟或用于计时目的。需要注意的是,该引脚还用于在闪存编程时输入编程脉冲,而每当访问外部数据存储器时将跳过 ALE 脉冲。如有必要,可以对特殊寄存器区域中 8EH 位置的 D0 位置禁用 ALE 操作。只有一条 MOVX 和 MOVC 指令 ALE

16、 将在该位置之后应用。此外,该引脚会被弱拉高。当单片机执行外部程序时,ALE 应设置为无效。PSEN:程序存储许可输出是外部程序存储器的读选通信号。当 AT89C51 从外部程序存储器读取命令时,PSEN 每个机器周期有效两次,即输出两个脉冲。在此期间,访问外部数据存储器时,不会出现两个有效的 PSEN 信号。EA/VPP:内容外部访问。为了使 CPU 只访问外部程序存储器,EA 端必须保持低电平。需要注意的是,如果加密位 LBI 被编程,EA 端的状态将在复位期间被锁存。如果 EA 端为高电平,CPU 将执行程序存储器中的指令。对闪存进行编程时,+12V 编程内容电压 VPP 被添加到该引脚

17、。当然,这一定是设备使用了12V的编程电压VPP。XTAL1 :振荡器反相放大器和外部时钟发生器的输入。XTAL2:振荡器反相放大器的输出。时钟振荡器: AT89C5 2具有一个高增益反相放大器,用于形成振荡器。 XTAL1 和 XTAL2 引脚分别是放大器的输入和输出。该放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起形成自然振荡器。外部石英晶体和电容C1、C2连接到放大器的反馈回路,构成并联振荡电路。虽然对外接电容 C1 和 C2 没有很严格的要求,但电容容量的大小会稍微影响振荡频率的高低、振荡器工作的稳定性、启动程序的难度和温度的稳定性.如果使用石英晶体,我们建议电容器使用 30PF1

18、0PF,如果使用陶瓷振荡器,我们建议使用 40PF10PF。用户也可以使用外部时钟。使用外部时钟的电路如图所示。在这种情况下,外部时钟脉冲连接到 XTAL1 端,即外部时钟发生器的输入端,XTAL2 悬空。由于外部时钟信号经过一个2分频触发后作为外部时钟信号,因此对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大低电平持续时间应符合产品技术要求。电路部分振荡外部振荡电路2.ADC0808芯片一个。引脚图:湾。主要特点1)8个输入通道,8位A/D转换器,即分辨率为8位。2)具有开关启停控制端子。3)转换时间为100s(时钟为640kHz时)、130s(时钟为500kHz时)4)单+5

19、V电源5)模拟输入电压范围为 0 至 +5V,无需调零和满量程校准。6)工作温度范围为-40至+85摄氏度7)低功耗,约15mW。C.外部特性(引脚功能)IN0IN7: 8个模拟量输入端子。DB0-DB7 : 8 位数字输出。ADDA、ADDB、ADDC:用于选通 8 个模拟输入之一的 3 位地址输入线ALE:地址锁存使能信号,输入,高电平有效。START: A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)启动(脉冲上升沿复位0809,下降沿启动A/D转换)。EOC: A/D 转换结束信号,输出,A/D 转换结束时,该端输出高电平(转换时始终为低电平)。OE:数据输出使能信号,输入

20、,高电平有效。当A/D转换结束后,向此端输入高电平,打开输出三态门,输出数字量。CLK:时钟脉冲输入端。时钟频率要求不高于 640KHZ。REF(+)、REF(-):参考电压。Vcc:电源,单+5V。GND:接地。 4.1.2 其他电路介绍1.显示电路1、四位八段共阴极数码管这种数码管可以显示4位数值,每个位由8个发光二极管(以下简称字段)组成,即a、b、c、d、e、f、g、dp字段。通过控制不同LED的亮灭不同的组合可以显示数字09和小数点“.”。数码管分为共阴极和共阳极两种结构。结构及连接如下:2.静态展示方式直接使用并口输出。 LED显示屏工作在静态显示模式时,各个位的公共阴极一起接地;

21、每个位的段选择线连接到一个 8 位锁存输出。一般称为静态显示,因为显示中的位是相互独立的。并且一旦确定了每一位的显示字符,对应的锁存器的输出将保持不变,直到显示另一个字符。3.动态显示方式对于多位LED显示屏的动态显示,通常采用动态扫描的方式进行显示,即每个显示屏在一个周期内逐个点亮。这样,虽然任何时候都只有一个显示器亮着,但由于间隔时间短,加上人眼的视觉残留效应,看起来就像所有显示器都连续亮着一样。4、显示电路:2. A/D转换测量模拟电压输入部分A/D转换的常用方法有:计数型A/D转换,逐次逼近型A/D转换,双积分型A/D转换,V/F转换型A/D转换。在这些转换方式中,数字A/D转换电路比

22、较简单,但转换速度较慢,所以现在很少使用。双积分A/D转换精度高,多用于数据采集和精度要求较高的场合,如5G14433(31/2位)、AD7555(41/2位或51/2位)等,但速度较慢。逐次逼近型A/D转换不仅照顾了转换速度,而且具有一定的精度。这里选择逐次逼近型A/D转换芯片ADC080 8 。采用中断控制的方式实现,不浪费时间,效率高。这里的设计将实际的模拟信号采集电路简化为如下图所示的分压电路模型分压器电路模型3.晶振电路晶振电路用于产生单片机运行所需的时钟信号。使用晶振时,c2和c3的值为2040PF,使用陶瓷振荡器时,c1的值为3050PF。在设计电路板时,晶振和电容应尽量靠近芯片

23、,以减少分布电容,保证振荡器的稳定性。 18脚接XTAL1,19脚接XTAL2,20脚接地5. 软件设计 5.1 组装流程图:一、主要组装流程图:开始开始系统初始化启动A/D转换采集A/D转换值数据转换Y调用显示四位是否显示完?完?读电压值YNEND主程序流程图转换结束?YN2. A/D 转换测量程序开始开始启动转换读取数据0808地址加1小于FFFF?结束中断请求中断服务YNA/D转换测量程序流程图3.显示程序流程图读取判断单元读取判断单元显示通道号显示电压整数部分显示电压小数部分返回开始程序32H30H31H显示程序流程图 5.2 汇编器列表LED_0 EQU 30H ;存储三个数码管的段

24、码LED_1 EQU 31HLED_2 EQU 32H ADC EQU 35H ;存储AD转换后的数据ST比特P3.2OE位P3.0EOC BIT P3.1机构0000HLJMPMAIN组织机构0030H主: MOV LED_0,#00H ;将初始值 0 分配给显示 MOV LED_1,#00HMOV LED_2,#00H SETB P3.4 SETB P3.5 CLR P3.6 ;选择频道 3等待:CLR STSETB ST CLR ST ;开始 AD 转换 JNB EOC,$ ;等待转换结束 SETB OE ;启用输出 MOV ADC ,P1 ;暂存转换结果 CLR OE ;关闭输出 LC

25、ALL转换;调用数据处理子程序 本地调用显示;调用显示程序显示转换后的值 SJMP等待;*;将AD转换输出的数据转换成对应的电压值;*转换:MOV A,ADC ;将AD转换结果转换为BCD码MOV B,#51 ;255/51=5.00V DIV AB 移动LED_2 ,A ;一位存储在 LED_2 中 移动A,B ;余数大于19H,F0为1 乘法溢出,结果加5 CLR F0 SUBB A,#1AH MOV F0,C MOV A,#10 穆尔AB 移动B,#51 DIV AB F0,循环2 添加一个,#5LOOP2:移动LED_1 ,A ;小数点后的第一位存储在 LED_1 中 移动A,B CL

26、R F0 SUBB A,#1AH MOV F0,C MOV A,#10穆尔AB 移动B,#51DIV AB F0,循环3 添加一个,#5LOOP3:移动LED_0 ,A ;小数点后第二位存储在 LED_0 中 RET;*;节目节目;*DISPLAY:MOV A,LED_0 ;数显子程序DPTR ,#表 ;致段码表首地址 MOVC A,A+DPTR SETB P2.3 ;内容数百位数输出,数码管为共阳极形状 MOV P0,A ;将位段代码致到端口 P0 LCALL延迟;调用延迟程序 CLR P2.3 ;关闭百位显示 MOV A,LED_1 移动DPTR ,#表 ;致段码表首地址 MOVC A,A

27、+DPTR SETB P2.2 ;内容十路输出,数码管为共阳极形 MOV P0,A ;将位段代码致到端口 P0 LCALL延迟;调用延迟程序 CLR P2.2 ;关闭十位显示 MOV A,LED_2 移动 DPTR ,#TABLE2 ;致段码表首地址 MOVC A,A+DPTR SETB P2.1 ;内容个位数输出,数码管为共阳极形 MOV P0,A ;将位段代码致到端口 P0 本地呼叫延迟 ;调用延迟例程 CLR P2.1 ;关闭一位数显示MOV A,#00移动 DPTR,#表MOVC A,A+DPTRSETB P2.0MOV P0,A本地呼叫延迟CLR P2.0 RET;*;延迟程序;*延迟: MOV R6,#10 ;延迟子程序D1:移动 R7 ,#250 DJNZ R7,$ DJNZ R6, D1 RET表:数据库0C0H、0F9H、0A

温馨提示

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

评论

0/150

提交评论