欢迎来到天天文库
浏览记录
ID:42647110
大小:106.34 KB
页数:3页
时间:2019-09-19
《基于TLC549的串行AD转换实例》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于TLC549的串行A/D转换实例本文为《51基础与应用实例》的部分内容,浅显易懂,《51基础与应用实例》为三恒星科技公司公司编写,新华书店公开发行,未经许可不得转载实例说明单片机已经广泛应用于智能仪表和数据采集领域,促进了测量仪表和测量系统的自动化、智能化。在A/D转换系统设计中,实现了将模拟量转换为单片机能识别的数字量的过程。设计者的主要任务是根据用户对A/D转换通道的技术要求,合理地选择通道的结构并按一定的技术准则等因素恰当地选择所需的各种集成电路。本例主要介绍8位A/D转换芯片TLC549在51单片机系统中的应用,在分析TLC549的结构、特点和工作
2、原理的基础上,提供一个硬件连接和软件编程。硬件电路设计单片机和A/D转换器之间的接口设计是硬件电路设计的关键。TLC549芯片可方便地与具有串行外围接口(SPI)的单片机或微处理器配合使用,也可与51系列通用单片机连接使用。串行A/D转换电路单片机部分原理图如图7-9所示。图7-9串行A/D转换原理图由硬件电路设计可以看岀在本例中驱动TLC549芯片实现A/D转换时,单片机AT89C52采用异步串行接口。单片机AT89C52采用的时钟晶振大小为12MHz,其引脚P1.0与TLC549芯片的输入/输出时钟I/OCLOCK相连,引脚Pl.1与TLC549芯片的数据
3、输岀脚DATAOUT相连,Pl.2与TLC549芯片的片选脚/CS相连,从TLC549芯片转换的数据经数据输出脚DATAOUT送入单片机AT89C52中。单片机AT89C52的P1.0、Pl.1具有双重功能:标准I/O口或模拟比较器。在用作模拟比较器时,它们作为内部模拟比较器的输入端AIN1和AIN2,是集电极开路电路,因此在用作标准I/O使用时,应外接上拉电阻。电路中正基准电压REF+接+5V,负基准电压REF-接地,因此测量范围是0广5V,对应输出数字量是0~255。软件设计软件的设计思想是:在主程序中,通过置«(P1.2)端为低选中芯片,调用读入8位转
4、换结果子程序,启动A/D转换开始,置S(P2.2)端为高并延时17ms等待A/D转换结束,当A/D转换结束,置«(P1.2)端为低再次调用读入8位转换结果子程序,则可读入本次A/D转换结果。在读入8位转换结果子程序中,通过程序语句读入前次转换结果的最高位,接着用循环程序在Pl.1上发出7个I/OCLOCK脉冲,同时读入转换结果的其余7位,最后通过程序语句在Pl.1口发岀第8个T/0CLOCK脉冲,从而启动本次A/D转换。程序流程单片机实现串行A/D转换程序的流程如图7-10所示。图7-10单片机实现串行A/D转换程序流程程序说明ttinclude5、h>//引用标准库的头文件iiinclude#dcfincucharunsigncdcharucharDResult;//存放转换后数据sbitIOCLK=Pro;//输入输岀时钟sbitDATAOUT二P「l;//数据输出sbitCS二P「2;//片选信号voidmain(){EA=1;EXO二1;//开中断while(1);voidintOsvr(void)interrupt0using1ucharucharucharcount;tmp;t;EXO二0;//关中断tmp二0;CS=1;//片选无效10CLK=0;CS=0;//片选有效6、_nop_();//空指令延时for(count=0;count<8;count++){IOCLK=1;if(DATAOUT)tmp++;tmp=tmp<
5、h>//引用标准库的头文件iiinclude#dcfincucharunsigncdcharucharDResult;//存放转换后数据sbitIOCLK=Pro;//输入输岀时钟sbitDATAOUT二P「l;//数据输出sbitCS二P「2;//片选信号voidmain(){EA=1;EXO二1;//开中断while(1);voidintOsvr(void)interrupt0using1ucharucharucharcount;tmp;t;EXO二0;//关中断tmp二0;CS=1;//片选无效10CLK=0;CS=0;//片选有效
6、_nop_();//空指令延时for(count=0;count<8;count++){IOCLK=1;if(DATAOUT)tmp++;tmp=tmp<
此文档下载收益归作者所有