数字电压表课程设计Word文档下载推荐.docx
《数字电压表课程设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数字电压表课程设计Word文档下载推荐.docx(27页珍藏版)》请在冰豆网上搜索。
adc0809
1总体设计
1.1设计目的
利用52单片机及ADC0809核心元件制作数字电压表,精确到小数点后两位,且更好加强与巩固单片机技术及其应用。
1.2功能要求
设计一个能够测量直流电压的数字电压表。
测量电压范围0~5V,测量精度小数点后两位。
该电压表上电或按键复位后能自动显示系统提示符“P.”,进入测量准备状态,按测量开始键则开始测量,并将测量值显示在显示器上,按测量结束键则自动返回“P.”状态。
1.3系统设计
该系统主要分为两部分:
硬件电路及软件程序。
硬件电路包括:
单片机,模拟信号采集电路,A/D转换电路,数码管显示电路,按键电路,下载电路,电源电路及555定时电路。
软件的程序可选择C语言或汇编,这里采用汇编语言。
1.4设计思路
1根据技术指标要求,这里采用AT89S52单片机为核心控制器件。
2A/D转换采用ADC0809,与单片机P0口引脚相接。
显示电压采用4位一体的LED共阳数码管。
LED数码的段码输入,由并行端口P0控制:
位码用并行端口P2低四位控制。
⑸利用NE555定时器产生时钟信号提供给ADC0809。
1.5设计方案
采用单片机来计数字电压表。
硬件电路设计由7个部分组成:
A/D转换电路,AT89S52单片机系统,LED数码显示系统、独立键盘电路,时钟电路、复位电路,采集电压电路,下载电路及电源电路。
硬件电路设计框图如图1所示。
其中,A/D转换器是将采集的模拟量转换成数字量,它是数字电压表的一个核心部件。
本设计A/D采用逐次逼近式A/D转换器。
它的转换速度更快,而且精度更高,比如ADC0808、ADC0809等。
它们具有8路模拟选通开关及相应通道地址锁存与译码电路,它们与单片机系统连接,将转换的数字量送单片机进行分析并在数码管显示。
这样电路设计简单,精确度高,方便焊接、调试。
这里采用这种方案。
显示部分可以采用各类数码管或用LCD显示器显示。
在此简化采用4位八段共阳数码管对A/D转换变换后的结果加以显示。
1.6总体设计框图
图1硬件电路设计框图
通过片选选择8路通道中的一路,将该路采集的电压送入ADC0809,转换完后EOC端口产生高电平,同时将AOE端口置为高电平,A/D将转换后结果送回单片机。
应用软件将转换为二进制的数据转换成十进制数,再按十进制数调出段控码,并输出到LED显示电路,将相应电压显示出来。
2硬件电路设计
2.1核心元器件介绍
AT89S52
a.描述:
AT89S52是一个低电压,高性能CMOS8位单片机带有8K字节的可反复擦写的程序存储器(PENROM)和256字节的存取数据存储器(RAM),这种器件采用ATMEL公司的高密度、不容易丢失存储技术生产。
片内含有8位中央处理器和闪烁存储单元,有较强的功能的AT89S52单片机能够被应用到控制领域中。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S52是一种高效微控制器。
b.主要特性:
·
8K字节可编程闪烁存储器。
32个双向I/O口;
128×
8位内部RAM。
2个16位可编程定时/计数器中断。
可编程串行通道。
5个中断源。
2个读写中断口线。
片内振荡器和时钟电路。
c.单片机AT89C52引脚描述
VCC:
电源电压
GND:
地
P0口:
这组引脚共有8条,P0.0为最低位。
这8个引脚有两种不同的功能,分别适用于不同的情况,第一种情况是89S52不带外存储器,P0口可以为通用I/O口使用,P0.0-P0.7用于传送CPU的输入/输出数据,这时输出数据可以得到锁存,不需要外接专用锁存器,输入数据可以得到缓冲,增加了数据输入的可靠性;
第二种情况是89S52带片外存储器,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口的第一功能相同,也用于传送用户的输入和输出数据。
P2口:
这组引脚的第一功能与上述两组引脚的第一功能相同即它可以作为通用I/O口使用,它的第一功能和P0口引脚的第二功能相配合,用于输出片外存储器的高8位地址,共同选中片外存储器单元,但并不是像P0口那样传送存储器的读/写数据。
P3口:
这组引脚的第一功能和其余三个端口的第一功能相同,第二功能为控制功能,每个引脚并不完全相同,如下表1所示:
P3口各位
第二功能
P3.0
RXT(串行口输入)
P3.1
TXD(串行口输出)
P3.2
(外部中断0输入)
P3.3
(外部中断1输入)
P3.4
T0(定时器/计数器0的外部输入)
P3.5
T1(定时器/计数器1的外部输入)
P3.6
(片外数据存储器写允许)
P3.7
(片外数据存储器读允许)
表1P3口各位的第二功能
RST:
复位线。
当输入的复位信号延续2个机器周期以上高电平即为有效。
ALE/
:
地址锁存允许线ALE用于控制把P0口输出的低八位地址送入锁存器锁存起来。
在不访问片外存储器时,89C51自动在ALE线上输出频率为1/6震荡器频率的脉冲序列。
该脉冲序列可以作为外部时钟源或定时脉冲使用。
PSEN:
片外ROM的选通线,在读外部ROM时低电平有效,作为片外ROM芯片的读选通信号。
/EA:
片外存储器访问选择线。
若/EA=1,则允许使用片内ROM,若/EA=0,则只使用片外ROM。
XTAL1、XTAL2:
当使用片内时钟时,这两个引脚用于外接石英晶体振荡器和微调电容。
ADC0809芯片
a.主要特性
1)8路输入通道,8位数据输出端。
2)具有转换起停控制端。
3)转换时间为100μs。
4)单个+5V电源供电
5)模拟输入电压范围0~+5V,不需零点和满刻度校准。
6)工作温度范围为-40~+85摄氏度。
b.外部特性(引脚功能)
IN0~IN7:
8路模拟量输入端。
DB0-DB7:
8位数字量输出端。
ADDA、ADDB、ADDC:
3位地址输入线,用于选通8路模拟输入中的一路
表2ADC0808通道选择表
地址码
对应的输入通道
C
B
A
0
1
IN0
IN1
IN2
IN3
IN4
IN5
IN6
IN7
ALE:
地址锁存允许信号输入,高电平有效。
START:
A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。
EOC:
A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
OE:
数据输出允许信号,输入,高电平有效。
当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
CLK:
时钟脉冲输入端。
要求时钟频率不高于640KHZ。
REF(+)、REF(-):
基准电压。
Vcc:
电源,+5V。
接地。
2.2其它部分电路介绍
(1).四位八段共阳极数码管
在本设计中,选择4位一体的数码型LED显示器。
前一位显示电压的整数位,即个位,后两位显示电压的小数位。
四位LED数码显示管中,a,b,c,e,f,g为4位LED各段的公共输出端,1、2、3、4分别是每一位的位数选端,dp是小数点引出端,4位一体LED数码显示管的内部结构是由4个单独的LED组成,每个LED的段输出引脚在内部都并联后,引出到器件的外部。
本设计LED采用软件编程来实现,因为简化硬件线路设计。
软件显示使用四位共阳数码管段控码,显示程序通常为查表法。
由于本设计采用的是共阳极LED,其对应的字符和字段码如下表2所示:
表3共阳极字段码表
显示字符
共阴极字段码
C0H
1
F9H
2
A4H
3
B0H
4
99H
5
92H
6
82H
7
F8H
8
80H
9
90H
A
88H
B
83H
C
C6H
D
A1H
E
86H
F
8EH
灭
FFH
(2).键盘部分
键盘有独立式键盘和行列式键盘,本设计使用。
键盘是单片机不可缺少的人机交互设备,手按下键闭合,手放开键释放,单片机通过与键盘接口技术,以实现通过键盘扫描发现闭合键并产生键码,然后执行相应的键功能程序。
(3).下载电路
通过在电路中插入下载口以实现把总功能程序下载进单片机完成设计要求。
(4).电源电路
为单片机、DAC0809及其他各芯片和部分电路提供工作电压,以实现该数字电压表正常工作。
(5).NE555定时电路
通过外接硬件NE555定时器产生500KHz时钟信号给ADC0809,使之正常转换
2.3电路原理图、CAD电路原理图、PCB图、元件布局图
电路原理图、PCB图、CAD电路原理图、元件布局图分别见附录A,附录B、附录C与附录D
2.4元件清单
元件清单见附录E
3软件设计
3.1ADC0809模块
软件是单片机系统最重要的组成部分,本设计中A/D转换中,用软件定义ADC0809的采集信号输入端、开启A/D转换。
3.2单片机模块
软件定义单片机控制对外寻址,以达到单片机控制A/D输入端,读取A/D转换后的数字量,并把读取的数字量转换成十进制,用查表法查找相应段控码,并选中位控、配合延时程序在数码管上显示出来。
3.3按键模块
以软件调用键扫描程序,定义键功能程序来实现不同按键功能。
本设计两个按键,一个按键开启测量电压功能,另一个按键复位并显示”P.”。
3.4显示模块
以表格方式把段控码建立表格,,供单片机查询并输出到数码管显示,在上电后数码管显示“P.”。
3.5程序流程图
(1).主程序
NO
YES
图2主程序流程图
(2).键功能程序
3.6程序清单
程序清单见附录F
3.7程序说明
先调用显示程序上电显示“P.”再调用键扫程序,查看是否有键按下,当没有键按下,显示“P.”;
当有键按下时,执行相应键功能程序。
开启功能:
开始转换,转换程序先定义ADC0809控制线,ADC0809是8位A/D转换,对0~5V的模拟量转换成00H~FFH的数字量,即0~255。
要转换成对应十进制的BCD码才能显示。
将转换来的数据除上51,即为个位数,将其余数除以5即为第一位小数,这个余数即为第二位小数。
复位功能:
当复位键按下时,即执行复位功能程序显示“P.”。
4调试仿真及结论
4.1仿真结果
电路在proteus中的仿真图如下:
图4仿真结果
仿真结果:
当采集电压范围由0~5V变化时,设计的数字电压表可以测量,并在数码管显示相应值。
测量的前两位精确,百分位不作精确。
精度与要求的一致。
误差分析:
由于二进制化十进制时的误差和基准电压漂移的原因导致误差。
4.2设计体会
通过本次设计,我对单片机这门课有了进一步的了解,硬件连接方面还是在软件方面都有不少的提高。
通过这次设计,对它的工作原理有了更深的理解。
在这次课程设计中,我遇到了硬件及软件的多方面问题,如数码管不显示数,或数码管一个数有某些部分不亮,经过硬件、软件一层一层的拍出,查出问题,一步一步接近设计技术指标,最终基本实现了数字电压表的功能。
在调试过程中遇到很多问题,硬件上的理论知识学得不够扎实,对电路的额外功能的设计业不太熟练使用。
4.3教学建议
这学期刚学单片机是对单片机一片茫然,好多不懂得地方,从单片机内部结构也是不清其功能,程序更是一头雾水,完全不会编。
在王老师严格要求下,虽然我们有时会很累,但更多的是在学习当中的乐趣,我们本学期学了很多,过的很充实。
王老师严谨治学,经验丰富,使我们受益匪浅。
(1)王老师多跟我们交流单片机型号及应用,让我们开阔视野
(2)王老师多给学生动手,更多加强与学生之间的交流。
结束语
通过这次设计,我学到了许多课外的东西,加深了对单片机等知识的了解,提高了应用思考和设计能力。
实物制作到电路板,程序编写,调试,遇到很多很多困难,但是始终没有放弃。
在这过程中,我对电路设计,单片机的使用等都有了新的认识。
掌握了从系统的需要、方案的设计、功能模块的划分、原理图的设计和电路图的仿真的设计流程,积累了不少经验。
在分析设计课题,查阅资料,了解设计原理并进行仿真的过程中尽管遇到了些许问题,但在老师的指导下,最终独立地完成了任务,不仅锻炼了分析解决问题的能力,更重要的是加强了我对单片机学习的兴趣。
在设计的过程中老师给予一定的启发和指导,我们独立认真完成本次课程设计,在此表示衷心的感谢。
致谢
首先,我们要感谢我们的指导老师王韧对我们的指导和关怀。
他渊博的知识、严谨的治学态度和敏锐的分析能力,使我们受益匪浅。
本次设计得以顺利完成,也与学院其他老师的帮助分不开的,在我们没有头绪的时候,学院老师给我们建议,也给我们提供实验室场地,他们给了我宝贵的经验使我们的设计能更快速的完成。
最后,我们要感谢我们的家人﹑朋友和同学,有他们在背后对其的支持,使我更有底气面对困难和挑战。
谢谢大家!
参考文献
[1]李广第,朱月秀,冷祖祁.单片机基础[M].北京:
北京航空航天大学出版社,2007.6
LiGuangfirst,ZhuYueXiu,LengZuQi.Singlechipmicrocomputerbased[M].Beijing:
Beijinguniversityofaeronautics&
astronauticspress,2007.6
[2]康华光.电子技术基础模拟部分(第五版)[M].北京:
高等教育出版社,2006
kanguhguano.Electronictechnologyfoundationsimulationpart(fifthedition)[M].Beijing:
highereducationpress,2006
[3]阎石.数字电子技术基础(第五版)[M].北京:
YanShi,digitalelectronictechnologyfoundation(fifthedition)[M].Beijing:
[4]邱光源.电路(第五版)[M].北京:
QiuGuangYuan.Circuit(fifthedition)[M].Beijing:
[5]陈忠平.基于proteus的AVR单片机C语言程序设计与仿真[M].北京:
电子工业出版社
ChenZhongPingproteus.BasedontheAVRmicrocontrollerClanguageprogramdesignandsimulation[M].Beijing:
publishinghouseofelectronicsindustry
附录
附录A原理图
附录BPCB
顶层图
PCB底层图
附录CCAD图
附录D元器件布局图
附录E元件清单
共阳四位数码管
1个
12M晶振
电阻470
8个
下载口
电位器1K
锁紧座
74HC573
5V电源
按键
2个
74LS02
六角开关
ADC0809
排阻10K
电容33pF
9012PNP
蜂鸣器
NE555定时器
附录F程序清单
*********************************************************************
项目名称:
数字电压表
设计者:
设计日期:
2013年12月24日
功能要求:
设计数字电压表,上电显示“P”,按开启键启动A/D转换,按复位键在数码管显示“P.”
堆栈栈底2FH
*********************************************************************LED数码显示器设定
P0.7---P0.0段控线,接LED的显示段dp,g,f,e,d,c,b,a
P2.0---P2.3位控线,接LED的4,3,2,1
独立式键盘设定;
2个按键接P1口,P1.0和P1.1
键功能程序;
KEY_c1K0键功能程序
KEY_c1K1键功能程序
子程序;
DELAY1毫秒延时程序
DK数码管显示子程序
KEY键扫描子程序
KEYCHULIP1口数据处理子程序
ORG0000H
START:
LJMPMAIN
MAIN:
MOVSP,#2FH
CLREA
MOVD