单片机课程设计数字电压表设计Word格式.docx
《单片机课程设计数字电压表设计Word格式.docx》由会员分享,可在线阅读,更多相关《单片机课程设计数字电压表设计Word格式.docx(16页珍藏版)》请在冰豆网上搜索。
3单元电路设计与参数计算………………………………………………3
4总原理图及参考程序……………………………………………………8
5结论………………………………………………………………………14
6心得体会…………………………………………………………………15
7参考文献…………………………………………………………………16
1.绪论
数字电压表的基本工作原理是利用A/D转换电路将待测的模拟信号转换成数字信号,通过相应换算后将测试结果以数字形式显示出来的一种电压表。
较之于一般的模拟电压表,数字电压表具有精度高、测量准确、读数直观、使用方便等优点。
电压表的数字化测量,关键在于如何把随时连续变化的模拟量转化成数字量,完成这种转换的电路叫模数转换器(A/D)。
数字电压表的核心部件就是A/D转换器,由于各种不同的A/D转换原理构成了各种不同类型的DVM。
一般说来,A/D转换的方式可分为两类:
积分式和逐次逼近式。
积分式A/D转换器是先用积分器将输入的模拟电压转换成时间或频率,再将其数字化。
根据转化的中间量不同,它又分为U-T(电压-时间)式和U-F(电压-频率)式两种。
逐次逼近式A/D转换器分为比较式和斜坡电压式,根据不同的工作原理,比较式又分为逐次比较式及零平衡式等。
斜坡电压式又分为线性斜坡式和阶梯斜坡式两种。
在高精度数字电压表中,常采用由积分式和比较式相结合起来的复合式A/D转换器。
本设计以8051单片机为核心,以逐次比较型A/D转换器ADC0809、LED显示器为主体,构造了一款简易的数字电压表,能够测量1路0~5V直流电压,最小分辨率0.02V。
2.方案设计与论证
基于单片机的多路数字电压表电路的基本组成如图3.1所示。
图2.1基于单片机的多路数字电压表电路的原理框图
根据设计要求,采用的方案如下。
部分实现数据的采集、编译,A/D转换以及显示的功能,包括单片机电路模块、A/D转换器模块、数码管显示电路模块、按键处理电路模块;
软件部分实现控制芯片,使各部件能够正常的运行,同时实现仿真的功能,主要设计思想是利用软件进行仿真,通过仿真得到实验的结果。
多路数字式电压表应用主要利用A/D转换器,先用A/D转换器对各路电压值进行采样,得到相应的数字量,按数字量与模拟量成正比关系运算得到对应的模拟电压值,然后把模拟值通过显示器显示出来。
根据系统功能要求,控制系统采用AT89C52单片机,A/D转换器采用ADC0809。
ADC0809是8位的A/D转换器。
当输入电压为5.00v时,输出的数据值为255(0FFH),因此最大的分辨率为0.0196v(5/255)。
ADC0809具有8路模拟输入端,通过3位地址输入端的地址,就能依次对8路中选择一路进行转换。
如每隔一段时间依次轮流改变3位地址输入端的地址,就能依次对8路输入电压进行测量。
LED数码管显示采用软件译码动态显示。
通过按键选择可8路显示,也可单路显示,单路显示可通过按键选择显示通道
3.单元电路设计与参数计算
3.1ADC0809
3.1.1主要特性
1)8路8位A/D转换器,即分辨率8位。
2)具有转换起停控制端。
3)转换时间约为128μs
4)单个+5V电源供电
5)模拟输入电压范围0~+5V,不需零点和满刻度校准。
6)工作温度范围为-40~+85摄氏度
7)低功耗,约15mW。
3.1.2内部结构
图3.1ADC0809内部结构框图
ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图4.1所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型D/A转换器、逐次逼近寄存器、三态输出锁存器等其它一些电路组成。
因此,ADC0809可处理8路模拟量输入,且有三态输出能力,既可与各种微处理器相连,也可单独工作。
输入输出与TTL兼容。
3.1.3外部特性(引脚功能)
图3.2ADC0809引脚
ADC0809芯片有28条引脚,采用双列直插式封装,如上图所示。
下面说明各引脚功能。
IN0~IN7:
8路模拟量输入端。
D0~D7:
8位数字量输出端。
START:
A/D转换启动信号,输入,高电平有效。
ALE:
地址锁存允许信号,输入,高电平有效。
OE:
数据输出允许信号,输入,高电平有效。
当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
CLK:
时钟脉冲输入端。
要求时钟频率不高于640KHZ。
ADDA、ADDB、ADDC:
3位地址输入线,用于选通8路模拟输入中的一路。
如表1所示。
EOC:
A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
VREF(+)、VREF(-):
基准电压。
VCC:
电源,接+5V。
GND:
地。
表3.1地址与通道对应关系
ADC0809的工作过程是:
首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。
此地址经译码选通8路模拟输入之一到比较器。
START上升沿将逐次逼近寄存器复位。
下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。
直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。
当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。
3.2LED数码显示
3.2.1LED显示器
LED是由若干个发光二极管组成的。
当发光二极管导通时,相应的一个点或一个笔划发亮。
控制不同组合的二极管导通,就能显示出各种字符。
这种笔划式的七段显示器,能显示的字符数量少,但控制简单、使用方便。
发光二极管的阳极连在一起的称为共阳极显示器,阴极连在一起的称为共阴极显示器
3.2.2LED结构及显示原理
通常的七段LED显示块中有八个发光二极管,故也有人叫做八段显示块。
其中七个发光二极管构成七笔字形“8”。
一个发光二极管构成小数点。
七段显示块与单片机接口非常容易。
只要将一个8位并行输出口与显示块的发光二极管引脚相连即可。
8位并行输出口输出不同的字节数据即可获得不同的数字或字符。
通常将控制发光二极管的8位字节数据称为段选码或段数据。
一些字形的段选码如下表:
3.2.3LED的结构及其工作原理
点亮显示器有静态和动态两种方法。
1)静态显示:
当显示某一个字符时,相应的发光二极管恒定地导通或截止。
例如七段显示器的a、b、c、d、e、f导通,g、dp截止,显示0。
静态显示的特点是:
每一位都需要一个8位输出口控制,用于显示位数较少(仅一、二位)的场合。
较小的电流能得到较高的亮度,可以由8255的输出口直接驱动。
图示为三位显示器的接口逻辑。
图3.3三位显示器的接口逻辑
(2)动态显示:
一位一位地轮流点亮各位显示器(扫描)。
对于每一位显示器来说,每隔一段时间点亮一次。
显示器的亮度既与导通电流有关,也和点亮时间与间隔时间的比例有关。
若显示器的位数不大于8位,则控制显示器公共极电位只需一个8位并行口(称为扫描口或位选口)。
控制各位显示器所显示的字形也需一个共用的8位口(称为段数据口),用于显示位数稍多的场合,需编写扫描程序。
4.总原理图及参考程序
4.1总原理图
4.2程序流程图及参考程序
4.2.1程序流程图
4.2.2参考程序
OUTBITEQU09002H
OUTSEGEQU09004H
INEQU09001H
LEDBUFEQU60H
LJMPMAIN
LEDMAP:
DB3FH,06H,5BH,4FH,66H,6DB,7DB,07H
DB7FH,6FH,77H,7CH,39H,5EH,79H,71H
DELAY:
MOVR7,#0
DELAYLOOP:
DJNZR7,DELAYLOOP
DJNZR6,DELAYLOOP
RET
DISPLAYLED:
MOVR0,#LEDBUF
MOVR1,#4
MOVR2,#000000001B
LOOP:
MOVA,@R0
MOVDPTR,#OUTSEG
MOVX@DPTR,A
MOVDPTR,#OUTBIT
MOVA,R2
MOVR6,#01
CALLDELAY
R1A
MOVR2,A
INCR0
DJNZR1,LOOP
TESRKEY:
MOVDPTR,#OUTBIT
MOVA,#0
MOVX@DPTR,A
MOVDPTR,#IN
MOVXA,@DPTR
CPLA
ANLA,#0FH
KEYTABLE:
DB16H,15H,14H,0FFH
DB13H,12H,11H,10H
DB0dH,0cH,0bH,0aH
DB0eH,03H,06H,09H
DB0FH,02H,05H,08H
DB00H,01H,04H,07H
GETKEY:
MOVDPTR,#OUTBIT
MOVP2,DPH
MOVR0,#IN
MOVR1,#00100000B
MOVR2,#6
KLOOP:
MOVA,R1
MOVXA,@R0
JNZGOON1
GOON1:
MOVR1,A
MOVA,R2
DECA
RLA
MOVR2,A
MOVR1,#2
LOOPC:
RRCA
JCEXIT
INCR2
DJNZR1,LOOPC
EXIT:
MOVDPTR,#KEYTABLE
MOVCA,@A+DPTR
WAITRELEASE:
CLRA
MOVR6,#10
CALLTESTKEY
JNZWAITRELEASE
MAIN:
MOVDPTR,#8000H
HERE:
JNBP3.3,HERE
MOVP1,A
MOVR5,A
CALLDISPLAYLED
JZL5
CALLGETKEY
MOV40H,A
L5:
MOV63H,#00H
MOVA,R5
MOVB,#51
MOVAB
MOV62H,A
MOVA,B
JZLOOP1
SUBBA,#2
MOVB,#10
DIVAB
MOV61H,A
MOV60H,B
AJMPMLOOP
LOOP1:
MOV61H,#00
MOV60H,#00
MLOOP:
MOVR0,#LEDBUF
FILLBUF:
MOVA,@R0
MOVDPTR,#LEDMAP
MOV50H,A
CLRC
MOVA,40H
ADDA,41H
ANLA,#01H
MOV41H,A
MOV40H,#00H
JCWEI2
WEI1:
CJNER0,#62H,XS01
MOVA,50H
ADDA,#80H
SJMPXS1
XS01:
XS1:
MOV@R0,A
CJNER0,#LEDBUF+3,FILLBUF
LJMPSTART
WEI2:
CJNER0,#63H,XS0
SJMPXS
XS0:
XS:
CJNER0,#LEDBUF+4,FILLBUF
END
5.结论
本设计以8051单片机为控制核心,通过集成摸数转换芯片ADC0809将被测信号转换成数字信号,经单片机内部程序处理后,由LED八段数码管显示测量结果。
仿真测试表明,系统性能良好,测量读数稳定易读、更新速度合理,直流电压测量范围为0~5V,最小分辨率为0.02V,满足任务书指标要求。
但是,该系统也存在一定程度的不足,例如:
1、若能将测量的电压值实时保存,使用时将更方便。
2、ADC0809可实现对8个通道的输入信号轮流转换,本设计仅仅使用了其中一个通道,造成了较大的资源浪费。
若能对电路稍加改进,实现对多路信号的轮流测量并自动保存相
6.心得体会
在这次单片机课程设计里,通过对单片机的学习与应用明白实际操作和课本上的知识有很大联系,但又高于课本,体会到了理论与实践相结合的重要性,同时查阅相关文献资料、组织材料、等的能力都得到了相应的提高。
在这次学习中,在收获知识的同时,还收获了阅历。
在此过程中,通过查找相关资料,请教老师,不仅培养了独立思考、动手操作的能力,组织材料、等能力也得到了相应的提高,而且在与老师和同学的交流过程中,互动学习,能更好的将知识融会贯通,达到了事半功倍的效果。
更重要是我从中学到:
要面对社会的挑战,只有不断的学习、实践,再学习、再实践。
不管怎样,这些都是一种锻炼,只有不断的积累这些最基础的,才可以更进一步,取得更好的成绩。
总之,这次设计巩固了单片机这门课程的知识,并且对提高自己的动手能力与设计能力有了很大帮助。
。
7.参考文献
[1]吴金戌,沈庆阳,郭庭吉《8051单片机实践与应用》清华大学出版社,2002.
[2]余勇权汪明慧黄英《单片机在控制系统中的应用》电子出版社,2003
[3]高卫东辛友顺韩彦征《单片机原理与应用教程》北京航空航天出版社,2008
[4]李朝青《PC机及单片机数据通信技术》北京刚空航天大学出版社,2000
[5]李刚民《单片机原理及实用技术》高等教育出版社,2005
[6]赵晓安《单片机原理及应用》天津大学出版社,2001
[7]何立民《单片机实验与实践教程》北京航空航天大学出版社,2001
评语
课程设计
成绩
签字
年月日