毕业设计论文基于AT89C51单片机的电子密码锁的设计

上传人:无*** 文档编号:148983577 上传时间:2022-09-06 格式:DOC 页数:26 大小:1.07MB
收藏 版权申诉 举报 下载
毕业设计论文基于AT89C51单片机的电子密码锁的设计_第1页
第1页 / 共26页
毕业设计论文基于AT89C51单片机的电子密码锁的设计_第2页
第2页 / 共26页
毕业设计论文基于AT89C51单片机的电子密码锁的设计_第3页
第3页 / 共26页
资源描述:

《毕业设计论文基于AT89C51单片机的电子密码锁的设计》由会员分享,可在线阅读,更多相关《毕业设计论文基于AT89C51单片机的电子密码锁的设计(26页珍藏版)》请在装配图网上搜索。

1、四川托普信息技术职业学院摘 要随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统机械锁由于构造简单,被撬事件屡见不鲜;电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐。电子锁是采取电子电路控制,以电磁铁或者卫星电机和锁体作为执行装置的机电一体化锁具,相比传统的机械锁具,电子锁不使用金属钥匙,保密性、精度都有很大提高。 电子锁的发明思路,源自古代发明的自动机械,例如古希腊数学家赫伦的液压自动门,中国古代诸葛亮的木牛流马,它们以重力或蒸汽压力驱动,最广泛的用途乃是用在古代墓道的地下机关。电子工业的诞生,使得以微小电量驱动机械成为可能,于是有了电子锁一

2、日千里的跃进。本设计以单片机AT89C51作为密码锁监控装置的检测和控制核心,分为主机控制和从机执行机构(本设重点介绍主机设计),实现钥匙信息在主机上的初步认证注册、密码信息的加密、钥匙丢失报废等功能。根据51单片机之间的串行通信原理,这便于对密码信息的随机加密和保护。而且采用键盘输入的电子密码锁具有较高的优势。采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,提高信号传输的抗干扰性,减少错误动作,而且功率消耗低;反应速度快、传输效率高、工作稳定可靠等。软件设计采用自上而下的模块化设计思想,以使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。测试结果表明,本系统各项

3、功能已达到本设计的所有要求。基于以上思路,本次设计使用ATMEL公司的AT89C51实现一基于单片机的电子密码锁的设计,其主要具有如下功能:(1) 设置6位密码,密码通过键盘输入,若密码正确,则将锁打开。(2) 报警、锁定键盘功能。密码输入错误数码显示器会出现错误提示,若密码输入错误次数超过3次,蜂鸣器报警并且锁定键盘。电子密码锁的设计主要由三部分组成:44矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。另外系统还有LED提示灯,报警蜂鸣器等。密码锁设计的关键问题是实现密码的输入、开锁、报警等功能。关键词:单片机;密码锁;电子锁。目录第1章 绪论41.1 引言41.2 电子密码锁的背景5

4、1.3 电子锁设计的意义的本设计特点51.4 电子密码锁的发展趋势6第2章 系统总体设计与原理72.1 系统结构图72.2 系统组成82.3 系统原理分析8第3章 系统硬件电设计93.1主控芯片AT89C51单片机的简介93.2 晶振时钟电路123.3复位电路设计123.4 44矩阵键盘123.5发光二极管LED133.6蜂鸣器143.7串口引脚功能介绍143.8 其它引脚153.9电路图的绘制15图39完整电路图153.10PROTEL 99 SE简介:163.11使用到的元器件列表17第4章 软件程序设计184.2软件设计流程图184.2 具体功能软件实施19第5章 系统调试205.1 程

5、序调试用到的软件及工具205.2 KEIL C51简介205.3调试过程21第6章 心得体会23第7章 参考文献24附 录251.1电子密码锁PCB251.2源程序清单25第1章 绪论1.1 引言随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的喜爱。锁是置于可启闭的器物上,用以关住某个确定的空间范围或某种器具的,必须以钥匙或暗码打开的扣件。锁具发展到现在已有若干年的历史了,人们对它的结构、机理也研究得很透彻,因此,不用钥匙就能打开的方法和工具也层出不穷。现代人类文

