单片机原理课程设计简易数字电压表的设计.doc

上传人:laozhun 文档编号:4147230 上传时间:2023-04-07 格式:DOC 页数:27 大小:869.50KB
返回 下载 相关 举报
单片机原理课程设计简易数字电压表的设计.doc_第1页
第1页 / 共27页
单片机原理课程设计简易数字电压表的设计.doc_第2页
第2页 / 共27页
单片机原理课程设计简易数字电压表的设计.doc_第3页
第3页 / 共27页
单片机原理课程设计简易数字电压表的设计.doc_第4页
第4页 / 共27页
单片机原理课程设计简易数字电压表的设计.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

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

1、唐 山 学 院单片机原理 课 程 设 计 题 目 简易数字电压表的设计 系 (部) 信息工程系 班 级 08电本 3班 姓 名 学 号 指导教师 2012 年 1 月 1 日至 1 月 7 日 共 1 周 2012年 1 月 7 日课程设计成绩评定表出勤情况出勤天数 缺勤天数成绩评定出勤情况及设计过程表现(20分)课设答辩(20分)设计成果(60分)总成绩(100分)提问(答辩)问题情况综合评定 指导教师签名: 年 月 日单片机原理 课程设计任务书一、设计题目、内容及要求设计题目:简易数字电压表的设计设计内容:1可以测量05V范围内的8路直流电压值。2在4位LED数码管上轮流显示各路电压值或单

2、路选择显示,其中3位LED数码管显示电压值,显示范围为0.00V5.00V,1位LED数码管显示路数,8路分别为0-8。3测量最小分辨率为0.02V。设计要求:1进行系统总体设计。2完成系统硬件电路设计。3完成系统软件设计。4撰写设计说明书。二、设计原始资料 Proteus6及KEIL51软件,及其使用说明。三、要求的设计成果(课程设计说明书、设计实物、图纸等)设计说明书一份(要求有硬件设计原理图,仿真结果图,源程序代码)四、进程安排周一:查找资料,进行方案论证和系统硬件设计; 周二:系统软件设计和编程实现;周三:利用程序调试;周四:仿真实现,检查设计结果;周五:编写设计说明书、答辩。五、主要

3、参考资料1 彭为等.单片机典型系统设计实例精讲M.北京:电子工业出版社,20062 李群芳.单片机原理、接口及应用M.北京:清华大学出版社,2005指导教师(签名):教研室主任(签名):摘 要本文介绍了基于89C51单片机的一种8路输入直流电压测量电路,该电路采用ADC0808作为A/D转换元件,实现测量范围为0V5V电压。要求能够依次显示每路通道电压值。使用4位LED模块显示,前面一位显示通道号,后面三位显示测量电压值,电压值精确到小数点后两位,测量最小分辨率为0.02V。本系统主要包括三大模块:数据采集模块、数据处理模块、控制输出和数据显示模块。绘制了电路原理图与工作流程图,并进行仿真调试

4、,最终设计完成了该系统的硬件电路。在软件编程上,采用了汇编语言进行编程,开发环境使用KEIL51,仿真采用ISIS仿真软件。开发了显示模块程序、通道切换程序、A/D转换程序。关键词:ADC0808 A/D转换 LED显示目 录第一章 前言11.1概述1二 设计总体方案22.1设计要求22.2 设计思路22.3 设计方案2三 硬件电路设计33.1 数据采集模块33.1.1 逐次逼近型A/D转换器原理33.1.2 ADC0808 主要特性43.1.3 ADC0808的外部引脚特征43.1.4 ADC0808的内部结构及工作流程63.2 数据分析处理模块73.2.1 AT89C51性能73.2.2

