ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:1.89MB ,
资源ID:16585497      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16585497.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于TLC1543电子电压表Word下载.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于TLC1543电子电压表Word下载.docx

1、5撰写课程设计报告。四、进度安排1每个同学根据实验题目,查找相应资料,并由组长组织分析任务要求,对任务进行分解,明确每个同学的具体任务; (半天) 2确定系统的整体设计方案,画出软件框图,分头进行电路连接,软件编写。 (4天) 3学会并熟练掌握在伟福和Keil C开发平台上,用汇编和C语言编程和调试,并写入CPU, 进行实际调试。 (2天半) 4编写不少于3000字的课程设计总结报告及提供程序清单(电子版)。 (1天半)5总结与答辩。 (半天)五、完成后应上交的材料1课程设计说明书2源程序清单(电子版)六、总评成绩指导教师 签名日期 年 月 日系 主 任 审核日期 年 月 日4测量过程及原始测

2、量数据 5.1项目实训的感想 131,设计的主要内容和任务 设计一个数字式电压表,技术指标要求:2,实现原理2.1, 硬件电路设计2.1.1整体电路的实现硬件电路设计由6个部分组成; A/D转换电路,AT89S51单片机系统,LED显示系统、时钟电路、复位电路以及测量电压输入电路。硬件电路设计框图如图2.1所示。图2-1 数字电压表系统硬件设计框图2.1.2 AD转换电路A/D 转换电路种类很多,在选择模/数转换器时,主要考虑以下的一些技术指标:转换时间和转换频率、量化误差与分辨率、转换精度、接口形式等。目前,较为流行的 AD 转换器件有很多都采用了串行接口,这使得这类芯片与单片机的硬件连接非

3、常简单,而软件编程相对要复杂一些。所以我们这个开发版选择的是TLC1543ADC转换芯片。图2-2 A/D 转换流程图TLC1543 是由TI 公司开发的开关电容式AD 转换器,该芯片具有如下的一些特点:10 位精度、11 通道、三种内建的自测模式、提供EOC(转换完成)信号等。该芯片与单片机的接口采用串行接口方式,引线很少,与单片机连接简单。图1 是TLC1543 的引脚示意图,其中A0A10 是11路输入,Vcc 和GND 分别是电源引脚,REF+和REF-分别是参考电源的正负引脚,使用时一般将REF-接到系统的地,达到一点接地的要求,以减少干扰。其余的引脚是TLC1543 与CPU 的接

4、口,其中CS 为片选端,如不需选片,可直接接地。I/O Clock 是芯片的时钟端,Address 是地址选择端,Data Out 是数据输出端,这三根引脚分别接到CPU 的三个I/O 端即可。EOC 用于指示一次AD 转换已完成,CPU 可以读取数据,该引脚是低电平有效,根据需要,该引脚可接入CPU 的中断引脚,一旦数据转换完成,向CPU 提出中断请求;此外,也可将该引脚接入一个普通的I/O 引脚,CPU 通过查询该引脚的状态来了解当前的状态,甚至该引脚也可以不接,在CPU 向TLC1543发出转换命令后,过一段固定的时间去读取数据即可。 图2-3 TLC1543实物管脚图和仿真管脚图TLC

5、1543工作时序如图2示,其工作过程分为两个周期:访问周期和采样周期。工作状态由CS使能或禁止,工作时CS必须置低电平。CS为高电平时,I/O CLOCK、ADDRESS被禁止,同时DATA OUT为高阻状态。当CPU使CS变低时,TLC1543开始数据转换,I/O CLOCK、ADDRESS使能,DATA OUT脱离高阻状态。随后,CPU向ADDRESS提供4位通道地址,控制14个模拟通道选择器从11个外部模拟输入和3个内部自测电压中选通1 路送到采样保持电路。同时,I/O CLOCK输入时钟时序,CPU从DATA OUT 端接收前一次A/D转换结果。I/O CLOCK从CPU 接收10时钟

