




已阅读5页,还剩90页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计(论文)说明书题 目:基于单片机的电子密码锁院 (系): 信息与通信学院 专 业: 微电子学 学生姓名: 张金品 学 号: 1000240228 指导教师: 岳宏卫 职 称: 教授 2012年 12月 05日摘 要MCS-51系列单片机应用广泛,是学习单片机技术较好的系统平台,同时也是单片机微型计算机应用系统开发的一个重要系列。目前,单片机原理与应用教材大都采用汇编语言讲解和设计程序实例,但汇编语言学习困难。在实际应用系统开发调试中,特别是开发比较复杂的应用系统时,为了提高开发效率和使程序便于移植,现在多用C语言。在信息产业飞速发展的今天,我们生活中必不可需的设备都向着小型化、便携化、智能化、自动化的方向发展。所以电子密码锁随着快节奏的生活应运而生。在我国六七十年代还是传统的一把钥匙配一把锁,不管是单位还是个人每天都要认真检查是否锁上了门,而且钥匙还不能随便乱放,一旦不小心忘记放在哪里很可能就打不开门了。传统的锁也相当的不安全,会有一些不法分子想尽办法打开你的房锁去偷盗东西。电子密码锁的产生使得这些问题都不再是问题,我们只需简单的记住四位密码即可。关键词:电子密码锁 AT89S52 1602显示 矩阵键盘 蜂鸣器报警 继 电器AbstractMCS-51 series microcontroller widely used, is to learn a better SCM technology platform, but also developed a series of single-chip microcomputer application system. Currently, SCM principles and application materials are mostly using assembly language to explain the design process instance, but assembly language learning difficulties. In the development and debugging of the practical application of the system, especially the development of complex application systems in order to improve development efficiency and make the program easy to transplant, now more than using C language. In the rapid development of the information industry today, our lives will not need equipment toward miniaturization, portable, intelligent, automated direction. Electronic password lock came into being with the fast-paced life. Equipped with a lock in a key of the sixties and seventies, or traditional, whether units or individuals every day carefully check whether the door is locked, and the keys can not misplacing once accidentally forget where to put very might not open the door. The traditional lock considerable unsafe, there will be some unscrupulous elements tried their best to open your room lock to steal things. Generation of electronic password lock so that these issues are no longer a problem, we simply need to remember the four password.Keywords: electronic combination lock AT89S52 1602 display matrix the keyboard buzzer alarm relay目 录引言51 总体方案设计 51.1 方案论证62 硬件电路的设计.6 2.1单片机部分7 2.2 复位电路 9 2.3 显示模块LCD160210 2.4 键盘输入模块11 2.5 报警电路12 2.6 开锁电路133 系统软件设计133.1 主程序设计133.2开锁设计143.3密码修改设计153.4keil软件介绍17 4 调试及问题和解决办法17结论18谢辞18参考文献19附 录20引 言: 随着社会的进步和人们生活水平的提高,老式的锁已经跟不上人们的要求,况且人们对防盗的要求越来越高,因此近几年一种新型的电子密码锁应运而生,受到了人们的青睐。有报警功能的密码锁这时正为人们解决了不少问题。但是市场上的密码锁大部分都是用于一些大公司财政机构、价格高昂,一般人们难以接受。如果再设计和生产一种价格低廉、性能灵敏可靠的密码锁,必将在防盗和保证财政安全方面发挥更加有效的作用。密码锁是现代生活中经常用到的工具之一,广泛应用于保险柜、房门、宾馆、车库等。电子密码锁克服了机械式密码锁量少、安全性能差的缺点,特别是使用单片机控制的智能电子密码锁,不但功能全,而且具有更高的安全性和可靠性。并且电子密码锁只需记住一组密码,无需携带钥匙,免除了人们携带钥匙的烦恼,被越来越多的人所喜欢。随着我国第三产业的飞速发展,电子密码锁会在不久的将来得到广泛的应用,方便社会和个人。从电子密码锁出现到现在,电子锁的体积在缩小,同时可靠性也在提高,成本也相对慢慢减低,目前,在西方国家,电子密码锁技术相对先进,种类齐全,电子密码锁已被广泛应用于智能门禁系统中,使之更加安全更加可靠实现大门的管理。我国于90年代初期开始对密码锁进行初步的探索。到目前为止,随着电子技术和信息技术的发展,电子密码锁的技术领域已发展的十分成熟。从目前的技术水平和市场认可程度看,使用最为广泛的是键盘式电子密码锁,该产品主要应用于保险箱、保险柜和金库,还有一部分应用于保管箱和运钞车。在其他技术领域还有遥控式电子密码锁以及卡片式密码锁等。1.系统设计方案单片机密码锁主要内容:(1) ,宽范围密码设置,密码可以由“0123456789abcf“等10个数字和六个字母任意合一 个四位密;(2) 、如果输入密码正确,打开继电器并显示密码正确;如果密码错误显示密码错误, 并且蜂鸣器连续报警一段时间;(3) 、记录输入错误次数,当连续输入错误三次,将连续数分钟不能进行密码输入,并间断报警,过后自动恢复输入待机状态。(4)修改密码功能,初始密码6767,随时可以修改密码,当然修改之前得先输入正确的旧密码,为了便于观察,输入新密码的时候实时显示输入的密码。1.1 方案论证本系统采用以单片机为核心元件的控制方案。选用AT89S52单片机。4*4矩阵键盘输入密码。用蜂鸣器和继电器来作为控制的演示。外接LCD1602显示器用于显示作用。其原理如下图1所示。 图1单片机控制方案2 系统硬件设计与实现本课题所设计的外围电路包括:单片机部分、复位电路、显示1602、矩阵键盘、报警电路和开锁电路。2.1单片机部分在本设计中选用 ATMEL 公司的 AT89S52单片机作为主控芯片。它是一款低功耗,AT89S52就是一款广泛应用的,高性能CMOS 8位单片机,由于系统控制方案简单,数据量也不大,考虑到电路的简单和成本等因素,因此在本设计中选用 ATMEL 公司的 AT89S52单片机作为主控芯片。主控模块采用单片机最小系统是由于 AT89S512芯片内含有8 B的 E2PROM ,无需外扩存储器,电路简单可靠,其常用时钟频率为 12 MHz,并且价格低廉,批量价在 5元以内。AT89S51是一款功能强大的微型计算机,它可为许多嵌入式控制应用系统提供高性价比。单片机的最小系统是由复位电路、时钟电路和电源组成。复位操作有上电自动复位、按键复位和外部脉冲复位3种方法。本文采用的是上电复位它是通过系统外部的复位电路来实现的。根据电路原理可知电容两极板间的电压不能突变当单片机电源接通电源的瞬间单片机的9管脚会产生一个阶跃信号,所以RTS端维持高电平由于这个充电时间远远大于1ms,一般就可以实现对单片机的上电自动复位,即接通电源就完成了系统的初始化。初始化是为了让单片机从地址0000H开始执行, 除此之外单片机要想正常工作还必须有时钟电路,时钟电路是产生时序的基础,单片机每执行一条指令都是建立在时序电路上的,为了能保证单片机执行指令的同步,电路就要在唯一的时钟信号控制下按时序的先后进行工作。它分为内部时钟电路和外部时钟电路。本文采用的是内部时钟电路,在MCS51单片机的内部有一个高增益的反向放大器,其输入端为引脚XTAL1,输出端为XTAL2,只要在外部接上两个电容和一个晶振,就能够成一个稳定的自激振荡器。在设计电路时,晶振和电容应尽可能的靠近芯片,这样可以提高系统的抗干扰能力,电源部分,电源与地之间可以接一个0.1uF的电容,它用来滤除电源的纹波,使单片机稳定工作,单片机最小系统如图3-1所示。 图2-1 单片机最小系统 单片机AT89S52引脚说明:VCC:电源电压输入端。 GND:电源地。 P0口:P0口是一个8位漏极开路双向I/O端口,每个引脚可以吸收8TTL门电流。P0口当作数据输出时需要加上拉电阻,当P0口的I/O口被写“1”后,被定义为高阻抗输入状态。P0可以用于外部程序数据存储器,P0口可以是地址的低八位以及数据输出口。 P1口:P1口是一个8位双向的I/O端口单片机内部加上了上拉电阻的端口,P1口缓冲器可接收的4TTL栅极电流输出。P1口的I/O口被写 “1”后,内部上拉的是高的,可以作为输入,P1口外部下拉低时输出电流,这是因为有内部上拉的缘故。P2口:P2口是一个8位双向的I/O端口单片机内部加上了上拉电阻的端口,P2口缓冲器可接收的4TTL栅极电流输出。当P2口的I/O口被写“1”后,内部上拉的是高的,可以作为输入,P2口外部下拉低时输出电流,这是因为有内部上拉的缘故。当P2口用于外部程序存储器或外部数据存储器时P2口是地址高八位输出。P3口:P3口是一个8位双向的I/O端口单片机内部加上了上拉电阻的端口,P3口缓冲器可接收的4TTL栅极电流输出。P3口的I/O口被写“1”后,内部上拉的是高的,可以作为输入,P3口外部下拉低时输出电流,这是因为有内部上拉的缘故。P3口除了普通I/O口功能,还有其第二功能P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(T0定时器的外部计数输入) P3.5 T1(T1定时器的外部计数输入) P3.6 /WR(外部数据存储器的写选通) P3.7 /RD(外部数据存储器的读选通) RST:复位引脚高电平时MCU复位,复位信号输入端口,当MCU要复位时,给与此引脚高电平,高电平持续时间是不少于两个机器周期的时间。ALE/PROG:地址锁存使能以及编程脉冲信号端口。当单片机访问外部的存储器时,地址锁存使能锁存地址低八位。通常情况下,ALE引脚输出单片机外部振荡器的频率的1/6的频率输出。应该注意到的是:当用于单片机扩展外部的数据存储器时,它会少一个ALE脉冲。如果你想禁止ALE输出可以设置为0在SFR8EH地址。此时,ALE只有在执行MOVX,MOVC指令时ALE才起作用。此外,ALE引脚倍稍微拉高。如果微处理器在外部执行状态ALE的禁令,设置无效。PSEN:程序存储器允许输出控制端,在读外部程序存储器时PSEN低电平有效,以实现外部程序存储器单元的读操作。EA/VPP:外部程序存储器访问允许。当/EA接高电平时,单片机读取内部程序序存储器,当扩展有外部ROM时,当读完内部ROM后自动读取外部ROM,当/EA接低电平时,单片机直接读取外部程序存储器。XTAL1:片内振荡器反相放大器和时钟发生器的输入端。 XTAL2:片内振荡器反相放大器的输出端。2.2 复位电路能让单片机运行起来的最小硬件连接就是单片机最小系统电路,51单片机的最小系统电路一般包括工作电源、振荡电路和复位电路等几部分。RST引脚是复位信号的输入端,复位信号是高电平的时候才有效,其有效时间应持续24个震荡脉冲周期(即2个机器周期)以上;通常为了保证应用系统能够准确地复位,复位电路应使引脚RST脚保持10ms以上的高电平状态。只要RST保持高电平,单片机就会自动循环复位。当RST引脚从高电平状态转为低电平状态时,单片机退出复位状态,从程序存储器的0000H地址开始执行用户程序。电容C3和电阻R5组成上电复位电路。上电瞬间RST引脚获得高电平,随着电容C11的充电,RST引脚的高电平逐渐下降。只要高电平保持足够的时间,单片机就能完成复位。手动复位的原理与此类似。图2-2 复位电路硬件结构2.3 显示模块LCD1602如果想要了解系统的运行与工作状态显示器是不可缺少的,显示器是一个典型的输出设备并且它的实际应用也是极为广泛的,几乎所有的电子产品都会使用到显示器其差别仅在于显示器的结构类型不同而已。最简单的显示器可以是LED发光二极管或者数码管,它可以给出一个简单的开关信息或者数字显示,而需要显示复杂的完整的信息上述的器件就不能胜任,而液晶的出现就很好的解决了这一问题,它不仅显示内容丰富而且好节约了单片机的管脚资源。本设计采用的是液晶显示LCD1602。LCD1602内部的字符已经储存了不同的字符形式,每一个字符都有一个固定的代码,其代码与标准的ASCII字符代码一致。因此只要写入显示字符的ASCII码即可,这种标准化的设计给使用带来很大的方便。比如英文字母“C”的ASCII代码是01000011(43H),显示时单片机往液晶模块写入显示指令,模块就会把地址为43H中的点阵字符图形识别出,并会在液晶屏相应位置上看到字母“C”。LCD1602液晶显示与单片机的连接可以分为两种方式:总线方式和模拟口线方式。在实验中,我们常采用模拟口线连接方式。 目前市场字符液晶绝大多数是基于HD44780的液晶芯片,控制原理是完全相同的,因此基于HD44780的写控制程序可以很容易地应用到市场上大部分的字符液晶。LCD1602液晶的几个特性:+5V电压、对比度可调、内含复位电路;提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能;有80字节显示数据存储器DDRAM;内建有160个5X7点阵的字型的字符发生器CGROM 8个可由用户自定义的5X7的字符发生器CGRAM。 表3-1 LCD液晶屏引脚说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2Data I/O2VDD电源正极10D3Data I/O3VEE液晶显示偏压信号11D4Data I/O4RS数据/命令选择端(H/L)12D5Data I/O5R/W读写选择端(H/L)13D6Data I/O6E使能信号14D7Data I/O7D0Data I/O15BLA背光源正极8D1Data I/O16BLK背光源负极图2-3 1602LCD1602采用标准的16脚接口,其中VSS为地电源,VDD接5V正电源,VEE为液晶显示器。RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。RW为读写信号线,高电平1时进行读操作,低电平0时进行写操作。E端为使能端。D0D7为8位双向数据线。2.4 键盘输入模块键盘是单片机十分重要的输入设备,是实现人机对话的纽带。键盘是由一组规则排列的按键组成,一个按键实际上就是一个开关元件,即键盘是一组规则排列的开关。根据按键与单片机的连接方式不同,按键主要分为独立式按键和矩阵式按键 ,有了这些按键,对单片机的控制就方便多了。本设计按键数量较多,所以采用矩阵式按键以节省I/O口线。将16个按键分为4排4列排列好,如图矩阵键盘硬件结构。用线反转法确定是哪个键按下。键盘为44形式,按键包括阿拉伯数字09和字母a-f,当用户需要输入密码或修改密码时,按下相应按键即会与单片机产生信号,并会执行相应的程序。图2-4键盘模块硬件结构2.5 报警电路当密码输入两次的数值与所设定的参数值不同时,单片机AT89S52便通过P1.3口控制三极管8050来驱动扬声器报警,当输出低电平时三极管截止,当输出高电平时三极管导通扬声器报警。如图3-10所示。图2-5报警电路硬件结构2.6 开锁电路开锁电路的功能是当输入正确的密码后密码锁将打开。当单片机P3.3引脚发出信号经三极管放大后,触动电磁阀即会把锁打开(用继电器和LED代替演示)。一旦输入4位密码,单片机便会与初始密码进行比对,如果密码与原始密码不相符即会报警 图2-6开锁电路硬件结构3.系统软件设计软件设计主要包括了主程序设计、键盘扫描设计、密码修改设计、1602显示模块设计、开锁程序设计以及错误次数记录程序设计五个方面。本设计采用Keil编译器来进行软件的编程。3.1 主程序设计 图3-1 主程序流程图设计主程序主要完成了系统的初始化、按键扫描、按键功能、以及调用显示等功能。3.2开锁设计键盘扫描和键值读取程序主要判断矩阵按键是否按下,按下的是哪一个键,并求出按键的键值然后与密码比较得出是否正确。矩阵键盘的识别方法有多种。采用线反转法进行扫描,并具有等待按键释放功能。 图3-2 开锁设计3.3密码修改设计4位旧密码锁由矩阵按键输入,输入的密码存储在单片机中,输入四位密码后进行密码比较;若全部4位密码均输入正确,显示密码正确信息;并进入四位新密码输入函数,此时在屏幕上可以看到输入的密码,输入完成后显示succeed表示修改成功,回到初始化界面;若输入的密码不正确,报警后回到初始化界面。 图3-3 密码修改设计3.4keil软件介绍:Keil实例教程(一) Keil 工程文件的建立、设置与目标文件的获得 单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍4.调试及问题和解决办法在本系统的设计过程中,遇到了一些问题。首先是板子焊出来下不进程序,后来发现是有一个晶振电容没有焊好。在软件编写方面,一开始1602的显示不稳定,经常出现乱码显示。后来查了多个地方资料发现了问题的解决办法:每次显示时候要清屏。还有输入密码开始不能保存,后来把保存密码的数组序号改好。这样问题就都解决了。 结论本系统具有稳定可靠,成本低、反应灵敏等特点。在设计过程中,我查阅大量的相关资料,详细的了解了各个芯片的作用,如何工作,工作原理,个个芯片引脚的连接方式。对系统硬件的设计,电路原理图以及仿真,此次设计涉及到了DXP2008和keil软件的使用,通过近段时间的使用,对这些有了更深的了解。对于软件部分的Keil软件的使用,是我们对C语言又有了更深一步的了解。通过完成设计,我们对所学的知识有了更深刻地了解,实现了从理论到实践再到理论的几个飞跃,也更加了解到科学知识应该以服务社会为目的,只有掌握了足够的知识才能更好的为社会贡献我们的力量。我学会了利用所学知识以技术上的知识解决问题的能力。 谢辞通过亲自动手认真完成本次课程设计,加深了笔者对相关相关电子电路、模拟电子技术和数字电子电路理论知识以及C语言软件编程的理解和认知。借此,感谢学院提供给我们提供这样一个实践动手机会,在制作的过程中特别感谢给予笔者帮助的岳宏卫老师。谢谢老师的指导及帮助,监督我及时完成了本次课程设计。同时还感谢给予我帮助和提供给我新思路的同学们。 参考文献1 李叶紫,王喜斌,胡辉,孙东辉MCS-51单片机应用教程M北京:清华大学出版社 2004:29-352 夏路易,石宗义电路原理图与电路板设计教程PROTEL 99SEM北京:北京希望电子出版社 2004:56-593 王福瑞编著,单片微机测控系统设计大全北京航空航天大学出版社,19994 李华,MCS-51系列单片机使用接口技术北京航空航天大学出版社,19905 余永权,Flash 单片机原理及应用北京:电子工业出版社,19976 兰吉昌,51单片机应用设计百例北京:化学工业出版社,2009:220-2307 曹素芬,单片微型计算机原理与接口技术M沈阳:东北大学出版社,1995.8 吴金戎,8051单片机实践与应用M北京:清华大学出版社,2002.9 于永,戴佳,刘波51单片机C语言常用模块与综合设计实例精讲M北京:电子工业出版社,2008 第二版10DXP电路设计与仿真.北京: 机械工业出版社,2002:100-17011 Johnson J B.The Multibus Design Guidebook. McGrawHill Book Company,199512 Borko H,Bernier C LIndexing concepts and methods .New York:Academic 附录1:电路原理图: 附录2:PCB版图 附录3:实测图片附录4:C程序源代码:/*函数功能:基于AT89S52单片机的电子密码锁,具有以下功能:(1),宽范围密码设置,密码可以由“0123456789abcf“等10个数字和六个字母任意合为一个四位密;(2)、如果输入密码正确,打开继电器并显示密码正确;如果密码错误显示密码错误,并且蜂鸣器连续报警一段时间;(3)、记录输入错误次数,当连续输入错误三次,将连续数分钟不能 进行密码输入,并间断报警,过后自动恢复输入待机状态。(4)修改密码功能,初始密码 6767,随时可以修改密码,当然修改之前得先输入正确的旧密码,为了便于观察,输入新 密码的时候实时显示输入的密码。*/#include /包含单片机寄存器的头文件#include /包含_nop_()函数定义的头文件#define uchar unsigned char#define uint unsigned int/*函数功能:管脚、数组定义*/sbit RS=P10; /1602管脚定义sbit RW=P11; sbit E=P12; sbit BF=P07;sbit fmq=P13;sbit jdq=P33; /继电器管脚定义char key,m=0;char unm=0; unsigned char mima_shur=0,0,0,0; /输入的密码暂时存放unsigned char mima=6,7,6,7; /初始密码unsigned char code key_zhi = 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f; /键值表unsigned char code key_code=0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d, 0xeb,0xdb,0xbb,0x7b,0xe7,0xd7,0xb7,0x77; /键值序号查询/*函数功能:延时1ms*/void delay1ms(uint i) /1ms基准延时程序 uchar j; while(i-) for(j=0;j115;j+) ; void delay500us() /500us基准延时程序 unsigned char j;for(j=0;j57;j+) ; /*函数功能:蜂鸣器*/void beep() /产生1KHZ频率声音的函数 fmq=1;delay1ms(200);fmq=0;delay1ms(200);/*函数功能:1602设置和初始化*/bit busytest(void) /液晶忙碌判断 bit result; RS=0; RW=1; E=1; _nop_(); _nop_(); _nop_(); _nop_(); result=BF; E=0; return result;void writeinstruction(unsigned char dictate) while(busytest=1); RS=0; RW=0; E=0; _nop_(); _nop_(); _nop_(); _nop_();P0=dictate; _nop_(); _nop_(); _nop_(); _nop_(); E=1; _nop_(); _nop_(); _nop_();E=0; void writeaddress(unsigned char x ) /指定地址 writeinstruction(x|0x80); void writeData(unsigned char y) /写人模块 while(busytest=1); RS=1; RW=0; E=0; P0=y; _nop_(); _nop_(); _nop_();E=1; _nop_(); _nop_(); _nop_(); _nop_(); E=0;void lcdinitiate(void) /初始化液晶 delay1ms(14); writeinstruction(0x38); delay1ms(5); writeinstruction(0x38); delay1ms(5); writeinstruction(0x38); delay1ms(5); writeinstruction(0x0c); delay1ms(5); writeinstruction(0x06); delay1ms(5); writeinstruction(0x01); delay1ms(5);/*函数功能:提示字符表的显示函数*/void wait() /显示等待状态USE ME unsigned char i,p,right=Use me please!,xuehao=1000240228; lcdinitiate(); for(i=0,p=0x00;i=13;i+) delay1ms(2); writeaddress(p); delay1ms(2); writeData(righti); p+; for(i=0,p=0x45;i=9;i+) delay1ms(2); writeaddress(p); delay1ms(2); writeData(xuehaoi); p+; delay1ms(2);void input() /显示INPUT unsigned char i,p,right=Input please!; lcdinitiate(); for(i=0,p=0x02;i=12;i+) delay1ms(2); writeaddress(p); delay1ms(2); writeData(righti); p+; delay1ms(2);void right() /显示RIGHT unsigned char i,p,right=Right opening.; lcdinitiate(); for(i=0,p=0x00;i=15;i+) delay1ms(2); writeaddress(p); delay1ms(2); writeData(righti); p+; delay1ms(2);void wrong() /显示WRONG unsigned char i,p,right=WRONG; lcdinitiate(); for(i=0,p=0x06;i=4;i+) delay1ms(2); writeaddress(p); delay1ms(2); writeData(righti); p+; delay1ms(2);void input_old() /显示INPUT OLD unsigned char i,p,right=Input old; lcdinitiate(); for(i=0,p=0x05;i=8;i+) delay1ms(2); writeaddress(p); delay1ms(2); writeData(righti); p+; delay1ms(2);void succeed() /显示succeed unsigned char i,p,right=Succeed!; lcdinitiate(); for(i=0,p=0x05;i=7;i+) delay1ms(2); writeaddress(p); delay1ms(2); writeData(righti); p+; delay1ms(2);void input_new() /显示INPUT new unsigned char i,p,right=Input new; lcdinitiate(); for(i=0,p=0x05;i=8;i+) delay1ms(2); writeaddress(p); delay1ms(2); writeData(righti); p+; delay1ms(2);void z_tai(char n) /显示INPUT 状态 unsigned char i,p, right=Input please!,ztai=*; for(i=0,p=0x02;i=12;i+) delay1ms(2); writeaddress(p); delay1ms(2); writeData(righti); p+; for(i=0,p=0x45;i=n;i+) delay1ms(2); writeaddress(p); delay1ms(2); writeData(ztaii); p+; delay1ms(2);void z_tai_new(char n) /修改密码的显示状态unsigned char i,p, right=Input new; for(i=0,p=0x05;i=8;i+) delay1ms(2); writeaddress(p); delay1ms(2); writeData(righti); p+; for(i=0,p=0x45;i=n;i+) delay1ms(2); writeaddress(p); delay1ms(2); writeData(mimai); p+; delay1ms(500);/*函数功能:矩阵键盘扫描函数*/char keyscan() char scan1,scan2,keycode,j; P2=0xf0; scan1=P2; if(scan1&0xf0)!=0xf0) /判键是否按下delay1ms(20); /延时20ms scan1=P2; if(scan1&0xf0)!=0xf0) /二次判键是否按下 P2=0x0f; /线反转法的核心 scan2=P2; keycode=scan1|scan
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海兴伟学院《多媒体课件制作与开发》2023-2024学年第二学期期末试卷
- 河南机电职业学院《遥感与地理信息系统发展前沿》2023-2024学年第二学期期末试卷
- 重庆信息技术职业学院《信号检测与控制》2023-2024学年第二学期期末试卷
- 网络架构安全运维
- 辽宁工程职业学院《智慧城市工程》2023-2024学年第二学期期末试卷
- 上海中华职业技术学院《工程项目管理软件实验》2023-2024学年第二学期期末试卷
- 广州中医药大学《生态环境保护基础(三)》2023-2024学年第二学期期末试卷
- 甘孜职业学院《桥梁工程(B)》2023-2024学年第二学期期末试卷
- 上海海事大学《职业规划教育课程》2023-2024学年第二学期期末试卷
- 贵州警察学院《教育应用写作》2023-2024学年第二学期期末试卷
- 胃镜室试题及答案
- 2025年高考英语总复习《语法填空》专项检测卷(附答案)
- 电子电路维修试题及答案
- 2025中国临床肿瘤学会CSCO小细胞肺癌诊疗指南解读课件
- 2025年陕西高中学业水平合格性考试数学模拟试卷(含答案详解)
- 微生物污染问题的防治策略试题及答案
- 2025重庆建峰工业集团有限公司招聘77人笔试参考题库附带答案详解
- 自然分娩接产操作规范
- 仓库三级安全教育培训
- 焊接实训车间建设方案
- 电商售前客服质检培训
评论
0/150
提交评论