5、AT89C51各引脚功能73.3 数据显示控制模块103.3.1 LED基本结构103.3.2 LED显示器的选择103.3.3 LED译码方式113.3.4 LED显示器与单片机接口设计123.4 总体电路设计12四 程序设计144.1 程序设计总方案144.2 系统子程序设计144.2.1 采集电压路数识别144.2.2 A/D转换子程序154.2.4 数据处理子程序154.2.4 显示子程序16五 仿真175.1 软件调试175.2显示结果17结 论19参考文献20附 录21第一章 前言1.1概述在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。而且随着电子

6、技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。数字电压表(Digital Voltmeter)简称DVM,是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字量形式并加以显示的仪表。传统的指针式刻度电压表功能单一,精度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,读取简单,可扩展性强、集成方便,还可与PC实时通信。数字电压表是诸多数字化仪表的核心与基础,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系

7、统等智能化测量领域,展示出强大的生命力。因此本次课程设计要求学生自己设计一个数字电压表,可以加强学生对单片机应用的理解,通过实践提高学生的动手动脑能力。以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。字电压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成本这两个方面。本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块:转换模块、数据处理模块及显示模块。其中,A/D转换采用ADC0808对输入的模拟信号进行转换,控制核心AT89C51再对转换的结果进行运算

8、处理,最后驱动输出数字电压表的内部核心部件是A/D转换器,转换的精度很大程度上影响着数装置LED显示数字电压信号。二 设计总体方案2.1设计要求 以MCS-51系列单片机为核心控制器件,组成一个简单的直流数字电压表。采用8路模拟量输入,能够测量0-5V之间的直流电压值。电压显示用4位一体的LED数码管显示,第一位显示通道号,后面三位显示测量电压值,电压值精确到小数点后两位,测量最小分辨率为0.02V。2.2 设计思路根据设计要求,选择AT89C51单片机为核心控制器件。A/D转换采用ADC0808实现,与单片机的接口为P1口引脚。电压显示采用4位一体的LED数码管。LED数码的段码输入,由并行

9、端口P0产生:位码输入,用并行端口P2低四位产生。2.3 设计方案硬件电路设计由6个部分组成; A/D转换电路,AT89C51单片机系统,LED显示系统、时钟电路、复位电路以及测量电压输入电路。硬件电路设计框图如图1所示。 图1 数字电压表系统硬件设计框图显示系统A/D转换电路测量电压输入时钟电路 复位电路AT89C51 P1 P2 P0 三 硬件电路设计数字电压表系统的硬件电路设计可分为三个模块,它们分别为:模块一数据采集模块即A/D转换模块;模块二数据分析处理模块;模块三数据显示控制模块。下面就将分别介绍各个模块的相关情况,最后连接组合构成完整8路的数字电压表系统。3.1 数据采集模块现实

10、世界的物理量都是模拟量,能把模拟量转化成数字量的器件称为模/数转换器(A/D转换器),A/D转换器是单片机数据采集系统的关键接口电路,按照各种A/D芯片的转化原理可分为逐次逼近型,双重积分型等等。双积分式A/D转换器具有抗干扰能力强、转换精度高、价格便宜等优点。与双积分相比,逐次逼近式A/D转换的转换速度更快,而且精度更高,比如ADC0809、ADC0808等,它们通常具有8路模拟选通开关及地址译码、锁存电路等,它们可以与单片机系统连接,将数字量送到单片机进行分析和显示。一个n位的逐次逼近型A/D转换器只需要比较n次,转换时间只取决于位数和时钟周期,逐次逼近型A/D转换器转换速度快,因而在实际

11、中广泛使用。3.1.1 逐次逼近型A/D转换器原理逐次逼近型A/D转换器是由一个比较器、A/D转换器、存储器及控制电路组成。它利用内部的寄存器从高位到低位一次开始逐位试探比较。转换过程如下:开始时,寄存器各位清零,转换时,先将最高位置1,把数据送入A/D转换器转换,转换结果与输入的模拟量比较,如果转换的模拟量比输入的模拟量小,则1保留,如果转换的模拟量比输入的模拟量大,则1不保留,然后从第二位依次重复上述过程直至最低位,最后寄存器中的内容就是输入模拟量对应的二进制数字量。其原理框图如图2所示:顺序脉冲发生器逐次逼近寄存器ADC电压比较器输入电压输入数字量图2 逐次逼近式A/D转换器原理图3.1