6、长度的时钟序列。前4个时钟用4位地址从ADDRESS端装载地址寄存器,选择所需的模拟通道,后6个时钟对模拟输入的采样提供控制时序。模拟输入的采样起始于第4个I/O CLOCK下降沿,而采样一直持续6个I/O CLOCK周期,并一直保持到第10个I/O CLOCK下降沿。转换过程中,CS的下降沿使DATA OUT引脚脱离高阻状态并起动一次I/O CLOCK工作过程。CS上升沿终止这个过程并在规定的延迟时间内使DATA OUT引脚返回到高阻状态,经过两个系统时钟周期后禁止I/O CLOCK和ADDRESS端。图2-4 TLC1543工作时序2.2.1 软硬件设计要点TLC1543三个控制输入端CS

7、、I/O CLOCK、ADDRESS和一个数据输出端DATA OUT遵循串行外设接口SPI协议,要求微处理器具有SPI口。但大多数单片机均未内置SPI口(如目前国内广泛采用的MCS51和PIC列单片机),需通过软件模拟SPI协议以便和TLC1543接口。TLC 1543芯片的三个输入端和一个输出端与51 系列单片机的I/O口可直接连接,具体连接方式可参见图3。软件设计中,应注意区分TLC1543的11个模拟输入通道和3个内部测试电压地址(后3个地址只用来测试你写的地址是不是正确的,真正使用时不用后三个地址)。附表为模拟通道和内部电压测试地址。程序软件编写应注意TLC1543通道地址必须为写入字

8、节的高四位,而CPU读入的数据是芯片上次A/D转换完成的数据。在本文后附的程序中对此有详细的说明。图2-4 TLC1543的通道选择3,单片机系统程序的编制、调试说明3.1软件部分设计根据模块的划分原则,将该程序划分初始化模块,A/D转换子程序和显示子程序,这三个程序模块构成了整个系统软件的主程序,如图4-1所示。图4-1 数字式直流电压表主程序框图3.2 A/D转换子程序A/D转换子程序用来控制对输入的模块电压信号的采集测量,并将对应的数值存入相应的内存单元,其转换流程图如图4-2所示。 图4-1-1 A/D转换流程图3.3 显示子程序显示子程序采用动态扫描实现八位数码管的数值显示,在采用动

9、态扫描显示方式时,要使得LED显示的比较均匀,又有足够的亮度,需要设置适当的扫描频率,当扫描频率在70HZ左右时,能够产生比较好的显示效果,一般可以采用间隔10ms对LED进行动态扫描一次,每一位LED的显示时间为1ms。在本设计中,为了简化硬件设计,主要采用软件定时的方式,即用定时器0溢出中断功能实现11s定时,通过软件延时程序来实现5ms的延时。由于我们采用的开发板的共阳极有一个晶体管作为总开关,所以P2.6必须置位为0. 图4-2-3 数码管显示原理图4,测量过程及原始测量数据测量时,电源的正极通过四个串联电阻与开发版的地相接。IN0接于四个串联电阻的靠近地的第一个电阻,取它电压的四分之

10、一值。同时开发版的地跟电源负极相接。当IN0输入电压值为0V时,显示结果如图5-2所示为0V。测量误差为0V。当IN0输入电压值为5V时,显示结果如图5-2所示为5.25V。测量误差为+0.25V。当IN0输入电压值为10V时,显示结果如图5-2所示为10.35V。测量误差为+0.35V。当IN0输入电压值为15V时,显示结果如图5-2所示为15.65V。测量误差为+0.69V。当IN0输入电压值为20V时,显示结果如图5-2所示为19.81V。测量误差为-0.19V。由于单片机AT89C51为8位处理器,当输入电压为20.00V时,TLC输出数据值为1028(十六位),因此单片机最高的数值分

