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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

多点温度检测系统.docx

1、多点温度检测系统辽 宁 工 业 大 学电子综合设计与制作(论文)题目: 多点温度检测系统 院(系):电子与信息工程学院专业班级:电子092班 学 号: * *指导教师:教师职称:起止时间:2012.12.292013.1.11课程设计(论文)任务及评语院(系):电子与信息工程学院 教研室:电子信息教研室学 号090404051学生姓名胡贺强专业班级电子092班题目多点温度检测系统任务和要求任务和要求:设计一个多点温度检测系统。主控器能对各温度检测器(简称:检测器)通过串行传输线实现温度数据传输以及显示。具体设计制作任务: 1 设计制作各温度检测器(至少有2台温度检测器)(1)温度测量精度:0.

2、5;(2)温度测量范围:-20+125。2设计制作主控器(1)具有串行通信功能;(2)具有温度显示功能。指导教师评语及成绩平时: 论文质量: 答辩:总成绩:学生签字:_指导教师签字: 年 月 日注:成绩:平时20% 论文质量60% 答辩20% 以百分制计算摘 要随着社会的进步和工业技术的发展,人们越来越重视温度因素,许多产品对温度范围要求严格,而目前市场上普遍存在的温度检测仪器大都是单点测量,同时有温度信息传递不及时、精度不够的缺点,不利于工业控制者根据温度变化及时做出决定。在这样的形式下,开发一种能够同时测量多点,并且实时性高、精度高,能够综合处理多点温度信息的测量系统就很有必要。本课题以A

3、T89C51单片机系统为核心,能对多点的温度进行实时巡检。DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。本文结合实际使用经验,介绍了DS18B20数字温度传感器在单片机下的硬件连接及软件编程,并给出了软件流程图。关键词:温度测量;单总线;数字温度传感器;单片机第1章 方案论证比较与选择引言温度测量的方案有很多种,可以采用传统的分立式传感器、模拟集成传感器以及新兴的智能型传感器。对于控制系统可以采用计算机、单片机等。方案论证设计方案一采用模拟分立元件,如电容、电感或晶体管等非线形元件,实现多

4、点温度的测量及显示,该方案设计电路简单易懂,操作简单,且价格便宜,但采用分立元件分散性大,不便于集成数字化,而且测量误差大。设计方案二本方案采用AT89C51单片机为核心,通过温度传感器AD590采集温度信号,经信号放大器放大后,送到A/D转换芯片,最终经单片机检测处理温度信号。采用该方案技术已经成熟,AD转换电路设计较烦琐,而且使用AD590进行温度检测必须对冷端进行补偿,以减小误差。设计方案三本设计运用主从分布式思想,由一台上位机(PC微型计算机),下位机(单片机)多点温度数据采集,组成两级分布式多点温度测量的巡回检测系统。该系统采用 RS-232串行通讯标准,通过上位机(PC)控制下位机

5、(单片机)进行现场温度采集。温度值既可以送回主控PC进行数据处理,由显示器显示。也可以由下位机单独工作,实时显示当前各点的温度值,对各点进行控制。 下位机采用的是单片机基于数字温度传感器DS18B20的系统。DS18B20利用单总线的特点可以方便的实现多点温度的测量,轻松的组建传感器网络,系统的抗干扰性好、设计灵活、方便,而且适合于在恶劣的环境下进行现场温度测量。本系统可以应用在大型工业及民用常温多点监测场合。如粮食仓储系统、楼宇自动化系统、温控制程生产线之温度影像检测、医疗与健诊的温度测试、空调系统的温度检测、石化、机械等。系统框图如下传感器模块下位机(AT89C51)显示模块上位机(PC)

6、控制模块传感器模块下位机AT89C51显示模块控制模块图1.1 系统框图方案的比较与选择基于数字式温度计DS18B20的温度测量仪的硬软件开发过程,DS18B20将温度信号直接转换为数字信号,实现了与单片机的直接接口,从而省去了信号调理电路。该仪器电路简单、功能可靠、测量效率高,很好地弥补了传统温度测量方法的不足。相对与方案1,在功能、性能、可操作性等方面都有较大的提升。相对与方案2,硬件电路简单,易于操作,具有更高的性价比,更大的市场。所以我采用方案3完成本设计。方案的阐述与论证方案三以DS18B20为传感器、AT89C51单片机为控制核心组成多点温度测试系统,该系统包括传感器电路、键盘与显

