




已阅读5页,还剩49页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
天津工业大学单片机课程设计题目:基于单片机的密码锁设计 系 部 机械工程学院 专 业 测控技术与仪器 班 级 测控1301 学生姓名 邱大均 学 号 1310340115 学生姓名 夏海贝 学 号 1310340123 指导教师 桑宏强 2016年09月10日 摘 要随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统机械锁由于其本身锁芯密齿的有限加之开锁工具钥匙的容易复制性,使得其安全性大大降低,被撬事件屡见不鲜;相比之下,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐。电子密码锁作为一种新型的锁,不仅拥有海量的密齿,通常从1000到10000000不等,还省去了传统机械锁的钥匙,使用者只要记得其密码,便可以开启,从而大大提高了防盗功能。本设计以单片机AT89C51作为密码锁监控装置的检测和控制核心,分为主机控制和从机执行机构(本设重点介绍主机设计),实现钥匙信息在主机上的初步认证注册、密码信息的加密、钥匙丢失报废等功能。根据51单片机之间的串行通信原理,这便于对密码信息的随机加密和保护。而且采用键盘输入的电子密码锁具有较高的优势。采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,提高信号传输的抗干扰性,减少错误动作,而且功率消耗低;反应速度快、传输效率高、工作稳定可靠等。软件设计采用自上而下的模块化设计思想,以使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。测试结果表明,本系统各项功能已达到本设计的所有要求。关键词:单片机;密码锁;单片机设计 ;电子锁 Abstract With the development of technology and peoples living standard, how to achieve family security is been placed on the top priory. As the safety of traditional mechanical lock is greatly decreased due to the limited technology of key cylinder and the characteristic that is easy to copy, it often get pried by the thieves. By contrast, electronic code lock, a new type of lock, is not only featured by its safety, privacy and flexibility, which make it popular. It is also bored with innumerable secret keys, varying from 1,000 to 10,000,000. The users could unlock the door as long as he remembers the code, decreasing the possibility of being stolen. In this design, SCM AT89C51 function as the testing and control kernel of the appliances that monitor the code lock. Adevice and Bdevice, which could realize the function of initial authentication and registration, encryption of code information and missing and scrap of the keys, divide it into two parts that are controlled. According to the principle of serial communication, its convenientto randomly encrypt and protect code information. Moreover, the electronic code lock that is imported by keyboard is more competitive. Achieving the control of multiline message, the pattern that adopt digital information coding and secondary debugging could improve the anti-interference performance of signal transmission, reduce wrong movement and keep low consumption of power at the same time. It also enjoys the advantage of high reflection speed, high efficiency and working stability. Using the idea of modularity from top to bottom, the software design makes system develop towards miniaturization. Meanwhile, it also strengthens the expandability and working stability. From the test results we can see that the entire requirement has been satisfied.Key words: SCM, combination locks, the design of SCM, electronic locks目录第一章 绪论11.1 引言11.2 电子密码锁的背景11.3 电子锁设计的意义的本设计特点2第二章 系统设计42.1系统总设计结构图42.2开锁机构设计42.3主控芯片AT89C51单片机的简介52.4外部存储E2PROM(AT24C01) 简介8第三章 系统硬件设计123.1键盘设计123.2系统电路设计:123.2.1 晶振时钟电路123.2.2复位电路设计133.2.3串口引脚功能介绍133.2.4 其它引脚143.2.5 显示电路设计143.2.6 标准串口电路设计143.3电路图的绘制153.4元器件采购15第四章 软件设计174.1 系统软件设计整体思路174.3 系统模块密码设置子程序19第五章 程序调试205.1 程序调试用到的软件及工具205.2 KEIL C51简介205.3 调试过程21设计总结与展望24致 谢25参考文献26附录271第一章 绪论1.1 引言随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的喜爱。锁是置于可启闭的器物上,用以关住某个确定的空间范围或某种器具的,必须以钥匙或暗码打开的扣件。锁具发展到现在已有若干年的历史了,人们对它的结构、机理也研究得很透彻,因此,不用钥匙就能打开的方法和工具也层出不穷。现代人类文明社会里,由于社会中各种矛盾冲突十分剧烈,人们的思想道德观念,价值观念,文化修养水平等差异,群众中良莠不齐,善良的人们能够自觉规范自已的行为,“非礼不为”,虽无钥匙亦不会乱闯。然而,那些毫无道德观念的盗贼却想方设法利用高科技手段撬门开锁,使广大居民防不胜防。为什么会出现这种情况呢?因为传统锁具都存在致命的弱点:第一、 锁芯采用常见的铜、铝、锌等材料,抵抗不了强力破坏;第二、 锁具制作工艺,技术落后,无法阻止技术手段的开启。目前,市场上很多国内外的锁具,实际上都不具备真正的防盗功能。在惯偷面前,两根钢丝或几件简单的工具就可以把这些锁打开,有的惯偷甚至公开扬言:“没有我打不开的锁。”其实,不是他们多高明,而是一般锁具技术原理太过简单。面对这一残酷的现状,新时代提出了锁具必须革命的迫切的要求。1.2 电子密码锁的背景随着社会科技的进步,锁已发展到了密码锁、磁性锁、电子锁、激光锁、声控锁等等。在传统钥匙的基础上,加了一组或多组密码,不同声音,不同磁场,不同声波,不同光束光波,不同图像。(如指纹、眼底视网膜等)来控制锁的开启。从而大大提高了锁的安全性,使不法之徒无从下手,人们也就能对自身财产安全有了更多的保障。当今安全信息系统应用越来越广泛,特别在保护机密、维护隐私和财产保护方面起到重大作用,而基于电子密码锁的安全系统是其中的组成部分,因此研究它具有重大的现实意义。1.3 电子锁设计的意义的本设计特点单片机,亦称单片微电脑或单片微型计算机。它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口 (I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。 计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。微计算机(单片机)在这种情况下诞生了,它为我们改变了什么?纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC 卡、电子宠物等,这些都离不开单片机。以前没有单片机时,这些东西也能做,但是只能使用复杂的模拟电路,然而这样做出来的产品不仅体积大,而且成本高,并且由于长期使用,元器件不断老化,控制的精度自然也会达不到标准。在单片机产生后,我们就将控制这些东西变为智能化了,我们只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。这样产品的体积变小了,成本也降低了,长期使用也不会担心精度达不到了,且容易升级改善。 电子锁可以在日常生活和现代办公中,住宅与办公室的安全防范、单位的文件档案、财务报表以及一些个人资料的保存等多种场合使用。大大提高了主人物资的安全性,安全可以代替老式机械锁。目前使用的密码锁种类繁多,各具特色。本文从经济实用的角度出发,采用AT89C2051单机,研制了一款具有防盗自动报警功能的电子密码锁。该密码锁设计方法合理,简单易行,成本低,符合住宅、办公室用锁要求,具有一定的推广价值。(1)系统设置密码,密码通过键盘输入,若密码正确,则将锁打开。(2)密码由用户自己设定,在开锁状态下,用户可自行修改密码。(3)具有自动报警功能。自动报警分现场报警和远程报警两种。现场报警由扬声器发出报警声。(4)两种情况下可报警:一是密码输入错误3次,则报警;二是非正常开门,如破门而入的情况,可通过系统的红外监视装置监测,同时报警,保证了系统的安全性。系统工作时,用户通过按键输入密码,单片机将输入密码与设定密码进行比较,若密码正确,则发出开锁信号,将门打开,系统不报警;若密码不正确,则有相应的指示灯闪动,并要求重新输入密码,重新输入密码的次数不能超过3次,若3次输入的密码都不正确,则发出报警信号。第二章 系统设计液晶1602显示2.1系统总设计结构图 单片机时钟电路 密码输入设备单片机AT89C51开锁提示图2-1系统总设计结构图 本设计由主控芯片51单片机,单片机时钟电路,键盘,和开锁电路(蜂鸣器)组成。单片负责控制整个系统的执行过程。2.2开锁机构设计通过单片机送给开锁执行机构,电路驱动电磁锁吸合,从而达到开锁的目的。本设计通过P3.0接一个3极管驱动继电器打开电磁阀线圈实现开关门。蜂鸣器响AT89C51开锁驱动电路密码正确图22 密码锁开锁机构示意图当用户输入的密码正确而且是在规定的时间及次数输入之内,单片机便输出开门信号。2.3主控芯片AT89C51单片机的简介AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。主要特性: 与MCS-51 兼容 4K字节可编程闪烁存储器 寿命: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后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个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:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET; XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。图2-3 AT89C51芯片图2.4外部存储E2PROM(AT24C01) 简介u 产品特性 标准电压或低电压操作 5.0Vcc=4.5V至5.5V 2.7Vcc=2.7V至5.5V 2.5Vcc=2.5V至5.5V 1.8Vcc=1.8V至5.5V 内部结构 128*8 两线式串行接口 双向数据传送协议 兼容100kHz2.7V 2.5 V 1.8V和400kHz5V 每页4Byte写模式 自我定时写周期最大10ms 可靠性高 100万次擦写 数据保存100年 静电保护大于3000V 自动等级分划、可扩张温度元件 8引脚双列直插8引脚超小型外形封装8引脚超薄紧缩小型封装和8引脚JEDEC小外型集成电路封装 u 性能描述 AT24C01提供128*8的1024bit可擦出编程只读存储器。被广泛应用于低电压、低耗能要求的工业和商业。可在8引脚 PDIP, 8引脚 MSOP, 8引脚 TSSOP, and 8引脚 JEDEC SOIC封装下进行存储通过两线式串行总线进行读取。这个芯片系列均支持2.7V2.7V to 5.5V、2.5 V(2.5V to 5.5V) 、1.8 (1.8V to 5.5V)和5V(4.5V to 5.5V)。引脚名称功能NC无连接SDA串行通信SCL串行时钟输入Test测试输入(接地或接电压)图2-4 芯片引脚图u 元件操作 脉冲和数据传送SDA引脚通常以高电平与外部设备连接。SDA数据的改变只发生在SCL的下降沿。SDA数据改变发生在SCL上升沿时将会指示一个开始或停止的条件。如下述。 开始条件当SCL在上升沿时,SDA由高变为低。是先于所有命令的开始条件 停止条件当SCL在上升沿时,SDA由低变为高。是所有通讯停止的标志。当在一个读周期后,在备用电源模式下停止命令会代替EEPROM 应答所有的地址和数据都是通过EEPROM的8bit串行传送。系统内所有元件在接收数据时与EEPROM通信,必须将SDA总线置成低电平来应答已经成功接受数据。这个必须在接受数据后的9个时钟周期内并且系统所有元件都释放SDA总线。EEPROM同样会将SDA置成低电平在接受到数据之后。 待机模式AT24C01具有低耗能的特点,当它上电时或接受到停止命令,或者是完成任何内部操作。 存储测试在协议中的任何中断、掉电或者系统重启两线式会根据下面步骤重启。 1 .运行9个时钟周期 2.在SCL上升沿时检测SDA的高电平 3.检测到SDA的高电平时产生一个开始条件图2-5 24C01电路图2-6 24c01时序图图2-7 数据传输图第三章 系统硬件设计3.1键盘设计为了设计简单操作方便,该键盘设计为34的键盘,键盘包括数字键1-9与其他功能键,键盘对照图如下:表31 键盘对照78/上锁9/密码更改45612/时间+3/时间更改/位选择开锁0/时间-确认图3-1 矩阵键盘电路3.2系统电路设计:本系统电路主芯片AT89C51,晶振和两个电容组成的时钟脉冲,一个电阻和一个电解电容和一个按键组成的复位电路,一个液晶显示器1602构成的密码显示器,一个蜂鸣器,2个LED,一个NPN三极管组成的驱动电路构成了系统电路。3.2.1 晶振时钟电路单片机XIAL1和XIAL2分别接22pF的电容,中间再并个12MHz的晶振,形成单片机的晶振电路。图32 晶振电路3.2.2复位电路设计图33 复位电路3.2.3串口引脚功能介绍 单片的P0口外接1602液晶显示器,作为密码输入显示器;P1.7外接蜂鸣器,当P1.7被置0时,蜂鸣器发出声音;P1.5、P1.6口外接发光二极管用作系统工作状态提示。3.2.4 其它引脚 ALE引脚悬空,复位引脚接到复位电路、VCC接电源、VSS接地、EA接电源3.2.5 显示电路设计单片的P0口外接1602液晶显示器的数据输入D0-D7,液晶显示控制口RS接P1.2,RW接1.3,EN接P1.4图3-3 1206显示电路3.2.6 标准串口电路设计标准串口采用一个九针接口和一个MAX232组成一个串行通信接口与PC或单片机之间的通讯。图3-4 标准串口电路图3.3电路图的绘制用PROTEL 99 SE绘制的完整电路图如下: 图33 系统电路图3.4元器件采购1.元器件清单表33 元器件清单原件名称备注单片机AT89C51电阻R1,R2,R3,R4,R510K两个,300两个,4.7K一个电解电容C112, C132.2uF,10uF一个无极电容C1,C2,C3,C4,C5C6,C7,C8,C9,C10,C1122pF四个,0.1uF五个,10uF一个0.01uF一个开关一个5V蜂鸣器一个晶振Y1,Y212MHz一个11.0592Hz一个三极管2N4403一个按键13个LED D1,D2绿,红 各一个二极管1N41481个电路板1块滑动变阻器10K一个24c01一个二极管D11N4148一个排阻10KMAX232一个USB接口一个九针串口一个第四章 软件设计4.1 系统软件设计整体思路一个应用系统要完成各项功能,首先必须有较完善的硬件作保证。同时还必须得到相应设计合理的软件的支持,尤其是微机应用高速发展的今天,许多由硬件完成的工作,都可通过软件编程而代替。甚至有些必须采用很复杂的硬件电路才能完成的工作,用软件编程有时会变得很简单,如数字滤波,信号处理等。因此充分利用其内部丰富的硬件资源和软件资源,采用与C51系列单片机相对应的51汇编语言和结构化程序设计方法进行软件编程。程序设计语言有三种:机器语言、汇编语言和高级语言。机器语言是机器唯一能“懂”的语言,用汇编语言或高级语言编写的程序(称为源程序)最终都必须翻译成机器语言的程序(成为目标程序),计算机才能“看懂”,然后逐一执行。高级语言是面向问题和计算过程的语言,它可通过于各种不同的计算机,用户编程时不必仔细了解所用的计算机的具体性能与指令系统,而且语句的功能强,常常一个语句已相当于很多条计算机指令,于是用高级语言编制程序的速度比较快,也便于学习和交流,但是本系统却选用了汇编语言。原因在于,本系统是编制程序工作量不大、规模较小的单片机微控制系统,使用汇编语言可以不用像高级语言那样占用较多的存储空间,适合于存储容量较小的系统。4.2系统软件设计流程图开始系统返回否是密码错误是否要修改密码报警输入错误满3次输入错误未满3次密码比较 系统唤醒上电系统等待密码输入输入正确绿灯亮密码保存后系统返回输入新密码图41 系统程序设计结构图4.3 系统模块密码设置子程序 由于设计是分模块化进行,所以子程序是整体软件系统的组成部分,子程序不但可以使程序化整为零,使其复杂简单化,同时也方便阅读,修改等,每个功能模块都有它自己的子程序,在本设计中是用LCD显示数据,所以就要用到显示子程序,设计中用的是矩阵键盘,所以就用到键盘扫描子程序,例如还有显示初始化子程序、LCD忙检测子程序、关闭状态显示子程序、开锁状态显示子程序、密码输入及修改状态显示子程序、密码输入错误后的提示子程序等。如下图为密码修改子程序流程图 选择模式旧密码输入新密码输入存入缓存再次输入密码比较密码重新输入返回YN是否大于3次锁定NY图4.2 设置密码子程序第五章 程序调试把也写好的汇编语言程序的载入软件调试工具,检查软件是否有设法错误,再根据软件提示对本程序进行修改,直到没有错误再生成单片机能运行的机器码,再用51开发板或其它单怎机写入工具把机器码写入单片机进行实际的程序调试,根据实际情况再对程序的不足加以修改,直到满足设计要求。5.1 程序调试用到的软件及工具调试本程序需要用到KEIL C51,及51开发板一块及其配套的下载烧录软件5.2 KEIL C51简介Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。 C51工具包的整体结构: uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。5.3 调试过程 首先打开KEIL C51主程序,新建工程,新建文本框写入程序,保存,检查是否有语法错误,经反复检查无误后汇编,生成51单片机可执行的HEX文件。然后用51开发板相匹配的烧录软件把HEX文件写入单片机。图51 keil c51编程界面图52 单片机烧录软件界面图53 总体实物图设计总结与展望实践是检验真理的唯一标准,当然也是检验学习成果的标准。在经过一段时间的学习之后,我们需要了解自己的所学应该如何应用在实践中,因为任何知识都源于实践,归于实践,所以要将所学的知识在实践中来检验。在做单片机课程设计期间,在桑宏强老师的指导下,我们通过自身的不断努力,无论是逻辑上还是动手能力上,都取得了长足的发展和巨大的收获,现将工作总结如下:思想上,学会了用科学的精神去解决问题。很多事情看起来是很简单的问题,但实际做起来去会发现自己有许多考虑不周的地方。运用逆向思维去解决问题,这是我这次课程设计给我带来的思想上的改变。学习上,使自已在大学所以的知识在这次得到实践,学到一些书本上无法学到的经验,对电子元件有了进一步的认识。电子锁是信息化时代发展的产物,应时而生,我相信随着科技的不断发展,将来的电子锁一定更加完美,更加人性化,更加安全。致 谢以上为课程设计期间所设计的基于单片机与串行通信的电子密码锁,它经过多次修改和整理,已经是一个比较不错的设计,可以满足人们的基本要求,并能简单的学会使用。但是因为水平有限,此电路中也存在一定的问题,例如说电路的密码不能遗忘,一旦遗忘,就很难打开,这可以通过增加电路解决,但过于复杂以及我们知识的有限,本次设计未能实现。在没有做课程设计以前,觉得课程设计只是对知识的单纯总结,但是通过这次课程设计发现自己的看法有点太片面,课程设计不仅是对前面所学知识的一种检验,也是对自己能力的一种提高,通过这次课程设计使自己明白了原来的那点知识是非常欠缺的,要学习的东西还很多,通过这次课程设计,明白学习是一个长期积累的过程,在以后的工作和生活中都应该不断的学习, 努力提高自己的知识和综合素质。在这次课程设计中,同学之间互相帮助,有什么不懂的大家在一起商量,发现我们所学的知识实在是有限,不过我们能够充分利用网络的优势去查阅资料。在整个设计过程中懂得了许多东西,也培养了独立思考 和设计的能力,树立了对知识应用的信心,相信会对今后的学习工作和生活有非常大的帮助,并且提高了自己的动手实践操作能力,使自己充分体会到了在设计过程中的成功喜悦。虽然这个设计做的不是很完美, 但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我终身受益。 参考文献1 李朝青.单片机原理及接口技术(简明修订版)M.北京:北京航空航天大学出版社,19982 李全利.单片机原理及接口技术M.高等教育出版社,20033 杨将新,李华军,刘到骏等.单片机程序设计及应用(从基础到实践)电子工业出版社4 魏立峰,王宝兴.单片机原理与应用技术.北京:北京大学出版社,2006:11-135 刘鲲,孙春亮.单片机C语言入门.北京:人民邮电出版社,2010:11-486 陈丹萍.基于AT89S51单片机的电子密码锁设计.大众科技,2010,Vol.130(No.6):45-467王慧军.基于AT89S51单片机控制的电子密码锁设计. 8李建波.STC89C52单片机的电子密码锁.现代电子技术,2008, Vol.2869 王为清,程国刚.单片机KeilCx51应用开发技术.北京:人民邮电出版社,2007:11-7010 张齐基于单片机应用系统设计技术-基于C语言编程.北京:电子工业出版社,附录本设计的程序: /*/*函数名称:定义头文件/*/#include#include#include#includelcd1602.h/*/*函数名称:定义向量/*/#define uchar unsigned char#define uint unsigned int#define C02_write 0xa0#define C02_read 0xa1#define no0 0x82#define no1 0x41#define no2 0x42#define no3 0x44#define no4 0x21#define no5 0x22#define no6 0x24#define no7 0x11#define no8 0x12#define no9 0x14#define enter 0x84#define s1 0x81#define NOP4() _nop_();_nop_();_nop_();_nop_();/*/*函数名称:定义数组/*/#define lcm_write_cmd_add XBYTE0x80FF#define lcm_write_data_add XBYTE0x81FF#define lcm_read_busy_add XBYTE0x82FF#define lcm_read_data_add XBYTE0x83FFuchar idata key_code=no0,no1,no3,no4,no5,no6,no7,no8,no9;uchar idata Original_password6=1,2,3,4,5,6;/初始密码uchar idata temp1_password6=0,0,0,0,0,0;uchar idata temp2_password6=0,0,0,0,0,0;/输入的密码uchar idata temp3_password6=0,0,0,0,0,0;/用于OLD密码验证uchar idata temp4_password6=0,0,0,0,0,0;/用于2次密码比较/uchar Read_Current(); uchar Random_Read(uchar addr);uchar Display_Buffer16= ;uchar Count,hour=12,min=12,sec=12;bit flag,H_or_M;uchar display=Welcome to lock;void delayms(uchar i);void Write_IIC(uchar addr,uchar dat);void mima();void Initialize_LCD();void lcm_setxy(uchar x,uchar y);void Write_LCD_Data(uchar dat);void Write_LCD_Command(uchar cmd);void lcm_write_string(uchar *string);void delaymms(unsigned char a);void delay (unsigned char m);void LCD_POS(uchar pos);void Display_Time(uchar Hour,uchar Min,uchar Sec);void Set_time(void); /*/*函数名称:定义位/*函数功能:/*/sbit SCL=P11;sbit SDA=P10;sbit correct=P16;/sbit right=P31;sbit wrong=P15;sbit BEEP=P17;sbit RS=P12;sbit RW=P13;sbit EN=P14; unsigned char o,ppp;main(void) uchar i,shibu; /P0=0xff;P1=0xff;/端口初始化P3=0xff;TMOD=0x21;/定时器0,方式1ET0=1;/EA=1;/总中断允许TR0=1;/启动定时器0TH0=(65535-50000)/256;/装高8位初值TL0=(65535-50000)%256;/装低8位初值LCD_POS(0);/显示在液晶第1行第0列wrong=1;correct=1;Initialize_LCD();shibu=Random_Read(6);delayms(100);if(shibu=0xff)for(i=0;i0;i-)for(j=124;j0;j-);void DelayuS(unsigned int num) while( -num ) ; /*/*函数名称:延时子程序/*函数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/IEC 9594-7:2020/Amd 1:2025 EN Information technology - Open systems interconnection - Part 7: The Directory: Selected object classes - Amendment 1: Miscellaneous enhance
- 【正版授权】 ISO/IEC 42006:2025 EN Information technology - Artificial intelligence - Requirements for bodies providing audit and certification of artificial intelligence management syst
- 2025年贵州省事业单位公开招聘工作人员笔试历年典型考题及考点剖析附带答案详解
- 2025年资料员之资料员基础知识模拟考试试卷B卷含答案
- 中职教学创新优化课件
- 第三节重量分析仪器和基本操作一目的1.掌握沉淀重量法中的样
- Brand KPIs for milk:Italac in Brazil-英文培训课件2025
- 2025年信息系统项目管理师考试有效资源推试题及答案
- 2025年宪法知识题库及参考答案【夺分金卷】
- 2025年小学语文教师招聘考试测试卷及参考答案
- 成都国资委采购管理办法
- 提高情商的培训课件
- JJG 597-2025交流电能表检定装置检定规程
- 2025年广州市中考物理试题(含答案)
- 2024年漳州市常山开发区招聘笔试真题
- 服务外包合同服务外包协议
- 定额〔2025〕1号文-关于发布2018版电力建设工程概预算定额2024年度价格水平调整的通知
- 2024年反洗钱知识竞赛参考题库400题(含答案)
- 探究影响空气阻力的因素
- hs编码对照表.xls
- 《普通混凝土配合比设计规程》JGJ55-2011
评论
0/150
提交评论