11、辨率为0.0196V(20/1028)。这就决定了电压表的最高分辨率只能到0.0196V,理论上测试电压一般以0.01V的幅度变化。 从上表可以看出,简易数字电压表测得的值基本上比标准电压值偏大很多远远大于0.01V,这可能跟开发版的信号干扰和电阻的阻值差别跟分压有关。还有该电压表设计时直接用5V的供电电源作为电压,而实际电压可能有偏低。当要测量大于5V的电压时,比如20V可在输入口使用四个电阻串联取其中一个来分的四分之一的电压,而程序中只要将计算程序的除数进行调整或者数字再乘以4就可以了。五,总结和心得体会5.1,项目实训过程的感想在设计程序之前根据设计要求,我就制定了:输入电压模拟量-AD

12、转换为数字量-AT89C51数据处理-数码管显示的设计流程。理论上来说很容易,就是取数据然后显示,然而事实上的难道还是让我意外了。首先是AD的转换。我之前学的用的ADC芯片基本都是0808、0809之类的并行通信的AD转换芯片。这类芯片转换后的数据传给单片机很容易只需要将输出八个口给一个单片机的P端就可以了。这次我使用的是吴茂老师自己做的开发板,他的开发板使用的AD转换芯片是TLC1543。由于这个芯片是我第一次使用之前也没有学过,所以我查阅的大量的这个芯片的中英文资料和阅读别人关于这个芯片的程序。这个芯片的资料和程序网上不是很多,即使是这样,这个芯片的学习大概花了我这个项目的一半时间(一天半

13、)。经过一天半的学习我知道了TLC1543的工作时序,知道了TLC1543的DIN端即接单片机P1.2的用于4位通道地址选输入通道,控制14个模拟通道选择器从11个外部模拟输入和3个内部自测电压中选通1 路送到采样保持电路。这点让我知道了,通过改变输入寄存器的二进制的地址来选择输入模拟量的端口。此外,DOU端是程序串行输出端。串行通信的同时它输出还是一个十六位的数,所以数据必须分别高八位和低八位。最后我用两个循环语句分别把高八位和低八位的数据取出来赋值实参num中。总体感觉它比0808芯片难很多。第二个问题是数据的处理。由于AD转换芯片的基准电压是5V的,故能输入的电压最大值只有5V。于是我用

14、四个等值电阻来分压,这样实际取值缩小了4倍。程序处理的时候必须把它还原。 原以为在原来的程序num1=num1*5/1024*1000;的mun中乘以4就可以了,而结果是这样可以还原为原来的数值但最大值只能到12.7V再大的数值它就没变化了。通过反思后,我知道了原来num超过了整型数的最大值已经乱码。来了我把乘以4另外一步事情就解决了。由于单片机开发板是吴茂老师自己设计的他除了用共阳极外还用单片机的P2.6端来控制整个数码管的亮灭。最后的显示结果还是蛮理想的。第三个问题是误差的处理。在仿真图上误差还是相当理想的,基本在0.1之内。这个可以解释为因为AD转换的精度和显示的小数位数有关。这个也基本

15、没问题。最大的问题是程序在开发板运行的时候误差较大。最大的时候达到+0.8。这个是非常大的误差。于是我通过画实际输入的电压数值曲线跟显示的数值曲线对比,如果把取得的数值减去一个固定的值这个它们的误差会大大减少,这个我认为相当于电压表的调零吧。这个这问题解决了。当然这样解决的只是显示的误差问题。至于为什么实际会比仿真的误差大那么多,这个问题我还是在探索中。我猜想,这个开发版的单片机的p1.3除了用来做AD的数据输入外还用来做LED等得输出口,这个可能会影响。此外,还有分压的电阻电阻值不均和产生的压降会影响。除此之外应该还有其他的原因,具体是什么我还在思索中。5.2总结基于单片机的数字电压表使用性

