ImageVerifierCode 换一换
格式:DOC , 页数:26 ,大小:373.50KB ,
资源ID:4636855      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

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

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(单片机课程设计-电阻量测量.doc)为本站上传会员【丰****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

单片机课程设计-电阻量测量.doc

1、农业装备工程学院课程设计说明书电阻量测量摘 要本设计基于单片机和AD转换器实现电阻的测量。采用ADC0808,实现由模拟电压转换到数字信号,通过单片机系统AT89C51处理后,由LCD显示器显示被测量电阻的阻值。测量范围为15K,精度大于98%。其中稳压电源采用的是三端集成稳压器7805构成的正5V直流电源,对单片机、A/D转换器、LCD显示器供电。本设计从硬件和软件两部分入手,其中硬件分为数据采集、模数转换、数据显示三个模块。数据采集通过我们对两方案的分析与对比,决定采用桥式法测量被测电阻电压,A/D转换器使用常见的仿真器件ADC0808,数据显示使用LCD1602。硬件设计完成后,用Kei

2、l编程,编写每个模块的程序。接着使用Proteus对设计的硬件进行仿真,记录数据并进行了分析,得出误差小,测量范围大的结论。最后使用Altium Designer绘制仿真电路的原理图和PCB板。 关键词:AT89C51单片机,Proteus仿真,数据处理1目 录第一章 绪论1第二章 总体设计22.1总体设计思路2第三章 硬件设计53.1直流稳压电源电路的设计53.2电压测量的设计53.3模数ADC转换的设计73.4 液晶显示电路的设计7第四章 软件设计114.1 主程序工作流程图114.2 程序设计11第五章 软件仿真125.1 Protues仿真图125.2 Altium Designer原

3、理图14第六章 设计结论16参考文献17附录19第一章 绪论随着现代科技的飞速发展,生产生活中人们对工具的要求越来越高。其中对我们日常所使用的电阻表的精度和性能也要求越来越高,并且电阻表完全可以通过现代科技来实现智能化,测量不同阻值的电阻。测量不同阻值的电阻时,可以更换档位。并且同时显示出阻值和量程。目前市面上测量电子元器件参数R的仪表种类较多,方法和优缺点也各有不同。一般的测量方法都存在计算复杂,不易实现自动测量而且很难实现智能化等缺点。将电阻参数转化为电压形式,并通过模数转换,这样处理一方面使测量精度提高了,另一方面也便于使仪表实现智能化,并能很好的实现各个要求。本设计从硬件和软件两部分入

4、手,其中硬件分为数据采集、模数转换、数据显示三个模块。数据采集我们采用桥式法测量被测电阻电压,A/D转换器使用常见的仿真器件ADC0808,数据显示使用LCD1602。硬件设计完成后用Keil编程,具体程序在正文当中,最后对设计的电路进行仿真,记录显示数据和实际数据,并进行数据对比,得出结论。1第二章 总体设计2.1总体设计思路本设计包括硬件和软件设计两个部分。模块划分为电压测量(数据采集)、模数转换、阻值显示等子模块。电路结构可划分为:电压测量,电压转换电阻,阻值显示及相关的控制管理软件组成。用户终端完成信息采集、处理、数据传送、显示等功能。从设计的要求来分析该设计须包含如下结构:电压测量电

5、路,电压转换电路,阻值显示电路、单片机及相关的控制软件组成。A/D转换器:ADC0809是很常用的一款8位的模数转换芯片。而ADC0808是0809的简化版,主要的不同点是0808的转换输出out0-7与常用的输出端高低位是相反的,即0809的最低位是out0,0808的最低位是out7.ADC0808在实际中不常用,实际中常用的是0809,而0808最常用的是在proteus仿真里面,因为0809是没有模型库,无法仿真的。ADC 0808和ADC 0809除精度略有差别外(前者精度为8位、后者精度为7位),其余各方面完全相同。它们都是CMOS器件,不仅包括一个8位的逐次逼近型的ADC部分,而

6、且还提供一个8通道的模拟多路开关和通道寻址逻辑,因而有理由把它作为简单的“数据采集系统”。利用它可直接输入8个单端的模拟信号分时进行A/D转换,在多点巡回检测和过程控制、运动控制中应用十分广泛。1) 主要技术指标和特性(1)分辨率: 8位。(2)总的不可调误差: ADC0808为2LSB,ADC 0809为1LSB。(3)转换时间: 取决于芯片时钟频率,如CLK=500kHz时,TCONV=128s。(4)单一电源: +5V。(5)模拟输入电压范围: 单极性05V;双极性5V,10V(需外加一定电路)。(6)具有可控三态输出缓存器。(7)启动转换控制为脉冲式(正脉冲),上升沿使所有内部寄存器清