12、.2 ADC0808 主要特性ADC0808是CMOS单片型逐次逼近式A/D转换器,带有使能控制端,与微机直接接口,片内带有锁存功能的8路模拟多路开关,可以对8路0-5V输入模拟电压信号分时进行转换,由于ADC0808设计时考虑到若干种模/数变换技术的长处,所以该芯片非常适应于过程控制,微控制器输入通道的接口电路,智能仪器和机床控制等领域。ADC0808主要特性:8路8位A/D转换器,即分辨率8位;具有锁存控制的8路模拟开关;易与各种微控制器接口;可锁存三态输出,输出与TTL兼容;转换时间:128s;转换精度:0.2%;单个+5V电源供电;模拟输入电压范围0- 5V,无需外部零点和满度调整;低

13、功耗,约15mW。3.1.3 ADC0808的外部引脚特征 ADC0808芯片有28条引脚,采用双列直插式封装,其引脚图如图3所示。图3 ADC0808引脚图下面说明各个引脚功能:IN0-IN7(8条):8路模拟量输入线,用于输入和控制被转换的模拟电压。地址输入控制(4条):ALE:地址锁存允许输入线,高电平有效,当ALE为高电平时,为地址输入线,用于选择IN0-IN7上那一条模拟电压送给比较器进行A/D转换。ADDA,ADDB,ADDC:3位地址输入线,用于选择8路模拟输入中的一路,其对应关系如表1所示: 表1 ADC0808通道选择表地址码 对应的输入通道 C B A 0 0 0 0 1

14、1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 START:START为“启动脉冲”输入法,该线上正脉冲由CPU送来,宽度应大于100ns,上升沿清零SAR,下降沿启动ADC工作。EOC: EOC为转换结束输出线,该线上高电平表示A/D转换已结束,数字量已锁入三态输出锁存器。D1-D8:数字量输出端,D1为高位。OE:OE为输出允许端,高电平能使D1-D8引脚上输出转换后的数字量。REF+、REF-:参考电压输入量,给电阻阶梯网络供给标准电压。Vcc、GND: Vcc为主电源输入端,GND为接地端,一般

15、REF+与Vcc连接在一起,REF-与GND连接在一起。 CLK:时钟输入端。3.1.4 ADC0808的内部结构及工作流程ADC0808由8路模拟通道选择开关,地址锁存与译码器,比较器,8位开关树型A/D转换器,逐次逼近型寄存器,定时和控制电路和三态输出锁存器等组成,其内部结构如图4所示。图4 ADC0808的内部结构其中:(1)8路模拟通道选择开关实现从8路输入模拟量中选择一路送给后面的比较器进行比较。(2)地址锁存与译码器用于当ALE信号有效时,锁存从ADDA、ADDB、ADDC 3根地址线上送来的3位地址,译码后产生通道选择信号,从8路模拟通道中选择当前模拟通道。(3)比较器,8位开关

16、树型A/D转换器,逐次逼近型寄存器,定时和控制电路组成8位A/D转换器,当START信号有效时,就开始对当前通道的模拟信号进行转换,转换完成后,把转换得到的数字量送到8位三态锁存器,同时通过引脚送出转换结束信号。(4)三态输出锁存器保存当前模拟通道转换得到的数字量,当OE信号有效时,把转换的结果送出。ADC0808的工作流程为:(1)输入3位地址,并使ALE=1,将地址存入地址锁存器中,经地址译码器从8路模拟通道中选通1路模拟量送给比较器。(2)送START一高脉冲,START的上升沿使逐次寄存器复位,下降沿启动A/D转换,并使EOC信号为低电平。(3)当转换结束时,转换的结果送入到输出三态锁