16、强、结构简单、成本低、外接元件少。在实际应用工作应能好,测量电压准确,精度高。系统功能、指标达到了课题的预期要求、系统在硬件设计上充分考虑了可扩展性,经过一定的改造,可以增加功能。本文设计主要实现了简易数字电压表测量一路电压的功能,详细说明了从原理图的设计、电路图的仿真再到软件的调试。 通过本次课程设计,加深对所学知识的理解,提高对课外知识的学习能力,增强知识的应用能力,提高解决实际问题的能力,培养自我创新意识。积累实践经验,为以后的发展打下基础,也为以后我们自己在这方面的发展打下基础,并能够在这方面培养自己的兴趣。 通过这次课程设计,无论从选题到定稿,从理论到实践都使我学到了很多东西,它不仅

17、可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。同时也明白了理论与实践相结合的重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。参考文献1 潘新民、王燕芳.微型计算计控制技术第二版.电子工业出版社,20102 皮大能、南光群、刘金华.单片机课程设计指导书.北京理工大学出版社,20103 陈连坤. 单片机原理及接口技术. 北京交通大学出版社,20104 邹久朋.80C51单片机实用技术.北京航空大学出版社,20085 江志红. 51单片机技术与应用系统开发. 清华大学出版

18、社.,20086 楼苗然,李光飞. 单片机课程设计指导. 北京航空航天大学出版社,20077 李广弟.单片机基础.北京航空航天大学出版社,2007年5月8 蔡朝洋. 单片机控制实习与专题制作. 北京航空航天大学出版社,20069 李学海. 标准8051单片机基础教程. 北京航空航天大学出版,200610 何立民. 单片机高级教程. 北京航空航天大学出版社,200611 周立功. 单片机实验与实践教程. 北京航空航天大学出版社,200612 康华光.电子技术基础第五版。高等教育出版社,200613 谢维成、杨加国.单片机原理与应用及C51程序设计实例.电子工业出版社,2006年14TLC1543

19、中文资料15TLCXX百科附录1:仿真原理图附录2:程序/*适合开发板*/#include #include#define uchar unsigned char#define uint unsigned intuint num;float num1;uchar port,m;uchar ge,shi,bai,qian,wan;sbit AD_eoc=P32;sbit AD_clk=P10;sbit AD_add=P12;sbit AD_dat=P13;sbit AD_cs=P16; /定义管脚sbit P2_0OUT=P20;sbit P2_1OUT=P21;sbit P2_2OUT=P22

20、;sbit P2_3OUT=P23;sbit P2_4OUT=P24;sbit P2_6OUT=P26; uchar code led7=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;uchar code ledd7=0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef;void delay(uint z) uint k; for(z;z0;z-) for(k=110;kk-); void display(num) num1=num; num1=num1*5/1024*1000; num=4*n

21、um1; wan=num/10000; qian=(num/1000)%10; bai=(num/100)%10; shi=(num/10)%10; ge=num%10; P0=led7wan; P2_0OUT=0; delay(5); P2_0OUT=1; P0=0xff; P0=ledd7qian; P2_1OUT=0; P2_1OUT=1; P0=led7bai; P2_2OUT=0; P2_2OUT=1; P0=led7shi; P2_3OUT=0; P2_3OUT=1; P0=led7ge; P2_4OUT=0; P2_4OUT=1;uint ADC(uchar chn1) ucha

22、r i; uchar addr8; uint ADresult; AD_eoc=1; AD_cs=0; _nop_(); addr8=chn1; addr8=4; for(i=0;i4;i+)/访问周期 AD_add=(bit)(addr8&0x00); AD_clk=1; AD_clk=0; addr8=1; 6;i+) /采样周期 AD_cs=1; while(!AD_eoc);/查询到转换结束 ADresult=0; /开始传数据10;i+) ADresult m=AD_dat; ADresult+=m; return(ADresult); void main() while(1) port=0x0a; P2_6OUT=0; num=ADC(port); display(num);附录3;实验板原理图:附录4:实物效果图:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1