版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、郑州航空工业管理学院单片机课程设计说明书 2011 届 电子信息工程 专业 1113082 班级 题 目 基于单片机的数字密码锁设计 学 号 111308207 姓 名 凡涛 指导教师 周鹏 二一三年 十二 月 二十八 日一、 基于单片机的数字密码锁的基本原理 本设计选用单片机STC89C52RC 作为核心元件,利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,实现基本的密码锁功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接四位数码管用于显示作用,输入错误显示”OFF”,输入密码正确显示”ON”,密码正确才可以重置密码。 先通过程序将初始密码储存到单片机的RO
2、M存储器中,当输入新密码时就判断所输入密码是否与初始密码相同,输入完成按下确认键,若不同,则在数码管上显示错误提示”OFF”,若相同则显示正确提示,重置密码则是向单片机ROM重新存储数据。这样,即可实现密码锁的解锁,密码重置等功能。二、 数字密码锁的硬件设计 1、 时钟电路设计 时钟产生方式包括内部振荡方式和外部时钟方式两种,本设计采用外部时钟方式,如图1所示,振荡源由12M晶振,和两个微调电容C1,C2组成,与单片机的XTAL1和XTAL2相连接,便可为单片机产生时钟信号。 图 12、 手动复位电路 单片机STC89C52RC的复位信号是由RST引脚输入,高电平有效。当RST引脚输入高电平并
3、保持2个机器周期以上时,单片机内部就会执行复位操作。本设计采用手动复位设计,如图2所示,手动复位时电容C3通过1K电阻R3迅速放电,使RST端迅速变为高电平,即可实现复位。 图 2 3、 显示电路设计 显示电路是由4个共阳极数码管构成,软件编程时采用动态显示方法,其结构图如图3所示。 图 3 数码管是由发光二极管组成,有共阴和共阳之分,对于共阳极来说,一位数码管由八个二极管组成,它们的阳极接在一起,接+5V电源,而各个阴极与某个端口如P1的8个引脚相连接,当某个引脚输出低电平的时候,数码管对应的二极管点亮。4、 接口电路设计 本设计采用MAX232芯片实现单片机与计算机的连接。如图4所示。 图
4、 4 5、 数字密码锁的完整原理图 6、 元器件列表序号器件名称参数数量1USB座12USB线13双排针(2)14跳帽25104电容0.1uF66LED灯17电阻2K18STC89C5219晶振12MHz110电容20pF211复位键112电阻10K113蜂鸣器114三极管9015515电阻33011616针座117MAX232118单排针(5)119按键820单排针(3)121跳帽1224位LED数码管123电阻4.7K824电阻3308三、 数字密码锁的软件设计1、 密码锁设计的程序流程图按下清除键按下确认键判断密码数码管显示OFF数码管显示ON按下修改键,设置新密码按下重输键开始输入密码
5、显示等待输入状态调用ROM密码系统初始化2、 源程序#include<reg52.h>#include <intrins.h>#define uint unsigned int#define uchar unsigned char/* 0 1 2 3 4 5 6 7 8 9 灭 f n 口 _ g d 二 全亮 P e*/uchar code DuanMa=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0x8e,0xc8,0x9c,0xf7,0x90,0xa1,0xfd,0x00,0x8c,0x86 ;/共
6、阳 uchar code WeiMa=0x7f,0xbf,0xdf,0xef;/位码 void delay_50us(uint t);uchar xianshi=14,14,14,14;unsigned char pw4=8,8,8,8; unsigned char pwin4=0,0,0,0; bit updataflag; bit pwflag; /密码正确uchar count; /密码位计数void display(uchar *point);void delayaj();void delay();void bijiao(void);unsigned char keyscan(void
7、);void anjian_xianshi();void main() count=0; updataflag=0;pwflag=0;while(1) anjian_xianshi(); display(xianshi);void delay(uint z)uchar j = 244;for(;z > 0;z-) while(-j);void delay_50us(uint t) uchar j; for(;t>0;t-) for(j=19;j>0;j-) ;void delayaj(uchar ddd)uchar dd;for(dd=0;dd<ddd;dd+)disp
8、lay(xianshi);void display(uchar *point)unsigned char i=0;for(i=0;i<4;i+) P2=WeiMai; /取位 P0=DuanMa*(point+i); delay_50us(20); P0 = 0xFF;/消除重影 P2 = 0x0; void bijiao(void)unsigned char j,aa;aa=0;for (j=0;j<4;j+) if (pwj=pwinj) aa+; if(aa=4) pwflag=1; else pwflag=0;j=4;if (count<4)/密码小于4位,直接显示O
9、FFpwflag=0;count=4;if (pwflag=1) /正确显示ON xianshi0=10; xianshi1=0; xianshi2=12;xianshi3=10;else xianshi0=10; /显示off xianshi1=0; xianshi2=11;xianshi3=11;unsigned char keyscan(void) unsigned char keyvalue; P3 = 0x7F; switch(P3) case 0x7E: keyvalue = 1;break; case 0x7D: keyvalue = 2;break; case 0x7B: ke
10、yvalue = 3;break; case 0x77: keyvalue = 4;break; default: keyvalue = 17;break; if(keyvalue = 17) P3 = 0xBF; switch(P3) case 0xBE: keyvalue = 5;break; case 0xBD: keyvalue = 6;break; case 0xBB: keyvalue = 7;break; case 0xB7: keyvalue = 8;break; default: keyvalue = 17;break; if(keyvalue = 17) P3 = 0xDF
11、; switch(P3) case 0xDE: keyvalue = 9;break; case 0xDD: keyvalue = 10;break; case 0xDB: keyvalue = 11;break; case 0xD7: keyvalue = 12;break; default: keyvalue = 17;break; if(keyvalue = 17) P3 = 0xEF; switch(P3) case 0xEE: keyvalue = 13;break; case 0xED: keyvalue = 14;break; case 0xEB: keyvalue = 15;b
12、reak; case 0xE7: keyvalue = 16;break; default: keyvalue = 17;break; return keyvalue;void anjian_xianshi() uchar n,j; n=keyscan(); if(n!=17) if(1<=n&&n<=8) if (count<4) xianshicount=13; if (updataflag=1)/按下修改密码键pwcount=n; elsepwincount=n;count+;delay(350); else if(n=14)/确认密码键 if (upd
13、ataflag=0) bijiao(); else xianshi0=15;/good xianshi1=13; xianshi2=13; xianshi3=16; delayaj(1000); updataflag=0; else if(n=15)/重新输入键 for (j=0;j<4;j+) xianshij=14; count=0; pwin0=0;pwin1=0;pwin2=0;pwin3=0; else if(n=16&pwflag=1)/重设密码键 updataflag=1; for (j=0;j<4;j+) xianshij=18; count=0;pwin0=0;pwin1=0;pwin2=0;pwin3=0; 四课程设计总结 为了能够更好地完成这次课程设计的任务,我通过不同的渠道学习课题相关的一些知识
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第10课 交通安全宣传栏-搜索引擎教学设计-2025-2026学年小学信息技术(信息科技)第三册河北大学版(第2版)
- 第12课 建立自己的网站教学设计-2025-2026学年初中信息技术(信息科技)八年级下册川教版(旧版)
- 10.2《在马克思墓前的讲话》课件+2025-2026学年统编版高一语文必修下册
- 人教部编版 (五四制)二年级下册快乐读书吧教案
- 2026年100个姐妹测试题及答案
- 2025年多益网络人事招聘笔试及答案
- 2026年10月月考试题答案
- 2026年16性人格测试题及答案
- 2026年23沧州市直面试题答案
- 2026年11个痴呆测试题及答案
- 2026年全国保密教育线上培训考试试题库及参考答案详解(考试直接用)
- 区域认知与家国情怀:沪教版七年级地理下册“香港和澳门”单元教学设计
- 2026年全国标准化知识竞赛真能力提升题库含答案详解(研优卷)
- 浙江嘉兴市2026届高三下学期二模考试政治试卷(含答案)
- 重庆第一中学校2025-2026学年八年级下学期学情自测语文试题(含答案)
- 浙江日报采编笔试内容
- 林业造林工程监理规划方案
- 广东省湛江市2026年普通高考测试(一)语文试题及参考答案
- 2026年兰考三农职业学院单招职业技能考试题库含答案详解(完整版)
- 步进电机培训课件教学
- 生物样本库伦理与法律合规管理
评论
0/150
提交评论