7、示电路、串口通信电路等组成部。采用美国Dallas半导体公司推出的数字温度传感器DS18B20,属于新一代适配微处理器的智能温度传感器。它具有独特的单总线接口,仅需要占用一个通用I/0端口即可完成与微处理器的通信。全部传感元件及转换电路集成在形如一只三极管的集要求通过简单的编程实现912位的数字值读数方式。其可以分别9375ms和750ms内完成9位和12位的数字量,最大分辨率为0.0625,而且从DS18B20读出或写入DS18B20的信息仅需要一根口线(单线接口)读写。它有如下的性能特点:1)独特的单线接口,既可通过串行口线,也可通过其它I/O口线与微机接口,无需变换其它电路,直接输出被测

8、温度值;2)多点能力使分布式温度检测应用得以简化;3)不需要外部元件;4) 既可用数据线供电,也可采用外部电源供电;5)不需备份电源;6) 测量范围为-55+125,固有测温分辨率为05;7)通过编程可实现912位的数字读数方式;8)用户可定义非易失性的温度告警设置;9)警告搜索命令能识别和寻址温度在编定的极限之外的器件(温度警告情况);10)应用范围包括恒温控制、工业系统、消费类产品、温度计或任何热敏系统。以上特性使得DS18B20非常适用于构建高精度、多点温度测量系统。根据DS18B20以上的特点我选用方案三来实现本课题。第2章 硬件电路设计温度传感器1.温度传感器选用细则现代传感器在原理

9、与结构上千差万别,如何根据具体的测量目的、测量对象以及测量环境合理地选用传感器,是在进行某个量的测量时首先要解决的题。当传感器确定之后,与之相配套的测量方法和测量设备也就可以确定了。测量结果的成败,在很大程度上取决于传感器的选用是否合理。2.温度传感器DS18B20DS18B20型单线智能温度传感器,属于新一代适配微处理器的智能温度传感器。全部传感元件及转换电路集成在形如一只三极管的集成电路内。与传统的热敏电阻相比,它能够直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式。其可以分别9375ms和750ms内完成9位和12位的数字量,最大分辨率为00625,而且从D

10、S18B20读出或写入DS18B20的信息仅需要一根口线(单线接口)读写。DS18B20的性能特点单线数字化智能集成温度的传感器,其特点是:DSI8B20可将被测温度直接转换成计算机能识别的数字信号输出,温度值不需要经电桥电路先获取电压模拟量,再经信号放大和AD转换成数字信号,解决了传统温度传感器存在的因参数不一致性,在更换传感器时会因放大器零漂而必须对电路进行重新调试的问题,使用方便DS18B20能提供9到12位温度读数,精度高,且其信息传输只需1根信号线,与计算机接口十分简便,读写及温度变换的功率来自于数据线而不需额外的电源每一个DS18B20都有一个惟一的序列号,这就允许多个DS18B2

11、0连接到同一总线上尤其适合于多点温度检测系统负压特性:当电源极性接反时,DS18B20虽然不能正常工作,但不会因发热而烧毁正是由于具有以上特点,DS18B20在解决各种误差、可靠性和实现系统优化等方面与传统各种温度传感器相比,有无可比拟的优越性,因而广泛应用于过程控制、环境控制、建筑物、机器设备中的温度检测。DS18B20与单片机的典型接口设计DS18B20测温系统具有测温系统简单、测温精度高、连接方便、占用口线少等优点。Dsl8B20与单片机的硬件连接有两种方法:一是Vcc接外部电源,GND接地,I/0与单片机的I/0线相连;二是用寄生电源供电,此时,UDD和GND接地,I/0接单片机I/0

12、。无论是哪种供电方式,I/0口线都要接47k Q左右的上拉电阻。图4给出了DSl8B20与微处理器的典型连接。DS18B20寄生电源供电方式:在寄生电源供电方式下,DS18B20从单线信号线上汲取能量:在信号线DQ处于高电平期间把能量储存在内部电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。独特的寄生电源方式有三个好处:进行远距离测温时,无需本地电源;可以在没有常规电源的条件下读取ROM;电路更加简洁,仅用一根I/O口实现测温。要想使DS18B20进行精确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由于每个DS18B20在温度转换期间工

