简易数字电压表.docx

上传人:b****4 文档编号:6201674 上传时间:2023-05-09 格式:DOCX 页数:16 大小:855.79KB
下载 相关 举报
简易数字电压表.docx_第1页
第1页 / 共16页
简易数字电压表.docx_第2页
第2页 / 共16页
简易数字电压表.docx_第3页
第3页 / 共16页
简易数字电压表.docx_第4页
第4页 / 共16页
简易数字电压表.docx_第5页
第5页 / 共16页
简易数字电压表.docx_第6页
第6页 / 共16页
简易数字电压表.docx_第7页
第7页 / 共16页
简易数字电压表.docx_第8页
第8页 / 共16页
简易数字电压表.docx_第9页
第9页 / 共16页
简易数字电压表.docx_第10页
第10页 / 共16页
简易数字电压表.docx_第11页
第11页 / 共16页
简易数字电压表.docx_第12页
第12页 / 共16页
简易数字电压表.docx_第13页
第13页 / 共16页
简易数字电压表.docx_第14页
第14页 / 共16页
简易数字电压表.docx_第15页
第15页 / 共16页
简易数字电压表.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

简易数字电压表.docx

《简易数字电压表.docx》由会员分享,可在线阅读,更多相关《简易数字电压表.docx(16页珍藏版)》请在冰点文库上搜索。

简易数字电压表.docx

简易数字电压表

 

单片机课程设计报告

 

简易数字电压表

一、设计任务与要求

1.电压表的测量范围为0-5V;

2.测量精度约为20mV。

二、方案设计与论证

方案一:

选择MC14433A/D转换器、CD4511等元器件设计电路:

方案二:

用单片机设计电路:

设计采用STC89C52单片机、A/D转换器ADC0809和共阴数码管为主要硬件,分析了数字电压表Proteus软件仿真电路设计及编程方法。

将单片机应用于测量技术中,采用ADC0809将模拟信号转化为数字信号,用STC89C52实现数据的处理。

通过数码管以扫描的方式完成显示。

方案比较:

方案1:

3为半双积分式A/D转换器MC14433转换精度为读数的±0.05%±1字,并能很方便地判断出是否超欠量程,以便于量程的自动切换功能的实现,其中集成了双积分式A/D转换器所有的CMOS模拟电路和数字电路。

具有输入阻抗高,功耗低,电源电压范围宽,精度高等特点,并且具有自动校零和自动极性转换功能。

缺点是工作速度低,且外围电路需配基准电源,短译码驱动器和位驱动器,电路较复杂。

方案2:

设计电路简单。

易于控制,且性能稳定;单调试过程需要一定的编程基础,可利用Proteus软件仿真电路设计和调试。

Proteus软件是一种电路分析和实物模拟仿真软件。

它运行于Windows操作系统上,可以进行仿真、分析(SPICE)各种模拟器件和集成电路,是集单片机和SPICE分析于一身的仿真软件,功能强大,具有系统资源丰富、硬件投入少、形象直观等优点,因此可用此软件方便调试电路。

经过以上两种方案的特点比较,方案二中的电路设计采用比较常见的元器件,对这种方案有一定的专业基础,故采用第二种方案。

三、单元电路设计与参数计算

1A/D转换模块

1.1ADC0809主要特性

ADC0809是CMOS单片型逐次逼近式A/D转换器,带有使能控制端,与微机直接接口,片内带有锁存功能的8路模拟多路开关,可以对8路0-5V输入模拟电压信号分时进行转换,由于ADC0809设计时考虑到若干种模/数变换技术的长处,所以该芯片非常适应于过程控制,微控制器输入通道的接口电路,智能仪器和机床控制等领域。

ADC0809主要特性:

8路8位A/D转换器,即分辨率8位;具有锁存控制的8路模拟开关;易与各种微控制器接口;可锁存三态输出,输出与TTL兼容;转换时间:

128μs;转换精度:

