- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机课程设计报告
课 题: 数字密码锁
学 院: 电气与信息工程学院
报告人:xxxxxxxxxxxx)
班级:电子x班
同组人:xxxx
设计时间:2011年5月50—6月10
目录
课题概述
2 课题分析及设计思路????
3 系统程序设计
4 课程设计硬件介绍
5 课程设计感想
1 课题概述
选题背景
随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,由于传统的机械锁的构造简单,被撬的事件屡见不鲜,而电子锁其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐。很多行业的许多地方都需要密码锁,但普通密码锁的密码容易被多次试探而破译本文给出了一种能防止多次试探密码的密码锁设计,从而有效地克服了上述缺点。一种能防止多次试探密码的基于ADuC848单片机的密码锁设计ADuC848单片机为核心C语言为载体,实现数字密码锁的输入密码,修改密码,显示,报警,显示时间,修改时间等功能
本实验主要用到的部分有4×4矩阵键盘,数码管及ADuC848单片机中的定时器0等。
按键模块
本系统采用4×4矩阵键盘作为输入部分,实现数据输入功能。本系统规定的键盘上的各按键功能如下图所示,其中的键盘与图4_1中的矩阵键盘相对应。
0 1 2 3 4 5 6 7 8 9 ENTRE RET BACK YES UP SET TIME
图2.1.1_1 4×4键盘各按键对应的功能
在图2.1.1_1中,各按键功能如下:
ENTER :输入密码键。按下此键,八个数码管上显示为“--------”, 此时须键入密码。每输入一位密码,则显示一位“F”,如已经输入前四位密码,则数码管显示为“----FFFF”。
RET:修改密码键。按下此键之后先输入原密码,再输入两次新密码就能成功修改密码。
ENTER:输入密码时的确认键。每次输入密码之后都要按确认键。
BACK: 输入密码时的退位键。在未确定之前可以取消已输入的密码,重新输入。
SET TIME:设置时间键。按下此键可对显示的时间重新设置,按一下对应秒,第二下对应分,第三下对应时。
UP:累加键。按下此键相应的时间会在原有基础上加1,分秒到59回0,时到23回0。
YES:时间确定键。时间调整好后按下该键显示北京时间并开始走动。
0~9:数字键。用于输入密码和设置时间。
数码管模块
由于资源限制,本实验采用板上的八个数码管作为显示部分,用于显示北京时间及输入密码等操作时的显示。
当上电复位时,数码管显示时间,例如,时间是18时01分30秒,则八路LED显示如下:
1 8 ’ 0 1 ’ 3 0 按下输入密码键或者修改密码键,数码管上显示为“--------”,表示等待输入密码。每输入一位密码,则显示一位“F”,如已经输入前四位密码,则数码管显示为“----FFFF”。若中途按下取消键,则第一次退一位,第二次取消已输入密码,数码管显示 “--------”,可重新输入。按下确认键后,如果密码输入正确,则跑马灯从左至右闪,蜂鸣器响一下(清脆),输入密码错误,停顿,跑马灯从右至左闪,且蜂鸣器响一下报警提示(沙哑)。
修改密码时,第一次输入原密码如果错误,则停顿,跑马灯从右至左闪,且蜂鸣器响一下报警提示(沙哑)。
,如果第一次输入原密码正确则跑马灯从左至右闪,蜂鸣器响一下(清脆),然后再输入新密码,每输入一位密码,则显示一位“F”,如已经输入前四位密码,则数码管显示为“----FFFF”。按下确认键后显示1,代表repeat,然后再输一次新密码,如果正确则密码修改成功,返回北京时间。如果第二次输入新密码和第一次输入的不同,则按输入密码错误处理,重新设置新密码。
计时模块
本实验为了正确显示北京时间,采用单片机中的定时器0进行定时中断,控制时间的走时。
蜂鸣器模块
本实验采用蜂鸣器实现密码输入时的提示。当输入密码时,输入密码正确,跑马灯从左至右闪,蜂鸣器响一下(清脆),输入密码错误,停顿,跑马灯从右至左闪,且蜂鸣器响一下报警提示(沙哑)。
系统的总体流程图
图2.2.1_1 系统总体流程图
定时器0中断程序流程图
图2.2.1_1 定时器0中断程序流程图
3系统程序设计
#includeaduc848.h
#includeds1307.h
#includekeyboard.h
#define uchar unsigned char
void inputkey(); //输入密码子程序
void setkey(); //重置密码子程序
void display(); //显示子程序
void delay_0(int numb); //延时子程序
void KeyProcess(); //计时器操作程
文档评论(0)