13、作电流达到1mA,当几个温度传感器挂在同一根I/O线上进行多点测温时,只靠4.7K上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大。因此,该电路只适应于单一温度传感器测温情况下使用,不适宜采用电池供电系统中。并且工作电源VCC必须保证在5V,当电源电压下降时,寄生电源能够汲取的能量也降低,会使温度误差变大。(1)DS18B20寄生电源强上拉供电方式:为了使DS18B20在动态转换周期中获得足够的电流供应,当进行温度转换或拷贝到E2存储器操作时,用MOSFET把I/O线直接拉到VCC就可提供足够的电流,在发出任何涉及到拷贝到E2存储器或启动温度转换的指令后,必须在最多10S内把I/

14、O线转换到强上拉状态。在强上拉方式下可以解决电流供应不走的问题,因此也适合于多点测温应用,缺点就是要多占用一根I/O口线进行强上拉切换。(2)DS18B20的外部电源供电方式:在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,其VDD端用355V电源供电,此时I/O线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,同时在总线上理论可以挂接任意多个DS18B20传感器,组成多点测温系统。注意:在外部供电的方式下,DS18B20的GND引脚不能悬空,否则不能转换温度,读取的温度总是85。(3)DS18B20 的内部结构:它主要包括寄生电源、温度传感器、64 位激光ROM 单线

15、接口、存放中间数据的高速暂存器(内含便笺式RAM),用于存储用户设定的温度上下限值的TH 和TL 触发器存储与控制逻辑、8 位循环冗余校验码(CRC)发生器等七部分。64位光刻ROM 的排列是:开始8位是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码。光刻R0M的作用是使每一个DS18B20都各不相同,这可实现一根总线上挂接多个DS18B20的目的。暂存存储器包含了8个连续字节,前2个字节是测得的温度信息,第1个字节的内容是温度的低8位,第2个字节是温度的高8位。第3个和第4个字节是TH、TL的易失性拷贝,第5个字节是结构寄存器的易失性拷贝,这3

16、个字节的内容在每一次上电复位时被刷新。第6、7、8个字节用于内部计算。第9个字节是冗余检验字节(4)DS18B20 的测温原理:DS1820测温原理如下图所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,DS

17、1 8B20测量温度原理停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。在正常测温情况下,DS18B20 的测温分辨力为0.5,可采用下述方法获得高分辨率的温度测量结果:首先用DS18B20 提供的读暂存器指令(BEH)读出以0.5为分辨率的温度测量结果,然后切去测量结果中的最低有效位(LSB),得到所测实际温度的整数部分TZ,然后再用BEH 指令取计数器1 的计数剩余值CS 和每度计数值CD。考虑到DS18B20测量温度的整数部分以0.25、0.75为进位界限的关系,实际温度TS 可用下式计算:TS=(TZ0.25) (CDCS)/CD(5)警告信号:DS18B20 完成温度转换

18、后,就把测得的温度值与TH、TL 作比较。若TTH 或TTL,则将该器件内的告警标志置位,并对主机发出的告警搜索命令作出响应。因此,可用多只DS18B20 同时测量温度并进行告警搜索。一旦某测温点越限,主机利用告警搜索命令即可识别正在告警的器件,并读出其序号,而不必考虑非告警器件。(6)CRC 的产生:在64 位ROM 的最高有效字节中存有循环冗余校验码(CRC)。主机根据ROM 的前56 位来计算CRC 值,并和存入DS18B20 中的CRC 值作比较,以判断主机收到的ROM 数据是否正确。CRC 的函数表达式为:CRC=XXX1。此外,DS18B20 尚需依上式为暂存器中的数据来产生一个8

19、位CRC 送给主机,以确保暂存器数据传送无误。在本课题中采用四个数字式温度传感器DS18B20与单片机89C51连接如下图图2.1 温度传感器的连接(7) DS1820使用中注意事项DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在DS18B20的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应

20、用中并非如此。当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。连接DS18B20的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS18B20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待D

21、S18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。单片机系统设计复位电路:无论哪种单片机,都会涉及到复位电路。如果复位电路不可靠,在工作中就有可能出现“死机”,“程序走飞”等现象。所以,一个单片机复位电路的好坏,直接影响到整个系统工作的可靠性。复位操作完成单片机片内电路的初始化,使单片机从一种确定的状态开始运行。当89c51单片机的复位引脚RST出现5ms以上的高电平时,单片机就完成了复位操作,如果RST持续为高电平,单片机就处于循环复位状态,而无法执行程序