0.2%;单个+5V电源供电;模拟输入电压范围0-+5V,无需外部零点和满度调整;低功耗,约15mW。

1.2ADC0809的外部引脚特征

ADC0809芯片有28条引脚,采用双列直插式封装,其引脚图如图1所示。

图1ADC089引脚图

下面说明各个引脚功能:

IN0-IN7(8条):

8路模拟量输入线,用于输入和控制被转换的模拟电压。

地址输入控制(4条):

ALE:

地址锁存允许输入线,高电平有效,当ALE为高电平时,为地址输入线,用于选择IN0-IN7上那一条模拟电压送给比较器进行A/D转换。

ADDA,ADDB,ADDC:

3位地址输入线,用于选择8路模拟输入中的一路,其对应关系如表1所示:

 

表1ADC0809通道选择表

地址码

对应的输入通道

C

B

A

0

0

0

0

1

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为接地端,一般REF+与Vcc连接在一起,REF-与GND连接在一起.

CLK:

时钟输入端。

1.3ADC0809的内部结构及工作流程

ADC0809由8路模拟通道选择开关,地址锁存与译码器,比较器,8位开关树型A/D转换器,逐次逼近型寄存器,定时和控制电路和三态输出锁存器等组成,其内部结构如图2所示。

图2ADC0809的内部结构

其中:

(1)8路模拟通道选择开关实现从8路输入模拟量中选择一路送给后面的比较器进行比较。

(2)地址锁存与译码器用于当ALE信号有效时,锁存从ADDA、ADDB、ADDC3根地址线上送来的3位地址,译码后产生通道选择信号,从8路模拟通道中选择当前模拟通道。

(3)比较器,8位开关树型A/D转换器,逐次逼近型寄存器,定时和控制电路组成8位A/D转换器,当START信号有效时,就开始对当前通道的模拟信号进行转换,转换完成后,把转换得到的数字量送到8位三态锁存器,同时通过引脚送出转换结束信号。

(4)三态输出锁存器保存当前模拟通道转换得到的数字量,当OE信号有效时,把转换的结果送出。

ADC0809的工作流程为:

(1)输入3位地址,并使ALE=1,将地址存入地址锁存器中,经地址译码器从8路模拟通道中选通1路模拟量送给比较器。

(2)送START一高脉冲,START的上升沿使逐次寄存器复位,下降沿启动A/D转换,并使EOC信号为低电平。

(3)当转换结束时,转换的结果送入到输出三态锁存器中,并使EOC信号回到高电平,通知CPU已转换结束。

(4)当CPU执行一读数据指令时,使OE为高电平,则从输出端D0-D7读出数据。

2单片机系统

2.1STC89C52性能

STC89C52是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含有8KB的可反复擦写的只读程序存储器和256字节的随机存储器。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容,由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的STC89C52是一种高效微控制器,它为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

STC89C52功能性能:

与MCS-51成品指令系统完全兼容;数据保留时间:

10年;全静态工作:

0-24MHz;三级程序存储器锁定;128*8B内部RAM;32个可编程I/O口线;2个16位定时/计数器;5个中断源;可编程串行UART通道;片内震荡器和掉电模式。

2.2STC89C52各引脚功能

STC89C52提供以下标准功能:

4KB的Flash闪速存储器,128B内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内震荡器及时钟电路,同时,STC89C52可降至0Hz静态逻辑操作,并支持两种软件可选的节电工作模式。

空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作,掉电方式保存RAM中的内容,但震荡器停止工作并禁止其他所有工作直到下一个硬件复位。

STC89C52采用PDIP封装形式,引脚配置如图3所示。

STC89C52芯片的各引脚功能为:

P0口:

这组引脚共有8条,P0.0为最低位。

这8个引脚有两种不同的功能,分别适用于不同的情况,第一种情况是89C52不带外存储器,P0口可以为通用I/O口使用,P0.0-P0.7用于传送CPU的输入/输出数据,这时输出数据可以得到锁存,不需要外接专用锁存器,输入数据可以得到缓冲,增加了数据输入的可靠性;第二种情况是89C52带片外存储器,P0.0-P0.7在CPU访问片外存储器时先传送片外存储器的低8位地址,然后传送CPU对片外存储器的读/写数据。

