




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖南工学院课程设计任务书课 程: 单片机技术 课程设计题目: 数字电子钟 数字频率计 数字电压表 交通灯 抢答器 密码锁 波形发生器 数字温度计 计算器 数字式秒表 适 用 班 级: 通信工程1201 时 间: 20142015学年第一学期 指 导 教 师: 凌 云 单片机技术课程设计任务书一、设计题目:数字电子钟、数字频率计、数字电压表、交通灯、抢答器、密码锁、波形发生器、数字温度计、计算器、数字式秒表。二、适用班级:通信1201三、指导教师:凌云四、设计目的与任务:学生通过理论设计和实物制作解决相应的实际问题,巩固和运用在单片机技术中所学的理论知识和实验技能,掌握单片机应用系统的一般设计方法,提高设计能力和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。五、设计内容与要求 设计内容1、数字电子钟设计一个具有特定功能的电子钟。该电子钟上电或按键复位后能自动显示系统提示符“P.”, 进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子钟启动/调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动/调整键再次进入时钟运行状态。2、数字频率计设计一个能够测量周期性矩形波信号的频率、周期、脉宽、占空比的频率计。该频率计上电或按键复位后能自动显示系统提示符“P.”, 进入测量准备状态。按频率测量键则测量频率;按周期测量键则测量周期;按脉宽测量键则测量脉宽;按占空比测量键则测量占空比。3、数字电压表设计一个能够测量直流电压的数字电压表。测量电压范围05V,测量精度小数点后两位。该电压表上电或按键复位后能自动显示系统提示符“P.”, 进入测量准备状态,按测量开始键则开始测量,并将测量值显示在显示器上,按测量结束键则自动返回“P.”状态。4、交通灯设计一个具有特定功能的十字路口交通灯。该交通灯上电或按键复位后能自动显示系统提示符“P.”, 进入准备工作状态。按开始键则开始工作,按结束键则返回“P.”状态。要求甲车道和乙车道两条交叉道路上的车辆交替运行,甲车道为主车道,每次通车时间为60秒,乙车道为次车道,每次通车时间为30秒,要求黄灯亮3秒,并且1秒闪烁一次。有应急车辆出现时,红灯全亮,应急车辆通车时间10秒,同时禁止其他车辆通过。5、抢答器设计一个具有特定功能的抢答器。该抢答器上电或按键复位后能自动显示系统提示符“P.”, 进入准备工作状态。主持人按下开始按钮后,抢答开始并限定时间30S;10S内无人抢答,蜂鸣器发出音响;主持人按下开始按钮之前有人按下抢答器,抢答违规,显示器显示违规台号,违规指示灯亮,其它按钮不起作用;正常抢答,显示器显示台号,蜂鸣器发出音响,其它抢答按钮无效;正常抢答下,从按下抢答按钮开始30S内,答完按钮没按下,则作超时处理,超时处理时,违规指示灯亮,显示器显示违规台号。蜂鸣器发出音响;各台数字显示的消除,蜂鸣器音响及违规指示灯的关断,都要通过主持人按复位按钮。6、密码锁设计一个具有特定功能的密码锁。该密码锁上电或按键复位后能自动显示系统提示符“P.”, 进入准备工作状态。该密码锁具有系统原始密码888888,用户可以设定并存储用户密码,密码输入时应处于保密显示状态,密码输入正确时应显示密码输入正确提示信息,否则,显示密码输入错误提示信息。7、波形发生器设计一个具有特定功能的波形发生器。该波形发生器上电或按键复位后能自动显示系统提示符“P.”, 进入准备工作状态。该波形发生器可以分别产生幅值05V、频率100Hz100KHz范围内的三角波、锯齿波、方波、梯形波和正弦波。8、数字温度计设计一个具有特定功能的数字温度计。该数字温度计上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。测量温度范围099,测量精度小数点后两位,可以通过开始和结束键控制数字温度计的工作状态。9、计算器设计一个具有特定功能的计算器。该计算器上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。能实现(1)基本的加、减、乘、除、平方、开方;(2)三角函数运算;(3)十进制、十六进制转换运算;(4)其他功能。10、数字式秒表设计一个具有特定功能的数字式秒表。该数字式秒表上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。该数字式秒表应具有开始、暂停、连续、清零和停止功能。设计要求1、以上课题可以任选其一或多选,学生也可以自拟课题;2、编程语言:汇编或C51;3、计算机打印单片机技术课程设计说明书一份;4、设计时间:一周;5、实物制作;6、人员分组:一人一组一实物。六、单片机技术课程设计说明书正文主要内容参照“单片机技术课程设计说明书正文主要内容”文件。七、单片机技术课程设计说明书书写规范格式 参照“单片机技术课程设计说明书书写规范格式”文件。八、参考资料1、马忠梅,单片机的C语言Windows环境编程宝典M, 北京:北京航空航天大学出版社,2003.6; 2、李光飞,单片机C程序设计指导M,北京:北京航空航天大学出版社,2003.01 ;3、李光飞,单片机课程设计实例指导M,北京:北京航空航天大学出版社,2004.9。电气自动化教研室 2014年9月10日摘 要利用AT89S52单片机芯片,实现基本的密码锁功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接24C02B芯片用于密码的存储,外接LCD12864显示器用于显示作用。当用户修要开锁时,进入开锁界面之后按键盘的数字键0-9输入密码。密码输入完成后按下确认键,如果密码输入正确则开锁,不正确显示密码错误重新新输入密码,当三次输入密码错误时则发出报警;当用户需要修改密码时,进入密码修改界面,接着输入原来的密码,只有当输入的原密码正确后才能设置新密码。新密码输入后按下确认键后系统将得到存储,密码修改成功。单用户忘记密码可启用管理员操作系统,实现系统初始化,其具体功能如下:(1) 具有系统原始密码888888,管理员密码999999。(2) 用户可以自定义密码。(3) 具有管理员密码,用于非常情况,可使系统恢复出厂设置,锁屏后可以通过超级密码进行重置密码。(4) 密码输入时应处于保密显示状态,密码输入正确时应显示密码输入正确提示信息。(5) 断电记忆功能。(6) 原始密码只供普通用户修改一次,修改后原始密码无效,断电后,按修改后的密码解锁。(7) 开机密码连续输入三次错误,自动报警,并且锁住屏幕,无法再次进入密码输入界面。关键词:键盘输入;密码存储;显示;报警;开锁目 录1 设计任务及功能介绍81.1 设计课题任务81.2 功能要求说明81.3 设计总体方案及工作原理说明82 密码锁硬件系统的设计9 2.1 密码锁硬件系统各模块功能简要介绍9 2.1.1 电路总体构成9 2.1.2 键盘输入部分9 2.1.3 密码存储部分10 2.1.4 复位部分10 2.1.5 晶振部分11 2.1.6 显示部分11 2.1.7 报警部分11 2.1.8 开锁部分11 2.2 密码锁电路原理图、PCB图、元件布局图11 2.3 密码锁元件清单113 密码锁软件系统设计12 3.1 密码锁使用单片机资源情况12 3.2 密码锁软件系统各模块功能简要介绍12 3.3 密码锁软件系统程序流程框图124 设计结果16 4.1 设计结论及使用方法16 4.2 心得体会164.3 教学建议16结束语17参考文献18致谢19附录20附录A20附录B21附录C22附录D23附录E241 设计任务及功能介绍1.1 设计课题任务本设计采用AT89S52型号的单片机和其外围电路包括电源输入口、键盘输入部分、密码存储部分、复位部分、晶振部分、显示部分、报警部分、开锁部分。根据实际情况键盘输入部分选择44矩阵键盘,显示部分选择字符型液晶显示LCD12864,密码存储部分选用AT24C02芯片来完成密码锁的开锁、密码修改和密码初始化。用户想要打开锁,必先通过提供的键盘输入正确的密码才能将锁打开,密码输入错误有提示,为了提高安全性,当密码输入错误三次将报警。密码可以由用户自己修改设定,锁打开后才能修改密码。当用户不记得密码时可通过专业认证服务用管理员密码使密码锁恢复出厂设置,管理员密码为999999。1.2 功能要求说明设计一个具有特定功能的密码锁。该密码锁上电或按键复位后能自动显示系统提示符“P.”, 进入准备工作状态。该密码锁具有系统原始密码888888,用户可以设定并存储用户密码,密码输入时应处于保密显示状态,密码输入正确时应显示密码输入正确提示信息,否则,显示密码输入错误提示信息。1.3 设计总体方案及工作原理说明由于单片机总类繁多,各种型号都用一定的应用环境,因此在选用时要多加比较,合理选择,以期获得最佳的性价比。一般来说在选择单片机时下面几个方面考虑:性能、存储器、运行速度、I/O口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些还有一些最基本的比如:中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。当用户修要开锁时,进入开锁界面之后按键盘的数字键0-9输入密码。密码输入完成后按下确认键,如果密码输入正确则开锁,不正确显示密码错误重新新输入密码,当三次输入密码错误时则发出报警;当用户需要修改密码时,进入密码修改界面,接着输入原来的密码,只有当输入的原密码正确后才能设置新密码。新密码输入后按下确认键后系统将得到存储,密码修改成功。 2 密码锁硬件系统的设计2.1 密码锁硬件系统各模块功能简要介绍2.1.1 电路总体构成采用以单片机为核心的控制方案,总体框图见图1。在确定了选用什么型号的单片机后,就要确定外围电路。其外围电路包括电源输入口、键盘输入部分、密码存储部分、复位部分、晶振部分、显示部分、报警部分、开锁部分。根据实际情况键盘输入部分选择44矩阵键盘,显示部分选择字符型液晶显示LCD12864,密码存储部分选用AT24C02芯片来完成。其原理图见附录1。采用以单片机为核心的控制方案,总体框图见图1图1 设计总体框图2.1.2 键盘输入部分按键采用矩阵式排列的独立式按键键盘,它由行线和列线组成,按键位于行列的交叉点上,密码锁的密码有按键输入完成,本设计中使用的这个44键盘不但能完成密码的输入还能作为特别功能键使用,比如清空显示功能等,键盘的每个按键功能在程序设计中设置。其大体功能(看按键上的标志)及与单片机引脚接法见附录1原理图。2.1.3 密码存储部分用E2PROM芯片AT24C02存储密码。AT24C02是美国Atmel公司的低功耗CMOS型E2PROM,内含2568位存储空间,具有工作电压宽(2.55.5V)、擦写次数多(大于10000次)、写入速度快(小于10ms)、抗干扰能力强、数据不易丢失、体积小等特点。而且它是采用了I2C总线式进行数据读取的串行器件,占用很少的资源和I/O线,并且支持在线编程,进行数据实时的存储十分方便。AT24C02中带有的片内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的读写。所有字节均以单一操作方式读取。为降低总的写入时间,一次操作可写入多达8个字节的数据。I2C总线是一种用于IC器件之间连接的二线制总线。它通过SDA及SCL两根线再连到总线上的器件之间传送信息,并根据地址识别每个器件。AT24C02正是运用了I2C规程,使用主/从机双向通信,主机和从机均可工作于接收器和发送器状态。主机产生串行时钟信号并发出控制字,控制总线的传送方向,并产生开始和停止的条件。无论是主机还是从机,接收到一个字节后必须发出一个确认信号ACK。AT24C02的控制字有8位二进制数构成,在开始信号发出以后,主机便会发出控制字,以选择从机并控制总线的传送方向。其接线见附录1原理图。2.1.4 复位部分单片机复位是使CPU和系统的其他功能部件处在一个正确的初始状态,并从这个状态开始工作,例如复位后PC=0000H,使单片机从第一个单元去指令。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。在复位期间(RST为高电平期间),P2口为高阻态,P0、P2、P3口输出高电平;外部程序存储器读选通信号PSEN无效。地址锁存信号ALE也为高电平。复位电路在最简单的复位电路下增加了手动复位按键,在接通电源瞬间,电容上的电压很小,复位下拉电阻上的电压接近电源电压,即RST为高电平,在电容充电的过程中RST端电压逐渐下降,当RST端的电压小于某一数值后,CPU脱离复位状态,由于电容足够大,可以保证RST高电平有效时间大于24个振荡周期,CPU能够可靠复位。增加手动复位按键式为了避免死机时无法可靠复位。当复位按键按下后电容通过电阻放电,当电容放电结束后,RST端的复位由两电阻分压比决定。由于两电阻的电阻值差距大,因此RST为高电平,CPU处于复位状态。其接线见附录1原理图。2.1.5 晶振部分AT89S52引脚XTAL1和XTAL2与晶体振荡器及其两电容的接线见附录1原理图。晶振、电容及片内与非门(作为反馈、放大元件)构成了电容三点式振荡器,振荡信号频率与晶振频率及电容的容量有关,但主要有晶振频率决定,范围在0 33MHz之间。根据实际情况,本设计采用12MHz作为系统的外部晶振。电容取值为100pF。2.1.6 显示部分为了提高密码锁的密码显示效果能力。本设计的显示部分由液晶显示器LCD12864取代普通的数码管来完成。只有按下电源开关后,显示器才处于开启状态。同理只有按下电源开关后显示器才处于关闭状态。否则显示器将一直处于初始状态,当需要对密码锁进行开锁时,按下键盘上的开锁按键后利用键盘上的数字键0-9输入密码,每按下一个数字键后再显示器上显示一个*,输入多少位就显示多少个*,当密码输入完成时,按下确认键,如果输入的密码正确的话,显示真确的提示信息,使密码锁打开,如果密码不正确,就会显示错误的信息,电子密码锁不能打开,通过LCD显示屏,可以清楚的判断出锁所处的状态。其显示部分引脚接口见附录1原理图。2.1.7 报警部分报警部分由发声装置及外围电路组成,加电后不发声,密码正确时,不发声直接开锁,当密码输入三次错误时,单片机的P3.0引脚为高电平,导通蜂鸣器发出噪鸣声报警。其图见附录1原理图。2.1.8 开锁部分开锁控制电路的功能是当密码输入正确后将锁打开。系统使用单片机其中一引脚线发出信号,驱动外围电路将锁打开。用户通过按键任意设置密码,并存储在E2PROM中作为锁码指令。开锁步骤如下:根据液晶屏上的页面提示,然后利用键盘上的数字键0-9输入密码,最后按下确认键。当用户输入一密码后,单片机自动识别,如果识别不符,则显示错误。只有当识别正确,单片机才能控制开锁电路将锁打开。完成本次开锁后,单片机自动清除掉由用户输入的这个密码。电路图见附录1原理图。2.2 密码锁电路原理图、PCB图、实物图密码锁电路原理图实物图分别见附录1、附录2、附录3。2.3 密码锁元件清单密码锁元器件清单见附录3。3 密码锁软件系统设计3.1 密码锁使用单片机资源情况RS接P31口,RW接P36口,EN接P37口;PSB接VCC(并行)P20P27口接D0D7口(P20接D0);P1口接J16(P10接S1);SCL接P01,SDA接P00;蜂鸣器(SPEAK)接P30。3.2 密码锁软件系统各模块功能简要介绍本系统软件设计由主程序、LCD显示程序、键盘扫描程序、密码设置程序、E2PROM读写程序和延时程序等组成。3.3 密码锁软件系统程序流程框图图2 主程序流程图图3 键功能程序流程图图4 密码设置流程图图5 开锁流程图4 设计结果4.1 设计结论及使用方法本程序从经济实用的角度出发,采用美国Atmel公司的单片机AT89S52与低功耗CMOS型E2PROM AT24C02作为主控芯片与数据存储单元,结合外围的键盘输入、显示、报警、开锁等电路并用汇编语言编写主控芯片的控制程序,研制了一款可以多用户使用可多次更改密码具有报警功能的电子密码锁。设计完全可行可以达到设计目的。使用单片机制作的电子密码锁具有软硬件设计简单,易于开发,成本低,安全可靠,操作方便等特点,可用于住宅、办公室的保险箱及档案柜等需要防盗的场所,有一定的实用性。该电路设计还具有按键有效提示,输入错误提示,控制开锁电平,控制报警电路,修改密码,多用户使用等功能。可在意外泄密的情况下随时修改密码。保密性强,灵活性高,特别适用于家庭、办公室、学生宿舍及宾馆等场所。使用说明:初始密码为888888,当用户要开锁时,先要按下自己的用户位,再输入正确的密码,按下确定键后就能实现开锁,如果连续3次输入不正确,密码锁就会报警;当用户要重设密码时,根据界面提示,进入密码重设界面,紧接着输入原先的密码,按下确定键后如果密码正确才能输入新密码,按下确定键后密码修改成功,否则不成功,需重新修改。4.2 心得体会通过本次课程设计实践,我对C语言有了更深的理解,特别是标志位的使用,通过灵活使用标志位,可以加强软件系统各模块之间的联系,达到意想不到的效果。同时也加深了对设计方法的理解,进一步理解了软件设计中整体与局部的关系,本次实践我就运用了从整体到局部的设计思想,达到了满意的效果,它使我少走了很多弯路,既节约了时间,又很好的组织了软件系统各部的联系。结束语 对于单片机与C语言的学习,我觉得应该加强创造性思维的培养,同时结合实验加以实践。我觉得思维是知识的灵魂,只有加强了思维的训练与培养,才能使知识的能量达到最大化。软件系统设计是一种对语言的运用实践,精妙的思维也就必不可少。创造性思维是丰富的,因此应加强老师与同学们、同学们之间的思维互动,加强探讨,加强课程设计实践。参考文献1 李广弟 ,朱月秀 ,冷祖祁.单片机基础M.第三版.北京:北京航空航天大学出版社,2007.0-260Li guangdi ,Zhu yuexiu ,Leng zuqi.Microcontroller basedM.The Third Edition.Beijing:Beijing University of Aeronautics and Astronautics Press,2007.0-2602 李朝青.单片机原理及接口技术M.北京:北京航空航天大学出版社,1998.26-40Li Chaoqing.SCM Principle and Interface TechnologyM.Beijing:Beijing University of Aeronautics and Astronautics Press,1998.26-403 何立明.单片机高级教程M.北京:北京航空航天大学出版社,2000.37-51He Liming.Advanced MicrocontrollerTutorialM.Beijing:Beijing University of Aeronautics and Astronautics Press,2000.37-51致 谢这半年不知不觉就过去了,在这学期中,有些人是要我去感谢的。在这学期中,我要感谢的人很多,首先要感谢我的学校,感谢在这学期中给了我一个好的学习环境,还要感谢我的指导老师凌老师在她的指导下我完成了此次单片机课程设计,凌老师多次询问课程设计进程,并帮助我开阔思路,我从心里感谢她。还要感谢我的同学,在我完成课程设计的过程中给予我的照顾和帮助,最后要感谢的是我的、兄弟、朋友,对于他们我更是千言万语,总之一句话:感谢他们一直都伴随着我。附 录附录A密码锁原理图附录B密码锁PCB图附录C密码锁实物图附录D表1 元件清单表元器件名称数值个数(个)AT89S521AT24C021LCD128641蜂鸣器1LED灯(红色)1晶振12MHz1电容100pF3IN400714脚按键169脚排阻1K1电阻2K1电阻1K36脚电源开关1电位器50K1下载口1附录E*主程序*#include #include #include LCD12864.h/液晶显示木块头文件#include delay.h/延时模块头文件#include keyscan.h/键扫描模块头文件#include mimasuo.h/频率测试模块头文件#includebeep.h/报警模块头文件#define uchar unsigned char#define uint unsigned intvoid main() uchar v,flag_2;lcdset();delay(1000); /液晶显示初始化 display(1,1,湖南工学院); display(2,2,密码锁); display(3,1,设计者 邹雄辉); display(4,2, 进入/D); /开机界面beepoff(); dov=keyscan();while(v!=0x28); writecommand(0x01); /清屏,DDRAM的地址归零 while(v=0x28|v=0x88) display(1,2,密码锁 菜单D ); display(2,1,一. 输入密码); display(3,1,二. 重新设置密码); display(4,1,三. 输入超级密码); dov=keyscan(); while(v!=0x28); writecommand(0x01); /清屏,DDRAM的地址归零 if(v=0x28) display(2,1,进入系统吗?);display(4,1,修改密码D );display(3,1,确认E 退出D/F );dov=keyscan();while(v!=0x48)&(v!=0x28)&(v!=0x88); writecommand(0x01); /清屏,DDRAM的地址归零 if(v=0x48) /确认键键值 display(1,2,请输入密码); display(4,1,确认E 退出F ); jingrumima(); dov=keyscan();while(v!=0x28)&(v!=0x88); writecommand(0x01); /清屏,DDRAM的地址归零 if(v=0x28) display(2,1,重新设置密码吗); display(4,1,管理员D ); display(3,1,确认E 退出F ); dov=keyscan(); while(v!=0x48)&(v!=0x28)&(v!=0x88); writecommand(0x01); /清屏,DDRAM的地址归零 if(v=0x48) display(1,2,请输入当前密码); display(4,1,确认E 退出/F ); flag_2=jingrumima(); / 当前密码函数if(flag_2=1) writecommand(0x01); /清屏,DDRAM的地址归零 display(1,2,设置新密码); display(4,1,确认E 退出/F ); stepupmima(); /设置新密码函数 flag_2=0; dov=keyscan();while(v!=0x28)&(v!=0x88); writecommand(0x01); /清屏,DDRAM的地址归零 if(v=0x28) display(2,1,输入管理员密码); display(4,1,确认E 退出D/F ); dov=keyscan();while(v!=0x48)&(v!=0x28)&(v!=0x88); writecommand(0x01); /清屏,DDRAM的地址归零 if(v=0x48) display(1,1,请输入管理员密码); display(4,1,确认E 退出/F ); chaojimima(); /超级密码函数 dov=keyscan();while(v!=0x28)&(v!=0x88); writecommand(0x01); /清屏,DDRAM的地址归零 *显示程序*#include LCD12864.h#includedelay.h#include #define uchar unsigned charsbit rs = P31;sbit rw = P36;sbit en = P37;/=液晶写命令函数=void writecommand(uchar command) delay(100); rs=0; rw=0; en=1; P2=command; /液晶数据线P0 en=0; /=液晶写数据函数=void writedata(uchar date) delay(100); rs=1; rw=0; en=1; P2=date; en=0; /=液晶设置函数= void lcdset(void) writecommand(0x30); /基本指令集 writecommand(0x01); /清屏,DDRAM的地址归零 writecommand(0x02); /地址归位 writecommand(0x0c); /显示开,光标关,反白关 writecommand(0x06); /DDRAM地址加1 /=液晶显示函数=void display(uchar y, uchar x, uchar *p) switch (y) case 1:writecommand(0x7f+x); break; /液晶第一行 case 2:writecommand(0x8f+x); break; /0x90+(x-1) case 3:writecommand(0x87+x); break; case 4:writecommand(0x97+x); break; default:break;while(*p) writedata(*p+); *密码锁程序*#include keyscan.h#includedelay.h#include mimasuo.h#include LCD12864.h#includebeep.h #include #include #define uchar unsigned char#define uint unsigned int#defineOP_READ0xa1/ 器件地址以及读取操作#defineOP_WRITE 0xa0/ 器件地址以及写入操作 #defineMAX_ADDR 0xff/ AT24C02最大地址(256字节)sbit SDA = P00; /串行数据/地址sbit SCL = P01; /串行时钟uchar m,n;uchar i,ii,k;uchar code dis_code = 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39; /0-9,写入到AT24C02的数据串 uchar code surper_code=0x39,0x39,0x39,0x39,0x39,0x39;/ 超级密码6个9uchar password=0x38,0x38,0x38,0x38,0x38,0x38; /原始密码6个8uchar Userpassword8; /按键输入密码存放数组uchar find_code16= ; /安全显示“*”缓冲数组 uchar table8;/ 读取密码存放缓冲数组uchar table_18;/新密码存放缓冲数组uchar j; /计算密码输入次数变量uchar flag_2; /密码输入正确标志位,当前密码输入正确后,方可重置密码uchar flag_3; /原始密码与设置密码判断标志位uchar flag_4; / 连续三次输入判断标志位uchar jingrumima() flag_4=read_random(254);/读取三次输入判断标志位 if(flag_4!=1) while(m!=15) m=key_return();switch(m) case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: if(ii6) Userpasswordii=m; /输入原始密码 find_codeii=*; /对显示数组赋值“*” Display_String(find_code,0x89); ii+; break; case 14: flag_3=read_random(255); /读取设置密码判断标志位 if(flag_3=1) for(k=0;k6;k+)tablek= read_random(k); /单片机从24C02上读回数据,送给比较数组 else for(k=0;k6;k+) tablek=passwordk; if( table0=Userpassword0&table1=Userpassword1& table2=Userpassword2&table3=Userpassword3&table4=Userpassword4&table5=Userpassword5&table6=Userpassword6&table7=Userpassword7) /判输入密码与原始密码是否相等 writecommand(0x01); /清屏,DDRAM的地址归零 display(1,2,恭喜你!密码输入正确); display(4,6,退出/F); j=0; flag_2=1; /密码输入正确标志位 else writecommand(0x01); /清屏,DDRAM的地址归零 display(1,1,密码输入错误!); display(2,2,请重新输入密码); display(4,1,确认E 退出/F ); do m=key_return()
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 食物解救测试题及答案
- 重症肺炎合并心衰诊疗要点
- java源码面试题及答案
- 环境应急考试题及答案
- java面试题及答案arrlist
- 换药术考试题及答案
- 江苏省南京市励志高级中学2024-2025学年高一下学期6月期末地理试题(含答案)
- 心理健康协会会长竞选
- 广西钦州市第十三中学2024-2025学年高一下学期第十六周考试历史试卷(含答案)
- 2025年湖北省黄冈市黄梅县中考适应性考试英语试题(含答案)
- 一级圆柱齿轮减速器的设计计算22001文档
- 第19章一次函数-一次函数专题数形结合一一次函数与45°角模型讲义人教版数学八年级下册
- 2023年四川省宜宾市叙州区数学六年级第二学期期末考试模拟试题含解析
- 幼儿园警察职业介绍课件
- 灭火器维修与报废规程
- 皮肤病的临床取材及送检指南-修订版
- 机型理论-4c172实用类重量平衡
- 校企合作项目立项申请表(模板)
- 管道工厂化预制推广应用课件
- 海水的淡化精品课件
- 项目工程移交生产验收报告
评论
0/150
提交评论