7、零,下降沿使A/D转换开始工作。(8)使用时不需进行零点和满刻度调节。2) 部分外部引脚介绍(1)IN0IN78路模拟输入,通过3根地址译码线ADDA、ADDB、ADDC来选通一路。(2)D7D0A/D转换后的数据输出端,为三态可控输出,故可直接和微处理器数据线连接。8位排列顺序是D7为最高位,D0为最低位。(3)ADDA、ADDB、ADDC模拟通道选择地址信号,ADDA为低位,ADDC为高位。(4)VR(+)、VR(-)正、负参考电压输入端,用于提供片内DAC电阻网络的基准电压。在单极性输入时,VR(+)=5V,VR(-)=0V;双极性输入时,VR(+)、VR(-)分别接正、负极性的参考电压

8、。显示器:选用LCD1602。工业字符型液晶,能够同时显示16x02即32个字符。1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形。特性:3.3V或5V工作电压,对比度可调;内含复位电路;提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能;有80字节显示数据存储器DDRAM;内建有192个5X7点阵的字型的字符发生器CGROM;8个可由用户自定义的5

9、X7的字符发生器CGRAM;微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中;操作控制。它们之间的构成框图如图2-1总体设计框图所示:AT89C51LCD显示电压转换电阻(ADC0808)测量精度选择电压测量图2-1 总体设计框图处理器采用51系列单片机AT89C51。整个系统是在系统软件控制下工作的。当测量一个电阻时,经过电压采集,电压转换为电阻,电阻显示三个部分可以在LCD上显示该被测电阻的阻值。当被测电阻为100范围以内时,通过开关选择测量量程,再次测量该电阻,以减小误差。25第三章 硬件设计3.1直流稳压电源电路的设计对于一个完整的电子设计来讲,首要问题就是为

10、整个系统提供电源供电模块,电源电路的稳定可靠是系统平稳运行的前提和基础。电子设备除用电池供电外,还采用市电(交流电网)供电。通过变压、整流、滤波和稳压后,得到稳定的直流电。直流稳压电源是电子设备的重要组成部分!本项目直流稳压电源为+5V。如下图所示:直流稳压电源的制作一般有3种制作形式,分别是分立元件构成的稳压电源、线性集成稳压电源和开关稳压电源。下图稳压电源采用的是三端集成稳压器7805构成的正5V直流电源。图3-1 三端固定式集成稳压电源电路图3.2电压测量的设计电路的论证与对比方案一利用单稳或电容充放电规律等,可以把被测电阻量的大小转换成脉冲的宽窄,即脉冲的宽度Tx与Rx成正比。只要把此

11、脉冲和频率固定不变的方波(以下称为时钟脉冲)相与,便可以得到计数脉冲,将它送给数字显示器。如果时钟脉冲的频率等参数合适,便可实现测量电阻。计数控制电路输出的脉冲宽度Tx应与Rx成正比,其电路原理图及具体555单稳态触发器的构成及仿真如图3-2所示。A/D转换电路译码-驱动-显示电路555单稳态电路图3-2 方案一原理图用555构成的单稳态电路在正常工作条件下输出脉冲的宽度Tx与Rx关系是:Tx=R*Cx*ln3所产生的时间误差可能达到百分之十五,再加上其他原因产生的误差,测量是的时间延迟太大。 方案二用ADC0808电阻测量,以已知的电阻作为基准电阻。和被测电阻进行分压,分压比例得出电阻比例。

12、用ACD0808测量电阻时间误差为10%以下,分辨率高,输出能与TTL电平兼容。其原理图如图所示。译码-驱动-显示电路A/D转换电路简易外围电路图3-3 方案二原理图方案的对比与比较由于课程设计的要求是电阻测量需要简单的外围检测电路,将电阻转换为电压。测试:误差10%。通过比较以上两个方案,可知方案二相对来说比较适合。所以选用方案二作为实验方案。如图3-4所示为被测电阻电压测量。电压经过已知电阻R1和被测电阻Rx接到地。通过OUT输出被测电阻Rx上的电压。送到ADC0808的IN0口。图3-4 被测电阻电压测量图3.3模数ADC转换的设计由电压测量得到的电压经过ADC模数转换可得到8位的电压值

13、,经过欧姆定律(即电压之比等于电阻之比)可得到被测电阻的阻值的大小。公式如下本设计用到的R1的阻值为600和300。由被测电阻得到的电压经ADC0808的26脚IN0输入,经过内部的AD转换,在OUT17输出数字电压量,经过上述公式的转变,在P2口上的显示的数字量为被测电阻的阻值数字量。如图3-5所示为被测电阻电压量转换为阻值量。IN0ADC0808OUT1OUT7OUTP2图3-5 被测电阻电压量转换为阻值量图3.4 液晶显示电路的设计经过ADC0809模数转换得到的电阻值数字量,在MCU的P2口输入,MCU系统处理后在P0口由LCD1602显示出来该被测电阻的阻值。如图3-6所示为被测电阻