17、存器中,并使EOC信号回到高电平,通知CPU已转换结束。(4)当CPU执行一读数据指令时,使OE为高电平,则从输出端D0-D7读出数据。3.2 数据分析处理模块数据分析处理采用单片机运算分析。单片机在系统中担任着协调控制整个系统稳定工作的任务,是实现系统稳定工作的核心。系统中采用ATMEL公司生产的AT89C51,功能强大,下面就数据分析处理模块的硬件部分即单片机的相关情况作相应介绍。3.2.1 AT89C51性能AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含有4KB的可反复擦写的只读程序存储器和128字节的随机存储器。该器件采用ATMEL高密度非易失存储器制

18、造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容,由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,它为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 AT89C51功能性能:与MCS-51成品指令系统完全兼容;4KB可编程闪速存储器;寿命:1000次写/擦循环;数据保留时间:10年;全静态工作:0-24MHz;三级程序存储器锁定;128*8B内部RAM;32个可编程I/O口线;2个16位定时/计数器;5个中断源;可编程串行UART通道;片内震荡器和掉电模式。 3.2.2 AT89C51各引脚功能AT89C51提供以下标准功能:4K

19、B的Flash闪速存储器,128B内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内震荡器及时钟电路,同时,AT89C51可降至0Hz静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作,掉电方式保存RAM中的内容,但震荡器停止工作并禁止其他所有工作直到下一个硬件复位。AT89C51采用PDIP封装形式,引脚配置如图5所示。图5 AT89C51的引脚图AT89C51芯片的各引脚功能为:P0口:这组引脚共有8条,P0.0为最低位。这8个引脚有两种不同的功能,分别适用

20、于不同的情况,第一种情况是89C51不带外存储器,P0口可以为通用I/O口使用,P0.0-P0.7用于传送CPU的输入/输出数据,这时输出数据可以得到锁存,不需要外接专用锁存器,输入数据可以得到缓冲,增加了数据输入的可靠性;第二种情况是89C51带片外存储器,P0.0-P0.7在CPU访问片外存储器时先传送片外存储器的低8位地址,然后传送CPU对片外存储器的读/写数据。P0口为开漏输出,在作为通用I/O使用时,需要在外部用电阻上拉。P1口:这8个引脚和P0口的8个引脚类似,P1.7为最高位,P1.0为最低位,当P1口作为通用I/O口使用时,P1.0-P1.7的功能和P0口的第一功能相同,也用于

21、传送用户的输入和输出数据。P2口:这组引脚的第一功能与上述两组引脚的第一功能相同即它可以作为通用I/O口使用,它的第一功能和P0口引脚的第二功能相配合,用于输出片外存储器的高8位地址,共同选中片外存储器单元,但并不是像P0口那样传送存储器的读/写数据。P3口:这组引脚的第一功能和其余三个端口的第一功能相同,第二功能为控制功能,每个引脚并不完全相同,如下表2所示:表2 P3口各位的第二功能P3口各位第二功能P3.0 RXT(串行口输入)P3.1 TXD(串行口输出)P3.2/INT0(外部中断0输入)P3.3/INT1(外部中断1输入)P3.4T0(定时器/计数器0的外部输入)P3.5T1(定时

22、器/计数器1的外部输入)P3.6/WR(片外数据存储器写允许) P3.7/RD(片外数据存储器读允许)Vcc为+5V电源线,Vss接地。ALE:地址锁存允许线,配合P0口的第二功能使用,在访问外部存储器时,89C51的CPU在P0.0-P0.7引脚线去传送随后而来的片外存储器读/写数据。在不访问片外存储器时,89C51自动在ALE线上输出频率为1/6震荡器频率的脉冲序列。该脉冲序列可以作为外部时钟源或定时脉冲使用。/EA:片外存储器访问选择线,可以控制89C51使用片内ROM或使用片外ROM,若/EA=1,则允许使用片内ROM, 若/EA=0,则只使用片外ROM。/PSEN:片外ROM的选通线

