基于TL549的简易电压表的设计Word文档下载推荐.docx
- 文档编号:18960503
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:21
- 大小:1.22MB
基于TL549的简易电压表的设计Word文档下载推荐.docx
《基于TL549的简易电压表的设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于TL549的简易电压表的设计Word文档下载推荐.docx(21页珍藏版)》请在冰豆网上搜索。
P0口具有两种功能:
第一,P0口可以作为通用I/O接口使用,P0.7—P0.0用于传送CPU的输入/输出数据。
输出数据时可以得到锁存,不需外接专用锁存器,输入数据可以得到缓冲。
第二,P0.7—P0.0在CPU访问片外存储器时用于传送片外存储器de低8位地址,然后传送CPU对片外存储器的读写
P1口功能
:
P1口的功能和P0口de第一功能相同,仅用于传递I/O输入/输出数据。
P2口的功能:
P2口的第一功能和上述两组引脚的第一功能相同,即它可以作为通用I/O使用。
它的第二功能和P0口引脚的第二功能相配合,作为地址总线用于输出片外存储器的高8位地址。
P3口功能:
P3口有两个功能:
第一功能与其余三个端口的第一功能相同;
第二功能作控制用,每个引脚都不同。
(如表1)
表1-P3口第二功能
引脚
名称
功能
P3.0
RXD
串行数据接收口
P3.1
TXD
串行数据发送口
P3.2
INT0
外中断0输入
P3.3
INT1
外中断1输入
P3.4
T0
计数器0计数输入
P3.5
T1
计数器1计数输入
P3.6
WR
外部RAM写选通信号
P3.7
RD
外部RAM读选通信号
4.1.3时钟电路
单片机的时钟信号通常用两种电路形式得到:
内部振荡和外部振荡方式。
但本次只用了内部振荡。
如图(3)
图3内部振荡电路
4.1.4复位电路
复位操作通常有两种基本形式:
上电复位和按键与上电复位。
(如图4、5)
上电复位要求接通电源后,自动实现复位操作。
图4上电复位
图5按键与上电复位
上电或按键与上电复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。
上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。
当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或按键与上电复位的操作。
4.1.5总线扩展电路和地址锁存电路
74LS373芯片:
74LS373是常用的地址锁存器芯片,它实质是一个是带三态缓冲输出的8D触发器,在单片机系统中为了扩展外部存储器,通常需要一块74LS373芯片。
(如图6)
图674LS373引脚图和功能表
74LS245芯片:
74LS245还具有双向三态功能,既可以输出,也可以输入数据。
图7为74LS245的引脚图和功能表,图中,
为允许端,DIR为方向控制。
图774LS245引脚图和功能表
4.1.6单片机部分总体结构
单片机总体结构部分由主芯片AT89S52、复位电路、时钟电路及总线扩展芯片74LS245和74LS373芯片构成。
电路图如下:
图8单片机部分总体机构图
4.2数据采集电路部分
4.2.1电压信号数据采集芯片
TLC549是TI公司生产的一种低价位、高性能的8位A/D转换器,它以8位开关电容逐次逼近的方法实现A/D转换,其转换速度小于17us,最大转换速率为40000HZ,4MHZ典型内部系统时钟,电源为3V至6V。
它能方便地采用三线串行接口方式与各种微处理器连接,构成各种廉价的测控应用系统。
4.2.2TLC549引脚图及各引脚功能
REF+:
正基准电压输入2.5V≤REF+≤Vcc+0.1。
REF-:
负基准电压输入端,-0.1V≤REF-≤2.5V。
且要求:
(REF+)-(REF-)≥1V。
VCC:
系统电源3V≤Vcc≤6V。
GND:
接地端。
/CS:
芯片选择输入端,要求输入高电平VIN≥2V,输入低电平VIN≤0.8V。
DATAOUT:
转换结果数据串行输出端,与TTL电平兼容,输出时高位在前,低位在后。
ANALOGIN:
模拟信号输入端,0≤ANALOGIN≤Vcc,当ANALOGIN≥REF+电压时,转换结果为全“1”(0FFH),ANALOGIN≤REF-电压时,转换结果为全“0”(00H)。
I/OCLOCK:
外接输入/输出时钟输入端,同于同步芯片的输入输出操作,无需与芯片内部系统时钟同步。
4.2.3TLC549器件工作时序
当/CS变为低电平后,TLC549芯片被选中,同时前次转换结果的最高有效位MSB(A7)自DATAOUT端输出,接着要求自I/OCLOCK端输入8个外部时钟信号,前7个I/OCLOCK信号的作用,是配合TLC549输出前次转换结果的A6-A7位,并为本次转换做准备:
在第4个I/OCLOCK信号由高至低的跳变之后,片内采样/保持电路对输入模拟量采样开始,第8个I/OCLOCK信号的下降沿使片内采样/保持电路进入保持状态并启动A/D开始转换。
转换时间为36个系统时钟周期,最大为17us。
直到A/D转换完成前的这段时间内,TLC549的控制逻辑要求:
或者/CS保持高电平,或者I/OCLOCK时钟端保持36个系统时钟周期的低电平。
由此可见,在自TLC549的I/OCLOCK端输入8个外部时钟信号期间需要完成以下工作:
读入前次A/D转换结果;
对本次转换的输入模拟信号采样并保持;
启动本次A/D转换开始。
4.2.4实验接线图
TLC549的ANALOGIN(AIN)模拟量输入通道用连线接至电位器VOUT孔,VIN接+5V,I/OCLOCK(CLK)接P1.6,DATAOUT(DO)接P1.7,CS接P1.0,运行程序,数码管上显示“549-XX”,后二位显示当前采集的电压转换的数字量,调节电位器,该两位将随着电压变化而相应变化。
图12TLC549与单片机的接口电路
4.3显示电路部分
4.3.1主芯片8255芯片:
8255芯片是一个典型的可编程通用并行接口芯片,用来扩展单片机的端口,它具有3个8位的并行口,有三种工作方式。
图138255接线图
单片机的时钟信号用来提供单片机内各种微操作的时间基准;
复位操作则使单片机的片内电路初始化,使单片机从一种确定的状态开始运行。
4.3.2驱动及显示电路
本次设计采用数码管,数码管是最常用的一种显示器件,它是由几个发光二极管组成的8字段显示器件,其特点是价格非常的便宜,使用也非常的方便,显示效果非常的清楚。
小电流下可以驱动每光,发光响应时间极短,体积小,重量轻,抗冲击性能好,寿命长。
但数码管只能是显示0——9的数据。
不能够显示字符。
这也是数码管的不足之处。
(见图14)
图14共阴数码管结构图
这次设计中,采用的是74LS240共阴驱动数码管的a.b.c.d.e.f.g七段显示。
(如图15)
图15驱动电路
设置。
4.3.3显示电路部分总体图
图15键盘及显示电路总体方框图
第五章系统软件的设计
5.1程序总流程方框图:
5.2主程序:
整个程序框架、主体。
LO18:
LCALLSSEE;
调用显示子程序
CLRCS;
选中TLC549器件
LCALLRDBYTE;
读取采样/保持的数字量,并送到寄存器A
SETBCS;
等待A/D转换结束
NOP
LCALLBIAODU
SJMPLO18
5.3动态扫描子程序:
从左向右扫描使其在LED上显示。
ORG0D50H
SSEE:
SETBRS1;
换工作区
MOVR5,#05H
SSE2:
MOV30H,#20H
MOV31H,#7CH
MOVR7,#04H
SSE1:
MOVR1,#20H
MOVA,30H
CPLA
MOVX@R1,A;
字位送入
MOVR0,31H
MOVA,@R0
MOVDPTR,#DDFF
MOVCA,@A+DPTR;
取字形代码
MOVR1,#21H
字形送入
RRA;
右移
MOV30H,A
DEC31H
MOVA,#0FFH
关显示
DJNZR7,SSE1;
四位显示完了吗?
DJNZR5,SSE2;
5次显示完了吗?
CLRRS1
RET
DDFF:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DB88H,83H,0C6H,0A1H,86H,8EH,0FFH,0F1H,0C6H,092H,0BFH
5.4数据采集子程序
将模拟信号采集并处理后送给寄存器A。
RDBYTE:
MOVR0,#08H
RLP:
SETBSDA
SETBSCL;
时钟线为高,接收数据位
MOVC,SDA;
读取数据位
MOVA,R2
CLRSCL;
将SCL拉低
RLCA;
进行数据位的处理
MOVR2,A
CLRSCL
DJNZR0,RLP;
未够8位,再来一次
MOVA,R2
RET
5.5拆字子程序:
拆成我们想要的具体采样电压数值,并保存在相应的地址内。
ORG05D0H
PTDS:
MOVR1,A;
拆送显示缓冲区
ACALLPTDS1
MOVA,R1
SWAPA
PTDS1:
ANLA,#0FH
MOV@R0,A
INCR0
RET
5.6标度变换子程序:
将16进制转换成10进制输出。
BIAODU:
MOVB,#5
MULAB;
高字节电压的整数部分;
低字节电压的小数部分
MOVR2,B;
暂存整数部分
LCALLHBD;
BCD码的小数部分放A中
JNCBIA1;
无进位,跳转
INCR2;
有进位,整数部分加1
BIA1:
MOVR0,#79H;
拆送显示缓冲区7AH,79H(小数)
LCALLPTDS
MOVA,R2
LCALLHBCD;
BCD码的整数部分转换
MOVR0,#7BH;
LCALLPTDS
RET
HBCD:
MOVB,#100;
分离出百位,存放在R3中
DIVAB
MOVR3,A
MOVA,#10;
余数继续分离十位和个位
XCHA,B
SWAPA
ORLA,B;
将十位和个位拼装成BCD码
HBD:
原小数扩大一百倍
MULAB
RLCA;
余数部分四舍五入
CLRA
ADDCA,B
MOVB,#10;
分离出十分位和百分位
ADDA,B;
拼装成单字节BCD码小数
DAA;
调整后若有进位,原小数接近整数1
RET
第六章硬件的调试
6.1硬件调试目的:
硬件调试的主要任务是排除硬件故障,其中包括设计的错误和工艺性故障等。
6.2硬件调试步骤:
1.检查所设计的硬件电路板所有的器件和引脚是否正确,尤其是电源的连接是否正确;
检查各总线是否有短路的故障。
检查开关/按键是否正常,是否连接正确,为了保护芯片,应先对各IC座电位进行检查,确认无误后再插入芯片。
a.第一步,我们用数字万用表进行了逐一对点的检查,检查各导线间是否有短路与开路的故障。
(检测导线导通-连接无误)
b.第二步测输入5V电源(‘0’V地)线是否与电路中的对应点的电源(地)线相连接是否正确;
及检查开关/按键是否正常,是否连接正确。
(检测导线导通-连接无误-按键正常)
c.测芯片管座与芯片管座之间用导线连接起来的对应脚是否导通与截止。
(检测对应脚的导线连接导通-连接正常)
2.将40芯片的仿真插头插入单片机插座进行调试,检查各接口是否满足设计的要求,有正常的程序测试硬件电路的好坏。
。
3.将显示子程序经过keill软件仿真生成(.hex)文件,用编程器将生成的(.hex)文件写入AT89S52芯片。
4.将写入显示程序的芯片AT89S52插入硬件电路单片机管座,观看显示电路的4路数码管是否正常发光。
【数码管发光正常-电路能运行】
5.将整机程序生成的(.hex)文件写入AT89S52芯片,插入单片机插座进行调试,检查各接口是否满足设计的要求,有正常的程序测试硬件电路的好坏。
当我们把前几步准备工作都做完以后通电进行总调。
a.通道号为0时,测ADC0809的26脚(IN0)显示电路显示通道号与电压值为02.95,对可变电位器进行调试,显示电压变动,用万用表检测ADC0809的28脚对地电压,与设计的显示器上的值相差无几。
b.按下【复位】按键时,通道号为0通道,电压也为初始值。
c.硬件电路调试与测试均正常。
6.3实验效果图:
七、心得体会
大四开始,我全身心的投入最能提升全面能力的综合实训中。
通过为期2周的智能仪器实训,在老师和小组同学的共同努力下,我们完成了本次实训的全部任务,实训取得圆满成功。
此次实训中,我们小组同学分工合作,确保此次实训有序进行。
实训中,我负责程序软件的理解、修改和软件的调试。
得益于此,我对汇编语言在单片机方面的应用理解更深,使用更加熟练,对一些常用、简单子程序的编程原理和使用更加得心应手。
不仅在程序方面,在芯片方面也有了一定的提升。
对本实训中使用的AT89S52和TLC549芯片的内部结构和端口的使用更加理解。
在此,感谢谢老师的的悉心指导和无私帮助。
同时也感谢小组同学的同心协力,希望在以后的学习和生活中我们能取得更好,更优异的成绩。
八、参考文献
[1]谢辉,单片机原理及应用.化学工业出版社,2010
[2]谢辉,智能仪器原理与设计.北京航空航天大学出版社,2005.3
[3]杨居义,单片机课程设计指导书.北京:
清华大学出版社,2009
[4]姜志红,51单片机技术与应用系统开发案例精选.北京:
清华大学出版社,2008
[5]张永枫,单片机应用实训教程.北京:
[6]张荫等,单片机应用系统开发综合实例.北京:
附录1
原理图:
附录2
源程序清单
;
*************************************************
********初始化程序*************
SDAEQUP1.7;
DATAOUT
SCLEQUP1.6;
I/OCLOCK
CSEQUP1.0;
/CS片选
MTDEQU30H;
发送缓冲区首址
MRDEQU40H;
接收缓冲区首址
********电压表实验主程序*************
ORG0000H
LJMPSE11
ORG0590H
SE11:
MOVSP,#53H
MOVp2,#0ffh
MOVA,#81H
MOVDPTR,#0FF23H
MOVX@DPTR,A
MOV7CH,#09H;
显示缓冲区赋初值
MOV7BH,#14H
MOV7AH,#10H
MOV79H,#10H
LCALLRDBYTE;
;
NOP
SJMPLO18
********拆字子程序************
*************************************************
ORG05D0H
ACALLPTDS1
MOVA,R1
********显示扫描子程序************
ORG0D50H
CPLA
DB88H,83H,0C6H,0A1H,86H,8EH,0FFH,0F1H,0C6H,092H,0BFH
********读取字节子程序,读出的值在ACC************
MOVA,R2;
MODIFIED
*****************标度变换子程序******************
入口:
(A)=采样值
出口:
(7CH、7BH)=BCD码整数;
(7AH、79H)=BCD码小数;
LCALLHBD;
JNCBIA1;
INCR2;
MOVR0,#79H;
LCALLPTDS
MOVA,R2
LCALLHBCD;
END;
结束程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 TL549 简易 电压表 设计