单片机课程设计报告-串行AD转换器TLC549的应用设计.doc_第1页
单片机课程设计报告-串行AD转换器TLC549的应用设计.doc_第2页
单片机课程设计报告-串行AD转换器TLC549的应用设计.doc_第3页
单片机课程设计报告-串行AD转换器TLC549的应用设计.doc_第4页
单片机课程设计报告-串行AD转换器TLC549的应用设计.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

山东交通学院单片机课程设计报告串行ad转换器tlc549的应用设计课 程 设 计 任 务 书题 目 串行ad转换器tlc549的应用设计 系 (部) 专 业 班 级 学生姓名 学 号 12 月 26 日至 12 月 30 日 共 1 周指导教师(签字) 系 主 任(签字) 2011年 月 日一、设计内容及要求利用串行ad转换器tlc549采集电压信号,显示;并在超过预先设定的电压上下限时报警。二、设计原始资料单片机原理及应用教程 范立南 2006年 1月单片机原理及应用教程 刘瑞新 2003年07月三、设计完成后提交的文件和图表1计算说明书部分1)方案论证报告打印版或手写版2)程序流程图3)具体程序 2图纸部分:具体电路原理图打印版四、进程安排教学内容 学时 地点资料查阅与学习讨论 1天 单片机实验室分散设计 2天 单片机实验室编写报告 1天 单片机实验室成果验收 1天 单片机实验室 五、主要参考资料电子设计自动化技术基础马建国、孟宪元编 清华大学出版 2004年4月 实用电子系统设计基础 姜威 2008年1月 单片机系统的proteus设计与仿真 张靖武 2007年4月 摘 要 本次课程设计的主要目的,就是通过应用8位串行模数转换器tlc549采集电压信号,并进行ad转换,转换成数字信号传送给51单片机,在单片机内部通过编写程序进行数据处理,最后通过单片机的i/o口控制芯片74ls164显示出所采集的电压大小,另外利用键盘控制电压大小的上下限,也即量程,如果超出上下限,则指示灯发光。关键字:tlc549 ad转换 74ls164 量程abstractin this class, the design of the main purpose, is through the application of eight serial adc voltage signal collection of eight bits, and ad transform, converted into digital signals to 51 single-chip microcomputer, the microcontroller internal by writing program data processing, the last through the single-chip microcomputer of i/o mouth control chip 74 ls164 shows which collection of voltage size, in addition to use the keyboard control voltage size the upper and lower limits that range, if exceeded the upper and lower limits of the indicator light to shine.key words :tlc549 eight bits ad transform 74 ls164 range目录摘要4abstract5第一章 系统功能原理及硬件介绍71.1 at89c51单片机介绍71.2tlc549介绍9l.2.1 tlc549的主要特点91.2.2 tlc549芯片的工作原理10 1.2.3 应用接口及采样程序111.3 74ls164的介绍13第二章 理论分析142.1 各模块接线及原理说明142.1.1tlc549 a/d(模数)转换模块142.1.2 蜂鸣器超量程报警模块152.1.3按键模块16第三章 电路各程序模块的设计及功能163.1 主程序163.2数据采集模块173.3 数据处理模块183. 4数据显示模块193.5键盘扫描模块.203.6上下限设置模块213.7延时模块.22第四章 电路结果分析234.1连接实验结果电路图23总结24参考文献26第一章 系统功能原理及硬件介绍该数字电压计利用模拟电压信号,经由模数转换器tcl549转换成单片机能够处理的数字信号,然后送到单片机at89c51中进行处理变换,最后将电压值显示在d4、d3、d2、d1共位七段码led显示器上。系统以at89c51单片机为控制核心, tcl549模数转换电路、4位电压数据显示电路以及外围电源等组成。系统组成框图如图1所示。at89c51电源及复位电路等tlc549模数转化量程外报警图1 系统组成框图1.1 at89c51单片机介绍at89c51是美国atmel公司生产的低电压,高性能cmos8位单片机,可提供以下标准功能:4k 字节闪存,128字节内部ram,32个i/o口线,两个16位定时计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,at89c51可降至0hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止cpu的工作,但允许ram,定时计数器,串行通信口及中断系统继续工作。掉电方式保存ram中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。图2 at89c51引脚图引脚功能说明vcc:电源电压 gnd:地 p0口:p0口是一组8位漏极开路型双向i/o口,即地址/数据总线复位口。作为输出口用时,每位能吸收电流的方式驱动8个逻辑门电路,对端口写“1”可 作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,此时p0激活内部的上拉电阻。p1口:p1是一个带有内部上拉电阻的8位双向i/o口。p1的输出缓冲级可驱动(输入或输出)4个ttl逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可做输入口。因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。p2口:p2是一个带有内部上拉电阻的8位双向i/o口,p2的输出缓冲级可驱动(输入或输出电流)4个ttl逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器获16位地址的外部数据存储器(例如执行 movx dptr指令)时,p2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行 movx ri指令)时,p2口线上的内容(也即特殊功能寄存器(sfr)区中r2寄存器的内容),在整个访问期间不改变。p3口:p3口是一组带有内部上拉电阻的8位双向i/o口。p3口输出缓冲级可驱动(输入或输出)4个ttl逻辑门电路。对p3口写入“1”时,他们被内部上拉电阻拉高并可作为输入口。此时,被外部拉低的p3口将用上拉电阻输出电流。rst:复位输入。当振荡器工作时,rst引脚出现两个机器周期以上高电平将使单片机复位。 ale/prog:当访问外部程序存储器或数据存储器时,ale(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ale仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对输出时钟信号或用于定时。要注意的是:当访问外部数据存储器时将跳过一个ale脉冲。闪存编程期时,该引脚还用于输入编程脉冲。psen:程序存储允许输出是外部程序存储器的读选通信号,当at89c51由外部程序存储器取指令(或数据)时,每个机器周期两个psen有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的psen信号不出现。 ea/vpp:外部访问允许。要使cpu仅访问外部程序存储器(地址为0000h-ffffh),ea端必须保持低电平(接地)。需注意的是; 如果加密位lb1被编程,复位时内部会锁存ea端状态。如 ea端为高电平(接vcc端),cpu则执行内部程序存储器中的指令。xtal1:振荡器反相放大器及内部时钟发生器的输入端。xtal2 :振荡器反相放大器的输出端。1.2 tlc549介绍l.2.1 tlc549的主要特点 tlc549是采用iincmostm技术并以开关电容逐次逼近原理工作的8位串行ad7芯片,可与通用微处理器、控制器通过io clock、cs、data out三条口线进行串行接口。tlc549具有4mhz的片内系统时钟和软、硬件控制电路,转换时间最长为17s,允许的最高转换速率为40000次/s。总失调误差最大为05lsb,典型功耗值为6 mw。tlc549采用差分参考电压高阻输入,抗干扰,可按比例量程校准转换范围,由于其vref-接地时,(vref+)-(vref-)1 v,故可用于较小信号的采样,此外,该芯片还单电源36v的供电范围。总之,tlc549具有控制口线少,时序简单,转换速度快,功耗低,价格便宜等特tlc549的极限参数如下: 电源电压:65 v: 输入电压范围:0.3vvcc:+o.3v: 输出电压范围:0.3vvcc:+03 v; 峰值输入电流(任一输人端):10 ma; 峰值输人电流(所有输入端):30ma 工作温度:tlc549c:070c tlc549i:-4085 tlc549m-55c125 tlc549的引脚图和内部框图如图3所示。图3 (a) tlc549的引脚图tlc549串行模数转换电路原理参见图3(b)。图3(b) 1.2.2 tlc549芯片的工作原理 tlc549带有片内系统时钟,该时钟与ioclock是独立工作的,无需特殊的速度或相位匹配。当cs为高时,数据输data out端处于高阻状态,此时io clock不起作用。这种cs控制作用允许在同时使用多片tlc549时,共用ioclock,以减少多路(片)ad使用时的io控制端口。一组通常的控制时序操作如下: (1)将cs置低,内部电路在测得cs下降沿后,在等待两个内部时钟上升沿和一个下降沿后,再确认这一变化,最后自动将前一次转换结果的最高位(d7)位输出到dataout端; (2)在前四个io clock周期的下降沿依次移出第2、3、4和第5个位(d6,d5,d4,d3),片上采样保持电路在第4个io clock下降沿开始采样模拟辅人: (3)接下来的3个i/o clock周期的下降沿可移出第6、7、8(d2,d1,d0)各转换位;(4)最后,片上采样保持电路在第8个ioclock周期的下降沿将移出第6、7、8(d2,d1,d0)各转换位。然后使保持功能持续4个内部时钟周期,接着开始进行32个内部时钟周期的ad转换。在第8个io clcok后,cs必须为高或io lock保持低电平,这种状态需要维持36个内部系统时钟周期以等待保持和转换工作的完成。如果cs为低时,io clock上出现一个有效干扰脉冲,则微处理器,控制器将与器件的io时序失去同步;而在cs为高时若出现一次有效低电平,则将使引脚重新初始化,从而脱离原转换过程。在36个内部系统时钟周期结束之前,实施步骤(1)(4),可重新启动一次新的ad转换,与此同时,正在进行的转换将终止。但应注意,此时的输出是前一次的转换结果而不是正在进行的转换结果。若要在特定的时刻采样模拟信号,则应使第8个io clock时钟的下降沿与该时刻对应。因为芯片虽在第4个io clock时钟的下降沿开始采样,却在第8个io clock的下降沿才开始保存。 tlc549的工作时序图如图4所示。图4 tlc549的工作时序1.2.3 应用接口及采样程序tlc549可方便地与具有串行外围接口(spi)的单片机或微处理器配合使用,也可与51系列通用单片机连接使用。与51系列单片机的接口如图5所示。其采样程序框图如图4所示,实际应用程序清单如下:初始化:cs为低;i/o clock为低;移位计数为零选tlc548/549;cs置高1.4us后。置i/o clock为高读data out.。置i/o clock 为高是否是8位?结束cs置低图(5)1.3 74ls164介绍在单片机系统中,如果并行口的io资源不够,而串行口又没有其他的作用,那么我们可以用74ls164来扩展并行io口,节约单片机资源。74ls164是一个串行输入并行输出的移位寄存器。并带有清除端。其中; q0q7 并行输出端 。 a,b串行输入端。 mr 清除端, 为0时,输出清零。 cp 时钟输入端。 74ls164 引脚定义74ls164逻辑表 图(6)74ls164参考实验照片: 图(7)74ls164工作原理当清除端(clear)为低电平时,输出端(qaqh)均为低电平。 串行数据输入端(a,b)可控制数据。当 a、b任意一个为 低电平,则禁止新数据输入,在时钟端(clock)脉冲上升沿作用下q0 为低电平。当a、b 有一个为高电平,则另一个就允许输入数据,并在clock 上升沿作用下决定q0 的状态。第二章 理论分析tlc549采集系统采集电压信号,tat89c51(伟福仿真器仿真)控制tlc549转换,动态数码管显示,超量或低于设置量程报警。2.1 各模块接线及原理说明2.1.1 tlc549 a/d(模数)转换模块tlc549的三个i/o口分别为data、clk和cs端口,其中clk为时钟、cs为片选、data为数据输出。串行a/d(模数)转换模块图8 串行模数转换电路2.1.2 蜂鸣器超量程报警模块由at89c51的i/o口直接输出信号到蜂鸣器的控制信号输入端口c,当输入信号为高电平时,蜂鸣器报警。图9 蜂鸣器超量程报警原理电路2.1.4按键模块由p1.1,p1.2和p1.3连接外部按键,来决定是否进行温度设定及上调下调温度。第三章 电路各程序模块的设计及功能 在程序设计中,我们主要分五个模块来完成,分别是主程序,ad转换读入数据程序,数据处理程序,显示程序这五大块,下面将分别对每一个模块的功能进行分析31 主程序各个子程序都是通过这个主程序调用进来,再执行各模块的功能的。在主程序中首先对一些下面要用到的i/0口,数据存储地址,中断首地址等进行设置。接下来首先打开中断随时检测是否有按键按下,再调用数据采集模块”read”读入数据,需要采集两次,然后调用数据处理模块”dis”,接下来再调用显示模块”display”,最后在调用量程检测模块检测是否超限。程序如下:clkbitp3.4 dobitp3.5csbitp3.2dinbitp2.0pxbitp2.1bjbitp2.2dtequ30hcanequ31hminequ32hmaxequ33hxs2equ43hxs1equ42hgwequ41hswequ40h org0000hjmpstartorg0030hstart: movsp,#60h ;调整指针首地址clrbj;初始化报警movcan,00h movsw,#00hmovgw,#00hmovxs1,#00hmovxs2,#00hmovp1,#0ffh;*主程序main: lcall key_boardlcall adlcalldsplcall displaylcallstlcalld_1slcalld_1slcalld10ms ajmp mainad:setbclk ;置位clksetbcs ;置位csmovr0,#00hclrclk clrcs;启动转换lcallread ;调用读数setbcs;停止转换clrc ;清零cy movr1,amovdt,aret3.2 数据采集模块这个模块主要是利用8位串行模数转换器tlc549采集电压信号,然后转换成数字信号存在累加器a中。程序如下: ;*ad转换读入数read: movc,do ;读取数据rlc amovr6,#07hre:setbclk ;一个下降沿读入一次数据nopnopclrclknopnopmovc,dorlca djnzr6,re;循环8次setbclknopnopclrclknopnopret33 数据处理模块这个模块的主要功能就是对转换成的数字信号进行处理,并把处理好的数据存放在30h和31h中。程序如下:;*数据处理 dsp1:mov r2,dtjmpchdsp: mov r2,dtch: mov a,r2 mov b,#51 div ab mov dptr,#tab mov gw,a mov a,b clr f0 subb a,#1ah mov f0,c mov a,#10 mul ab mov b,#51 div ab jb f0,loop2 add a,#5loop2: mov xs1,aret34 数据显示模块主要是把上一个模块所处理得到的数据,通过51单片机上的p1.0和p1.1两个口控制74ls164显示出来,p1.1口主要负责产生上升沿,p1.0口负责传送数据,每一个上升沿传一位,传完八位即传完一个数。程序如下:;*显示display:mova,xs2lcallxssjmova,xs1lcallxssjmova,gwadda,#10;加小数点显示lcallxssjmova,swlcallxssjretxssj: mov dptr,#tab ;查表,显示数据movca,a+dptr l8:jbacc.7,l6 ;循环8次clrdinjmpl7l6:setbdin l7:clrpx ;片选setbpxrladjnzr7,l8movr7,#8rettab:db3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fhdb0bfh,86h,0dbh,0cfh,0e6h,0edh,0fdh,87h,0ffh,0efh35 键盘扫描模块 这个模块主要设置系统所采集电压信号的大小量程。程序如下:;*键盘扫描key_board: movp1,#00h mov p1,#0ffh mov a,p1 movcan,#00h key1: jb acc.0,key2 acall d10ms jb acc.0,key2 mov can,#02h jmp ccc key2: jb acc.1,key3 acall d10ms jb acc.1,key3 mov can,#03h jmp ccc key3: jb acc.2,ccc acall d10ms jb acc.2,ccc mov can,#04h ccc: nop ret36 上下限设置模块 此模块主要用于检测电压的大小,是否超出量程,若超出则指示灯发光,若不超出则返回继续测量电压。程序如下:;*设置上下限 st: clrcmova,can st1:cjnea,#02h,st2 movmin,#00h movmax,#02hst2:cjnea,#03h,st3movmin,#02hmov max,#03hst3:cjnea,#04h,st4movmin,#03hmovmax,#05hst4:cjnea,#00h,st5movmin,#00hmovmax,#05hst5: clr c setb bj mov a,gw cjne a,min,aaa aaa: jnc aaa1 clr bj ;超限报警灯亮 lcall d_1s sjmp ad aaa1: mov a,gw cjne a,max,aaa2aaa2: jc ad clr bj ;超限报警灯亮 lcall d_1s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论