23、,在访问片外ROM时,89C51自动在/PSEN线上产生一个负脉冲,作为片外ROM芯片的读选通信号。RST:复位线,可以使89C51处于复位(即初始化)工作状态。通常89C51复位有自动上电复位和人工按键复位两种。XTAL1和XTAL2:片内震荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接89C51片内OSC(震荡器)的定时反馈回路。3.3 数据显示控制模块数字电压表的数据显示控制模块,运用LED数码显示器作为电压路数和电压值的显示部分,由于输出数据较多,采用扫描输出显示,下面就LED显示的相关原理做相应的介绍3.3.1 LED基本结构LED是发光二极管显示器的缩写。LED由于

24、结构简单、价格便宜、与单片机接口方便等优点而得到广泛应用。LED显示器是由若干个发光二极管组成显示字段的显示器件。在单片机中使用最多的是七段数码显示器。LED七段数码显示器由8个发光二极管组成显示字段,其中7个长条形的发光二极管排列成“日”字形,另一个圆点形的发光二极管在显示器的右下角作为显示小数点用,其通过不同的组合可用来显示各种数字。LED引脚排列如下图6所示:图6 LED引脚排列3.3.2 LED显示器的选择在应用系统中,设计要求不同,使用的LED显示器的位数也不同,因此就生产了位数,尺寸,型号不同的LED显示器供选择,在本设计中,选择4位一体的数码型LED显示器,简称“4-LED”。本

25、系统中第二位显示电压的整数位,即个位,后两位显示电压的小数位。4-LED显示器引脚如图7所示,是一个共阴极接法的4位LED数码显示管,其中a,b,c,e,f,g为4位LED各段的公共输出端,1、2、3、4分别是每一位的位数选端,dp是小数点引出端,4位一体LED数码显示管的内部结构是由4个单独的LED组成,每个LED的段输出引脚在内部都并联后,引出到器件的外部。图7 4位LED引脚对于这种结构的LED显示器,它的体积和结构都符合设计要求,由于4位LED阴极的各段已经在内部连接在一起,所以必须使用动态扫描方式(将所有数码管的段选线并联在一起,用一个I/O接口控制)显示。3.3.3 LED译码方式

26、译码方式是指由显示字符转换得到对应的字段码的方式,对于LED数码管显示器,通常的译码方式有硬件译码和软件译码方式两种。硬件译码是指利用专门的硬件电路来实现显示字符码的转换。软件译码就是编写软件译码程序,通过译码程序来得到要显示的字符的字段码,译码程序通常为查表程序。本设计系统中为了简化硬件线路设计,LED译码采用软件编程来实现。由于本设计采用的是共阴极LED,其对应的字符和字段码如下表3所示。表3 共阴极字段码表显示字符共阴极字段码03FH106H25BH34FH466H56DH67DH707H87FH96FH3.3.4 LED显示器与单片机接口设计由于单片机的并行口不能直接驱动LED显示器,

27、所以,在一般情况下,必须采用专用的驱动电路芯片,使之产生足够大的电流,显示器才能正常工作。如果驱动电路能力差,即负载能力不够时,显示器亮度就低,而且驱动电路长期在超负荷下运行容易损坏,因此,LED显示器的驱动电路设计是一个非常重要的问题。为了简化数字式直流电压表的电路设计,在LED驱动电路的设计上,可以利用单片机P0口上外接的上拉电阻来实现,即将LED的A-G段显示引脚和DP小数点显示引脚并联到P0口与上拉电阻之间,这样,就可以加大P0口作为输出口德驱动能力,使得LED能按照正常的亮度显示出数字,如图8所示。图8 LED与单片机接口间的设计3.4 总体电路设计经过以上的设计过程,可设计出基于单