P0口为开漏输出,在作为通用I/O使用时,需要在外部用电阻上拉。

图3STC89C52的引脚图

P1口:

这8个引脚和P0口的8个引脚类似,P1.7为最高位,P1.0为最低位,当P1口作为通用I/O口使用时,P1.0-P1.7的功能和P0口的第一功能相同,也用于传送用户的输入和输出数据。

P2口:

这组引脚的第一功能与上述两组引脚的第一功能相同即它可以作为通用I/O口使用,它的第一功能和P0口引脚的第二功能相配合,用于输出片外存储器的高8位地址,共同选中片外存储器单元,但并不是像P0口那样传送存储器的读/写数据。

P3口:

这组引脚的第一功能和其余三个端口的第一功能相同,第二功能为控制功能,每个引脚并不完全相同,如下表2所示:

表2P3口各位的第二功能

P3口各位

第二功能

P3.0

RXT(串行口输入)

P3.1

TXD(串行口输出)

P3.2

/INT0(外部中断0输入)

P3.3

/INT1(外部中断1输入)

P3.4

T0(定时器/计数器0的外部输入)

P3.5

T1(定时器/计数器1的外部输入)

P3.6

/WR(片外数据存储器写允许)

P3.7

/RD(片外数据存储器读允许)

Vcc为+5V电源线,Vss接地。

ALE:

地址锁存允许线,配合P0口的第二功能使用,在访问外部存储器时,89C52的CPU在P0.0-P0.7引脚线去传送随后而来的片外存储器读/写数据。

在不访问片外存储器时,89C52自动在ALE线上输出频率为1/6震荡器频率的脉冲序列。

该脉冲序列可以作为外部时钟源或定时脉冲使用。

/EA:

片外存储器访问选择线,可以控制89C52使用片内ROM或使用片外ROM,

若/EA=1,则允许使用片内ROM,若/EA=0,则只使用片外ROM。

/PSEN:

片外ROM的选通线,在访问片外ROM时,89C52自动在/PSEN线上产生一个负脉冲,作为片外ROM芯片的读选通信号。

RST:

复位线,可以使89C52处于复位(即初始化)工作状态。

通常89C52复位有自动上电复位和人工按键复位两种。

XTAL1和XTAL2:

片内震荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接89C52片内OSC(震荡器)的定时反馈回路。

3复位电路和时钟电路

3.1复位电路设计

单片机在启动运行时都需要复位,使CPU和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。

MCS-52单片机有一个复位引脚RST,采用施密特触发输入。

当震荡器起振后,只要该引脚上出现2个机器周期以上的高电平即可确保时器件复位。

复位完成后,如果RST端继续保持高电平,MCS-52就一直处于复位状态,只要RST恢复低电平后,单片机才能进入其他工作状态。

单片机的复位方式有上电自动复位和手动复位两种,图4是51系列单片机统常用的上电复位和手动复位组合电路,只要Vcc上升时间不超过1ms,它们都能很好的工作。

图4复位电路

3.2时钟电路设计

单片机中CPU每执行一条指令,都必须在统一的时钟脉冲的控制下严格按时间节拍进行,而这个时钟脉冲是单片机控制中的时序电路发出的。

CPU执行一条指令的各个微操作所对应时间顺序称为单片机的时序。

MCS-52单片机芯片内部有一个高增益反相放大器,用于构成震荡器,XTAL1为该放大器的输入端,XTAL2为该放大器输出端,但形成时钟电路还需附加其他电路。

本设计系统采用内部时钟方式,利用单片机内部的高增益反相放大器,外部电路只需要一个晶振和2个电容即可,如图5所示。

图5振荡电路