14、阻值显示。D0D7LCD1602P0AT89C51P2ADC OUT1OUT7图3-6 被测电阻阻值显示图单片机时钟电路的设计:本系统采用单片机内部方式产生时钟信号,用于外接一个12MHz石英晶体振荡器和2个30pF微调电容,构成稳定的的自激振荡器,其发出的脉冲直接送入内部的时钟电路。XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。因为一个机器周期含有6个状态周期,而每个状态周期为2个振荡周期,所以一个机器周期共有12个振荡周期,如果外接石英晶体振荡器的振荡频率为12MHZ,一个振荡周

15、期为1/12us,故而一个机器周期为1us。如图3-7所示为时钟电路。图3-7 时钟电路图单片机复位电路的设计:确定单片机工作的起始状态,完成单片机的启动过程。复位方法一般有上电自动复位和外部按键手动复位,单片机在时钟电路工作以后, 在RESET端口持续给出2个机器周期的高电平时就可以完成复位操作6。例如使用晶振频率为12MHz时,则复位信号持续时间应不小于2us。本设计采用的是外部手动按键复位电路。如图3-8所示为复位电路。图3-8 复位电路图由时钟电路和复位电路连接的单片机最小系统如下图所示:图3-9 单片机最小系统系统硬件电路的选择及说明:硬件电路的设计如上文图中所示,从以上的分析可知本

16、设计中要用到如下器件:AT89C51、ADC0808转换器、LCD1602、按键等一些单片机外围应用电路,以及单片机的手工复位,单片机电源电路等。其中R3,R6电阻为已知电阻,R4,R5为不同测量精度下的未知电阻,开始工作时可在LCD上观察到被测电阻的阻值。电路设有2个按键,S1键作为阻值测量精度的选择键,S2键作为电路复位键。第四章 软件设计4.1 主程序工作流程图按上述工作原理和硬件结构分析可知系统主程序流程图如下图所示开始系统初始化(重新)放置电阻选择测量精度开关S1,重测此电阻初次显示无正常显示300最终显示正常显示结束 图4-1 主程序工作流程图4.2 程序设计A/D转换程序、SMC

17、1602驱动程序、主函数见附录。第五章 软件仿真5.1 Proteus仿真图本设计通过利用Proteus仿真,将所编写的程序用Keil软件编译。本设计所要求达到的目标是测量一个电阻,在误差允许范围内,通过LCD1602显示出该电阻的阻值。仿真图如下图所示:图5-1 Proteus电路仿真图表5-1 仿真测量电阻阻值实际电阻()仿真测量(600)硬件测量(600)仿真测量(300)硬件测量(300)1.220111.520112.622225.444646.3746610999101414121312474848474749484849495151515052908989909210098981

18、001002202182222202232402402452382463003003002972973303273383323374704694774724805105085165135225505505675505691K993102799610662K120842233209023373K29853042302631773K333233426334235253K535353771352539505.2 Altium Designer原理图除仿真之外,本设计又使用Altium Designer绘制了硬件电路的原理图,如下图所示:图5-2 硬件电路的原理图其中电源电路的设计如图5-3所示图5-

19、3 电源电路图本设计使用USB接口给电路提供+5V电压,与使用Proteus仿真电路有所不同。电路中所有的高电平全部接在VCC端,地接在USB接口的4号脚上。通电时红灯LED-R亮。经过对原理图编译,更新后产生的PCB板见附录,在此只展示了PCB板的顶层。第六章 设计结论本设计研究了一种基于单片机技术的电阻测量。由电路知识可以容易测出一个电阻上的电压。由于测量的电压是模拟量,故用ADC转换器转换为数字量,再由单片机系统处理,再将数据传送给显示器即可完成电阻的阻值测量和显示。由于数字量在数值上是离散的,通过此种方法得到的阻值存在着误差,为了尽可能的减小此误差,在选择已知电阻上,试用了很多电阻。通

20、过大量数据与实际电阻的阻值相比较,以及实验室能提供的电阻,选用了600和300的已知电阻,用不同的量程可以尽可能的减小误差。表5-1中给出了部分电阻的硬件电路测量结果,从中可以得知,同一电阻,用不同的量程测量得到不同的阻值,存在的误差也很明显。本设计只采用了两种已知电阻,也就是2个量程测量电阻,测量范围从15K,精度大于98%。若提高测量精度,只需增加更大的量程,即可完成大电阻的阻值测量。由于硬件电路的连接,元器件不理想等原因,实际测量电阻的阻值与仿真得到的阻值还是有一定误差的。虽然硬件电路能正常工作,但程序以及元器件的选择不足,使得这次设计并没有达到很好的测量效果,对微欧姆级和K欧姆级电阻无

