欢迎来到天天文库
浏览记录
ID:6364407
大小:1.50 MB
页数:19页
时间:2018-01-11
《pic单片机原理及应用课程设计报告-电子密码锁》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、PIC单片机原理及应用课程设计报告———电子密码锁专业:电子信息工程姓名:哈哈哈班级:(1)学号:0000000002010.12.2918【摘要】:随着生活水平的提高,人们也越来越重视个人的隐私及财产安全,要设计主要基于PIC单片机系统、键盘、LCD。本系统可完成开锁、修改密码、掉电后密码受保护以及三次输入密码错误报警功能。【关键词】:电子密码锁、键盘、LCD。【目录】:第一章:主要元器件介绍第一节:PIC介绍·································1第二节:LCD1602介绍························
2、·····2第二节:矩阵键盘介绍······························7第二章:电子密码锁的设计第一节:密码锁原理图及工作原理····················8第二节:密码锁程序································9第三章:设计心得及参考文献··························1718第一章主要元器件介绍第一节、PIC单片机单片机是一块芯片上集成了中央处理器单元、数据存储器、程序存储器、输入/输出和定时器/计数器等部件的一台小型计算机。随着芯片集成度的提高,单片机的功能得以迅速的
3、扩充,特别是PIC单片机,增加了许多强大的外围模块,从而给用户带来了极大的便利。PIC单片机有如下特点:1、哈佛总线结构;2、RISC技术;3、指令特色;4、功耗低;5、驱动能力强;6、同步串行数据传送方式;7、应用界面友好、开发方便;8、程序存储器版本齐全。1-1PIC16F877A框图1-2引脚示意图:181-3特殊功能寄存器第二节、LCD160218181818第一节、矩阵键盘1.矩阵式键盘的结构与工作原理 在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,
4、而是通过一个按键加以连接。这样,一个端口就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读
5、入输入线的状态就可得知是否有键按下了。18第二章、电子密码锁的设计第一节、原理图及工作原理一、原理图18二、原理框图单片机控制系统LCD显示蜂鸣器键盘三、设计原理用户根据屏幕提示操作,单片机通过键盘扫描,检测输入密码是否正确,如果正确则进入系统,进行下一步操作。进入系统后,刚继续检测用户输入的功能号,根据功能号判断下一步要执行的程序,否则一直在功能界面等待用户指令。其中在功能界面中,按下A则为退出功能界面,下次要再进入则须再输入正确密码,按下B则可重设密码,在这里须两次输入相同新密码后才可设定成功,设定成功后退至功能界面,继续等待用戶指令。第二节、电子
6、密码所程序18一、程序流程图初始化调用LCD显示子程序,显示“pressDtostart”调用键盘扫程序检测D是否被按下清屏调用LCD程序,清屏,并显示“enterpassword”调用输入六位密码子程序调用密码检测程序检测密码是否正确调用显示程序,清屏,显示“A:exitB:resetnum:function”执行读按键子程序执行退出程序执行密码重设程序执行其他程序输入错误次数加1,并判断是否达到3次执行报警程序是二、程序#include#include#include"string.h"__CONFIG(0X3B31
7、);#defineuintunsignedint#defineucharunsignedcharcharinword[6];charpasswd[6];charnewword[6];voiddelay(uintt);18voidinit();voidsound200ms(unsignedcharfre_repeat,unsignedchars_max,unsignedchars_min);voidsounddelay(unsignedchardelay_count);/*********************************/#definek
8、eybordPORTBcharkeyscan();voidkeyinit();charread
此文档下载收益归作者所有