电路中的器件选择可以通过计算和实验确定,也可以参考一些典型电路的参数,电路中,电容器C1和C2对震荡频率有微调作用,通常的取值范围是30±10pF,在这个系统中选择了30pF;石英晶振选择范围最高可选24MHz,它决定了单片机电路产生的时钟信号震荡频率,在本系统中选择的是6MHz,因而时钟信号的震荡频率为6MHz。

4LED显示系统设计

4.1LED基本结构

LED七段数码显示器由8个发光二极管组成显示字段,7个长条形的发光二极管排列组合可用来显示各种数字。

LED引脚排列如下图6所示:

图6LED引脚排列

4.2LED显示器的选择

在本设计中,选择4位一体的数码型LED显示器,简称“4-LED”。

本系统中前一位显示电压的整数位,后两位显示电压的小数位。

4-LED显示器引脚如图7所示,是一个共阳极接法的4位LED数码显示管,其中a,b,c,e,f,g为4位LED各段的公共输出端,1、2、3、4分别是每一位的位数选端,dp是小数点引出端,4位一体LED数码显示管的内部结构是由4个单独的LED组成,每个LED的段输出引脚在内部都并联后,引出到器件的外部。

图74位LED引脚

4.3LED译码方式

译码方式是指由显示字符转换得到对应的字段码的方式,对于LED数码管显示器,通常的译码方式有硬件译码和软件译码方式两种。

硬件译码是指利用专门的硬件电路来实现显示字符码的转换。

软件译码就是编写软件译码程序,通过译码程序来得到要显示的字符的字段码,译码程序通常为查表程序。

本设计系统中为了简化硬件线路设计,LED译码采用软件编程来实现。

由于本设计采用的是共阴极LED,其对应的字符和字段码如下表3所示。

表3共阴极字段码表

显示

字符

共阴极

字段码

显示

字符

共阴极

字段码

0

3FH

5

6DH

1

06H

6

7DH

2

5BH

7

07H

3

4FH

8

7FH

4

66H

9

6FH

4.4LED显示器与单片机接口设计

由于单片机的并行口不能直接驱动LED显示器,所以,在一般情况下,必须采用专用的驱动电路芯片,使之产生足够大的电流,显示器才能正常工作。

如果驱动电路能力差,即负载能力不够时,显示器亮度就低,而且驱动电路长期在超负荷下运行容易损坏,因此,LED显示器的驱动电路设计是一个非常重要的问题。

为了简化数字式直流电压表的电路设计,在LED驱动电路的设计上,可以利用单片机P0口上外接的上拉电阻来实现,即将LED的A-G段显示引脚和DP小数点显示引脚并联到P0口与上拉电阻之间,这样,就可以加大P0口作为输出口德驱动能力,使得LED能按照正常的亮度显示出数字,如图8所示。

图8LED与单片机接口间的设计

四、总原理图及元器件清单

1.总原理图

图9数字电压表总原理图

2.元件清单

表4数字电压表元件清单

器件名称

封装

数量

按键

KEY2

1

510Ω

AXIAL0.3

8

10K

AXIAL0.3

1

10uF

RB.1/.2

1

12M晶振

XTAL1

1

30P

RAD0.1

2

STC89C52

DIP40-1

1

10Uf

RB.1/.2

1

ADC0809

DIP28

1

四位一体共阴数码管

CL—3461AS

1

5、安装与调试

1、系统硬件调试

在系统上电开始测量前,要用万用表的电压档对被测电压进行估测,然后以此选择适当的量程,防止过大电压烧坏A/D转换器。

首先用万用表按照原理图逐步检查万能板中各器件的电源及个引脚的连接是否正确,有否短路、断路或者虚焊,尤其是给电路供电的电源部分要重点检查,用数字玩嫩恶搞万用表测量输出端的电压是否为+5v,是否稳定。

如果电压要求没有达到,要及时排查与解决,以免烧坏芯片和其他元器件。

2、系统软件调试

软件调试的任务是利用开发工具在线仿真调试,发现和纠正程序的错误,同时也能发现硬件的故障。

