基于单片机的直流电压表的课程设计.doc
《基于单片机的直流电压表的课程设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的直流电压表的课程设计.doc(53页珍藏版)》请在三一办公上搜索。
1、直流电压表摘要 随着时代的进步, 用指针式万用表测量小幅度直流电压已经显得有些不太方便。因为指针式的测量不够精确,随着长时间的使用可能会造成欧姆调零以及机械调零的磨损, 这都会对数据的测量造成很多困难,而采用数字式电压表来测量就可以避免这种情况的发生,而且操作更加方便。 下面本文将介绍一种由数字电路以及单片机构成的数字电压表的设计方法。 数字电压表(Digital Voltmeter)简称 DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表关键字89C51单片机 电压表 Keil ADC0832数模转换器 目录第一章概述5第二章 直流电压
2、表的设计总方案7第三章 硬件电路设计9第四章 软件电路设计23第五章 个人负责模块AD0832驱动程序设计26第六章 直流电压表的安装与调试33第七章 存在故障分析与进一步改进35第八章 结论37参考文献38附录39第一章 概述1.1 课程设计的题目直流电压表 1.2课程设计的课题概述本设计运用 89C51 和 ADC0832 进行 A/D 转换,根据数据采集的工作原理,设计现数字电压表,最后完成单片机与 PC 的数据通信,传送所测量的电压值。该新数字电压表测量电压类型是直流,测量范围是 0-51V(本设计量程为 0-5V)。 电路包括:数据采集电路的单片机最小化系统设计、 单片机与 PC 接
3、口电路、单片机时钟电路、复位电路等。下位机采用 89C51 芯片,A/D转换采用 ADC0832 芯片。通过 下载口与 PC 进行通信,传送所测量的直流电压数据。 1.3课程设计的设计指标(1)利用51系列单片机和相关器件,设计一个直流电压表。(2)测量电压范围:0-5V(3)测量精度:0.01V(4)设置最低电压阈值,低于该值则系统报警。(5)其他功能(创新部分)。提示:为实现设置最低电压阈值,低于该值则系统报警功能,系统可以设置3个功能键,即:K1设置键、K2数字加键、K3数字减键。通过对数字加键或数字减键操作,可以对设定上限或下限电压每次操作增加或减小0.01度;通过K1的操作次序确定当
4、前的显示和校正内容,由S2和S3进行校正第二章 直流电压表的设计总方案11.1 直流电压表的基本组成和设计思路2.1.1基本组成89c51单片机最小系统ADC数模转换电路报警电路USB下载口2.1.2设计思路(1) 根据设计要求,选择AT89c51单片机为核心控制器件;(2) A/D转换采用ADC0832实现,与单片机的接口为P24,P25,P26;(3) 电压显示采用LCD1602实现(4) LCD的输入是与并行口P0产生2.1.3设计方案硬件电路设计有8部分组成:A/D转换电路,AT89C51单片机系统,LCD显示系统、报警电路、按键调节电路、时钟电路、复位电路以及测量电压输电路。硬件电路
5、设计框图如图1所示: 图1数字电压表系统硬件设计框图软件电路主要有LCD驱动、显示函数、0832A/D转换函数模块、按键调节模块、报警函数模块还有延迟程序等6大模块组成,大体流程图如下;第三章 硬件电路设计3.1 A/D转换模块A /D转换在单片机接口中应用广泛,串行A /D转换器具有功耗低、性价比较高、芯片引脚少等特点。ADC0832是NS(National Semiconductor)公司生产的具有Microwire / Plus串行接口的8位A /D转换器,通过三线接口与单片机连接,适宜在袖珍式智能仪器中使用。主要性能指标有: 功耗低, 只有15mW; 8位分辨率,逐次逼近型,基准电压为
6、5V;输入模拟信号电压范围为05V;输入和输出电平与TTL和CMOS兼容;在250kHz时钟频率时,转换时间为32us;具有两个可供选择的模拟输入通道。 3.1.2 A/D转换的原理 3.1.2.1ADC0832的引脚及配置位功能ADC0832有D IP和SO IC两种封装,D IP封装ADC0832引脚排列如图1所示。各引脚说明如下图2:图2 ADC8032引脚图CS片选端,低电平有效。CH0, CH1两路模拟信号输入端。D I两路模拟输入选择输入端。DO模数转换结果串行输出端。CLK串行时钟输入端。VCC /REF正电源端和基准电压输入端。GND电源地。ADC0832工作时,模拟通道的选择
7、及单端输入和差分输入的选择,都取决于输入时序的配置位当差分输入时,要分配输入通道的极性,两个输入通道的任何一个通道都可作为正极或负极。 3.1.3ADC0832的工作时序当CS由高变低时,选中ADC0832。在时钟的上升沿,D I端的数据移入ADC0832内部的多路地址移位寄存器。在第一个时钟期间, D I为高,表示启动位,紧接着输入两位配置位。当输入启动位和配置位后,选通输入模拟通道,转换开始。转换开始后,经过一个时钟周期延迟, 以使选定的通道稳定。ADC 0832 接着在第4个时钟下降沿输出转换数据。数据输出时先输出最高位(D7D0) ;输出完转换结果后,又以最低位开始重新输出一遍数据(D
8、7 D0) ,两次发送的最低位共用。当片选CS为高时,内部所有寄存器清0,输出变为高阻态。如果要再进行一次模/数转换,片选CS必须再次从高向低跳变,后面再输入启动位和配置位。3.2 LCD1602显示模块 3.2.1 LCD显示的原理 3.2.1.1 线段的显示:点阵图形式液晶由MN个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共168=128个点组成,屏上6416个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM区的000H00FH的16字节的内容决定,当(000H)=FF
9、H时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LCD显示的基本原理。 3.2.1.2 字符的显示 用LCD显示一个字符时比较复杂,因为一个字符由68或88点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符
10、就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。 3.2.1.3 汉字的显示汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占32B,分左右两半,各占16B,左边为1、3、5右边为2、4、6根据在LCD上开始显示的行列号及每行的列数可找出显示RAM对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节直到32B显示完就可以LCD上得到一个完整汉字3.2.2 1602字符型LCD简介 字符型液晶显
11、示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。一般1602字符型液晶显示器实物如图 3.2.2.1 1602LCD的基本参数及引脚功能LCD1602主要技术参数:显示容量:162个字符 ;芯片工作电压:4.55.5V ;工作电流:2.0mA(5.0V); 模块最佳工作电压:5.0V ;字符尺寸:2.954.35(WH)mm引脚功能说明如表1 :编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 数据 2 VDD 电源正极 10 D3 数据 3 VL 液晶显示偏压 11 D4 数据 4 RS 数据/命令选择
12、 12 D5 数据 5 R/W 读/写选择 13 D6 数据 6 E 使能信号 14 D7 数据 7 D0 数据 15 BLA 背光源正极 8 D1 数据 16 BLK 背光源负极 表1 引脚接口说明表 第1脚:VSS为地电源。 第2脚:VDD接5V正电源。 第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者
13、显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。 第714脚:D0D7为8位双向数据线。 第15脚:背光源正极。 第16脚:背光源负极。3.2.2.2 1602液晶模块内部的控制器控制指令 序号 指令 RSR/WD7D6D5D4D3D2 D1 D01 清显示 0 0 0 0 0 0 0 0 0 1 2 光标返回 0 0 0 0 0 0 0 0 1 * 3 置输入模式 0 0 0 0 0 0 0 1 I/D S 4 显示开/关控制 0 0 0 0 0 0 1 D C B 5
14、光标或字符移位 0 0 0 0 0 1 S/C R/L * * 6 置功能 0 0 0 0 1 DLN F * * 7 置字符发生存贮器地址 0 0 0 1 字符发生存贮器地址 8 置数据存贮器地址 0 0 1 显示数据存贮器地址 9 读忙标志或地址 0 1 BF计数器地址 10 写数到CGRAM或DDRAM) 1 0 要写的数据内容 11 从CGRAM或DDRAM读数 1 1 读出的数据内容 1602液晶模块内部的控制器共有11条控制指令,如上表所示1602液晶模块的读写操作,屏幕和光标的操作都是通过指令编程来实现的。(说明1为高电平,0为低电平) 指令1:清显示,指令码01H,光标复位到地
15、址00H位置 指令2:光标复位,光标返回到地址00H 指令3:光标和显示位置设置I/D,光标移动方向,高电平右移,低电平左移,S:屏幕上所有文字是否左移或右移,高电平表示有效,低电平表示无效。 指令4:显示开关控制。D:控制整体的显示开与关,高电平表示开显示,低电平表示关显示。C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。 指令5:光标或显示移位 S/C :高电平时显示移动的文字,低电平时移动光标 指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时为双行显示,F:低电平时显示5X7的点
16、阵字符,高电平时显示5X10的显示字符。 指令7:字符发生器RAM地址设置。 指令8:DDRAM地址设置。 指令9:读忙信号和光标地址 BF:忙标志位,高电平表示忙,此时模块不能接收命令或数据,如果为低电平表示不忙。3.2.2.3 基本操作时序 读写操作时序如图所示; 写操作时序如图: 3.3按键模块和报警电路按键如图所示报警电路如图:为实现设置最低电压阈值,低于该值则系统报警功能,系统设置了3功能键,即:S2设置键、S3数字加键、S4数字减键。通过对数字加键或数字减键操作,可以对设定上限或下限电压每次操作增加或减小0.01度;通过K1的操作次序确定当前的显示和校正内容,由S3H和S4校正3.
17、4单片机系统3.4.1 AT89c51的性能 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51 ?指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。AT89C51功能性能与成品MCS-51成品指令系统完全兼容;4KB可编程闪束存储
18、器;寿命1000次写/查循环;数据保留时间十年;全静态工作:0-24MHZ;三级程序存储器锁定;128*8B内部RAM;32个课编程I/O口线;2个16位定时/计时器;5个中断;可编程串行UART通道;片内振荡器和掉电模式。3.4.2 AT89C51个引脚的功能 VCC:供电电压。GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口是一个
19、内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,
20、当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口) P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入)P3.5 T1
21、(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 直流 电压表 课程设计
链接地址:https://www.31ppt.com/p-4148726.html