22、,因此要求单片机复位后能脱离复位状态。复位操作通常有上电和开关复位。上电复位要求接通电源后,自动实现复位操作。开关复位要求在电源接通的条件下,在单片机运行期间,如果发生死机,用按钮开关操作使单片机复位。常用的上电复位且开关复位电路如图3.6所示,上电后,由于电容充电,使RST持续一段高电平时间。当单片机已在运行之中时,按下复位键也能使RST持续一段时间的高电平,从而实现上电且开关复位的操作。单片机的复位操作使单片机进入初始化过程,其中包括是程序计数器PC=0000H,P0-P3=FFH,SP=07H,其他寄存器处于零,程序从0000H地址单元开始执行,单片机复位后不改变片内RAM区中的内容。图

23、2.2 复位电路时钟电路:89c51单片机的时钟信号通常用内部振荡和外部振荡方式。在引脚XTAL1和XTAX2外接晶体振荡器,就够成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。晶振通常选用6MHZ、12MHZ或24MHZ。内部振荡器方式如下。如图3.7,电容器C1、C2起稳定振荡频率、快速起振的作用,电容值一般为5-30PF。内部振荡方式所得的时钟信号比较稳定。外部振荡方式是把已有的时钟信号引入单片机内,这种方式适于用于用来使单片机的时钟与外部信号保持一致。图2.3 时钟电路串口:串行通信是CPU与外界交换的一种基本方式。单片机运用

24、于数据采集或工业控制时,往往作为前端机安装在工作现场,远离主机,现场数据采用串行通信方式主机并进行处理,以降低通信成本,提高通信可靠性。51系列单片机自身有全双工的异步通信接口,通过软件编程,它可以作为通用异步接受和发送器使用,也可作为同步移位寄存器。89c51单片机串口主要由两个数据缓冲寄存器SBUF和一个输入移位寄存器组成,其内部还有一个串行控制寄存器SCON和一个波特率发生器。接受缓冲器与发送缓冲器占用同一个地址99H,其名称亦同样为SBUF。CPU写SBUF,一方面修改发送寄存器,同时启动数据串行发送;读SBUF,就是读接受寄存器,完成数据的接受。特殊功能寄存器SCON用以存放串行口的

25、控制和状态信息。根据对其写的控制字决定工作方式,从而决定波特率发生器的时钟是来自系统时钟还是来自定时器T1。特殊功能寄存器PCON的最高位SMOD为串行口波特率的倍增控制位。89c51单片机的串行口正是通过对上述专用寄存器的设置,检测与读取来管理串行通信。在进行通信时,外界的串行数据是通过引脚RXD输入的。输入数据先逐位进入输入移位寄存器,在送入接受SBUF。在此采用了双缓冲结构,为了避免在接受到第二帧数据之前,CPU未及时响应接受器的前一帧的中断请求而把前一帧数据读走,造成两帧数据重叠的错误。对于发送器,因为发送时CPU是主动的,不会产生写重叠问题,不需要双缓冲器结构,为了保持最大传送速率,

26、仅用了SBUF一个缓冲器。I/O口:计算机对外设进行数据操作时,外设的数据是不能直接连到CPU的数据线上的,必须经过接口。这是由于CPU的数据线是外设或存储器和CPU进行数据传输的唯一公共通道,为了使数据线的使用对象不产生使用总线的冲突,以及协调快速的CPU和慢速的外设,CPU和外设之间必须有接口电路,接口起着缓冲、锁存数据、地址译码、信息格式转换、传递状态、发布命令等功能,I/O接口有并行接口、串行接口、定时/计数器、A/D、D/A等,根据外设的不同情况的应用要求,选择不同的接口。单片机的I0 口一般是双向的既可以做输入也可以做输出。以5 1系列为例,其P0、P 1、P2、P3均为双向口,且