28、片机的简易数字直流电压表硬件电路原理图如图9所示。图9 简易数字电压表电路图此电路的工作原理是:+5V模拟电压信号通过变阻器VR1分压后由ADC0808的IN0通道进入(由于使用的IN0通道,所以ADDA,ADDB,ADDC均接低电平),经过模/数转换后,产生相应的数字量经过其输出通道D0-D7传送给AT89C51芯片的P1口,AT89C51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码传送给四位LED,同时它还通过其四位I/O口P2.0、P2.1、P2.2、P2.3产生位选信号控制数码管的亮灭。此外,AT89C51还控制ADC0808的工作。其中, P2.5发正脉冲启动A/

29、D转换,P2.6检测A/D转换是否完成,转换完成后,P2.7置高从P1口读取转换结果。简易数字直流电压表的硬件电路已经设计完成,就可以选取相应的芯片和元器件,利用Proteus软件绘制出硬件的原理,并仔细地检查修改,直至形成完善的硬件原理图。但要真正实现电路对电压的测量和显示的功能,还需要有相应的软件配合,才能达到设计要求。四 程序设计4.1 程序设计总方案 根据模块的划分原则,将该程序划分:采集电压路数确定,A/D转换数据采集子程序,数据处理和输出显示子程序,这三个程序模块构成了整个系统软件的主程序,如图10所示。识别采集第几路电压A/D数据采集数据处理开始输出显示图10 数字式直流电压表主

30、程序框图4.2 系统子程序设计系统的程序由几个部分共同连接配合组成,下面就各个子程序做相应介绍。4.2.1 采集电压路数识别所谓采集电压路数识别就是由外部按钮确定当前采集某一路的电压值,该部分的设计采用74LS161计数器,按钮每按下都将产生一个下降沿脉冲,74LS161接收到脉冲时自加一,其输出端Q0、Q1、Q2输入给单片机,再使其控制ADC0808转换相应输入电压的电压值。4.2.2 A/D转换子程序A/D转换子程序用来控制对输入的模块电压信号的采集测量,并将对应的数值存入相应的内存单元,其转换流程图如图11所示。启动转换A/D转换结束?P1输入转换结果保存转换结果开始子程序返回图11 A

31、/D转换流程图4.2.4 数据处理子程序数据处理子程序实现把采集得到的二进制电压值转换成为可供显示子程序显示的十进制电压值。因为A/D0808采集的05V电压值为八位二进制数据,#0FFH对应5V电压,所以每51个二进制值对应1V。采集的数据除以51,所得商为个位数据,余数本该乘10再除51,但此程序采用简便算法直接除5,误差基本可以忽略不计。由此得数据处理子程序的流程图如图12所示。余数乘二除十商为十分位,余数为百分位保存结果子程序返回子程入口采集数据除以51商即个位数据保存,余数待处理图12数据处理子程序4.2.4 显示子程序显示子程序采用动态扫描实现四位数码管的数值显示,在采用动态扫描显

32、示方式时,要使得LED显示的比较均匀,又有足够的亮度,需要设置适当的扫描频率因此在每次输出中都调用一次延时子程序,使得数码管有较好的显示亮度。五 仿真5.1 软件调试软件调试的主要任务是排查错误,错误主要包括逻辑和功能错误,这些错误有些是显性的,而有些是隐形的,可以通过仿真开发系统发现逐步改正。Proteus软件可以对基于微控制器的设计连同所有的周围电子器件一起仿真,用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。Proteus支持的微处理芯片包括8051系列、AVR系列、PIC系列、HC11系列及Z80等等。Proteus可以完成单片机系统原理