6、明社会里,由于社会中各种矛盾冲突十分剧烈,人们的思想道德观念,价值观念,文化修养水平等差异,群众中良莠不齐,善良的人们能够自觉规范自已的行为,“非礼不为”,虽无钥匙亦不会乱闯。然而,那些毫无道德观念的盗贼却想方设法利用高科技手段撬门开锁,使广大居民防不胜防。为什么会出现这种情况呢?因为传统锁具都存在致命的弱点:第一、 锁芯采用常见的铜、铝、锌等材料,抵抗不了强力破坏;第二、 锁具制作工艺,技术落后,无法阻止技术手段的开启。目前,市场上很多国内外的锁具,实际上都不具备真正的防盗功能。在惯偷面前,两根钢丝或几件简单的工具就可以把这些锁打开,有的惯偷甚至公开扬言:“没有我打不开的锁。”其实,不是他们

7、多高明,而是一般锁具技术原理太过简单。面对这一残酷的现状,新时代提出了锁具必须革命的迫切的要求。1.2 电子密码锁的背景随着社会科技的进步,锁已发展到了密码锁、磁性锁、电子锁、激光锁、声控锁等等。在传统钥匙的基础上,加了一组或多组密码,不同声音,不同磁场,不同声波,不同光束光波,不同图像。(如指纹、眼底视网膜等)来控制锁的开启。从而大大提高了锁的安全性,使不法之徒无从下手,人们也就能对自身财产安全有了更多的保障。当今安全信息系统应用越来越广泛,特别在保护机密、维护隐私和财产保护方面起到重大作用,而基于电子密码锁的安全系统是其中的组成部分,因此研究它具有重大的现实意义。1.3 电子锁设计的意义的