软件调试是一个模块进行的。

首先单独调试各模块程序是否能按照预期的功能,借口电路的控制是否正常,最后调试整个程序,尤其注意的是各模块间能否正确的传递参数。

在一开始调试时,数码管的显示较不稳定,感觉较闪烁,数据变化不连贯,好像在跳变。

经过反复思考发现,因人眼的视觉暂留时间为0.1S,所以每位显示的间隔不必超过20MS,并保持延时一段时间,以造成视觉暂留效果。

于是将程序的显示部分加以延时。

经再次调试可以显示比较稳定的数字串了。

6、性能测试与分析

设计完成之后,调试过程可以利用对部分给定电压的测量结果分析来完成。

首先要校准零点;将A/D转换器的模拟输入端口接地,即让电压为0V校准零点之后,就可以进行测试了。

以下表5所示对系统进行测试并调节

表5

编号

实际电压(V)

显示电压(V)

误差(%)

0

5

4.998

0.04

1

4.33

4.258

1.5

2

2.53

2.568

1.7

3

2.37

2.28

3.7

4

1.86

1.82

2.2

因为1K电位器是粗调电位器,在Proteus中电位器都调零了,但电位器本身就有一定的电阻,就是说在挑零的情况下,还存在一定的误差。

所以误差是在所难免的,还有就是因为电源本身的原因,在设计电路的时候,没有考虑到提供稳定电源的电源电路,所以供电电源没有能够提供稳定的5V电压,所以在测试的时候也有误差的。

7、结论与心得

为期1个星期的课程设计已经结束,在这个星期的学习、设计过程中我感触颇深。

使我对单片机的理论知识有了具体的认识。

通过这次设计,我的理论知识掌握得更扎实,动手能力明显提高。

同时,通过网上搜索等多方面的查询资料,比如我们用的STC89C52芯片。

通过本次课程设计我学到许多在书本上没有的知识,也认识到理论联系实践的重要。

理论学得好,但如果只会纸上谈兵,一点用都没有。

通过这次课程设计,我掌握了常用元件的识别和测试,通过对电路的分析,结合实际实验,并利用其它电路作为辅助,提出了一种制作数字电压表的有效方法,解决了在制作数字电压表时经常出现的数字显示不了,显示数字模糊的问题。

以及如何提高电路的性能等等。

在实验过程中,我们遇到了不少的问题。

比如:

通道选择、复位功能缺失等。

在老师和同学的帮助下,把问题一一解决,很有成就感。

同时,在设计中暴露出我们在理论学习中所存在的问题,有些理论知识还处于半知半解的状态,通过实验加深了我们对这些知识的理解。

特别是在排查电路,程序问题时,使我们熟练掌握了一些处理电路故障程序的方法。

虽然一周的课程设计很短,但是充分锻炼了我们的团队合作能力以及对知识点的巩固,也培养了我们独立思考和设计能力,树立了对知识点应用的信心最后用一句话来结束吧。

“实践是检验真理的唯一标准”。

只有把所学的理论知识运用到生活当中,才能发挥它最好的作用。

另外通过本次课程设计让我对PROTEUS和KEIL软件的使用有了进一步的了解,感觉收获不小。

8、参考文献

[1]康华光.电子技术基础.数字部分.北京:

高等教育出版社,2000

[2]顾永杰.电工电子技术实训教程.上海:

上海交通大学出版社,1999

[3]陈小虎.电工实习(I).北京:

中国电力出版社,1996

[4]焦辎厚.电子工艺实习教程.哈尔滨:

哈尔滨工业大学出版社,1993

[5]宋春荣.通用集成电路速查手册.山东:

山东科学技术出版社,1995

[6]高吉祥.电子技术基础实验与课程设计.北京:

电子工业出版社,2002

[7]吕思忠.数子电路实验与课程设计.哈尔滨:

哈尔滨工业大学出版社,2001

九、电子稿程序清单

(略)

 

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2