27、可位操作。89c51单片机内部有P0、P1、P2、P3四个8位双向I/O口,外设可直接连接于这几个接口上,而无须另加接口芯片。P0-P3的每个端口可以按字节输入或输出,也可以按位进行输入或输出,共32根口线,用作控制十分方便。P0口为三态双向口,能带8个TTL电路。P1、P2、P3口为准双向口,负载能力为4个TTL电路,如果外设需要的驱动电流大,可加接驱动器。图2.4 单片机电路显示电路设计本课题要将传感器的温度信号和键盘输入的控制信号都显示出来,利用单片机89c51传输控制信号。本课题要用到MAXIM 公司生产的MAX7219串行LED驱动显示器,此显示器具有接口简单占用资源少、控制灵活方便

28、、LED级联扩展便利的优点。MAX7219是串行输出共阴极显示驱动芯片,每片可驱动8个LED,具有级联功能可控制更多的LED 。MAX7219为24引脚芯片,除与LED显示相连的线外,与微控制器只需3根连线相接:芯片端管脚分别为CLK.DINLOAD,其中CLK为时钟输入端,DIN为数据输入端,LOAD为锁存信号。MAX7219的工作时序为:时钟的上升沿MAX7219把DIN引脚数据移入内部移位寄存器,在时钟下降沿MAX7219把数据移向DOUT端,而LOAD的上升沿则锁存最后移入的16位串行数据。对MAX7219的控制操作很方便,其片内具有8个位寄存器和6个控制寄存器位寄存器对应LED的具体

29、内容,控制寄存器决定LED的工作方式。控制寄存器分别为:不工作方式寄存器、译码方式寄存器、亮度控制寄存器。MAX7219是在脉冲控制下工作的,因此其抗干扰就更为重要。一般在其电源和地之间接一十几pf的电容。另外,当MAX72l9和其他串行芯片共用I/O引脚时,最好在其外边加一上拉电阻。P1口内部有上拉电阻,如不在其外部接上拉电阻,有时出现驱动能力不足的现象。要用MAX7219控制多于8个的LED时,可以将多个MAX7219级联使用。各芯片的CLK和LOAD端并接在一起。上一级MAX7219的DOUT端接下一级的D 端。级联显示时,如欲控制次级的MAX7219,只需向前几级的MAX7219的不工

30、作方式寄存器送空操作数:本级则送欲显示的数据。另外,需注意,LOAD信号只需执行一次清O和置位,分别在整个过程的始末。即:级联调用WrTwoByte()程序时,应将程序里的LOAD清O和置位语句屏蔽掉。只在级联显示的开始和最后分别将LOAD置O和1。具体连接如下图:图2.5 显示电路键盘电路设计键盘一般采用行列扫描方式来设计。行列扫描是指:把键盘按键排列成n行m列的nm行列点阵,使用软件或硬件的方法对其行、列分别进行扫描,从而判断是否有键按下,并获得扫描码。当无键按下时,行线与列线断开,所有列线均为高电平。当有一个键按下时,则与此键对应的行线与列线接通。如此行线为低电平,则此列线也为低电平。为

31、确定是否有键按下,CPU先通过并行输出口使所有的行线为低电平,然后通过并行输入口读入列信号,若为全“1”,则没有键按下,若有一个为“0”,则表示有一个键已按下。若有一个为“0”,则表示有一个键已按下。为消去按下时的抖动现象,程序延迟20ms后再判断具体是哪一个键按下先将第一行置为低电平,然后读入列信号,若有一个为“0”,则按下的键在此行;若为全“1”,则按下的键不在此行,再将下一行置为低电平,并测试列信号。如果在最后一行也为低电平时仍未找到按下的键,则认为刚才有键按下的情况为误动作。对找到的键,进行分析并处理。当按键时间较为短促时,系统判断不到有键按下。经测试,按键在按下或释放时,通常伴随着几ms到十几ms的触点抖动,然后才能稳定下来。在触点抖动期间检测按键的通断状态,会导致一次按键或释放被错误地认为是多次操作。所以,当检测到有键按下或释放时,应通过软件延时20 ms左右,避开触点抖动的影响。去抖时间既不能太短也不能太长:如果时间太短,无法起到去抖作用;如果时间太长,超过了键按下的持续时间,则会判不到按键。软件去抖时间不宜太短也不宜太长,定为20ms 。本设计使用行列扫描方式,其电路原理图如下图所示。图2.6 键盘电路本课题使用行列扫描方式,在单片机的P1口上连接上4*4的键盘,单片机扫描键

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

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