8、本设计特点单片机,亦称单片微电脑或单片微型计算机。它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口 (I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。 计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。微计算机(单片机)在这种情况下诞生了,它为我们改变了什么?纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC 卡、电子宠物等,这些都离不开单片机。以前没有单片机时,这些东西也能做,但是只能使用复杂的模拟电路

9、,然而这样做出来的产品不仅体积大,而且成本高,并且由于长期使用,元器件不断老化,控制的精度自然也会达不到标准。在单片机产生后,我们就将控制这些东西变为智能化了,我们只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。这样产品的体积变小了,成本也降低了,长期使用也不会担心精度达不到了,且容易升级改善。 电子锁可以在日常生活和现代办公中,住宅与办公室的安全防范、单位的文件档案、财务报表以及一些个人资料的保存等多种场合使用。大大提高了主人物资的安全性,安全可以代替老式机械锁。目前使用的密码锁种类繁多,各具特色。本文从经济实用的角度出发,采用AT89C2051单机,研制了一款具

10、有防盗自动报警功能的电子密码锁。该密码锁设计方法合理,简单易行,成本低,符合住宅、办公室用锁要求,具有一定的推广价值。(1)系统设置6位密码,密码通过键盘输入,若密码正确,则将锁打开。(2)密码由用户自己设定,在开锁状态下,指示灯被点亮。(3)具有自动报警功能,报警由蜂鸣器发出报警声。(4)两种情况下可报警:一是密码输入错误3次,则报警;二是非正常开门,如破门而入的情况,可通过系统的红外监视装置监测,同时报警,保证了系统的安全性。系统工作时,用户通过按键输入6位密码,单片机将输入密码与设定密码进行比较,若密码正确,则发出开锁信号,将门打开,系统不报警;若密码不正确,则有相应的指示灯不被点亮,并

11、要求重新输入密码,重新输入密码的次数不能超过3次,若3次输入的密码都不正确,则发出报警信号。1.4 电子密码锁的发展趋势从目前的技术水准和市场认可程度看,使用最为广泛的是键盘式电子密码锁,该产品主要应用于保险箱、保险柜和金库,还有一部分应用于保管箱和运钞车。键盘式电子密码在键盘上输入,与打电话差不多,因而易于掌握,其突出优点是“密码”是记在被授权人脑子里的数字和字符,既准确又可靠,不会丢失(除了忘记),难以被窃(除非自己泄露)。但是密码不能太简单,太简单了就容易被他人在键盘上试探出来,或者可能被旁观者窥测出来,造成保密性不足。当然,密码又不能太复杂,太复杂了可能自己都胡涂了,或者输入密码操作成

12、功率低,造成使用不便。因此,为了发扬优点、克服弱点,键盘式电子密码也在不断发展中,如“任意设定密码”技术使得被授权人可以根据自己的需要或喜好设定密码,常用常新;而“自动更改密码”技术使得本次输入的密码将自动更改成下次应输入的密码,更改的规律不为他人所知,因而不怕旁观者窥测;独出心裁的“键盘乱序显示”技术使得键盘上的固定键位每次显示出的字符不固定,并且显示的窄小角度只能由操作者正面看得到,因而即使旁观者看见操作动作也难以窥测出密码;“多重密码设定”技术使得单组密码不一定有效,适合多人分权使用,需要输入两组以上的密码才被认可,大大提高了保密性,如果限定输入这些密码的先后顺序或时间区段,则保密性还可

13、提高。在输入密码的过程中,为了限制试探密码的企图,通常输入错误码若干次或若干时间内输入不正确,即“封锁”键盘,不再接受输入操作。总之,尽管新式电子防盗锁层出不穷,但键盘式电子密码防盗锁不仅在市场上居于主流地位,而且,还经常作为其它类型电子防盗锁的辅助输入手段。第2章 系统总体设计与原理2.1 系统结构图电源4x4键盘复位电路LEDAT98C51振荡电路蜂鸣器数码管212.2 系统组成如图21所示系统主要由AT89C51(51系列)、数码管、蜂鸣器、LED、44矩阵键盘、复位电路等组成2.3 系统原理分析(1)系统工作原理分析:使用AT59C51单片机、44矩阵键盘、LED、蜂鸣器等。矩阵键盘分

14、别为(S1-S9)1、2、3、4、5、6、7、8、9,S10为数字“0”,(S12S16)对应的按键值分别为 1216。(2)根据按键值,指定每个按键对应的输入数字和信息。如图23所示为每个按键代表的数字和输入信息。当键盘扫描程序扫描到S10键被按下时,将其代表的按键值“0”通知CPU,CPU根据事先规定,就会知道输入的数字是“0”S4 S3 S2 S14 3 2 1S8 S7 S6 S58 7 6 5S12 S11 S10 S912 OK 0 9S16 S15 S14 S1316 15 14 13图23矩阵键盘中每个按键代表的数字和输入信息(3)输入数字和密码对比。 先将设定的密码用一个数组

15、保存,本例的密码 “123456”和“OK”确认信息可用如下数组保存: Unsigned char D=1,2,3,4,5,6;/ 设定密码 在主程序接受到数字和信息后,通过逐位对比的方法进行判断。输入的数字经对比正确时,程序才继续顺序执行,否则,程序拒绝执行。系统开始显示“INPUT”提示输入密码;输入密码时,LED显示电路显示为“-”,当密码输入完毕按下OK键时,对输入密码与设定的密码进行比较,若密码正确则发光二极管被点亮锁打开;若密码不正确,若连续3次输入不正确,则发出警报声同时锁定键盘。 为了防止恶意尝试,系统才用若连续输入3次错误密码则发出报警声,且锁定键盘,可以提高系统的安全系数,

16、同时也能够保护合法用户的正常使用。第3章 系统硬件电设计3.1主控芯片AT89C51单片机的简介AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。主要特性: 与MCS-51 兼容 4K字节

17、可编程闪烁存储器 寿命:1000写/擦循环 数据保留时间:10年 全静态工作:0Hz-24MHz 三级程序存储器锁定 1288位内部RAM 32可编程I/O线 两个16位定时器/计数器 5个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路管脚说明: VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1

18、后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个

19、TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持R

20、ST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当

21、/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。3.2 晶振时钟电路单片机XIAL1和XIAL2分别接30PF的电容,中间再并个12MHZ的晶振,形成单片机的晶振电路。图32 晶振电路3.3复位电路设计 图33 复位电路3.4 44矩阵键盘如图32所示,本系统采用44矩阵键盘,16个按键分为输入数字键: 0、1、2、3、4、5、6、7、8、9、12、13、14

22、、15、16;功能键OK。矩阵键盘。图34 44矩阵键盘3.5发光二极管LED图35由于LED使用P0口驱动要加上上拉电阻如图35。3.6蜂鸣器图36由于蜂鸣器使用P0口驱动要加上上拉电阻如图36。3.7串口引脚功能介绍单片的P0口外接数码管,作为密码输入显示器;RD外接蜂鸣器,当RD被置0时,蜂鸣器发出声音;RXD口外接发光二极管用作系统工作状态提示。3.8 其它引脚ALE引脚悬空,复位引脚接到复位电路、VCC接电源、VSS接地、EA接电源3.9电路图的绘制用PROTEL 99 SE绘制的完整电路图如下: 图39完整电路图3.10PROTEL 99 SE简介:Protel99SE是Prote

23、l公司近10年来致力于Windows平台开发的最新结晶,能实现从电学概念设计到输出物理生产数据,以及这之间的所有分析、验证和设计数据管理。因而今天的Protel最新产品已不是单纯 的PCB(印制电路板)设计工具,而是一个系统工具,覆盖了以PCB为核心的整个物理设计。 最新版本的Protel软件可以毫无障碍地读Orcad、Pads、Accel(PCAD)等知名EDA公司设计文件,以便用户顺利过渡到新的EDA平台。Protel99 SE共分5个模块,分别是原理图设计、PCB设计(包含信号完整性分析)、自动布线器、原理图混合信号仿真、PLD设计。 以下介绍一些Protel99SE的部分最新功能:可生

24、成30多种格式的电气连接网络表;强大的全局编辑功能;在原理图中选择一级器件,PCB中同样的器件也将被选中; 同时运行原理图和PCB,在打开的原理图和PCB图间允许双向交叉查找元器件、引脚、网络既可以进行正向注释元器件标号(由原理图到PCB),也可以进行反向注释(由PCB到原理图),以保持电气原理图和PCB在设计上的一致性;满足国际化设计要求(包括国标标题栏输出,GB4728国标库); * 方便易用的数模混合仿真(兼容SPICE 3f5);支持用CUPL语言和原理图设计PLD,生成标准的JED下载文件; * PCB可设计32个信号层,16个电源-地层和16个机加工层;强大的“规则驱动”设计环境,

25、符合在线的和批处理的设计规则检查; 智能覆铜功能,覆铀可以自动重铺; 提供大量的工业化标准电路板做为设计模版; 放置汉字功能; 可以输入和输出DXF、DWG格式文件,实现和AutoCAD等软件的数据交换; 智能封装导航(对于建立复杂的PGA、BGA封装很有用); 方便的打印预览功能,不用修改PCB文件就可以直接控制打印结果; 独特的3D显示可以在制板之前看到装配事物的效果; 强大的CAM处理使您轻松实现输出光绘文件、材料清单、钻孔文件、贴片机文件、测试点报告等; 经过充分验证的传输线特性和仿真精确计算的算法,信号完整性分析直接从PCB启动; 反射和串扰仿真的波形显示结果与便利的测量工具相结合。

26、注:由于资金和设备限制,以上PCB电路设计过程属于理论化,只作为电路板设计的一个流程。本电路的实物模型,本人还是采用万用电路板来完成。3.11使用到的元器件列表名称型号数量电源插座两芯1蜂鸣器11位数码管(共阳)1电源5V1发光二极管0805红1发光二极管0805绿19013(NPN)19012(PNP)2电容0.1uF08055电阻10K1微动开关12自锁开关用于管理电源1单片机紧锁座DIP401晶振11.0592MHZ1电容33pF08052电容10uF1电阻1K 8052电阻10K1电阻330R08051电位器10K改变输入电压,为可变电阻1STC89C52DIP401图310 第4章

27、软件程序设计本系统程序部分使用C语言编写,C语言是一种高级程序设计语言,它的优点是简洁明了、可移植性高。主要完成,开始时数码管显示提示“INPUT”输入密码。输入密码后按下确认键,系统会将所输入与系统密码进行比对。若输入密码正确则显示“PASS”开锁。然后可以选择上锁或者修改密码。开锁后,按下上锁“LOCK”键,系统上锁并返回;选择修改密码则可以对系统进行修改密码操作。在修改密码前要输入正确旧的密码。正确输入旧密码之后,会有提示输入两次新密码,若两次密码一致,则修改成功。期间操作出现失误,系统会返回初始状态,操作错误超过3次,系统会锁定键盘,并报警用以防止恶意试探密码。4.2软件设计流程图主程

28、序开始 正确密码正确与否I/O口初始化,LCD初始化执行主控循环;蜂鸣器产生响警示。指示灯LED亮。错误 图414.2 具体功能软件实施4.2.1 开始等待流程 系统开始一直显示提示“INPUT”,并判断有否按键,当有键按下跳出等待。 图424.2.2 密码检查功能本系统使用数组PASSWORD6存储密码,系统初始化对数组负值PASSWORD61,2,3,4,5,6相当于键盘上的1,2,3,4,5,6。输入密码的时候,先将输入的每一位密码分别放置在数组check6中,然后再将check6与PASSWORD6的每一位分别对照。若每一位都相等,密码检查通过。 43第5章 系统调试5.1 程序调试用

29、到的软件及工具调试本程序需要用到KEIL C51,及51开发板一块及其配套的下载烧录软件5.2 KEIL C51简介Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言

30、的优势。 C51工具包的整体结构: uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。5

31、.3调试过程首先打开KEIL C51主程序,新建工程,新建文本框写入程序,保存,检查是否有语法错误,经反复检查无误后汇编,生成51单片机可执行的HEX文件。然后用51开发板相匹配的烧录软件把HEX文件写入单片机。图53 keil c51调试介面图52 单片机烧录软件介面本次调试采用Proeus软件仿真。首先设计电子密码锁的源程序,源程序经过汇编后,生成的目标文件经过仿真调试。依次按下1,2,3,4,5,6后,按下OK键后,二极管亮,表示密码正确开门。如图51图51 密码正确开门第6章 心得体会课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实

32、际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动

33、手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握得不好,通过这次课程设计之后,一定把以前所学过的知识重新温故。这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,在老师和同学的帮助下,终于游逆而解。非常感谢!第7章 参考文献1单片机原理及及应用王迎旭编 机械工业出版社 20012单片机应用程序设计技术 周航慈 著 北京航空航天大学出版社 3 黄志君,高峰,王建.轮胎压力监测系统J.广西工学院学报.2006(4):91

34、2.4 单春贤,韩钧等. 一种集成度较高的轮胎压力监测系统设计J. 拖拉机与农用运输车,2006(6):3338.5张洪润 单片机应用技术教程 北京:清华大学出版社,19976沙占友 A Study of the Control System with Intelligent Temperature Sensors.ICEMI第四届国际电子测量学术会议论文集,电子测量与一起学报.第13卷,1998(8),ISTP收录7 The Intel Microprocessors Architecture,Programming,and Interfacing .高等教育出版社(影印版),2001 20

35、-081201-05-018 JONATHAN D. NASH, DOUGLAS R. CALDWELL, MICHAEL J. ZELMAN, AND JAMES N. MOUM A Thermocouple Probe for High-Speed Temperature Measurement in the Ocean. Manuscript received 18 August 1997, in final form 9 November 1998:1447-1449. 9OMEGA Engineering Technical Reference.Thermocouple Home P

36、age 10 Using Thermocouple Sensors Cryogenic Control Systems, Inc. 附 录1.1电子密码锁PCB1.2源程序清单 矩阵式键盘实现的电子密码锁#include /包含51单片机寄存器定义的头文件sbit P14=P14; /将P14位定义为P1.4引脚sbit P15=P15; /将P15位定义为P1.5引脚sbit P16=P16; /将P16位定义为P1.6引脚sbit P17=P17; /将P17位定义为P1.7引脚sbit sound=P37; /将sound位定义为P3.7unsigned char keyval; /储存

37、按键值/*函数功能:延时输出音频*/ void delay(void) unsigned char i;for(i=0;i200;i+) ; /*函数功能:软件延时子程序*/ void delay20ms(void) unsigned char i,j;for(i=0;i100;i+) for(j=0;j60;j+) ; /*函数功能:主函数*/ void main(void) unsigned char D =0,8,0,8,7,4,11; /设定密码 EA=1; /开总中断ET0=1; /定时器T0中断允许 TMOD=0x01; /使用定时器T0的模式1TH0=(65536-500)/25

38、6; /定时器T0的高8位赋初值TL0=(65536-500)%256; /定时器T0的高8位赋初值TR0=1; /启动定时器T0keyval=0xff; /按键值初始化while(keyval!=D0) /第一位密码输入不正确,等待 ; while(keyval!=D1) /第二位密码输入不正确,等待 ;while(keyval!=D2) /第三位密码输入不正确,等待 ;while(keyval!=D3) /第四位密码输入不正确,等待 ;while(keyval!=D4) /第五位密码输入不正确,等待 ;while(keyval!=D5) /第六位密码输入不正确,等待 ; while(key

39、val!=D6) /没有输入“OK”,等待 ; P3=0xfe; /P3.0引脚输出低电平,点亮LED/*函数功能:定时器0的中断服务子程序,进行键盘扫描,判断键位*/ void time0_interserve(void) interrupt 1 using 1 /定时器T0的中断编号为1,使用第一组寄存器 unsigned char i; TR0=0; /关闭定时器T0 P1=0xf0; /所有行线置为低电平“0”,所有列线置为高电平“1” if(P1&0xf0)!=0xf0) /列线中有一位为低电平“0”,说明有键按下 delay20ms(); /延时一段时间、软件消抖 if(P1&0x

40、f0)!=0xf0) /确实有键按下 P1=0xfe; /第一行置为低电平“0”(P1.0输出低电平“0”) if(P14=0) /如果检测到接P1.4引脚的列线为低电平“0” keyval=1; /可判断是S1键被按下 if(P15=0) /如果检测到接P1.5引脚的列线为低电平“0” keyval=2; /可判断是S2键被按下 if(P16=0) /如果检测到接P1.6引脚的列线为低电平“0” keyval=3; /可判断是S3键被按下 if(P17=0) /如果检测到接P1.7引脚的列线为低电平“0” keyval=4; /可判断是S4键被按下 P1=0xfd; /第二行置为低电平“0”

