基于TLC549串行AD转换器的简易数字电压表的设计.docx
《基于TLC549串行AD转换器的简易数字电压表的设计.docx》由会员分享,可在线阅读,更多相关《基于TLC549串行AD转换器的简易数字电压表的设计.docx(43页珍藏版)》请在冰豆网上搜索。
基于TLC549串行AD转换器的简易数字电压表的设计
重庆三峡学院
单片机课程设计报告书
学院(系):
应用技术学院
年级专业:
10级电信(职教)
学号:
201015254102
学生姓名:
李依樯
指导教师:
谢辉
教师职称:
副教授
实验成绩:
日2122012制作日期:
年月
简易数字电压表设计
基于TLC549串行A/D转换器的简易数字电压表的设计
重庆三峡学院应用技术学院李依樯
摘要本文介绍了一种基于TLC549串行A/D转换器的简易数字电压表的设计。
该设计主要由三个模块组成:
A/D转换模块,数据处理模块及显示模块。
A/D转换主要由芯片TLC549来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。
数据处理则由芯片AT89C51来完成,其负责把TLC549传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外,它还控制着TLC549芯片工作。
该系统的数字电压表电路简单,所用的元件较少,成本低,且测量精度和可靠性较高。
此数字电压表可以测量0-5V的1路模拟直流输入电压值,并通过一个四位一体的7段数码管显示出来。
关键词单片机;数字电压表;A/D转换;AT89C51;TLC549
II
简易数字电压表设计
第一章引言.............................................................................................................................1
第二章设计总体方案......................................................................................................2
2.1设计要求......................................................................................................................2
2.2设计思路....................................................................................................................2
2.3设计方案....................................................................................................................2
第三章硬件电路设计......................................................................................................3
3.1A/D转换模块.........................................................................................................3
3.2单片机系统............................................................................................................5
3.3复位电路和时钟电路........................................................................................7
3.4LED显示系统设计..............................................................................................8
3.5总体电路设计......................................................................................................11
第四章程序设计................................................................................................................13
4.1程序设计总方案................................................................................................13
4.2系统子程序设计................................................................................................13
第五章仿真...........................................................................................................................15
5.1软件调试................................................................................................................15
5.2显示结果及误差分析........................................................................................15
结论............................................................................................................................................18
参考文献...................................................................................................................................19
附录............................................................................................................................................20
致谢..............................................................................................................................................27
III
简易数字电压表设计
第一章引言
在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。
而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。
数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。
由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用。
传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。
采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。
数字电压表是诸多数字化仪表的核心与基础。
以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。
目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。
最近的几十年来,随着半导体技术、集成电路(IC)和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型。
数字电压表从1952年问世以来,经历了不断改进的过程,从最早采用继电器、电子管和形式发展到了现在的全固态化、集成化(IC化),另一方面,精度也从0.01%-0.005%。
目前,数字电压表的内部核心部件是A/D转换器,转换的精度很大程度上影响着数字电[3]。
压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成本这两个方面转换模块、本系统主要包括三大模块:
本文是以简易数字直流电压表的设计为研究内容,对输入的模拟信号进行转换,控制核转换采用TLC549数据处理模块及显示模块。
其中,A/DLED显示数字电压信号。
再对转换的结果进行运算处理,最后驱动输出装置心AT89C51
1
简易数字电压表设计
第二章设计总体方案
2.1设计要求
⑴以MCS-51系列单片机为核心器件,组成一个简单的直流数字电压表。
⑵采用1路模拟量输入,能够测量0-5V之间的直流电压值。
⑶电压显示用4位一体的LED数码管显示,至少能够显示两位小数。
⑷尽量使用较少的元器件。
2.2设计思路
⑴根据设计要求,选择AT89C51单片机为核心控制器件。
⑵A/D转换采用TLC549实现,与单片机的接口为P1口和P2口的高四位引脚。
⑶电压显示采用4位一体的LED显示器。
⑷LED数码的段码输入,由并行端口P0产生:
位码输入,用并行端口P2低四位产生。
2.3设计方案
硬件电路设计由6个部分组成;A/D转换电路,AT89C51单片机系统,LED显示系统、时钟电路、复位电路以及测量电压输入电路。
硬件电路设计框图如图1所示。
时钟电路复位电路
AT89C51P1P2P2P0
A/D转换电路
显示系统
测量电压输
数字电压表系统硬件设计框图图1
2
简易数字电压表设计
第三章硬件电路设计
3.1A/D转换模块
现实世界的物理量都是模拟量,能把模拟量转化成数字量的器件称为模/数转换器(A/D转换器),A/D转换器是单片机数据采集系统的关键接口电路,按照各种A/D芯片的转化原理可分为逐次逼近型,双重积分型等等。
双积分式A/D转换器具有抗干扰能力强、转换精度高、价格便宜等优点。
与双积分相比,逐次逼近式A/D转换的转换速度更快,而且精度更高,它们通常具有8路模拟选通开关及地址译码、锁存电路等,它们可以与单片机系统连接,将数字量送到单片机进行分析和显示。
一个n位的逐次逼近型A/D转换器只需要比较n次,转换时间只取决于位数和时钟周期,逐次逼近型A/D转换器转换速度快,因而在实际中广泛使用。
3.1.1逐次逼近型A/D转换器原理
逐次逼近型A/D转换器是由一个比较器、A/D转换器、存储器及控制电路组成。
它利用内部的寄存器从高位到低位一次开始逐位试探比较。
转换过程如下:
开始时,寄存器各位清零,转换时,先将最高位置1,把数据送入A/D转换器转换,转换结果与输入的模拟量比较,如果转换的模拟量比输入的模拟量小,则1保留,如果转换的模拟量比输入的模拟量大,则1不保留,然后从第二位依次重复上述过程直至最低位,最后寄存器中的内容就是输入模拟量对应的二进制数字量[5]。
其原理框图如图2所示:
输入电压逐顺序脉冲发生次逼寄存器器
7FH89
输入数字量6FH
电压
近
ADC
比较器
转换器原理图逐次逼近式图2A/D主要特性3.1.2TLC549芯片,D7A/是采用TLC549IinCMOSTM技术并以开关电容逐次逼近原理工作的8位串行TLC549三条口线进行串行接口。
、CSDATAOUTO可与通用微处理器、控制器通过I/CLOCK、,允许的最高转换速μs17具有4MHz的片内系统时钟和软、硬件控制电路,转换时间最长为采用差分参考。
,典型功耗值为。
总失调误差最大为±0.次率为40000/s5LSB6mWTLC5493
简易数字电压表设计
电压高阻输入,抗干扰,可按比例量程校准转换范围,由于其VREF-接地时,(VREF+)-(VREF-)≥1V,故可用于较小信号的采样,此外,该芯片还单电源3~6v的供电范围。
总之,TLC549具有控制口线少,时序简单,转换速度快,功耗低,价格便宜等特TLC549的极限参数如下:
◇电源电压:
6.5V:
◇输入电压范围:
0.3V~VCC:
+o.3V:
◇输出电压范围:
0.3V~VCC:
+0.3V;◇峰值输入电流(任一输人端):
±10mA;
◇峰值输人电流(所有输入端):
±30mA
◇工作温度:
TLC549C:
0℃~70~C◇TLC549I:
-40℃~85℃
◇TLC549M.-55C~125℃
TLC549的引脚图和内部框图如图3所示。
图3(a)TLC549的引脚图
3.1.3TLC549的内部结构及工作原理
TLC549带有片内系统时钟,该时钟与I/OCLOCK是独立工作的,无需特殊的速度或相位匹配。
当CS为高时,数据输DATAOUT端处于高阻状态,此时I/OCLOCK不起作用。
这种CS控制作用允许在同时使用多片TLc549时,共用I/OcLOCK,以减少多路(片)A/D使用时的I/O控制端口。
一组通常的控制时序操作如下:
(1)将Cs置低,内部电路在测得CS下降沿后,在等待两个内部时钟上升沿和一个下降沿后,再确认这一变化,最后自动将前一次转换结果的最高位(D7)位输出到DATAOUT端;
(2)在前四个I/OCLOCK周期的下降沿依次移出第2、3、4和第5个位(D6,D5,D4,D3),片上采样保持电路在第4个I/OCLOCK下降沿开始采样模拟辅人:
(3)接下来的3个I/OCLOCK周期的下降沿可移出第6、7、8(D2,D1,D0)各转换位;(4)最后,片上采样保持电路在第8个I/OCLOCK周期的下降沿将移出第6、7、8(D2,D1,D0)各转换位。
然后使保持功能持续4个内部时钟周期,接着开始进行32个内部时钟周期的A/D转换。
在第8个I/OcLCOK后,CS必须为高或I/OLOCK保持低电平,这种状态需要维持36个内部系统时钟周期以等待保持和转换工作的完成。
如果CS为低时,I/OCLOCK上出现4
简易数字电压表设计
一个有效干扰脉冲,则微处理器,控制器将与器件的I/O时序失去同步;而在cs为高时若出现一次有效低电平,则将使引脚重新初始化,从而脱离原转换过程。
在36个内部系统时钟周期结束之前,实施步骤
(1)~(4),可重新启动一次新的A/D转换,与此同时,正在进行的转换将终止。
但应注意,此时的输出是前一次的转换结果而不是正在进行的转换结果。
若要在特定的时刻采样模拟信号,则应使第8个I/OCLOCK时钟的下降沿与该时刻对应。
因为芯片虽在第4个I/OCLOCK时钟的下降沿开始采样,却在第8个I/OCLOCK的下降沿才开始保存。
3.2单片机系统
3.2.1AT89C51性能
AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含有4KB的可反复擦写的只读程序存储器和128字节的随机存储器。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的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.2AT89C51各引脚功能
AT89C51提供以下标准功能:
4KB的Flash闪速存储器,128B内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内震荡器及时钟电路,同时,AT89C51可降至0Hz静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作,掉电方式保存RAM中的内容,但震荡器停止工作并禁止其他所有工作直到下一个硬件复位。
AT89C51采用PDIP封装形式,引脚配置如图5所示。
5
简易数字电压表设计
图5AT89C51的引脚图
AT89C51芯片的各引脚功能为:
P0口:
这组引脚共有8条,P0.0为最低位。
这8个引脚有两种不同的功能,分别适用于不同的情况,第一种情况是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口的第一功能相同,也用于传送用户的输入和输出数据。
P2口:
这组引脚的第一功能与上述两组引脚的第一功能相同即它可以作为通用I/O口使用,它的第一功能和P0口引脚的第二功能相配合,用于输出片外存储器的高8位地址,共同选中片外存储器单元,但并不是像P0口那样传送存储器的读/写数据。
P3口:
这组引脚的第一功能和其余三个端口的第一功能相同,第二功能为控制功能,每个引脚并不完全相同,如下表2所示:
表2P3口各位的第二功能
P3口各位第二功能
RXT(串行口输入)P3.0
TXD(串行口输出)P3.1
/INT0(外部中断P3.2
0输入)
6
简易数字电压表设计
)输入外部中断1/INT1(P3.3
的外部输入)计数器0T0P3.4(定时器/的外部输入)计数器1T1(定时器P3.5/(片外数据存储器写允许)/WRP3.6
/RDP3.7
(片外数据存储器读允许)+5VVcc为电源线,Vss接地。
CPU89C51的ALE:
地址锁存允许线,配合P0口的第二功能使用,在访问外部存储器时,89C51写数据。
在不访问片外存储器时,在P0.0-P0.7引脚线去传送随后而来的片外存储器读/震荡器频率的脉冲序列。
该脉冲序列可以作为外部时钟源或线上输出频率为1/6自动在ALE定时脉冲使用。
ROM,ROM或使用片外片外存储器访问选择线,可以控制89C51使用片内/EA:
。
/EA=0,则只使用片外ROM若/EA=1,则允许使用片内ROM,若线上产生一个负脉/PSEN时,89C51自动在/PSEN:
片外ROM的选通线,在访问片外ROM芯片的读选通信号。
冲,作为片外ROM复位有自动上电通常89C51)处于复位(即初始化工作状态。
RST:
复位线,可以使89C51复位和人工按键复位两种。
即用片内震荡电路输入线,这两个端子用来外接石英晶体和微调电容,XTAL1和XTAL2:
的定时反馈回路。
OSC(震荡器)片内来连接89C51复位电路和时钟电路3.3
复位电路设计3.3.1
和系统中的其他部件都处于一个确定的初始状CPU单片机在启动运行时都需要复位,使当震RST,采用施密特触发输入。
并从这个状态开始工作。
态,MCS-51单片机有一个复位引脚复位完。
2只要该引脚上出现个机器周期以上的高电平即可确保时器件复位[1]荡器起振后,恢复低电平后,就一直处于复位状态,只要RSTMCS-51成后,如果RST端继续保持高电平,是6单片机才能进入其他工作状态。
单片机的复位方式有上电自动复位和手动复位两种,图,它们1ms上升时间不超过系列单片机统常用的上电复位和手动复位组合电路,只要51Vcc都能很好的工作。
7
简易数字电压表设计
6复位电路图时钟电路设计3.3.2
都必须在统一的时钟脉冲的控制下严格按时间节拍进行,每执行一条指令,单片机中CPU执行一条指令的各个微操作所对应CPU而这个时钟脉冲是单片机控制中的时序电路发出的。
单片机芯片内部有一个高增益反相放大器,用于构成震时间顺序称为单片机的时序。
MCS-51但形成时钟电路还需附加其他XTAL2为该放大器输出端,荡器,XTAL1为该放大器的输入端,电路。
本设计系统采用内部时钟方式,利用单片机内部的高增益反相放大器,外部电路简,只
所示。
7需要一个晶振和2个电容即可,如图
时钟电路图7
电路中的器件选择可以通过计算和实验确定,也可以参考一些典型电路的参数,电路,在这个系统中±3010pF中,电容器C1和C2对震荡频率有微调作用,通常的取值范围是,它决定了单片机电路产生的时钟信号震;石英晶振选择范围最高可选24MHz选择了33pF。
12MHz,因而时钟信号的震荡频率为12MHz荡频率,在本系统中选择的是显示系统设计3.4LED3.4.1LED基本结构与单片机接口方便等优价格便宜、是发光二极管显示器的缩写。
LED由于结构简单、LED。
在单片显示器是由若干个发光二极管组成显示字段的显示器件点而得到广泛应用。
LED[6]8
简易数字电压表设计
机中使用最多的是七段数码显示器。
LED七段数码显示器由8个发光二极管组成显示字段,其中7个长条形的发光二极管排列成“日”字形,另一个圆点形的发光二极管在显示器的右下角作为显示小数点用,其通过不同的组合可用来显示各种数字。
LED引脚排列如下图8所示:
图8LED引脚排列
3.4.2LED显示器的选择
在应用系统中,设计要求不同,使用的LED显示器的位数也不同,因此就生产了位数,尺寸,型号不同的LED显示器供选择,在本设计中,选择4位一体的数码型LED显示器,简称“4-LED”。
本系统中前一位显示电压的整数位,即个位,后两位显示电压的小数位。
4-LED显示器引脚如图