




已阅读5页,还剩57页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于C51电阻电容测试系统毕业论文目 录中文摘要及关键词 英文摘要及关键词 第一章 绪论11.1课题的目的及意义 11.2 电阻、电容测试系统的发展历史及研究现状11.3 本设计所做的工作3第2章 系统原理概述 42.1电阻、电容测试系统设计方案比较42.2 系统原理框图4第三章 程序的编制63.1单片机简介63.1.1 AT89C51主要特点63.1.2 AT89C51引脚定义说明73.2 测量选择电路设计93.2.1 选择电路的设计目的93.2.2 选择电路的设计原理103.2.3选择电路接线123.3电容测量的电路设计133.3.1 NE555时基芯片简介133.3.2电容测量的原理153.4电阻测量的电路设计163.4.1 ADC0804芯片简介163.4.2电阻测量原理183.5 LCD1602电路的设计203.5.1 LCD1602字符型显示器简介203.5.2LCD1602电路设计233.6总电路的设计23第四章系统软件设计244.1 主程序设计254.2 显示子程序设计254.2.1 LCD1602指令264.2.2 显示子程序284.3 电阻测量子程序设计344.3.1电阻测量工作原理344.3.2电阻测量子程序364.4 电容测量子程序设计37第五章 系统仿真405.1 Proteus概述405.2 系统仿真结果40第六章 总结42参考文献40致谢34附录A系统电路图附录 B 程序清单第一章绪论1.1 设计的背景及意义目前,随着电子工业的发展,电子元器件急剧增加,电子元器件的适用范围也逐渐广泛起来,在应用中我们常常要测定电阻、电容的大小。因此,设计可靠,安全,便捷的电阻,电容测试仪具有极大的现实必要性。通常情况下,电路参数的数字化测量是把被测参数传换成直流电压或频率后进行测量。电阻测量通常采用万用表测量和数模转换测量两种方法,而前者有电阻测量过程中的线性度不够回导致一定的量程中精度较高而超过其量程精度很差,否则可以通过数据处理保持器精度稳定。传统的测量电容方法有谐振法和电桥法两种。前者电路简单,速度快,但精度低;后者测量精度高,但速度慢。在工业中若非对进度有特别的要求的情形下,出于对成本的考虑通常采用写谐振法进行电容的测量。由于测量电阻、电容方法多并具有一定的复杂性,所以本次设计是在参考555振荡器和ADC0804基础上拟定的一套自己的设计方案。尝试用555振荡器将被测电容参数转化为频率,将RLC的测量电路产生的频率送入AT89C51的计数端,通过定时并且计数可以计算出被测频率再通过该频率计算出电容值;用ADC0804将电压的模拟电压转换为数字量数据处理后与标准电压对比后显示和输出结果,进而得到准确的电阻值12。1.2 电阻、电容测试系统的发展历史及研究现状当今电子测试领域,电阻,电容和电感的测量已经在测量技术和产品研发中应用的十分广泛。电阻、电容测试发展已经很久,方法众多,常用测量方法如下。电阻测量依据产生恒流源的方法分为电位降法、比例运算器法和积分运算器法。比例运算器法测量误差稍大,积分运算器法适用于高电阻的测量。传统的测量电容方法有谐振法和电桥法两种。前者电路简单,速度快,但精度低;后者测量精度高,但速度慢。随着数字化测量技术的发展,在测量速度和精度上有很大的改善,电容的数字化测量常采用恒流法和比较法。在我国1997年05月21日中国航空工业总公司研究出一种电阻、电容在线测量方法及装置等电位隔离方法,用于对在线的电阻、电容元件实行等电位隔离,其特征在于,(1)将一个运算放大器的输出端与其反相输入端直接连接,形成一个电压跟随器;(2)将基准精密电阻(R)的一端与被隔离的在线元件(Zx)的一端通过导线连接,基准精密电阻(R)的另一端与信号源(Vi)或者地连接,被隔离的在线元件(Zx)的另一端通过导线与地或者信号源(Vi)连接,基准精密电阻(R)与被隔离的在线元件(Zx)连接的一端同时与运算放大器的同相输入端连接;(3)通过导线将运算放大器的输出端与线路板上所有的隔离点(C)连接,隔离点(C)的确定方法是:在线路板上凡是与被隔离的在线元件(Zx)靠近信号源(Vi)的一端(A)相连的电阻、电容元件的另一端均为隔离端(C)。中国本土测量仪器设备发展的主要瓶颈。尽管本土测试测量产业得到了快速发展,但客观地说中国开发测试测量仪器还普遍比较落后。每当提起中国测试仪器落后的原因,就会有许多不同的说法,诸如精度不高,外观不好,可靠性差等。实际上,这些都还是表面现象,真正影响中国测量仪器发展的瓶颈为:1.测试在整个产品流程中的地位偏低。由于人们的传统观念的影响,在产品的制造流程中,研发始终处于核心位置,而测试则处于从属和辅助位置。关于这一点,在几乎所有的研究机构部门配置上即可窥其一斑。这种错误观念上的原因,造成整个社会对测试的重视度不够,从而造成测试仪器方面人才的严重匮乏,造成相关的基础科学研究比较薄弱,这是中国测量仪器发展的一个主要瓶颈。实际上,即便是研发队伍本身,对测试的重视度以及对仪器本身的研究也明显不够。2.面向应用和现代市场营销模式还没有真正建立起来。本土仪器设备厂商只是重研发,重视生产,重视狭义的市场,还没有建立起一套完整的现代营销体系和面向应用的研发模式。传统的营销模式在计划经济年代里发挥过很大作用,但无法满足目前整体解方案流行年代的需求。所以,为了快速缩小与国外先进公司之间的差距,国内仪器研发企业应加速实现从面向仿制的研发向面向应用的研发的过渡。特别是随着国内应用需求的快速增长,为这一过渡提供了根本动力,应该利用这些动力,跟踪应用技术的快速发展。3.缺乏标准件的材料配套体系。由于历史的原因,中国仪器配套行业的企业多为良莠不齐的小型企业,标准化的研究也没有跟上需求的快速发展,从而导致仪器的材料配套行业的技术水平较低。虽然目前已有较大的改观,但距离整个产业的要求还有一定距离。所以,还应把标准化和模块化的研究放到重要的位置。还有,在技术水平没有达到的条件下,一味地追求精度或追求高指标,而没有处理好与稳定性之间的关系。上述这些都是制约本土仪器发展的因素。近年来我国测量仪器的可靠性和稳定性问题得到了很多方面的重视,状况有了很大改观。测试仪器行业目前已经越过低谷阶段,重新回到了快速发展的轨道,尤其最近几年,中国本土仪器取得了长足的进步,特别是通用电子测量设备研发方面,与国外先进产品的差距正在快速缩小,对国外电子仪器巨头的垄断造成了一定的冲击。随着模块化和虚拟技术的发展,为中国的测试测量仪器行业带来了新的契机,加上各级政府日益重视,以及中国自主应用标准研究的快速进展,都在为该产业提供前所未有的动力和机遇。从中国电子信息产业统计年鉴中可以看出,中国的测试测量仪器每年都以超过30%以上的速度在快速增长。在此快速增长的过程中,无疑催生出了许多测试行业新创企业,也催生出了一批批可靠性和稳定性较高的产品35。1.3 本设计所做的工作本设计是以NE555芯片和ADC0804分别作为电容和电阻的核心测试模块将电阻电容等模拟量转换为单片机可以识别和处理的数字量,并通过相关显示电路实现数值的测量和读取,所以,本次设计需要做好以下工作:(1)基于AT89C51的单片机开发流程(2)基于测频法和测周法的计数原理(3)LCD1602的操作指令集和显示原理(4)ADC0804芯片的工作原理和操作指令(5)NE555振荡芯片的工作原理(6)数模转换的数据处理(7)C语言编程能力,软件编程能力和调试能力(8)论文格式规范化第二章系统原理概述2.1 电阻、电容测试系统设计方案比较电阻、电容测试系统的设计可用多种方案完成,例如利用模拟电路,电阻参考比较法和积分运算器法;电容可用恒流法、测频法和比较法。他们均可使用可编程逻辑控制器(PLC)、振荡电路与单片机结合或CPLD与EDA相结合等等来实现。在设计前对各种方案进行了比较:1)利用纯模拟电路虽然避免了编程的麻烦,但电路复杂,所用器件较多,灵活性差,测量精度低,现在已较少使用。2)可编程逻辑控制器(PLC) 应用广泛,它能够非常方便地集成到工业控制系统中。其速度快,体积小,可靠性和精度都较好,在设计中可采用PLC对硬件进行控制,但是用PLC实现价格相对昂贵,因而成本过高。3)采用CPLD或FPGA实现应用目前广泛应用的VHDL硬件电路描述语言,实现电阻,电容,电感测试仪的设计,利用MAXPLUSII集成开发环境进行综合、仿真,并下载到CPLD或FPGA可编程逻辑器件中,完成系统的控制作用。但相对而言规模大,结构复杂。4)利用振荡电路以及A/D转换电路与单片机结合利用555多谐振荡电路将电容参数转化为频率,利用ADC0804将电阻的阻值转换为电压值,这样就能够把模拟量近似的转换为数字量,而频率f与电压V是单片机很容易处理的数字量,一方面测量精度高,另一方面便于使仪表实现自动化,而且单片机构成的应用系统有较大的可靠性。系统扩展、系统配置灵活。容易构成各种规模的应用系统,且应用系统有较高的软、硬件利用系数。单片机具有可编程性,硬件的功能描述可完全在软件上实现,而且设计时间短,成本低,可靠性高69。综上所述,利用振荡电路以及A/D转换电路与单片机结合实现电阻、电容测试更为简便可行,节约成本。所以,本次设计选定以单片机为核心来进行。2.2 系统的原理框图本设计中,考虑到单片机具有物美价廉、功能强、使用方便灵活、可靠性高等特点,拟采用MCS - 51系列的单片机为核心来实现电阻、电容测试系统的控制。系统分四大部分:测量部分、控制部分、选择部分和显示部分。通过P1.3和P1.4向模拟开关送两位地址信号,取得相应的振荡频率,然后根据所测频率判断是否转换量程,或者是把数据进行处理后,得出相应的参数值。系统设计框图如图2-1如下所示。被测电阻ADC0804被测电容LCD1602显示AT8951电容测量开关电阻测量开关NE555图2-1 系统设计框图框图各部分说明如下:1) 测量部分:电阻测量部分是利用电阻测量电路将电阻的阻值转换为电压值,然后利用ADC0804将典雅的模拟量转换为AT89C51能够进行输入输出的数字量;电容测量部分是利用电容测量电路将电容的容值转换为振荡频率,通过NE555构成振荡回路将振荡频率从AT89C51A的T0输入测量该频率值;2) 控制部分:本设计以单片机为核心,采用AT89C51单片机,利用其管脚定时/计数器(T0)和I/O(P1)口的特殊功能以及所具备的中断系统和逻辑运算能力,将得到的电压值和振荡频率值还原为相应的电阻和电容值;3) 选择部分:本设计由于只采用了一块LCD1602显示模块所以不能同时进行电容和电阻的显示,因此采用了电容测量和电阻车辆的选通开关。当选择测量电阻时,AT79C51自动进入电阻测量程序同时屏蔽电容测量程序;当选择测量电容时,AT89C51自动进入电容测量程序而屏蔽电阻测量程序;4) 显示部分:本设计中, 基于课题的要求我们选择LCD1602液晶显示器。本次设计中我们将其两行显示:第一行显示测量制造商;第二行显示测量的项目和值。第三章系统硬件设计本系统是以89X51内核单片机为核心主控芯片,采用AT89C51单片机,本文将对AT89C51单片机进行详细介绍。基于AT89C51的单片机最小系统一般由主控芯片、时钟振荡电路(晶振电路)、复位电路,本系统是基于AT89C51主控芯片的温度报警系统,所以建立一个稳定、可靠和具有一定抗干扰能力的最小系统很重要10。3.1单片机简介20纪80年代中期Intel把8051内核以专利转让形式卖出去后,就有很多厂家生产51系列单片机。在众多的51系列单片机中,要数ATMEL公司的AT89C51更实用,因为它们不但和8051指令、引脚完全兼容,而且其片内的4KB程序存储器是Flash工艺的,这种工艺的存储器用户可以用电的方式瞬间擦出、改写,一般专为ATMWL、AT89xx做的编程器均带有这些功能。MCS-51系列单片机虽已有10多种产品,但可分为两大系列:MCS-51子系列与MCS-52子系列。本次设计选取 AT89C51单片机作为主控芯片它由运算部件和控制部件两大部分组成11。 3.1.1、AT89C51主要特点1) 与MCS-51产品指令系统完全兼容;2) 4KB可编程Flash 存储器;3) 寿命:可实现1000写/擦循环;4) 数据保存时间:10年;5) 全静态工作:0-24MHz;6) 三级程序存储器锁定;7) 256B片内RAM(128B用户RAM,128B SFR);8) 32个可编程I/O口;9) 两个16位定时/计时器;10) 5个中断源(也有6个的看法,串口收/发中断看成两个);11) 全双工可编程串行通道;12) 低功耗的空闲模式和掉电模式;13) 片内振荡器和时钟电路。3.1.2. AT89C51引脚定义说明MCS51系列单片机芯片均为40个引脚, HMOS工艺制造的芯片采用双列直插(DIP)方式封装, 其引脚示意及功能分类如图3-1所示。 图3-1 AT89C51引脚图其中:VCC:电源引脚;GND:接地;RST:复位输入;ALE/PROG:当单片机在扩展外部RAM时,ALE用于控制吧P0口的输出低8位地址锁存器锁存起来,以实现低位地址和数据的隔离;PSEN:外部程序存储器的读选通信号;XTAL1:片内振荡器反相放大器和时钟发生器电路的输入端。XTAL2:片内振荡器反相放大器的输出端。RST:复位信号输入端,高电平有效。单片机运行时,在此引脚加上持续时间大于2个机器周期的高电平时,就可以对单片机完成复位操作。/VPP:当引脚为高电平时,89C52单片机读片内程序存储器,但在PC值超过8KB时将自动转向外部程序存储器中的程序。为低电平时,对程序存储器的读操作只先顶着外部程序存储器。P0口:P0口为一组8为漏极开路双向I/O口,每个引脚可以吸收8个TTL门电流,为高阻抗输入端使用;P1口:P1口为一组内部提供上拉电阻的8位双向I/O口,P1口缓冲器可接受、输出4个TTL门电流;P2口:P2口为一组内部提供上拉电阻的8位双向I/O口,P2口缓冲器可接受、输出4个TTL门电流;P3口:P3口为一组内部提供上拉电阻的8位双向I/O口,P3口缓冲器可接受、输出4个TTL门电流。P3口可作为AT89C52的一些特殊功能,P3口个引脚特殊功能表如表3-1。表3-1 P3口的特殊功能端口引脚号第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INTO(外中断0)P3.3/INT1(外中断1)P3.4T0(定时/计数器0)P3.5T1(定时/计数器1)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)在本设计中,考虑到单片机构成的应用系统有较大的可靠性,容易构成各种规模的应用系统,且应用系统有较高的软、硬件利用系数。还具有可编程性,硬件的功能描述可完全在软件上实现。另外,本设计还需要利用单片机的定时计数器、中断系统、串行接口等等,所以,选择以单片机为核心进行设计具有极大的必要性。在硬件设计中,选用AT89C51单片机,其各个I/O口分别接有按键、ADC0804、NE555、LCD1602等,通过软件进行控制。AT89C51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元,以及数据总线、地址总线和控制总线等三大总线,现在主要对本设计中需要使用的部分加以说明:1)中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。2)定时/计数器(ROM):有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。3)并行输入输出(I/O)口:共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序12。本电路使用单片机内部振荡器,11.0592MHz的晶体谐振器直接接在单片机的时钟端口X1和X2,电路中C2、C3为振荡器的匹配电容。该电路简单,工作可靠。另外本系统的容阻上电复位,就是利用RC电路的充电过程来给单片机复位。RC电路的时间常数计算公式:T=RC (3-1)即:T=RC=10u*10k=100ms。当需要复位时,也可以按下复位按键,进行复位1014。本设计中单片机的设计电路如下图3-2所示:图3-2 单片机的设计电路3.2 测量选择的电路设计3.2.1选择电路的设计目的选择电路是为了区分不同的测量对象,给单片机发送相应的测量对象的命令,使单片机运行切换不同的程序,从而测量和显示不同类型的测量值,同时也要防止因误击造成的不必要的粗大误差和错误。3.2.2选择电路的设计原理1)I/O口工作方式简介图3-3 I/O口内部结构图I/O口共有输出、读引脚和读锁存三种工作方式(内部结构示意图如图3-3)。输出方式:I/O输出工作过程(如图3-4):当写锁存器信号CP有效,数据总线的信号锁存器的输入端D锁存器的反向输出Q非端多路开关V2管的栅极V2的漏极到输出端P0.X。这时多路开关的控制信号为低电平0,V1管是截止的,所以作为输出口时,P0是漏极开路输出,类似于OC门,当驱动上接电流负载时,需要外接上拉电阻12。图3-4 I/O口数据输出引脚说明地址输出过程(如图3-5):控制信号为1,地址信号为“0”时,与门输出低电平,V1管截止;反相器输出高电平,V2管导通,输出引脚的地址信号为低电平。反之,控制信号为“1”、地址信号为“1”,“与门”输出为高电平,V1管导通;反相器输出低电平,V2管截止,输出引脚的地址信号为高电平13。图3-5 I/O口地址输出引脚说明读引脚方式(如图3-6):读芯片引脚上的数据时,读引脚缓冲器打开,通过内部数据总线输入。图3-6 I/O口读引脚方式说明读锁存方式(如图3-7):通过打开读锁存器三态缓冲器读取锁存器输出端Q的状态。图3-7 I/O读锁存方式说明 2)选择原理利用I/O口的读引脚方式,当P3-0和P3-1悬空时为高电平,而当P3-0和P3-1接地时则为低电平,利用电平的变化为选择电路的核心原理。因为单片机能够通过I/O口识别电平的变化从而触发内部程序的切换,从而实现对电阻、电容测量的选择14。3.2.3选择电路接线图3-8 选择电路接线图 利用开关的一端接地另一端与单片机的P3-0和P3-1相连(如图3-8),只要开关动作就会死相应的I/O口出现电平变化,而这种变化能被单片机捕捉并识别从而实现了对不同测量项目的切换,为了防止同时将两个开关同时动作的情况出现,必须见着这种情况排除15,本课题中采用软件解决该问题,操作真值表如表3-3所示。表3-2 选择开关控制P3-0 P3-1 测量类别00Y0-R01Y1-C10Y2-L11*注:表3-2中*表示未定义此功能。3.3 测量电容的电路设计3.3.1 NE555时基芯片简介NE555时基芯片是一种模拟电路和数字电路相结合的中规模集成器件,它性能优良,适用范围很广,外部加接少量的阻容元件可以很方便地组成单稳态触发器和多谐振荡器,以及不需外接元件就可组成施密特触发器。因此集成555定时被广泛应用于脉冲波形的产生与变换、测量与控制等方面16。1)NE555定时器内部结构NE555定时器是一种模拟电路和数字电路相结合的中规模集成电路,其内部结构如图3-9(A)部分及管脚排列如图3-9(B)部分所示。图3-9 定时器内部结构它由分压器、比较器、基本R-S触发器和放电三极管等部分组成。分压器由三个5K的等值电阻串联而成。分压器为比较器A1、A2提供参考电压,比较器A1的参考电压为,加在同相输入端,比较器A2的参考电压为,加在反相输入端。比较器由两个结构相同的集成运放A1、A2组成。高电平触发信号加在A1的反相输入端,与同相输入端的参考电压比较后,其结果作为基本R-S触发器端的输入信号;低电平触发信号加在A2的同相输入端,与反相输入端的参考电压比较后,其结果作为基本R-S触发器端的输入信号。基本R-S触发器的输出状态受比较器A1、A2的输出端控制17。2)多谐振荡器工作原理由555定时器组成的多谐振荡器如图3-10(C)部分所示,其中R1、R2和电容C为外接元件。其工作波如图3-10(D)部分所示。图3-10 震荡器工作原理设电容的初始电压Uc0,t0时接通电源,由于电容电压不能突变,所以高、低触发端VTHvtl013Vcc,比较器A1输出为高电平,A2输出为低电平,即RD=1,SD=0(1表示高电位,0表示低电位),R-S触发器置1,定时器输出u0=1此时Q=0,定时器内部放电三极管截止,电源Vcc经R1,R2向电容C充电,uc逐渐升高。当uc上升到13Vcc时,A2输出由0翻转为1,这时RD=SD=1,R-S触发顺保持状态不变。所以0tt1期间,定时器输出u0为高电平。时刻,uc上升到,比较器A1的输出由1变为0,这时RD=0,SD=1,R-S触发器复0,定时器输出u0=0。t1tt2期间Q=1放电三极管T导通,电容C通过R2放电uc按指数规律下降,当uc23Vcc时比较器A1输出由0变为1,R-S触发器的RD=SD=1,Q的状态不变,u0的状态仍为低电平。t=t2时刻,uc下降到13Vcc,比较器A2输出由1变为0,R-S触发器的RD=1,SD=0,触发器处于1,定时器输出u0=1。此时电源再次向电容C放电,重复上述过程。通过上述分析可知,电容充电时,定时器输出u0=1,电容放电时,u0=0,电容不断地进行充、放电,输出端便获得矩形波。多谐振荡器无外部信号输入,却能输出矩形波,其实质是将直流形式的电能变为矩形波形式的电能18。3)振荡周期由图3-10 (D)可知,振荡周期T=T1+T2。T1为电容充电时间,T2为电容放电时间。充电时间:T1=(R1+R2)CIn20.7C(R1+R2)(3-2)放电时间:T2=R2CIn20.7R2C(3-3)矩形波的振荡周期:T=T1+T2=In2R1+R2C0.7R1+R2C(3-4)因此改变R1、R2和电容C的值,便可改变矩形波的周期和频率。对于矩形波,除了用幅度,周期来衡量外,还有一个参数:占空比q,q=(脉宽tw)/(周期T),tw指输出一个周期内高电平所占的时间19。图3-10(C)所示电路输出矩形波的占空比:q=T1T=T1T1+T2=R1+R2R1+2R2(3-5)3.3.2 电容测量的原理电容的测量同样采用“脉冲计数法”,由555电路构成的多谐振荡电路,通过计算振荡输出的频率来计算被测电容的大小。555接成多谐振荡器的形式,其振荡周期为20:T1=t1+t2=In2R1+R2Cx+In2R2Cx(3-6)本课题中R1=R8=106;R2=R9=0.22106,得出: fx=1In2Cx(R8+2R9)(3-7)即:Cx=1In2(R8+2R9)fx(3-8)电容测试电路见图3-11所示。图3-11 电容测试电路3.4电阻测量的电路设计3.4.1ADC0804芯片简介1)ADC0804规格及引脚分配图3-12 ADC0804规格及引脚分配图本课题采用的A/D芯片为ADC0804,它是CMOS 8位单通道逐次渐近型的模/数转换器,其规格及引脚图如图3-12所示,根据手册我们可以得到各个引脚的大致功能如下:/CS:芯片片选信号,低电平有效,即/CS=0,该芯片才能正常工作,在外接多个ADC0804芯片时,该信号可以作为选择地址使用,通过不同的地址信号使能不同的ADC0804芯片,从而可以实现多个ADC通道的分时复用。/WR:启动ADC0804进行ADC采样,该信号低电平有效,即/WR信号由高电平变成低电平时,触发一次ADC转换。/RD:低电平有效,即/RD=0时,可以通过数据端口DB0DB7读出本次的采样结果。UIN(+)和UIN(-):模拟电压输入端,模拟电压输入接UIN(+)端,UIN(-)端接地。双边输入时UIN(+)、UIN(-)分别接模拟电压信号的正端和负端。当输入的模拟电压信号存在“零点漂移电压”时,可在UIN(-)接一等值的零点补偿电压,变换时将自动从UIN(+)中减去这一电压。VREF/2:参考电压接入引脚,该引脚可外接电压也可悬空,若外界电压,则ADC的参考电压为该外界电压的两倍,如不外接,则Vref与Vcc共用电源电压,此时ADC的参考电压即为电源电压Vcc的值。CLKR和CLKIN:外接RC电路产生模数转换器所需的时钟信号,时钟频率CLK = 1/1.1RC,一般要求频率范围100KHz1.28MHz。AGND和DGND:分别接模拟地和数字地21。 /INT:中断请求信号输出引脚,该引脚低电平有效,当一次A/D转换完成后,将引起/INT=0,实际应用时,该引脚应与微处理器的外部中断输入引脚相连(如51单片机的INT0,INT1脚),当产生/INT信号有效时,还需等待/RD=0才能正确读出A/D转换结果,若ADC0804单独使用,则可以将/INT引脚悬空。DB0DB7:输出A/D转换后的8位二进制结果。2)外围电路设计图3-13 ADC0804的外围电路图3-13为ADC0804外围电路原理图,其中,AVCC=5V,引脚VREF/2悬空,因此ADC转换的参考电压为AVCC的值,即5V。VIN-接地,而VIN+连接滑动变阻器VR1的输出,因此VIN+的电压输入范围为0V5V,正好处于参考电压范围内22。3.4.2 电阻测量原理1)电阻测量接线本设计将引脚CS_1, WR_1和RD_1分别连接单片机的P2_4,P2_6以及P2_7脚,而DB0DB7连接单片机的P1口,接线图如图3-14所示。图3-14 电阻测量电路接线图2)测量原理ADC0804在使用时,外围电压的连接比较简单,只需要对参考电压和时钟输入端进行设计即可。通常情况下,时钟的输入可以选用RC谐振电路,ADC0804可以进行A/D转换的时钟频率为1001460KHZ,典型值为640KHZ,这里选用R=10K欧姆.C=150PF的谐振电路,利用公式1/(1.1RC)计算后,此时的时钟频率约为606KHZ,与典型值十分接近。模拟电压的计算:这里选用的是8位A/D转换器,数值的变化范围是0255(00H-FFH),模拟电压的输入范围是0-5V,每个数码的变化,对应的电压值的变化为0.0196V,所以要计算模拟电压值,就可以利用下面的公式进行计算: V=D*0.0196 (3-9)式中,V为计算出的模拟电压值,D为A/D转换器转换后的数字量。3)数据转换克服浮点运算方法:从上式不难看出,在计算过程,需要乘以一个0.0196,这是一个小数,在计算机中称为浮点数。而对于8位单片机来说,不具有浮点运算能力,如果一定要计算浮点数,将占用单片机中大量的内存单元和CPU时间。这里采用一种简单的方法:就是将从A/D读取进来的数字量直接乘以196,即进行整数运算,运算结果是真正值的1000倍,这个整数运算的速度是非常快的,不会占用过多的CPU时间。由于是两个8位的二进制数相乘,得到的结果不会超过16位二进制数。电压值的显示:最常用到的二进制转换成BCD码的方法是用除法。先用得到的16位二进制数除以10000,得到的商就是模拟电压值的整数部分(模拟电压的输入为0-5V,所以整数部分只有1位),得到的余数是模拟电压值的小数部分;接下来用余数除以1000,商是十分位,余数作为被除数再除以100,商为百分位,余数再除以10,商为千分位。这样就将16位的二进制数转换成了4位BCD码23。电压电阻值换算算法:R7=UxVDDR6 (3-10)3.5 LCD1602电路的设计在电阻、电容测试系统中,用LCD1602 来显示测量参数的类别和电源指示(即为了增加数据的可读性因此要求显示器能够显示F和等特殊符号),既简单又显而易见,最重要的是能够综合显示各种信息。与小白炽灯泡、氖灯和七段数码管相比,LCD1602的特点是:由于LCD1602自带字符库,能够显示各种复杂的字符,同时也能根据需要自定义显示字符。能够显示F和等特殊符号,而七段数码管并不具有这样的功能;LCD1602占用的I/O口较少,控制能够通过命令较为简单的实现,而七段数码管如果采用占用多个I/O的话数量有限不能接太多,而如果采用扫描的方式进行数据显示会增加程序的复杂性和不稳定性,当测得参数连续变化时不能及时显示出来。综上所述在本设计中,利用单片机的P0口直接LCD1602,控制命令通过程序进行加载,实现对数值的显示24。3.5.1 LCD1602字符型显示器简介字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。下面以长沙太阳人电子有限公司的1602字符型液晶显示器为例,介绍其用法。一般1602字符型液晶显示器实物如图3-15所示25。图3-15 1602字符型液晶显示器实物图1)LCD1602的基本参数及引脚功能1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图3-16所示26:图3-16 1602LCD尺寸图2)LCD1602主要技术参数:显示容量:162个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.954.35(WH)mm3)LCD1602引脚功能说明LCD1602采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表3-3所示:表3-3 引脚接口说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令第714脚:D0D7为8位双向数据线第15脚:背光源正极第16脚:背光源负极3.5.2LCD1602电路本设计中LCD1602将D0D7与P0口相连,而让RS与P2.0相连、RW与P2.1相连、E与P2.2相连,将VDD和VEE一块接在电源上同时VSS接地。LCD1602接线图如图3-17所示。图3-17 LCD1602接线电路3.6 总电路的设计总电路包含单片机模块、LCD1602模块、由NE555多谐振荡芯片组成的电容测量模块、由ADC0806数模转换组成的电阻测量模块、开关电路组成的测量开关模块及相关辅助模块组成。图3-18 总电路接线图 第四章系统软件设计系统软件设计主要包括:主程序、显示子程序、延时程序子程序、电阻测量子程序、电容测量子程序等功能模块。其程序总流程图如图4-1所示,主程序要完成对子程序的调用,并对相应的测量结果进行快速的算法处理得到相应的要显示的值;电阻测量子程序负责将电阻值转换为电压值,再将电压值经A/D处理由单片机P口读取;电容测量子程序负责将容值转换为相应的频率值并由单片机T0读取;显示程序负责将单片机送过来的显示值显示出来27。开始电容测量引脚变化?否电阻测量引脚变化?是否是调用电容测量子程序是调用电阻测量子程序否计数值小65536?转换值小于11111111?是不显示否否调用显示程序是不显示返回图4-1系统总程序流程图4.1 主程序设计开始主程序需要完成子程序的调用,并完成对相应的数据的转换处理和数据送显传递。主程序:对系统进行初始化;完成对T0定时/计数器进行设置同时实现对 LCD1602显示器的初始化;对测量启动引脚电平的识别:a如果测量电阻的引脚电平变化,中断电容测量程序,关闭NE555芯片的同时载入电阻测量程序,b如果测量电容的引脚电平变化,中断电阻测量程序,打开NE555芯片的同时载入电容测量程序;完成对相应的参数的读取处理,最终得到被测对象的相应参数值送往显示子程序(主程序流程图如图4-2)28。系统初始化、T0的参数设置、LCD1602初始化电阻测量引脚变化?否检测测量引脚电平变化否电阻测量引脚变化?是是调用电阻测量子程序调用电阻测量子程序数据处理调用显示子程序数据处理返回图4-1主程序流程图4.2 显示子程序设计显示子程序主要是为了将单片机送过来的数据正确无误的显示到液晶显示器上,根据LCD1602显示器的工作原理,显示一个数据要经过初始化、忙状态检测、写命令、写数据、显示数据五个过程.。4.2.1 LCD1602指令1602液晶模块内部的控制器共有11条控制指令,如表4-1所示:表4-1 控制命令表序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。LCD1602LCD的指令时序与HD44780相兼容的芯片时序表4-2如下:表4-2 基本操作时序表读状态输入RS=L,R/W=H,E=H输出D0D7=状态字写指令输入RS=L,R/W=L,D0D7=指令码,E=高脉冲输出无读数据输入RS=H,R/W=H,E=H输出D0D7=数据写数据输入RS=H,R/W=L,D0D7=数据,E=高脉冲输出无读写操作时序如图4-2和4-3所示:图4-2 读操作时序图4-3 写操作时序4.2.2 显示子程序/*检查忙否*/void Checkstates()uchar dat; RS=0; RW=1; doEN=1;/下降沿 _nop_();/保持一定间隔_nop_(); dat=DATA; _nop_();_nop_(); EN=0; while(dat&0x80)=1);/*LCD写命令函数*/void wcomd(uchar cmd)Checkstates(); RS=0; RW=0; DATA=cmd; EN=1; _nop_(); _nop_(); _nop_(); _nop_(); EN=0;/*LCD写数据函数 */void wdata(uchar dat) Checkstates(); RS=1; RW=0; DATA=dat; EN=1; _nop_(); _nop_(); _nop_(); _nop_(); EN=0;/*LCD1602初始化*/void LCDINIT() Delay1ms
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中级健身教练专业资格认证考试模拟题及答案
- 2025年人力资源师考试模拟题及备考指南
- 2025年精密温控节能设备项目合作计划书
- 2025年脚踏自行车及其零件合作协议书
- 2025年智能计量终端项目建议书
- 2025年电容器用钽粉合作协议书
- 抛物线课件教学课件
- 2025年建筑材料及制品专用生产机械合作协议书
- 抗菌药物教学课件
- 2025年安徽省蚌埠市龙子湖区中考数学三模试卷(含答案)
- 日间化疗相关管理制度
- 骨折的急救处理与操作
- 食源性疾病培训课件完整版
- 2025年智能仓储物流机器人的多机器人协作与任务分配优化策略的实践探索可行性研究报告
- 派驻国外员工管理制度
- 2025-2030中国车身控制器行业市场现状分析及竞争格局与投资发展研究报告
- T/CAPE 11005-2023光伏电站光伏组件清洗技术规范
- FOCUS-PDCA原理及流程课件
- 涉税服务保密协议书
- 苏州大学介绍
- 复合材料在航空航天领域的应用课件
评论
0/150
提交评论