41、(P1.1输出低电平“0”) if(P14=0) /如果检测到接P1.4引脚的列线为低电平“0” keyval=5; /可判断是S5键被按下 if(P15=0) /如果检测到接P1.5引脚的列线为低电平“0” keyval=6; /可判断是S6键被按下 if(P16=0) /如果检测到接P1.6引脚的列线为低电平“0” keyval=7; /可判断是S7键被按下 if(P17=0) /如果检测到接P1.7引脚的列线为低电平“0” keyval=8; /可判断是S8键被按下 P1=0xfb; /第三行置为低电平“0”(P1.2输出低电平“0”) if(P14=0) /如果检测到接P1.4引脚的列

42、线为低电平“0” keyval=9; /可判断是S9键被按下 if(P15=0) /如果检测到接P1.5引脚的列线为低电平“0” keyval=0; /可判断是S10键被按下 if(P16=0) /如果检测到接P1.6引脚的列线为低电平“0” keyval=11; /可判断是S11键被按下 if(P17=0) /如果检测到接P1.7引脚的列线为低电平“0” keyval=12; /可判断是S12键被按下 P1=0xf7; /第四行置为低电平“0”(P1.3输出低电平“0”) if(P14=0) /如果检测到接P1.4引脚的列线为低电平“0” keyval=13; /可判断是S13键被按下 if

43、(P15=0) /如果检测到接P1.5引脚的列线为低电平“0” keyval=14; /可判断是S14键被按下 if(P16=0) /如果检测到接P1.6引脚的列线为低电平“0” keyval=15; /可判断是S15键被按下 if(P17=0) /如果检测到接P1.7引脚的列线为低电平“0” keyval=16; /可判断是S16键被按下 for(i=0;i200;i+) /让P3.7引脚电平不断取反输出音频 sound=0; delay(); sound=1; delay(); TR0=1; /开启定时器T0 TH0=(65536-500)/256; /定时器T0的高8位赋初值 TL0=(65536-500)%256; /定时器T0的高8位赋初值 26

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!