基于单片机的电子密码锁设计论文(编辑修改稿)内容摘要:
大学本科生毕业设计(论文) 14 否 是 否 是 否 否 是 是 否 图 10 系统程序流程图 开始 系统初始化 显示主界面 按键检测 读入键值 A 键是否按下 开锁,绿灯亮 判断密码对否 B 键是否按下 设置新密码 A 键是否按下 新密码设置完成 是 报警,红灯亮 大学本科生毕业设计(论文) 15 密码比较判断模块 该模块的功能是将键盘输入的密码利用 if 语句与设定的密码进行逐个比较,若密码完全正确则开锁;若不正确,则开启报警电路,复位后重新输入密码。 其密码输入和比较判决流程图如图 11 所示。 图 11 密码输入和比较判决流程图 密码修改模块 在密码输入正确情况下,可以按下“重置 密码”对密码进行重新设置,每设定一位就将密码送给 AT24C02 存储起来,当设置 6 位密码完毕后,系统将自动跳到程序开始,调用新设置的密码。 图 12 为修改密码流程图。 输入密码 核对 键盘锁定,开启报警电路 开锁,灯亮,可密码修改 N Y 复位 大学本科生毕业设计(论文) 16 图 12 修改密码流程图 键盘扫描模块 键盘使用矩阵式键盘,由行和列组成, CPU对所有键盘进行监视,从而实现逐列扫描键盘确定被按键的具体位置、判断键盘上有无键按下、消除去抖动、判断闭合的键是开始 输入原密码 密码比较 比较正确。 输入新密码 再输入新密码 调用 AT24C02 密码 比较正确 修改成功 返回菜单 键盘锁定,启动报警电路 复位 Y N 大学本科生毕业设计(论文) 17 否释放等功能。 如图 13 所示,为键盘扫描流程图。 图 13 键盘扫描流程图 1602A 液晶显示模块 此模块包括液晶初始化、命令的输入、显示数据的输入。 其中命令是用于控制液晶状态是否显示光标 , 光标是否闪烁 , 是否清除原来数据以及显示的具体位置。 数据显示主要是将要显示的信息按需要准时显示出来。 开始 延时去抖动 计算输入键值 键值送入单片机 有按键输入。 有按键输入。 有按键输入。 返回 N N Y Y 大学本科生毕业设计(论文) 18 5 总结 从基本方案的制定,到硬件电路的选择,再到电路的焊接,最后进行程序调试 ——在此期间我遇到很多困难,但经过不懈努力,和再学习,终于击破了各个难点,达到的所需要的效果。 在这次设计中,我深刻认识到自身的不足 —— 专业知识不足,缺少实 战经验。 与此同时,也因为这次设计,我们得到一定的锻炼,体会到理论与实践相结合的重要意义。 由于本次设计时间有限,一些设想没有完全实现,比如说:电子密码锁的网络通信扩展,人机界面智能化等。 期待以后有机会对以上设想进行进一步研究实践。 但是,基本成功实现了 1602 液晶显示 , 密码开锁 , 密码设置 , 防止多次试探 , 报警等功能。 致谢 非常感谢在这次毕业设计中给我很大帮助的朱金荣老师,感谢朱老师一如既往的严格要求,感谢朱老师给我们的压力,让我强迫自己从开始的迷茫困惑中渐渐熟悉掌握了毕业设计的思路和方向。 在论文 写作和实物设计过程中,朱老师严格认真的教学作风深深感染了我,我对他提出的各种疑难问题他都一一给我做了解答,并给我纠正了许多错误。 这次毕业设计我学到许多新的知识,也巩固了很多原来学过的知识,这对我以后的工作有极大地帮助。 同时感谢曾经孙妍,张凯,朱俊,陈卫峰等多位老师的专业课的讲授,才有学生今日的设计成果。 感谢王志俊同学对我的无私的帮助。 感谢祖国,感谢党,给我们当代大学生营造的和谐环境,才有我们今日顺利完成的学业。 参考文献 [1]郭海英 .基于单片机的电子安全密码锁的设计 [J].现代电子技术, 2020, 28( 13): 9597. [2]张毅刚 .单片机原理及应用 [M].北京:高等教育出版社, 2020. [3]谭浩强 .C 程序设计 [M].北京:清华大学出版社, 2020 [4]杨章伟,韩雪,张浩然 .跟我学 C 程序设计 [M].北京:清华大学出版社, 2020 [5]张培仁 .基于 C 语言编程 MCS51 单片机原理与应用 [M].北京:清华大学出版社,2020 [6]周润景,张丽娜,丁莉 .基于 PROTEUS 的电路及单片机设计与仿真 [M].北京:北大学本科生毕业设计(论文) 19 京航天航空大学出版社, 2020 [7] YB1602A 液晶模块使 用说明书 [DB/OL]. [8]AT24C02[DB/OL]. [9]at24c02 中文资料 [DB/OL]. [10]金桂,向国梁 .基于 C 语言 STC89C52 单片机电子密码锁的设计与仿真 [J].现代电子技术, 2020, 19: 176182. 附录 1 器件清单 器件名称 规格型号 编号 数量 单价(元) 总价(元) 备注 MCU STC89C52 U1 1 7 7 外部存储器 AT24C02 U2 1 LCD 1602A LCD1 1 20 20 发光二极管 3mm D1 1 绿光 普亮 3mm D2 1 红光 普亮 三极管 8550 Q1 1 晶振 12MHz X1 1 电阻 4 10kΩ 2 10K 排阻 RP1 1 电容 22P C1C2 2 10μ F C3 1 大学本科生毕业设计(论文) 20 IC 座 8 脚 IC 座 1 40 脚 IC 座 1 单排插座 1 蜂鸣器 LS1 1 电池盒 5V 电池盒 1 4 4 焊锡 2 1 2 导线 1 1 1 电路板 9 15cm 万用板 1 2 源 程序 include define uchar unsigned char void WrToROM(uchar Address,uchar Data[],uchar Num)。 void RdFromROM(uchar Address,uchar Data[],uchar Num)。 void LCD_init()。 void LCD_DISPLAY(uchar *str)。 void KeyDisp()。 extern uchar passwd[5]。 uchar ppp[5]=222。 void main() { LCD_init()。 WrToROM(0x00,passwd,5)。 RdFromROM(0x00,passwd,5)。 LCD_DISPLAY(Wele china ! Plz input passwd)。 while(1) 大学本科生毕业设计(论文) 21 { KeyDisp()。 } } //***************** 80s52 对键盘 **********************// include include define uchar unsigned char void LCD_DISPLAY(uchar *str)。 void write_(uchar )。 void write_data(uchar Data)。 void WrToROM(uchar Address,uchar Data[],uchar Num)。 void RdFromROM(uchar Address,uchar Data[],uchar Num)。 uchar code tab1[]={ERROR!}。 uchar code tab2[]={RIGHT!}。 uchar code tab3[]={0123456789*}。 uchar code tab4[]={Input the codes:}。 uchar code tab5[]={Input new codes:}。 uchar code tab6[]={Input old codes:}。 uchar mima[9] =22224444。 //存放用户密码和正确密码:前四位是用户输入密码,后四位是系统的正确密码 uchar passwd[5]=1111。 uchar te[9]={0}。 sbit relay = P2^0。 sbit beep = P2^1。 /****************************** 矩 阵 键 盘 子 程 序大学本科生毕业设计(论文) 22 *********************************/ void delay(uchar v)//延时 { while(v!=0) v。 } void delaynms(uchar n) //延时 50*n 毫秒 { uchar a,b,c。 for(c=n。 c0。 c) for(b=173。 b0。 b) for(a=143。 a0。 a)。 } uchar Keycan(void) //按键扫描程序 为行线 为列线 { uchar rcode, ccode。 P1 = 0xF0。 // 发全 0 行扫描码,列线输入 if((P1amp。 0xF0)!= 0xF0) // 若有键按下 { delay(200)。 // 延时去抖动 if((P1amp。 0xF0) != 0xF0) { rcode = 0xFE。 // 逐行扫描初值 while((rcodeamp。 0x10)!= 0) { P1=rcode。 // 输出行扫描码 if((P1amp。 0xF0)!= 0xF0) // 本行有键按下 { 大学本科生毕业设计(论文) 23 ccode=(P1amp。 0xF0)|0x0F。 do{。 }while((P1amp。 0xF0)!= 0xF0)。 //等待键释放 return ((~rcode)+(~ccode))。 //。基于单片机的电子密码锁设计论文(编辑修改稿)
相关推荐
件设计 键盘扫描 【 7】 流程图如图 所示 ,在按键当中,有与输入、开锁、清除、设置、确认的程序相对应的按键,并按顺序与输入的数相比较,当输入正确时,进入密码程序,错误时进行清除,输入两次新密码正确时,可进行重新设置密码,最后确认程序。 按键的检测主要是通过查询的方法来实现的,利用按键进行密码的输入及设置。 图 按键扫描流程图 开 始 行列端口赋值0xf0 读端口,结果相等。 延时 10 毫秒
下,三相有 3 个独立电流分量 iiba、 和 ic ,就不能唯一确定地将三相电流作出含有 p、 q 项的分解,这就是为什么要作 αβ 变换来分析的一个原因。 定义 三相电路瞬时有功电流 ip 和瞬时无功电流 iq 分别为矢量 i 在矢量 u 及其法线上的投影,即 ic osip ( 11a) isiniq ( 11b) 式中 iu 5 定义 α 、 β 相的瞬时无功电流
9 按键检测流程图 10 时间显示流程图 10 源程序清单 11 第四章 系统仿真与实验测试 16 系统仿真 16 实验测试 16 小 结 17 致 谢 18 参 考 文 献 19 附 录 20 第 1 页 共 20页 第一章 设计 方案 课程设计目的 (1)巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力; (2)培养针对课题需要,选择和查阅有关手册
T 开发工具组合的开发方式,具有方便、廉价、实用等优点,给用户提供了一个较为理想的样机开发方式。 MSP430 系列单片机的应用领域 MSP430 型系列是一款超低功耗类型的微控制器,特别适合于手持设备和安全领域的应用。 MSP430 虽属微控制器,但在众多单片机系列中有独特的优势。 该 MSP430 系列将大量的外围模块整合到片内,也适合于设计片上系统,具有丰富的不同型号的器件可供选择
更为轻松。 LabVIEW 的具体优势主要体现在以下几个方面: ,并采用图形化的编程方法,彻底把工程师们从复杂苦涩的文本编程工作中解放出来。 因此用户在编写程序的过程中如果有语法错误,他会被立即显示出来。 ,它实现了自动的多线程,从而能 从分离用处理器尤其是多处理器的处理功能。 DLL、 CIN 节点、 ActiveX、 .NET 或 MATLAB 脚本节点扥技术,可以轻松实现 LabVIEW
Inter 控制台设计 在任何地点,可以通过 Inter 登录服务器,从而进入家居监控界面,从界面获取家居相关信息,从而实施远程监察;通过家居监控界面的相关按钮,改变虚拟按钮变量,从而实施远程控制。 Inter 网络的普及化,使从何时何地上网成为可能,用户通过电话线、网线、上网手机等手段可以进行远程监控。 Inter 登录家居监控界面是基于软件平台搭建的,因此,从网上登录家居监控界面是通过