




已阅读5页,还剩58页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
天津工业大学毕业论文任务书 题目基于单片机的电子密码锁设计学生姓名学院名称电子与信息工程学院专业班级通信课题类型生产实际课题课题意义随着科技的不断发展,人们越来越重视对具有私密、重要物质的场所的安全性,所以具有报警功能的电子密码锁在日常生活中用的越来越多,因此研究与设计单片机为主要控制器的电子密码锁具有很大的实用价值。密码锁具有安全性高、成本低、功耗低、易操作等优点。在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是性能上都有很大提高。任务与进度要求 本设计的任务是设计成集有等待状态显示时间、输入密码、修改密码、密码正确与否指示、错误报警、密码保护、一键还原初始密码等功能的电子密码锁。2015.01.09-2015.03.30 调研,确定电子密码锁整体模块设计方案;2015.03.31-2015.04.13 设计电子密码锁各个模块硬件电路;2015.04.14-2015.04.24 设计电子密码锁模块软件;2015.04.25-2015.05.15 制作电路板、实验及测试;2015.05.16-2015.06.08 整理资料,撰写设计论文,准备答辩。主要参考文献1 郭天祥.新概念51单片机c语言教程:入门、提高、开发、拓展全攻略m.北京:电子工业出版社,2009.2 闫石主.数字电子技术基础m.北京:高等教育出版社,2011.3 谭浩强.c程序设计m.北京:清华大学出版社,2010.4 谷树忠,姜航,李钰.altium designer简明教程m.北京:电子工业出版社,2014.起止日期2015.01.092015.06.08备注院长 教研室主任 指导教师 天津工业大学毕业论文开题报告表 2015 年 03 月22 日姓名学院电子与信息工程学院专业通信工程班级题目基于单片机的电子密码锁设计指导教师一、 与本课题有关的国内外研究情况、课题研究的主要内容、目的和意义:与本课题有关的国内外研究情况:随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。据有关资料介绍,电子密码锁的研究从20世纪30年代就开始了,在一些特殊场所早就有所应用。由于电子锁的密钥量极大,所以可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。电子锁只需记住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。随着电子元件特别是单片机技术的发展,如今国内外智能密码锁技术得到空前的发展。在国外电子密码锁无论功能性,稳定性都很完善,保密方面能做到语音识别,指纹识别和人脸识别。在我国电子密码锁发展迅速,在很多领域都被广泛应用,但是整体水平与发达国家相比仍有差距。在我国电子密码锁被应用于实验室,医院,酒店等的门禁系统中,由于其方便,安全的性能,在我国有巨大的市场潜能。 课题研究的主要内容:(1) 确定电子密码锁整体模块设计方案;(2) 设计电子密码锁各个模块硬件电路;(3) 设计电子密码锁模块软件;(4) 制作电路板、实验及测试。目的和意义: 本设计的任务是设计成集有等待状态显示时间、输入密码、修改密码、密码正确与否指示、错误报警、密码保护、一键还原初始密码等功能的电子密码锁。具有安全性高、成本低、功耗低、易操作等优点。能满足人们对具有私密、重要物质的场所的安全性的需求。二、进度及预期结果:起止日期主要内容预期结果2015.01.09-2015.03.30 2015.03.31-2015.04.13 2015.04.14-2015.04.24 2015.04.25-2015.05.15 2015.05.16-2015.06.08调研,确定电子密码锁整体模块设计方案;设计电子密码锁各个模块硬件电路;设计电子密码锁模块软件;制作电路板、实验及测试;整理资料,撰写论文,准备答辩。确定电子密码锁整体模块设计方案;完成电子密码锁各个模块硬件电路的设计;编写电子密码锁模块软件;完成制作电路板、实验及测试;完成毕业设计论文,通过答辩。完成课题的现有条件已有部分相关资料。审查意见指导教师: 年 月 日学院意见主管领导: 年 月 日天津工业大学毕业论文进度检查记录 题目基于单片机的电子密码锁设计学生姓名学院名称电子与信息工程学院专业班级通信指导教师姓名指导教师职称副教授日 期指 导 记 录天津工业大学本科毕业论文评阅表(论文类)题目基于单片机的电子密码锁设计学生姓名学生班级指导教师姓名评审项目指标满分评分选题能体现本专业培养目标,使学生得到较全面训练。题目大小、难度适中,学生工作量饱满,经努力能完成。10题目与生产、科研等实际问题结合紧密。10课题调研、文献检索能独立查阅文献以及从事其他形式的调研,能较好地理解课题任务并提出实施方案;有分析整理各类信息,从中获取新知识的能力。15论文撰写结构严谨,理论、观点、概念表达准确、清晰。10文字通顺,用语正确,基本无错别字和病句,图表清楚,书写格式符合规范。10外文应用能正确引用外文文献,翻译准确,文字流畅。5论文水平论文论点正确,论点与论据协调一致,论据充分支持论点,论证过程有说服力。15有必要的数据、资料支持,数据、资料翔实可靠,得出的结论有可验性。15论文有独到见解或有一定实用价值。10合计100意见及建议:评阅人签名: 年 月 日天津工业大学毕业论文成绩考核表学生姓名学院名称电子与信息工程学院专业班级题目基于单片机的电子密码锁设计1毕业设计(论文)指导教师评语及成绩:成绩: 指导教师签字: 年 月 日2毕业设计(论文)答辩委员会评语及成绩:成绩:答辩主席(或组长)签字: 年 月 日3毕业设计(论文)总成绩:a.指导教师给定成绩b.评阅教师给定成绩c.毕业答辩成绩总成绩(a0.5+b0.2+c0.3)摘 要自古以来,锁作为人类人身安全以及财产安全的重要保障,成为生活中不可缺少的一部分。随着历史的发展,社会的进步,人们越来越重视对锁的改进,因此锁这类产品被赋予越来越多的高科技元素。电子锁只需用户记住一组密码,无需携带金属钥匙,免除了人们随身携带钥匙的烦恼,而被越来越多的人所欣赏,具有较高的应用价值。本论文设计了一款基于单片机的的电子密码锁。设计了stc90c516rd+单片机最小系统,lcd1602显示模块、掉电存储模块、实时时钟模块、键盘输入模块、继电器开锁模块、报警模块和usb供电模块。采用c语言编写了软件程序,完成了调试和测试。本论文所设计的电子密码锁实现了密码输入、密码保护、密码检测、密码修改、还原初始密码、错误报警、待机显示时间以及掉电记忆功能。关键词:stc90c51单片机;at24c02存储器;lcd1602液晶显示器;ds1302时钟芯片;密码锁abstractsince the ancient times, the lock is an important guarantee of personal safety and property safety, and become an indispensable part of life.with the development of history, the progress of the society, people pay more and more attention to improvement of lock, so this kind of lock products are endowed with more and more high-tech elements. electronic lock just remember a set password, without having to wear the metal key people carry metal key from troubles, and by more and more people appreciate, has higher application value.this paper designed a electronic coded lock based on mcu. stc90c516rd + mcu minimum system is designed, the lcd1602 display module, a power storage module, real-time clock module, keyboard input module, relay lock module, alarm module and usb power supply module. using c language to write the software program and completing the debug and test. in this paper the design of electronic lock achieves the following functions :password detection,password protection and password input,password modification, initial password storage, error alarm, standby display time and memory function when power supply drop. keywords: stc90c51 microcontroller; at24c02 memory; lcd1602 lcd display;ds1302 timekeeping chip; a combination lock 目 录第一章 绪 论11.1 本设计的背景11.2 本设计的目的及意义21.3 本设计的主要内容2第二章 电子密码锁系统设计方案32.1 系统的组成32.2 电子密码锁系统设计方案4第三章 硬件电路设计53.1 stc90c51单片机介绍53.2 液晶显示模块83.3 键盘输入模块103.4 ds1302实时时钟模块133.5 e2prom存储模块173.6 报警器、开锁模块203.7 晶振、复位模块213.8 电源供电模块22第四章 系统软件设计234.1 主程序模块设计234.2 键盘扫描模块程序设计244.3 密码验证程序设计254.4 密码修改程序设计264.5 实时时钟模块程序设计27第五章 实验及调试285.1 电路板设计及焊接过程285.2 程序调试及下载295.3 调试结果及实物图31第六章 结束语34参考文献35附 录36外文资料44中文翻译49谢 辞53 天津工业大学本科毕业论文第一章 绪 论1.1 本设计的背景随着电子技术的发展,计算机的使用使得人类进入一个新时代,单片微型计算机在其中发挥着十分重要的作用。单片机发展到现在,种类繁多、性能各异。以单片机为核心的各类电子产品也层出不穷。本设计便是基于单片机的电子密码锁的设计系统。在日常生活及工作中,住宅的安全防范、公司的文档以及一些个人资料的保存大都以加锁的办法来解决。如果使用传统的机械锁,人们需要携带多把钥匙, 使用起来不方便,且钥匙丢失后安全也受到威胁。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。目前市面上常见的遥控式电子防盗锁主要有光遥控和无线电遥控两类。非遥控电子密码锁从目前的技术水平和市场认可程度看,使用最广泛的是键盘式电子密码锁,该产品主要被用于保险箱、保险柜和仓库,还有一部分应用于金库和运钞车。卡式电子防盗锁(使用各种“卡”作为钥匙的电子防盗锁)是当前最为活跃的产品。生物特征防盗锁以人的某些先天特征(如指纹、视网膜、声音等)作为“钥匙”,这些特征几乎不可复制,是独一无二的。因此,利用生物特征做密码的防盗锁,也特别适合安防行业注重“验明正身”的特点。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点。 在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性欠缺的缺点,使密码锁在各个方面都有较大的提高。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能电子密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。 目前我国的安防市场,电子锁整体水平尚处于国际上70年代左右,电子密码锁的成本高,且市场上仍以按键电子锁为主,磁芯式和卡片钥匙式电子锁已引进国际先进水平。但国内自行研制开发的电子锁,其市场结构尚未形成,应用还不广泛。国内的不少企业也引进了世界上先进的技术,发展前景非常可观。希望通过不断的努力,使电子密码锁在我国也能得到广泛应用。 1.2 本设计的目的及意义随着社会物质财富的增长和人们生活水平的提高,安全成为现代居民生活的焦点。而锁自古以来就是守门的铁将军,人们对它要求甚高,不仅要求可靠防盗,还要求使用方便,这也是制锁行业长期以来研发的主题。传统的门锁既要求随身携带大量的钥匙,又要担心钥匙丢失后可能产生的后果。另外,如:宾馆、办公楼、仓库、保险柜等,由于装修施工等人住时也要把原有的锁胆更换,况且钥匙随身携带也诸多便。伴随单片机的问世,带微处理器的密码锁应运而生,它除具有传统门锁的功能外,还引入了智能化、科技化的功能,从而使密码锁变得更加安全和方便使用。目前西方欧美国家已经大量应用智能门禁系统,可以通过多种更加安全更加方便可靠的方法来实现大门的管理。但电子密码锁在我国的应用还不广泛,成本还很高,希望通过不断地努力使电子密码锁能够在我国及居民日常生活中得到广泛应用,这也是一个国家生活水平的体现。很多行业的许多地方都要用到密码锁,随着人们生活水平的提高,如何实现家庭或公司的防盗这一问题也变的尤其突出,传统的机械锁由于其构造简单,被撬的事件屡见不鲜,再者,普通密码锁的密码容易被多次试探而破译,所以,考虑到单片机的优越性,一种基于单片机的电子密码锁应运而生。采用单片机作为密码锁的控制核心,可以使密码锁更加的“智能”化,实现如按键有效指示、输入错误指示、解码有效指示、控制开锁电平、定时中断、控制报警、密码修改等功能,可在意外泄露密码情况下及时修改密码。密码可以取6位十进制密码,共一亿组不重复,保密性强。使人们的生活有了更多的安全保障。因此,研究电子密码锁及扩大其生产和应用,有着非常重要的意义。1.3 本设计的主要内容本论文所设计的电子密码锁,采用stc公司的stc90c516rd+芯片作为控制核心,主要内容如下:(1)主控系统设计方案;(2)键盘输入模块设计;(3)lcd1602显示器显示模块的设计;(4)掉电存储(e2prom at24c02)模块的设计;(5)晶振、复位、开锁、供电模块的设计;(5)ds1302实时时钟模块的设计; (6)系统软件程序设计。54天津工业大学本科毕业论文第二章 电子密码锁系统设计方案2.1 系统的组成在本设计中,由于需要设计制作出电路板成品供调试,演示。因此,硬件电路的设计在本设计方案中是比较重要的组成部分。经过对毕业设计课题题目要求的研究和查阅资料,列出了如下几个模块:单片机最小系统整体模块、键盘扫描输入密码开锁模块、液晶显示模块、掉电存储模块、密码错误报警模块、供电模块、晶振、复位电路模块。其组成框图如图2-1所示:晶 振键盘输入模块lcd显示模块 单 片 机一键复位模块报 警 模 块实时时钟模块开 锁 电 路掉电存储模块供 电 模 块图2-1 电子密码锁系统组成框图该系统的工作过程是经供电模块上电后利用键盘输入模块进行输入控制,将控制指令、数据信息传送到单片机,通过单片机的软件数据处理,配合复位电路以及晶振电路来驱动密码锁开锁和报警电路蜂鸣器报警,从而实现该电子密码锁的各项功能。2.2 电子密码锁系统设计方案要想做出一个完善的系统方案,就得充分分析电子密码锁设计题目中要求的各项功能。题目中要求以单片机为控制核心,利用键盘、液晶显示屏、串口、指示灯、蜂鸣器等模块,最终设计成集有等待状态显示时间、输入密码、修改密码、密码正确与否指示、报警、密码保护、一键还原初始密码等功能。在此要求基础上对各模块硬件进行选型。(1) 芯片选择。题目中要求基于51单片机设计,因此我选择了一款功能完善,且价格低廉,性能稳定口碑较好的stc90c51系列芯片。(2) 键盘选择。常用的键盘有独立键盘和矩阵键盘,由于需要输入09 十位数字,且配合开锁、锁定、改密键。按键数不应少于13,因此我选择了4 x 4矩阵键盘,因为这种形式的键盘结构,能够有效的提高单片机系统i/o口的利用率。(3) 显示模块。采用lcd1602液晶显示器,2行16列的显示面积足够满足本设计的需求。(4) 时钟模块。ds1302,是一种高性能、低功耗的实时时钟芯片。能够完成年月日周时分秒的计时。可设置备用电源充电方式,当单片机掉电状态下可继续工作。(5) 存储模块。选择采用具备i2c接口的芯片at24c系列e2prom。方便掉电存储密码。(6) 报警模块。采用蜂鸣器长鸣作为报警信号。电路简单易实现。(7) 开锁电路模块。采用继电器控制开锁电路。 第三章 硬件电路设计3.1 stc90c51单片机介绍单片机是一种集成电路芯片,采用超大规模集成电路技术把具有数据处理功能的中央处理器cpu、随机存储器ram、只读存储器rom、多种i/o口和中断系统、串行口、定时器/计时器等功能集成到一块硅片上构成一个小而完善的微型计算机系统。这样一块芯片具有一台计算机的属性,因而被称为单片微型计算机,简称单片机1。 图3-1 单片机开发系统组成本设计所使用的单片机为stc90c516rd+,该款单片机编程方便,与标准8051芯片兼容,速度更快,抗干扰能力更强。下面介绍一下该型号单片机的结构、特点及内部主要部件的工作原理。stc90c516rd+系列单片机是宏晶科技推出的新一代超高速/低功耗的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可任意选择,内部集成max810专用复位电路,时钟频率在12mhz以下时,复位脚可直接接地。stc90c516rd+单片机特点如下。1.增强型6 时钟/ 机器周期,12 时钟/ 机器周期 8051 cpu。2.工作电压:5.5v 3.8v(5v 单片机)/3.8v 2.4v(3v 单片机)。3.工作频率范围:040mhz,相当于普通8051的 080mhz.。4.用户应用程序空间 4k/6k/7k/8k/10k/12k/13k/16k/32k/40k/48k/56k/ 61k/字节。5.片上集成 1280字节/512/256字节 ram。6.通用i/o口(35/39 个),复位后为: p1/p2/p3/p4 是准双向口/ 弱上拉(普通8051 传统i/o 口)。p0口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为i/o 口用时,需加上拉电阻。7.isp(在系统可编程)/iap(在应用可编程),无需专用编程器 / 仿真器,可通过串口(p3.0/p3.1)直接下载用户程序,8k 程序3到5 秒即可完成。8.e2prom 功能。9.看门狗。10.内部集成max810专用复位电路,外部晶体12m以下时,可省外部复位电路,复位脚可直接接地。11.共2个16位定时器/计数器,其中定时器0还可以当成2个8位定时器使用。12.外部中断4路,下降沿中断或低电平触发中断,power down模式可由外部中断低电平触发中断方式唤醒。13.通用异步串行口(uart),还可用定时器软件实现多个uart。14.工作温度范围:0-75/-40-+85。15.封装:lqfp-44,pdip-40,plcc-44。stc90c51rc/rd+系列单片机中包含中央处理器(cpu)、程序存储器(flash)、数据存储器(sram)、定时器/计数器、uart串口、i/o接口、e2prom、看门狗等模块。stc90c51rc/rd+系列单片机几乎包含了数据采集和控制中所需的所有单元模块,可以称的上是一个片上系统2。本设计中为方便焊接需要,降低制板成本,单片机采用了pdip40封装。封装图如图3-2所示:图3-2 单片机封装图(40引脚)单片机的输入/输出接口,简称i/o口,是单片机与外部各种器件“对话”的唯一途径,是单片机应用的最直接单元。下面对stc90c51系列单片机各i/o口的功能作简单的介绍。p0口功能 p0口既可以作为输入/输出口,又可以作为地址/数据总线使用。p0口作为地址数据总线时,8051的地址总线为16位,这16位被分为高低两个8位部分,其中高8位由p2口提供,低八位由p0口提供。在不使用地址总线时,p2和p0口可单独作为普通i/o口使用。 p0口作为通用i/o口使用时,应先向端口写“1”,例如执行程序“p0=0xff”,这样会将p0.0p0.7端口置于输入状态,当p0口作为输出口使用时,其输出形式为漏极开路输出,即处于高阻浮空状态,因此,要外界上拉电阻来实现端口的输出功能。p1口功能 p1口是一个有内部上拉电阻的准双向口,每一位口线能独立用作输入或输出线。作输入时,必须先向端口写“1”端口由内部上拉电阻提拉成高电平,同时也能被外部输入源拉成低电平,即当外部输入为高电平时,该口线为高电平,而输入低电平时,该口线为低电平。p1口其他功能 stc90c51rc/rd+系列单片机中,p1.0和p1.1口具有第二功能:p1.0可作为定时器/计数器2的外部计数触发输入端t2;p1.1可作为定时器/计数器2的外部控制输入端t2ex。p2口功能 p2口的结构位、引脚上拉电阻同p1口,但是由于p2口要用作地址总线的高8位,因此,p2口比p1口多一个输出控制部分。p2口作为通用输入/输出口时,其操作与p1口完全相同。p3口是一个多用途的端口,也是一个准双向端口,作为第一功能使用时,其功能同p1口。当作为第二功能使用时,其每一位的功能定义如表3-1所示:表3-1 p3口第二功能表端口第二功能端口第二功能p3.0rxd,串行输入口p3.4t0,定时器/计时器0外部输入p3.1txd,串行输出口p3.5t1,定时器/计时器1外部输入p3.2int0,外部中断0输入p3.6wr,外部数据存储器写选通p3.3int1,外部中断1输入p3.7rd,外部数据存储器读选通p4口功能 p4口是一个多用途的端口,也是一个准双向口。作为第一功能使用时,其功能同p1口。p4口的部分端口也具有第二功能,其第二功能如表3-2所示:表3-2 p4口第二功能表端口第二功能p4.2int3,外部中断3输入引脚p4.3int3,外部中断2输入引脚p4.4psen,外部程序存储器读选通输出信号p4.5ale,地址锁存允许信号输出引脚/编程脉冲输入引脚p4.6ea,内外存储器选择引脚每个i/o端口内部都有一个8位数据输出锁存器和一个8位数据输入缓冲区,5个数据输出锁存器与端口号p0p4同名,皆为特殊功能寄存器。因此,cpu数据从并行i/o端口输出时可以得到锁存,数据输入时可以得到缓冲。 3.2 液晶显示模块 在日常生活中,液晶的使用非常普遍,尤其在电子产品领域,液晶显示模块已经成了标准的显示器件,在计算器、万用表、电子表等许多家用产品中都可以看到液晶的身影,它主要用来显示图形、数字和专用符号等。lcd1602是一款常用的字符液晶显示器,可显示1行16个字符或2行个字符。lcd1602液晶模块内部带有标准字库,内部的字符发送存储器存储了160个5*7点阵字符和32个5*10的点阵字符。另外,还有用于字符生成的64字节ram,供用户自定义字符。这些字符有阿拉伯数字、英文字母的大小写、常用的符号和日文假名等。每一个字符都有一个固定的代码,这个代码就是对应字符asc码。lcd1602的工作电压在4.55.5v之间,典型值为5v,工作电流2.0ma,字符尺寸2.95*4.35(w*h)mm。lcd1602的各引脚功能说明如表3-3所示:表3-3 lcd1602各引脚功能说明引脚符号描述功能说明1vss电源地2vdd电源3v0对比度调整外接分压电阻,调节对比度,接地对比度最高4rs数据/命令选择高电平选择操作数据存储器,低电平选择操作指令寄存器5rw读写选择高电平时执行读操作,低电平时执行写操作,6e使能高电平使能714d0d7数据i/o双向数据输入/输出15bla背光正极通过10左右的电阻接到vdd16blk背光负极连接vsslcd1602内部有三类寄存器,分别是ddram:显示数据ram,用来寄存待显示的字符代码,lcd1602共有80个字节的ddram;cgrom:字符生成器rom,lcd1602内置了192个常用字符的字模,存于cgrom中;cgram:允许用户自定义的字符生成器ram,用户可以通过液晶的通信接口向这些寄存器中写入自己的自模数据(8个),但这些数据在掉电后会消失,因此称为ram3。lcd1602的ddram共有2行,每行40个字节,共80个字节,但是在使用的时可以只使用前16个,内部ddram地址与屏幕的实际对应位置如图3-3所示:图3-3 lcd1602 ddram地址与屏幕显示位置对应关系lcd1602在正常使用之前需要根据用户的要求进行初始化,具体过程如下。(1) 上电并等待15ms以上(2) 写指令0x38h,将液晶的显示模式设置为16*2显示,5*7点阵,8位数据接口。(3) 延时5ms。(4) 写指令0x38h,尚未开始工作,不需要检测忙信号。(5) 延时5ms。(6) 写指令0x38h。(7) 延时5ms,连续设置3次,确保初始化成功。(8) 写命令0x08h,关显示。(9) 写命令0x01h,清屏。(10) 写命令设置光标。(11) 写命令0x0fh,开显示。初始化完成,可以向lcd1602写字符。lcd1602应用电路如图3-4所示: 图3-4 lcd1602应用电路原理图为了方便编程,这里选用了8位并行数据接口,加上通信握手信号rs、r/w、en共占用单片机的11位i/o口线。本设计中,为了节约能源,加入了光敏电阻电路,来进行调节。当白天或者光线强的时候,背光关闭;反之背光亮起,方便读出显示信息。背光电路如图3-5所示:图3-5 背光调节电路3.3 键盘输入模块 键盘是单片机系统中一个很重要的模块,是实现人机对话接口常用的器件。通过它人们可以向计算机输入数据、传送命令、控制cpu运行,以实现特定的目的。键盘实际上就是一组按键开关,当按下按键时使得两根导线接通,从而给单片机相应的i/o口输入一个信号;而按键释放时,两根导线又恢复成断路状态,从而又给单片机相应的i/o口输入一个相反的信号。单片机就是根据这些输入信号来判断是否有键按下,以及按下的是什么键,从而实现对应的操作。键盘电路的特点:一是随机性,操作人员对键盘的操作是随机的;二是抖动性,这是键盘的机械性决定的。根据这两个特点可以得出以下的接口设计原则。(1) 键盘的电平与系统总线电平相兼容。(2) 单片机要能有效地抑制键盘抖动。本设计中单片机对抖动的抑制是由软件实现的。在一般电路设计中,按键按下闭合的过程中,其触点电压变化过程总要出现一些如图3-6所示的毛齿波: 图3-6 按键被按下时的电压变化毛齿波的长短与开关的机械特性有关,一般为510ms。在键盘扫描程序中,当按键被按下时,加入一条简单的延时语句,就可以有效的避免按键抖动的影响。本设计中我们采用4*4矩阵键盘,将16个按键排成4行4列,第一行将每个按键的一端连接在一起构成行线,第一列将每个按键的另一端连接在一起构成列线,这样便一共有4行4列共8根线,我们将8根线连接到单片机的8个i/o口上,通过程序扫描键就可检测16个键。无论是独立键盘还是矩阵键盘,单片机的检测机理都是一样的,也就是检测与该键对应的i/o口是否为低电平。矩阵键盘两端都与单片机i/o口相连,因此在检测时需人为通过单片机i/o口送出低电平。检测时,先送一列为低电平,其余几列全为高电平(此时我们确认了列数),立即轮流检测一次各行是否有低电平,若检测到某一行为低电平(这时我们又确定了行数),则我们便可确认当前被按下的键是哪一行哪一列的,用同样方法轮流送各行各列一次低电平,轮流检测一次各行是否为低电平,这样即可检测完所有的按键,当有按键被按下时便可判断出按下的是哪一个键。当然我们也可以将行线置低电平,扫描列是否有低电平。这就是矩阵键盘检测的原理和方法。矩阵键盘应用电路如图3-7所示: 图3-7 矩阵键盘电路原理图16个按键分别定义为1、2、3、4、5、6、7、8、9、0、*、#、a、b、c、d。其中*键定义为上锁功能键,#定义为确认功能键,d定义为修改密码功能键,a定义为显示时间功能键,b、c未定义功能。各按键具体位置如图3-8所示:图3-8 矩阵键盘键值布局图3.4 ds1302实时时钟模块实时时钟rtc(real time clock)是指可以像时钟一样输出实际时间的电子设备,一般来说rtc是集成电路,通常称为时钟芯片。目前,在很多嵌入式仪表中往往需要采集带时标的数据并保存起来,以便于用户后期对数据进行观察和分析。本设计中使用的是常见的时钟芯片ds1302。ds1302是dallas公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历寄存器和31字节静态存储ram,通过简单的串行接口与单片机进行通信。实时时钟/日历电路提供秒、时、分、日、星期、月、年的信息,每月的天数和闰年的天数可自动调整,时钟操作可通过12/24和a/p标志位决定采用24小时和12小时格式。ds1302与单片机之间能简单的采用同步串行的方式进行通信仅需要用到三个口线:ce时钟控制线,i/o数据线,sclk串行时钟线。实时时钟、ram的读/写数据以1个字节或多达31个字节的字符组方式通信。ds1302工作时功耗很低,保持数据和时钟信息时功率小于1mw。ds1302的主要性能指标如下。(1) 实时时钟具有能计算2100年之前的秒、分、时、日、星期、月、年的能力,还有闰年调整功能。(2) 内部含有31字节的静态数据存储ram。(3) 串行i/o口方式使得引脚数量最少。(4) 宽范围工作电压2.05.5v。(5) 工作电流:2.0v时,小于300na。(6) 读/写实时时钟或ram数据时有单字节传送和多字节两种传送字符组方式。(7) 简单的3线接口。(8) 与ttl兼容,vcc=5v。(9) 可选工业级温度范围-4085。(10) 对vcc1有可选的涓流充电能力。ds1302引脚及封装图如表3-4所示:表3-4 ds1302引脚说明及封装图引脚符号描述封装1vcc2主电源引脚2x132.768khz晶振引脚3x24gnd地5rst时钟控制线6i/o串行数据输入/输出线7sclk串行时钟线8vcc1电池电源引脚ds1302有关日历、时间的寄存器共有12个,如表3-5所示。其中有7个寄存器存放的数据格式为bcd码形式。通过向寄存器写入命令字实现对ds1302的操作。例如,如果要设置某时刻秒的初始值,需要先写入命令字80h,然后才能向秒寄存器写入初始值;如果要读出某事某刻秒的值,需要先写入命令字81h,然后才能从秒寄存器读取数据。表 3-5 ds1302有关日历时间的寄存器寄存器名称命令字取值范围各位名称写读76543210秒寄存器80h81h0059ch10秒秒分寄存器82h83h0059010分分小时寄存器84h85h0112,002312/240am/pm时时日寄存器86h87h0128,29,30,310010日日月寄存器88h89h011200010月 月周寄存器8ah8bh010700000周日年寄存器8ch8dh009910年 年控制寄存器8eh8fhwp0000000秒寄存器(80h、81h)的位7定义为时钟暂停标志(ch)。当该位置为1时,时钟振荡器停止,ds1302处于低功耗状态;当该位置为0时,时钟开始运行。“10秒”为秒的十位数字,“秒”为秒的个位数字。小时寄存器(84h、85h)的位7用于定义ds1302是运行12小时模式还是24小时模式。当为高时,选择12小时模式。在12小时模式时,位5是am/pm位,当为1时,表示pm;在24小时模式时,位5是第二个10小时位。周寄存器(8ah、8bh)de 位2、位1、位0是周的个位数字(周日)。控制寄存器(8eh、8fh)的位7是写保护位(wp),其他7位均置为0。在任何对时钟和ram的写操作之前,wp位必须为0。当wp位为1 时,写保护位防止对任一寄存器的写操作。ds1302与ram相关的寄存器分为两类:一类是单个ram单元,共31个,每个单元为一个8位的字节,其命令控制字为c0hfdh,其中奇数为读操作,偶数为写操作;另一类为突发方式下的ram寄存器,此方式下可一次性读/写所有ram的31个字节,命令控制字为feh(写)、ffh(读)。将命令字写入ds1302,每一个数据的传送由命令字节进行初始化,ds1302的命令字节格式如表3-6所示:表3-6 ds1302的命令字节格式1ram/a4a3a2a1a0r/最高位位7为1时,允许写入;若为0,则禁止写入。位6为0表示存取日历时钟数据;为1 表示存取ram数据。接着5个位是ram或时钟寄存器的内部地址。最后一位为0,表示写;为1表示读。ds1302的读写操作 ds1302采用同步串行接口于单片机之间进行通信,无论是读操作还是写操作,每次通信都必须由单片机发起。在物理上,ds1302的串行接口由3个引脚组成,分别是ce、sclk、和i/o。(1)ce时钟控制 当ce从低电平变为高电平时,启动一次数据传输。芯片的ce引脚具有两个功能:第一,ce打开访问控制逻辑,允许访问芯片内部的移位寄存器;第二,可以用ce引脚来终止单字节或多字节数据传输。一个时钟周期由一系列的sclk引脚的上升沿和下降沿组成。对于数据输入,i/o引脚上的数据位必须在时钟线的上升沿出现之前有效;对于数据输出,在时钟线的下降沿出现后,i/o引脚上的数据位有效。当ce为低电平时,终止所有的数据传输,i/o 口线变为高阻态;当ce变为高电平时,sclk必须为低电平。(2)ds1302数据输入(写入)当单片机发出8个sclk周期向ds1302写入写控制字(控制字的bit0为0)后,数据可以在接下来的8个sclk引脚的上升沿被写入ds1302。在发送一个字节数据的时候要注意先发低位。ds1302单字节写时序如图3-9所示:图3-9 ds1302单字节写时序(3)ds1302数据输出(读出)当单片机发出8个sclk周期向ds1302写入读控制字(控制字bit0为1)后,数据会在接下来的8个sclk引脚的下降沿出现在ds1302的i/o引脚上,此时,单片机可以从i/o引脚读取数据。在读一个字节数据的时候,最先读到的数据位为字节数据的低位。ds1302单字节读操作时序如图3-10所示:图3-10 ds1302单字节读时序ds1302实时时钟的应用电路如图3-11所示:图3-11 实时时钟模块原理图本设计中,选择使用了纽扣电池为ds1302芯片供电,以保证当系统关闭时时钟模块依旧可以正常运行,下次启动系统,读出的时间是准确的。3.5 e2prom存储模块在单片机系统中,由于串行总线的接口比较简单,有利于系统设计的模块化和标准化,提高系统的可靠性,降低成本,所以串行总线的应用十分广泛。在众多的串行总线中,由于i2c总线只需两根线,支持带电插拔,有大量的外围接口芯片,因而经常被单片机系统采用。i2c总线的优点是简单、有效,并且占用的空间非常小,减少了电路板的空间和芯片引脚的数量,降低了互联成本,总线的长度可高达8m。目前,具备i2c接口的芯片已有很多,如at24c系列e2prom、pcf8563日历时钟芯片、pcf8576lcd驱动器及pcf8591a/d转换器等。电可擦除可编程只读存储器e2prom可分为并行和串行两大类。并行e2prom的读写数据通过8位数据总线传输,而串行e2prom的数据是一位一位地传输。与并行方式相比,虽然串行传输速度较慢,但由于它具体体积小、占用i/o口少、价格低廉和电路简单等优点,被广泛应用于智能仪器中。at24c02是美国atmel公产生产的低功耗cmos串行e2prom(电可擦除存储器), 这款芯片的引脚及封装,如图3-12所示:图3-12 at24c02芯片引脚说明及封装图共有8个引脚,各引脚功能如下:(1) a0、a1、a2:片选或页面选择地址输入端。选用不同的e2prom存储器芯片时,其意义不同,但都要接固定电平,用于多个器件级联时的芯片寻址。(2) vss:接地。(3) sda:串行数据(地址)i/o端,用于串行数据的输入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 鱼我所鱼也课件
- 魅力昆虫课件
- 济南市2024-2025学年七年级上学期语文月考模拟试卷
- 济南市2025-2026学年八年级上学期语文期中模拟试卷
- 高速铁路运行管理课件
- 高速收费站安全知识培训课件
- 工程造价咨询及财务审计项目服务方案
- 电脑课件保存至U盘无法打开问题
- 2025年公路水运工程施工企业安全生产管理人员考试题库
- 设备检测技术服务合同
- 业务咨询公司管理制度
- 呼吸科副主任竞聘工作思路与实施策略
- 企业保密区域管理制度
- 中国医疗信息化行业市场现状分析及发展趋势与投资前景研究报告2025-2028版
- 批量创伤伤员急救程序
- 研发中心建设项目可行性研究方案报告
- 2024年天津市静海县教育局公开招聘试题含答案分析
- 《酒吧服务与管理(第3版)》教案教案(模块十二)
- 健康养生+情绪价值+中华文化茶饮品牌走出消费“双循环”之路
- 2025年民族宗教政策法规学习月知识竞赛试题库(含答案)
- T/ZHCA 007-2019染发化妆品眼刺激性试验体外测试方法牛角膜浑浊和渗透性试验
评论
0/150
提交评论