单片机原理及应用-数字电压表设计-毕业设计_第1页
单片机原理及应用-数字电压表设计-毕业设计_第2页
单片机原理及应用-数字电压表设计-毕业设计_第3页
单片机原理及应用-数字电压表设计-毕业设计_第4页
单片机原理及应用-数字电压表设计-毕业设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

XX工程学院通信工程学院课程设计说明书论文题目数字电压表设计课程名称单片机原理及应用A专业电子信息工程班级学生姓名学号设计地点指导教师一、课程设计目的在学习单片机原理及应用A课程的基础上,进一步深入理解MCS51单片机的结构、工作原理和应用技术,提高单片机控制系统设计、研发的能力;按照教学计划的要求,利用一周时间,综合应用所学知识,设计具有一定功能的小型单片机控制系统,培养学生一定的自学能力和独立分析问题、解决问题的能力,要求学生能通过独立思考、查阅工具书、参考文献,提出自己的设计方案,找出设计中遇到问题的解决途径。二、设计任务和要求1、题目数字电压表设计(1)整个课程设计的各个环节都要自己动手。(2)通过TLC1549串行A/D转换芯片完成数字电压表设计,通过LED/LCD显示测量值;(3)采用C语言编程实现;(4)其他要求参见“NKDE51单片机实验教学系统实验指导书”;(5)基本任务为必做项目,附加任务为选做项目;(6)对课程设计进行总结,撰写课程设计说明书2、设计任务(1)基本任务利用NKDE51单片机实验教学系统上的硬件资源,实现数字电压表的测量与显示功能。(2)附加任务通过键盘控制测量操作的启停。在LCD上显示测量结果。三、系统总体设计方案31数字电压表系统设计框图本次数字电压表系统设计框图如下图1所示模拟量数字量程序液晶处理驱动模拟被测电压模数转换单片机芯片液晶驱动LCD1602液晶显示数字电压表主要由模/数转换电路、单片机控制电路、显示电路等三部分组成。其中TLC1549等器件组成的转换电路,将输入的模拟量信号进行取样、转换、然后将转换的数字信号送进单片机。单片机控制电路主要实现对数据进行程序处理;显示电路主要用于将单片机的信号数据转换后显示测量结果。本实验系统中模拟量的输入有两种方法,一种方法是通过J1输入外部的模拟量,此时需要把跳线JP1的1、2短接;另外一种方法是通过滑动变阻器调节输入电压,此时需要将跳线JP1的2、3短接。由于TLC1549的输入参考电压为5V,因此两种输入方法中,输入信号的电平幅度都必须限制在05V之间。32A/D采样部分321TLC1549简介TLC1549系列是美国德州仪器公司生产的具有串行控制、连续逐次逼近型的模数转换器,它采用两个差分基准电压高阻输入和一个三态输出构成三线接口,其中三态输出分别为片选(CS)、输入/输出时钟(CLK)和数据输出(DO)。TLC1549作为AD数据采样器件,它是串行接口方式的A/D转换器,仅有8个引脚,外围接线很少。体积小、速度快、精度高。适用于仪器仪表、传感器、工程检测等方面。TLC1549采用CMOS工艺,内部具有自动采样保持、可按比例量程校准转换范围、抗噪声干扰功能,开关电容设计使在满刻度时总误差最大仅为1LSB(48MV),因此可广泛应用于模拟量和数字量的转换电路。322TLC1549工作原理TLC1549内部结构框图如图2所示。10位模数转换器(开关电容设计)输出数据寄存器10位数据选择与驱动系统时钟控制逻辑I/O计数器采样和保持ANALOGINI/OCLOCKCSDATAOUTREFREF63127541010图2TLC1549内部结构TLC1549具有6种串行操作时序模式,这些模式由CLK周期和ERRORERROR定义,这里只介绍本实验所使用的10周期、ERRORERROR控制传输数据的模式,其余模式的详细信息,请自行参考TLC1549的数据手册。根据TLC1549的功能结构和工作时序,其工作过程可分为3个阶段模拟量采样、模拟量转换和数字量传输。1模拟量采样在前一个采样数据输出的第3个CLK下降沿,输入模拟量开始采样,采样持续7个CLK周期,本次模拟量的采样值在第10个CLK下降沿锁存。2模拟量转换TLC1549是一种连续逐次逼近型的模数转换器,其内部的CMOS门限检测器通过检测一系列电容的充电电压来对数字输入信号进行量化,此处不做进一步介绍,更详细的内容请自行参阅TLC1549的数据手册。3数字量传输TLC1549采样数据输出的时序如图3所示。12345678910A9A8A7A6A5A4A3A2A1A01B9B周期取样取样间隔最多21S高阻状态输出A取样周期的数据CSCLKDO图3TLC1549采样数据输出时序图当ERRORERROR信号由低电平变为高电平时,CLK禁止且A/D转换结果的三态串行输出DO处于高阻状态;当串行接口将ERRORERROR拉至有效时,即ERRORERROR由高变为低时,ERRORERROR复位内部时钟,控制并使能DO和CLK,允许CLK工作并使DO脱离高阻状态。串行接口把输入/输出时钟序列供给CLK并接收上一次转换结果。首先移出上一次转换结果数字量对应的最高位,下一个CLK的下降沿驱动DO输出上一次转换结果数字量对应的次高位,第9个CLK的下降沿将按次序驱动DO输出上一次转换结果数字量的最低位,第10个CLK的下降沿,DO输出一个低电平,以便串行接口传输超过10个时钟;CLK从主机串行接口接收长度在1016个时钟的输入序列。10位数字量通过DO发送到主机串行接口。第一次传输时,最少需要10个时钟脉冲,如果CLK传送大于10个时钟,那么在第10个时钟的下降沿,内部逻辑把DO拉至低电平以确保其余位清零。在正常转换周期内,即规定的时间内ERRORERROR端由高电平至低电平的跳变可以终止该周期,器件返回初始状态输出数据寄存器的内容保持为上一次转换结果。由于可能破坏输出数据,所以在接近转换完成时要小心防止ERRORERROR拉至低电平。323TLC1549的接口电路在实验系统中,TLC1549的接口电路如图4所示。1234J7ACLKADOACSADOACLKACSREF1AIN2REF3GND4CS5DO6CLK7VCC8U2TLC1549AVCCAVCC123JP1AIN2AIN112J1R2471AIN1VR210KR3471AIN2AVCC图4TLC1549的接口电路33显示部分采用LCD1602液晶显示器显示。液晶显示功耗低,轻便防震,显示界面友好。采用字符型液晶模块HS1602与单片机的接口和编程的方法显示测量的电压大小、极性、峰值。其原理电路图如图5所示。RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器、RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据、D0D7为8位双向数据线。主单片机通过控制RS和RW,数据由D0D7送入液晶显示。报警由单片机控制并作出响应。_WBHXIQUDRYSTALP四、系统分析与运行结果测量结果VR2调节输入电压,液晶显示屏显示电压范围03720V五、收获体会单片机是一门很强调应用的学科,在这一周的设计时间里,我选择了数字电压表设计这个设计任务,以巩固课程学习。关于这个任务,基于TLC1549的串行A/D转换实验加以改进,从而实现了对TLC1549连续逐次逼近型的模数转换器。关于程序的设计,编程是个不断编写、不断运行、不断修改的过程,需要十足的细心与耐心。期间也有感到瓶颈的地方,不过,因为时间比较充裕也大都解决了这些问题。当然,也发现了所编程序些许复杂,且重复较多,有点资源浪费。经过这次课程设计,我发觉自己在软件编程上也是可以有所发展的,希望在今后的学习中能够不断的进步,以谋求更好的发展。六、参考文献1、NKDE51单片机实验教学系统实验指导书南京邮电大学,2011年2、单片机原理与应用及C51程序设计(第2版),谢维成等编著,清华大学出版社,2009年3、单片机原理及应用(第2版),李建忠,西安电子科技大学出版社,2008年七、附录实验程序INCLUDE/52系列头文件DEFINEDISDATAP0/液晶数据端口DEFINEUCHARUNSIGNEDCHAR/无符号字符8位DEFINEUINTUNSIGNEDINT/无符号整数8位UINTDATADIS40X00,0X00,0X00,0X00/4个数据单元和一个UCHARCODETABLE“VOLTAGEV“/定义初始上电液晶默认显示状态UCHARCODETABLE1“DESIGNEDBY“UCHARCODETABLE3“LAOCHANG“UCHARCODETABLE2“SCOPE05000V“UCHARCODETABLE4“NOTREVERSED“SBITLCDENP22/定义液晶使能端SBITLCDRSP20/定义液晶RS端SBITRWP21/定义液晶RW端SBITLEDP31SBITALEP23/定义锁存地址控制位SBITCS_ADP27/片选段,低电平有效SBITDOUTP26/数据输出端SBITCLKP25/转换结束标志位DATAINTRESULT/测量变量暂存地址UCHARNUM,NUM1,NUM2,NUM3,NUM4,NUM5UCHARSHII0,GEI0/延时函数VOIDDELAY30VOID/30US延时UNSIGNEDCHARAFORA13A0AVOIDDELAYUINTZUINTX,YFORXZX0XFORY110Y0Y/VOIDWRITE_COMUCHARCOM/液晶写命令函数LCDRS0P0COMDELAY5LCDEN1DELAY5LCDEN0VOIDWRITE_DATAUCHARDATE/液晶写数据函数LCDRS1P0DATEDELAY5LCDEN1DELAY5LCDEN0VOIDWRITE_SGUCHARADD,UCHARDATE/写整数位和小数位函数UCHARSHI,GESHIDATE/10/分解出一个2位数的十位GEDATE10WRITE_COM0X80ADD/设置显示位置WRITE_DATA0X30SHI/送去液晶显示十位WRITE_COM0X80ADD2WRITE_DATA0X30GE/送去液晶显示个位VOIDWRITE_SG1UCHARADD,UCHARDATE/写整数位和小数位函数UCHARSHI,GESHIDATE/10/分解出一个2位数的十位GEDATE10WRITE_COM0X80ADD/设置显示位置WRITE_DATA0X30SHI/送去液晶显示十位WRITE_DATA0X30GE/送去液晶显示个位VOIDINITRW0LCDEN0SHII0GEI0WRITE_COM0X38/初始化1602液晶WRITE_COM0X0CWRITE_COM0X06WRITE_COM0X01WRITE_COM0X80/设置显示初始坐标FORNUM20NUM213NUM2WRITE_DATATABLE1NUM2DELAY5WRITE_COM0X8040FORNUM3NUM316NUM3WRITE_DATATABLE3NUM3DELAY5DELAY1000/VOIDSCAN1WRITE_COM0X80/设置显示初始坐标FORNUM0NUM16NUMWRITE_DATATABLENUMDELAY5WRITE_SG9,SHIIWRITE_SG12,GEIWRITE_COM0X8040FORNUM1NUM116NUM1WRITE_DATATABLE2NUM1DELAY5WRITE_SG9,SHIIWRITE_SG12,GEI/TLC1549转换处理子函数VOIDTESTDATAUCHARI,J,K63UINTSHUSHU0,RESS0FORJ0J63JCS_AD1/禁止I/OCLOCKCS_AD0/开启控制电路,使能DATAOUT和I/OCLOCKRESS0/清转换变量FORI0I10I/采集10次,即10BITCLK0RESS2IFDOUTRESSCLK1SHUSHURESSDELAY30RESULTSHUSHU/KDELAY590CS_AD1/DATAOUT返回到高阻状态而终止序列/数据转换处理RESULTRESULT10/结果值扩大10倍DIS2R

温馨提示

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

评论

0/150

提交评论