33、图电路绘制、PCB设计,更为显著点的特点是可以与u Visions3 IDE工具软件结合进行编程仿真调试。本系统的调试主要以软件为主,其中,系统电路图的绘制和仿真我采用的是Proteus软件,而程序方面,采用的是汇编语言,用Keil软件将程序写入单片机。5.2显示结果1当IN0口输入电压值为5V时,显示结果如图13所示。 图13 输入电压为5V时,LED的显示结果2.当IN1输入电压值为2.66V时,显示结果如图14所示。图14 输入电压为2.66V时,LED的显示结果3. 当IN7口输入电压值为0.00V时,显示结果如图15。图15 输入电压为0.00V时,LED的显示结果结 论经过一段时间

34、的努力,在老师和同学的帮助下课程设计简易数字电压表的设计基本完成。但设计中的不足之处仍然存在。这次设计是我第一次设计这么大型的电路,并用Proteus实现了仿真。在这过程中,我对电路设计,单片机的使用等都有了新的认识。通过这次设计学会了Proteus和Keil软件的使用方法,掌握了从系统的需要、方案的设计、功能模块的划分、原理图的设计和电路图的仿真的设计流程,积累了不少经验。基于单片机的数字电压表使用性强、结构简单、成本低、外接元件少。在实际应用工作应能好,测量电压准确,精度高。系统功能、指标达到了课题的预期要求、系统在硬件设计上充分考虑了可扩展性,经过一定的改造,可以增加功能。本文设计主要实

35、现了简易数字电压表测量一路电压的功能,详细说明了从原理图的设计、电路图的仿真再到软件的调试。通过本次设计,我对单片机这门课有了进一步的了解。无论是在硬件连接方面还是在软件编程方面。本次设计采用了AT89C51单片机芯片,与以往的单片机相比增加了许多新的功能,使其功能更为完善,应用领域也更为广泛。设计中还用到了模/数转换芯片ADC0808,以前在学单片机课程时只是对其理论知识有了初步的理解。通过这次设计,对它的工作原理有了更深的理解。在调试过程中遇到很多问题,硬件上的理论知识学得不够扎实,对电路的仿真方面也不够熟练。总之这次电路的设计和仿真,基本上达到了设计的功能要求。在以后的实践中,我将继续努

36、力学习电路设计方面的理论知识,并理论联系实际,争取在电路设计方面能有所提升。参考文献1 彭为等.单片机典型系统设计实例精讲M.北京:电子工业出版社,20062 李群芳.单片机原理、接口及应用M.北京:清华大学出版社,2005 附 录ORG 0000HSJMP STARTSTART:MOV DPTR,#TABWAIT:MOV P3,#0FFH ;P3口作为输入预写1 MOV A,P3 ;读p3口的输入值ANL A,#07H ;保留第三位判断A/D转换通道MOV R0,ASWAP AMOV P3,A ;通道x有效 CLR P2.5 ;允许锁存输出 SETB P2.5 CLR P2.5 ;一位位的输

37、出JNB P2.6,$ ;为1时ad转换结束SETB P2.7 ;数据输出允许信号MOV P1,#0FFH ;P1口作为输入预写1MOV A,P1CLR P2.7MOV B,#51 ; 以下运算为把采集数值转换为x.xx,各位存放在R1DIV AB MOV R1,A ;个位存于R1 MOV A,BMOV B,#2MUL ABMOV B,#10DIV ABMOV R2,A ;十分位存于R2MOV R3,B ;百分位存于R3LCALL LOOPSJMP WAITLOOP: ;输出显示程序MOV A,R3MOVC A,A+DPTRCLR P2.3MOV P0,ALCALL DELAYSETB P2.

38、3MOV A,R2MOVC A,A+DPTRCLR P2.2MOV P0,ALCALL DELAYSETB P2.2MOV A, R1MOVC A,A+DPTRADD A,#80H ;输出数据加小数点CLR P2.1MOV P0, ALCALL DELAYSETB P2.1MOV A,R0MOVC A,A+DPTRCLR P2.0MOV P0,ALCALL DELAYSETB P2.0 RETDELAY: ;延时子程序MOV R6,#20D1:MOV R7,#250DJNZ R7,$DJNZ R6,D1RETTAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号