版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 重庆邮电大学单片机应用课程设计2013-2014(1)课设题目: 单片机密码锁 指导教师: 电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。本文以sst89e51单片机为核心器件,结合按键电路、led数码管显示电路、报警指示电路和开锁指示电路,利用单片机灵活的编程设计和丰富的i/o端口,及其控制的准确性通过软件程序来控制整个系统实现电子密码锁的基本功能,其主要具有如下功能:(1) 使用led来显示密码输入的相关信息
2、;(2) 可以设置4位数字(09)密码;(3) 内定的数字密码为“1234”;(4) 密码输入正确,蜂鸣器鸣叫一声,然后4个二极管全亮,表示进入系统;(5) 当密码错误时led显示“cuo”,蜂鸣器报警1.2s。此外还拓展了以下功能:(1) 开机时led显示“hello”字样;(2) 增加了语音功能,按键时发出声音,4个二极管全亮提示;(3) 锁定功能,密码错误3次,系统锁定,灯闪烁报警,蜂鸣器鸣叫;(4) 密码输入正确及密码错误3次,蜂鸣器发出不同的声音。1. 系统的主要设计和主要元器件介绍1.1 系统总设计结构图数码管及led灯显示电路at89c51单片机键盘输入电路报警电路(蜂鸣器提示电
3、路)开锁提示电路图1 单片机控制密码锁的系统原理框图图2 单片机控制密码锁总电路图1.2 系统硬件设计1.2.1 报警电路报警电路由蜂鸣器、pnp三极管和单片机组成。图3 报警电路1.2.2 4*4矩阵键盘输入电路键盘是系统中的手动控制部分,所以键盘的设计就显得尤为的重要。每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要m条行线和n条列线,即可组成具有mn个按键的键盘。由于本设计中要求使用16个按键输入,为减少键盘与单片接口时所占用的i/o线的数目,故使用矩阵键盘。键盘扫描采用行扫描法,即依次置行线中的每一行为低电平,其余均为高电平,扫描列
4、线电平状态,为低电平即表示该键按下。图4 矩阵键盘原理图 图5 键盘实物图具体的功能设计如表1 所示:按键键名功能说明k0-k9键数字键输入密码ka键清除键清除当前键入的数据kb键修改密码键在输入正确密码后按下,可修改密码kc键退出系统键密码输入正确后退出系统kd键退格键删除前一位键入ke键确认键确认输入的数据ret键断电键死机、锁定时按键断电 表1 按键说明 操作说明:密码锁初始密码为:1234l 开锁:连上电脑程序之后,系统出现欢迎界面,可以看到led显示hello。程序自动调入初始密码,按数字键输入密码,然后按“ke”(确认)键,此时锁会打开,可以看到4个二级管发亮,蜂鸣器一直鸣叫。l
5、退出并关锁:按下“kc”(退出系统)键,此时锁关闭,所有输入清除,继电器关闭,灯暗。l 修改密码:在输入正确密码下,按下“kb”(修改密码)键,此时可以输入新密码,然后按下确认键。l 报警并锁定键盘:当1次输入密码错误后,led显示“cuo”字样,蜂鸣器发出短警报。当连续3次输入密码错误后,led显示“error”字样,系统锁定键盘,二极管闪烁,蜂鸣器发出长警报,系统锁定。1.2.3 显示电路显示是系统的输出部分,用于观察当前的输入状态。显示电路采用led数码管对位码进行驱动。其实际上是由七个发光管组成8字形构成的,加上小数点就是8个。发光二极管的阳极连接到一起连接到电源正极的称为共阳数码管,
6、发光二极管的阴极连接到一起连接到电源负极的称为共阴数码管。本次实验采用的是共阴数码管。 图6 共阴数码管显示方式有静态显示和动态显示两种显示方式。动态显示占用口线数目较少,适合用在显示位数较多的场合,但显示位数的增多,将占用大量的cpu时间。 图7 四位数码管1.2.4 开锁电路开锁电路以蜂鸣器的长鸣以及发光二极管全亮提示开锁,以继电器的动作来模拟锁的开闭,。通过单片机送给开锁执行机构,电路驱动继电器吸合,从而达到开锁的目的。当用户输入的密码正确时,单片机便输出开门信号,送到继电器驱动电路,然后驱动继电器常开触点闭合,达到开门的目的。本次设计中,继电器选用固态继电器,信息通过数码管显示,并利用
7、蜂鸣器和发光二极管声光指示。四盏二极管长亮,蜂鸣器长鸣,表示开锁。 图8 继电器控制电路开机 led显示“hello”输入密码按确认键确认输入n输入密码正确?报警模块 y返回开锁成功图9 开锁程序流程图1.3 元器件采购原件名称备注学习板2个三极管3个蜂鸣器2个电阻1k欧2个,100欧2个,5.1k欧3个,610欧3个继电器4个杜邦线若干排针1排表2 采购清单1.4 电路焊接1.4.1 焊接所需工具工具名称数量焊烙铁1个焊丝若干万用表1个表3 焊接工具1.4.2 实物图 图10 电路板正面实物图 图11 电路板背面实物图 图12 电路板正面实物图 图13 电路板背面实物图2. 系统软件设计2.
8、1 欢迎界面模块代码如下:void hello_() for(j=0;j300;j+) for(i=0;i8;i+) p0=huanyingi; segce=1; segce=0; p0=digi; digce=1; digce=0; delay(1); 2.2输入密码错误显示模块代码如下:void miss_()p2_0=0x0; for(j=0;j300;j+) for(i=0;i4;i+) p0=missi; segce=1; segce=0; p0=digi; digce=1; digce=0; delay(1); p2_0=1; 2.3按键扫描模块代码如下:void keyscan(
9、unsigned int x)/键盘扫描 unsigned char temp1,temp2; p0=0; segce=1; segce=0; p0=digx; digce=1; digce=0;/ 拉低第x行 keyce=0; /开启按键使能 temp1=p0; /读p0口 temp1=temp1&0x0f; /提取低四位,是哪一行 if(temp1!=0x0f) /判断按键是否按下 delay(12); /延时消抖 temp2=p0; temp2=temp2&0x0f; if(temp1=temp2) switch(temp2) case 0x0e: /键盘第一列 if(x!=3) key
10、=3*(x+1)-(3-x); else key=numcount; break; case 0x0d:/键盘第二列 if(x!=3) key=3*(x+1)-(3-x)+1; else if(count!=0) count-;else count=-1;numcount+1=0; break; case 0x0b: /键盘第三列 if(x=0|x=1) key=3*(x+1)-(3-x)+2; else if(x=2) clear();key=0; else yanzheng_mima();if(1=change) change=0; for(x=0;x4;x+) mimax=numx; c
11、lear(); break;if(0=right) miss_(); wrong+; fault=1; count=-1; if(1=right&change!=1) right=0; check=1; key=0; break; case 0x07:/键盘第四列 if(x=0|x=1) key=3*(x+1)-(3-x)+3; else if(x=2) yanzheng_mima();if(1=right) change=1; key=0; else key=numcount; clear(); else key=numcount; break; default:break; if(x!=3
12、) count+; if(4=count) count=0; numcount=key; while(temp2!=0x0f)/判断按键是否松开 temp2=p0;temp2=temp2&0x0f;p2_0=0;ledce=0;/此处三行可使每按一下同时亮四盏灯p0=0xf0;ledce=1; p2_0=1; keyce=1;2.4数码管显示模块代码如下:void display() /显示函数 if(0=check|3=wrong)&count!=-1) for(n=0;n=count;n+) p0=dign;digce=1;digce=0;p0=segnumn;/每按一次count计数一次
13、,也就是说,每按一个数显示一个,在错误的情况显示特定的示数segce=1;segce=0;delay(1); 3. 测试方案与测试结果3.1 测试方案及优化最先的设计是密码输入正确与密码输入错误时,led显示的是闪烁花纹。开锁状态下蜂鸣器长鸣,将设计好的电路在电脑上经过仿真,测试通过之后,在硬件上进行测试,发现效果不理想。最终改为密码输入正确时,二极管长亮,蜂鸣器长鸣;密码输入错误时,led显示字符“cuo”,蜂鸣器短暂报警。3.2 结果的完整性以及测试结果分析以下是在硬件上进行仿真的实物图: 图14 系统欢迎界面图15 输入密码界面图16 密码错误界面图17 系统锁定界面图18 输入正确密码
14、 图19 密码通过界面图20 按键后二极管闪亮4. 总结 对于每一个小组成员,我们都应明确他所善长和能胜任的方面,并且每一成员都应自发地承接自己所擅长的工作,遇到问题时要与大家一起商量讨论,找出切实可行的方案,这样才能发挥每一个成员的作用,发回出小组真正的能力,更好的完成课题。我们小组在本此课题中正是这样做的。我们首先共同商讨,根据小组成员能力和一些技术上的问题,发挥自己的创新意识和对现实的应用价值,一起确定了“单片机密码锁”这一课题的实施步骤,进而,一起确定了大体思路。小组成员根据自己能力提出自己想成接的任务,最后再根据实际情况,大家一起均衡分配工作任务。并在各自完成任务的同时,周期地一起讨论课程的进程,并对遇到的一些问题,提出来一起解决,这样我们小组成员可以对整
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《装饰施工图范例》课件
- 2023年水处理剂项目筹资方案
- 危险废物相关法律法规及规范化管理培训 课件
- 机械制图测试题及参考答案
- 东莞市长安实验中学2023-2024学年八年级上学期期末考试数学试卷
- 养老院老人生活娱乐设施管理制度
- 养老院老人健康监测服务质量管理制度
- 投资养殖合同(2篇)
- 2024年版:临时建设设施买卖合同规范
- 2025年阿克苏货运车从业考试题
- 水利工程建设汇报材料(通用3篇)
- 10篇罪犯矫治个案
- 中央企业商业秘密安全保护技术指引2015版
- 艾草种植基地建设项目可行性研究报告
- 专升本学英语心得体会范文英语专升本范文10篇(9篇)
- 安徽省水利工程资料表格
- 留守儿童一生一档、联系卡
- GB/T 2007.2-1987散装矿产品取样、制样通则手工制样方法
- GB/T 19068.1-2017小型风力发电机组第1部分:技术条件
- GB/T 1354-2018大米
- GB/T 10322.5-2016铁矿石交货批水分含量的测定
评论
0/150
提交评论