




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南京工程学院通信工程学院课程设计说明书(论文)题 目 数字电压表设计 课 程 名 称 单片机原理及应用A 专 业 电子信息工程 班 级 学 生 姓 名 学 号 设 计 地 点 指 导 教 师 一、 课程设计目的 在学习单片机原理及应用A课程的基础上,进一步深入理解MCS-51单片机的结构、工作原理和应用技术,提高单片机控制系统设计、研发的能力;按照教学计划的要求,利用一周时间,综合应用所学知识,设计具有一定功能的小型单片机控制系统,培养学生一定的自学能力和独立分析问题、解决问题的能力,要求学生能通过独立思考、查阅工具书、参考文献,提出自己的设计方案,找出设计中遇到问题的解决途径。二、设计任务和要求1、题目:数字电压表设计(1)整个课程设计的各个环节都要自己动手。(2)通过TLC1549串行A/D转换芯片完成数字电压表设计,通过LED/LCD显示测量值;(3)采用C语言编程实现; (4)其他要求参见“nKDE-51单片机实验教学系统实验指导书”;(5)基本任务为必做项目,附加任务为选做项目;(6)对课程设计进行总结,撰写课程设计说明书2、设计任务:(1)基本任务:利用nKDE-51单片机实验教学系统上的硬件资源,实现数字电压表的测量与显示功能。(2)附加任务:通过键盘控制测量操作的启停。 在LCD上显示测量结果。三、系统总体设计方案3.1数字电压表系统设计框图本次数字电压表系统设计框图如下图1所示:LCD1602液晶显示液晶驱动模数转换单片机芯片模拟被测电压 模拟量数字量程序液晶处理驱动数字电压表主要由模/数转换电路、单片机控制电路、显示电路等三部分组成。其中TLC1549等器件组成的转换电路,将输入的模拟量信号进行取样、转换、然后将转换的数字信号送进单片机。单片机控制电路主要实现对数据进行程序处理;显示电路主要用于将单片机的信号数据转换后显示测量结果。本实验系统中模拟量的输入有两种方法,一种方法是通过J1输入外部的模拟量,此时需要把跳线JP1的1、2短接;另外一种方法是通过滑动变阻器调节输入电压,此时需要将跳线JP1 的2、3短接。由于TLC1549的输入参考电压为+5V,因此两种输入方法中,输入信号的电平幅度都必须限制在05V之间。3.2 A/D采样部分3.2.1 TLC1549简介TLC1549系列是美国德州仪器公司生产的具有串行控制、连续逐次逼近型的模数转换器,它采用两个差分基准电压高阻输入和一个三态输出构成三线接口,其中三态输出分别为片选(CS)、输入/输出时钟(CLK)和数据输出(DO)。TLC1549作为AD数据采样器件, 它是串行接口方式的A/D转换器,仅有8个引脚,外围接线很少。体积小、速度快、精度高。适用于仪器仪表、传感器、工程检测等方面。TLC1549采用CMOS工艺,内部具有自动采样保持、可按比例量程校准转换范围、抗噪声干扰功能,开关电容设计使在满刻度时总误差最大仅为1 LSB(4.8 mV),因此可广泛应用于模拟量和数字量的转换电路。3.2.2 TLC1549工作原理:TLC1549内部结构框图如图2所示。 图2 TLC1549内部结构TLC1549具有6种串行操作时序模式,这些模式由CLK周期和定义,这里只介绍本实验所使用的10周期、控制传输数据的模式,其余模式的详细信息,请自行参考TLC1549的数据手册。根据TLC1549的功能结构和工作时序,其工作过程可分为3个阶段:模拟量采样、模拟量转换和数字量传输。(1)模拟量采样在前一个采样数据输出的第3个CLK下降沿,输入模拟量开始采样,采样持续7个CLK周期,本次模拟量的采样值在第10个CLK下降沿锁存。(2)模拟量转换TLC1549是一种连续逐次逼近型的模数转换器,其内部的CMOS门限检测器通过检测一系列电容的充电电压来对数字输入信号进行量化,此处不做进一步介绍,更详细的内容请自行参阅TLC1549的数据手册。(3)数字量传输TLC1549采样数据输出的时序如图3所示。 图3 TLC1549采样数据输出时序图当信号由低电平变为高电平时,CLK禁止且A/D转换结果的三态串行输出DO处于高阻状态;当串行接口将拉至有效时,即由高变为低时,复位内部时钟,控制并使能DO和CLK,允许CLK工作并使DO脱离高阻状态。串行接口把输入/输出时钟序列供给CLK并接收上一次转换结果。首先移出上一次转换结果数字量对应的最高位,下一个CLK的下降沿驱动DO输出上一次转换结果数字量对应的次高位,第9个CLK的下降沿将按次序驱动DO输出上一次转换结果数字量的最低位,第10个CLK的下降沿,DO输出一个低电平,以便串行接口传输超过10个时钟;CLK从主机串行接口接收长度在1016个时钟的输入序列。10位数字量通过DO发送到主机串行接口。第一次传输时,最少需要10个时钟脉冲,如果CLK传送大于10个时钟,那么在第10个时钟的下降沿,内部逻辑把DO拉至低电平以确保其余位清零。在正常转换周期内,即规定的时间内端由高电平至低电平的跳变可以终止该周期,器件返回初始状态(输出数据寄存器的内容保持为上一次转换结果)。由于可能破坏输出数据,所以在接近转换完成时要小心防止拉至低电平。3.2.3 TLC1549的接口电路在实验系统中,TLC1549的接口电路如图4所示。 图4 TLC1549的接口电路3.3 显示部分采用LCD1602液晶显示器显示。液晶显示功耗低,轻便防震,显示界面友好。采用字符型液晶模块HS1602与单片机的接口和编程的方法显示测量的电压大小、极性、峰值。其原理电路图如图5所示。RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器、RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据、D0D7为8位双向数据线。主单片机通过控制RS和RW,数据由D0D7送入液晶显示。报警由单片机控制并作出响应。四、系统分析与运行结果测量结果:VR2调节输入电压,液晶显示屏显示电压范围03.720V五、收获体会单片机是一门很强调应用的学科,在这一周的设计时间里,我选择了数字电压表设计这个设计任务,以巩固课程学习。关于这个任务,基于TLC1549的串行A/D转换实验加以改进,从而实现了对TLC1549连续逐次逼近型的模数转换器。关于程序的设计,编程是个不断编写、不断运行、不断修改的过程,需要十足的细心与耐心。期间也有感到瓶颈的地方,不过,因为时间比较充裕也大都解决了这些问题。当然,也发现了所编程序些许复杂,且重复较多,有点资源浪费。经过这次课程设计,我发觉自己在软件编程上也是可以有所发展的,希望在今后的学习中能够不断的进步,以谋求更好的发展。六、参考文献1、nKDE51单片机实验教学系统实验指导书南京邮电大学,2011年2、单片机原理与应用及C51程序设计(第2版),谢维成等编著,清华大学出版社,2009年3、单片机原理及应用(第2版),李建忠,西安电子科技大学出版社,2008年七、附录实验程序:#include /52系列头文件#define Disdata P0 /液晶数据端口#define uchar unsigned char /无符号字符8位#define uint unsigned int /无符号整数8位uint data dis4=0x00,0x00,0x00,0x00;/4个数据单元和一个uchar code table=VOLTAGE:+ V; /定义初始上电液晶默认显示状态uchar code table1=designed by : ;uchar code table3= laochang ;uchar code table2=SCOPE: 0-5.000 V;uchar code table4= not reversed! ;sbit lcden=P22;/定义液晶使能端sbit lcdrs=P20;/定义液晶RS端sbit rw=P21;/定义液晶RW端sbit led=P31;sbit ALE=P23;/定义锁存地址控制位sbit cs_ad=P27;/片选段,低电平有效sbit dout=P26;/数据输出端sbit clk=P25; /转换结束标志位data int result;/测量变量暂存地址uchar num,num1,num2,num3,num4,num5;uchar shii=0,gei=0;/*延时函数*void delay30(void) /30us延时 unsigned char a; for(a=13;a0;a-);void delay(uint z) uint x,y; for(x=z;x0;x-) for(y=110;y0;y-); /*void write_com(uchar com) /液晶写命令函数 lcdrs=0; P0=com; delay(5); lcden=1; delay(5); lcden=0; void write_data(uchar date) /液晶写数据函数 lcdrs=1; P0=date; delay(5); lcden=1; delay(5); lcden=0; void write_sg(uchar add,uchar date) /写整数位和小数位函数 uchar shi,ge; shi=date/10; /分解出一个2位数的十位 ge=date%10; write_com(0x80+add); /设置显示位置 write_data(0x30+shi); /送去液晶显示十位 write_com(0x80+add+2); write_data(0x30+ge); /送去液晶显示个位void write_sg1(uchar add,uchar date) /写整数位和小数位函数 uchar shi,ge; shi=date/10; /分解出一个2位数的十位 ge=date%10; write_com(0x80+add); /设置显示位置 write_data(0x30+shi); /送去液晶显示十位 write_data(0x30+ge); /送去液晶显示个位void init() rw=0; lcden=0; shii=0; gei=0; write_com(0x38); /初始化1602液晶 write_com(0x0c); write_com(0x06); write_com(0x01); write_com(0x80); /设置显示初始坐标for(num2=0;num213;num2+) write_data(table1num2); delay(5); write_com(0x80+40); for(num3;num316;num3+) write_data(table3num3); delay(5); delay(1000); /*void scan1() write_com(0x80); /设置显示初始坐标 for(num=0;num16;num+) write_data(tablenum); delay(5); write_sg(9,shii); write_sg(12,gei); write_com(0x80+40); for(num1;num116;num1+) write_data(table2num1); delay(5); write_sg(9,shii); write_sg(12,gei); /*TLC1549转换处理子函数*void test() data uchar i,j,k=63; uint shushu=0,ress=0;for(j=0;j63;j+) cs_ad=1; /禁止i/o clock cs_ad=0; /开启控制电路,使能data out和i/o clock ress=0; /清转换变量 for(i=0;i10;i+) /采集10次 ,即10bit clk=0; ress*=2; if(dout) ress+; clk=1; shushu+=ress;delay30(); result=shushu/k; delay(590); cs_ad=1; /data out 返回到高阻状态而终止序列/*数据转换处理* result=result*10; /结果值扩大10倍 dis2=result/275; /计算整数位 dis3=result%275; /余数暂存 dis3=dis3*10; /计算小数第一位 dis1=dis3/27
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新解读《GB-T 30961-2014嵌入式软件质量度量》
- 新解读《GB-T 31031-2014机场除雪车》
- 新解读《GB-T 31085-2014国际货运代理单证签发规范》
- 代理牙膏合同范本
- 房租快速出租合同范本
- 农户房屋出售合同范本
- 消防挂资质合同范本
- 整装家居销售合同范本
- 乡村建设桥合同范本
- 殡葬服务合作合同范本
- 绿化项目养护监理方案投标文件(技术方案)
- 大学英语四级高频词汇1500+六级高频词汇1500
- 混凝土结构跳仓施工方案
- 水稳摊铺作业安全技术交底
- 二年级劳动与技术折扇课件
- 公墓施工组织设计
- 油气集输管线管道工程征地外协管理方案
- 《智慧农业》的ppt完整版
- 小升初英语学习方法指导PPT
- CT图像伪影及处理
- 住宅给水设计秒流量计算举例
评论
0/150
提交评论