21、法测量,还是感到不理想。通过此次设计,尤其在硬件电路的设计的方面,使我对单片机系统有了更好的认识。在以后的学习中,会更加注重设计原理与硬件电路的相结合,做好每一个设计,达到理想的要求。参考文献1 史翔,张岳涛.基于AT89C51单片机微电阻测量系统J. 甘肃科技,2011年8月2 周瑞景. Proteus在MCS-51&ARM7系统中的应用百例M. 北京:电子工业出版社,20103 李全利.单片机原理及接口技术M.2版. 北京:高等教育出版社,20134 王东峰,王会良.单片机C语言应用100例M.北京:电子工业出版社,20125 彭伟. 单片机C语言程序设计实训100例基于8051+Prot

22、eus仿真.北京:电子工业出版社,20106 张毅刚 彭喜元,彭宇.单片机原理及应用.北京:高等教育出版社,2010.57 郭天祥 新概念51单片机C语言教程.北京:电子工业出版社,2009.18 张毅刚 基于Proteus的单片机课程的基础实验与课程设计 北京:人民邮电出版社,20129 Alan B. Marcovitz Introduction to logic Design.北京:电子工业出版社,2013附录硬件电路PCB板各模块程序:A/D转换函数:#include #define START P3_4 /ATART,ALE接口。0-1-0:启动AD转换。#define EOC P3

23、_3 /转换完毕由0变1.#define OUTPORT P2 #define K1 P1_0/AD转换函数,返回转换结果。/转换结果是3位数unsigned int uiADTransform()float uiResult;START=1; /启动AD转换。START=0;while(EOC=0); /等待转换结束。uiResult=OUTPORT; /输入转换结果。P1=0xFF;if(K1=1)uiResult=uiResult*600/(255-uiResult); /已知电阻为600欧姆,计算未知电阻,测量大电阻,0-9999欧姆else uiResult=uiResult*300

24、/(255-uiResult); /已知电阻为300欧姆,计算另外的电阻,测量大电阻,0-9999欧姆 return uiResult;SMC1602驱动程序:#include SMC1602.hvoid vWriteCMD(unsigned char ucCommand) vDelay();/先延时。LCDE=1;/然后把LCD改为写入命令状态。LCDRS=0;LCDRW=0;LCDPORT=ucCommand;/再输出命令。LCDE=0;/最后执行命令。void vWriteData(unsigned char ucData) vDelay(); /先延时。LCDE=1; /然后把LCD改

25、为写入数据状态。LCDRS=1;LCDRW=0;LCDPORT=ucData; /再输出数据。LCDE=0; /最后显示数据。void vShowOneChar(unsigned char ucChar)switch(ucChar)case : vWriteData(0x20);break;case : vWriteData(0x3A);break;case (: vWriteData(0x28);break;case ): vWriteData(0x29);break;case 0: vWriteData(0x30);break;case 1: vWriteData(0x31);break;

26、case 2: vWriteData(0x32);break;case 3: vWriteData(0x33);break;case 4: vWriteData(0x34);break;case 5: vWriteData(0x35);break;case 6: vWriteData(0x36);break;case 7: vWriteData(0x37);break;case 8: vWriteData(0x38);break;case 9: vWriteData(0x39);break;case R: vWriteData(0x52);break;case a: vWriteData(0x

27、61);break;case c: vWriteData(0x63);break;case e: vWriteData(0x65);break;case i: vWriteData(0x69);break; case n: vWriteData(0x6E);break;case s: vWriteData(0x73);break;case t: vWriteData(0x74);break;case : vWriteData(0xF4);break; /显示default: break;void vShowChar(unsigned char ucaChar)unsigned char ucC

28、ount;for(ucCount=0;ucCount+)vShowOneChar(ucaCharucCount);if(ucaCharucCount+1=0)break;主函数:/*主函数* void main()/TMOD=0x21;/定时器0,模式1。定时器1,模式2TH0=TIME0H; /对定时器0赋初值TL0=TIME0L;TH1=0x14; /对定时器1赋初值TL1=0x00;TR0=1;/启动定时器0。ET0=1;/开定时器0中断。TR1=1; /启动定时器1。ET1=1; /开定时器1中断。EA=1;/开总中断 P1=0xFF;vdInitialize();vWriteCMD(0x80); /写入显示起始地址(第一行第一个位置)vShowChar(Resistance:);vWriteCMD(0xCD);vShowChar(); /显示欧姆符号while(1)if(b_DATransform=1)b_DATransform=0;vWriteCMD(0xC4);vShowRes(uiADTransform();

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服