北京航空航天大学出版社,2017年完成期限指导教师签名课程

利用单片机灵活编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电储存,声光提示甚至遥控控制。通过单片机送给开锁执行机构,电路驱动电磁锁吸合,从而达到开锁的目的。

38

主要内容:

设计一种单片电子密码锁。 它可以判断输入的值是否正确并显示正确的密码。 当出现错误时,警报器会发出蜂鸣声。 它由单片机系统、矩阵键盘、LED显示和报警系统组成。 系统可完成开锁、超时报警、超时锁定、管理员解密、修改用户密码等基本密码锁功能。 除了上面提到的基本密码锁功能外,还具有电量调节存储、声光提示等功能,根据实际情况还可以增加远程控制功能。

基本要求:

1、认真完成系统需求分析,明确数据需求和处理需求;

2、设计系统概念模型并绘制系统流程图;

3、设计硬件电路图和程序流程图;

4、源代码;

5、系统运行结果满足课程设计要求;

主要参考资料:

[1] 李光地等,《微控制器基础》,北京航空航天大学出版社,2001年。

[2]周爱武,王海伟,肖云。 数据库课程设计[M]. 北京:机械工业出版社,2016

[3]李光才,楼兰迪《微控制器课程设计实例指导》北京航空航天大学出版社,2017年。

截止日期

导师签名

课程负责人签名

概括

随着人们生活水平的提高,如何实现家庭防盗的问题变得尤为突出。 传统的机械锁由于结构简单,经常被破坏。 电子锁保密性高,使用灵活性好。 ,安全系数高,深受广大用户喜爱。

本课题设计时设想了两种方案:一种是以AT89c51为核心的单片机控制方案;另一种是以AT89c51为核心的单片机控制方案。 另一种是由74LS112双JK触发器组成的数字逻辑电路控制方案。 考虑到数字电路方案原理过于简单,无法满足当前的安全要求,本文采用前一种方案。

该系统由单片机系统、矩阵键盘、LED显示和报警系统组成。 系统可完成开锁、超时报警、超时锁定、管理员解密、修改用户密码等基本密码锁功能。 除了上面提到的基本密码锁功能外,还具有电量调节存储、声光提示等功能,根据实际情况还可以增加远程控制功能。 该系统成本低、功能实用。

关键词:单片机; 电子密码; 引领

目录

概括

1 概述

1.1 课程设计选题

1.2 项目背景

1.3 课程设计环境

2 具体设计

2.1 设计分析

2.2 总体设计图及流程图设计

2.3 单片机设计图

2.4 解锁机制

2.5 按键电路设计

3 详细设计

4 模拟现象记录

4.1 密码输入错误

4.2 正确输入密码

总结

参考

1 概述

1.1 课程设计选题

本次课程设计我选择的主题是电子密码锁。

1.2 项目背景

随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它给人们带来的便利也是不可否认的。 温度传感器就是一个典型的例子,但人们对它的要求也越来越高。 层次越高,为了给现代人们的工作、科研、生活提供更好、更方便的设施,就必须从数字单片机技术入手,一切都将朝着数字化控制、智能化方向发展。控制。 模拟测试时,按正确密码:1234,输入后,密码正确。 如果密码输入错误,输入后蜂鸣器会响。 删除键可删除意外输入的数字。

1.3 课程设计环境

Proteus是英国著名的EDA工具(仿真软件)。 从原理图布局、代码调试,到单片机与外围电路的协同仿真,一键切换到PCB设计,真正实现从概念到产品的完整设计。 它是全球唯一集电路仿真软件、PCB设计软​​件和虚拟模型仿真软件于一体的设计平台。 其处理器型号支持8051、HC11、PIC10/12/16/18/24/30/DSPIC33、AVR、ARM、8086和MSP430等。2010年增加了CORTEX和DSP系列处理器,其他系列处理器型号还在继续待补充。 它还支持IAR、keil和matil等多种编译器。

2 具体设计

2.1 设计分析

模拟测试时,按正确密码:1234,输入后,密码正确。 如果密码输入错误,输入后蜂鸣器会响。 删除键可删除意外输入的数字。 采用以AT89c51为核心的单片机控制方案。 利用单片机灵活的编程设计和丰富的IO口,以及其控制的准确性,不仅可以实现基本的密码锁功能,还可以增加功率调节存储、声光提示甚至远程控制。 AT89c51是一种具有4K字节闪存可编程、可擦除只读存储器的微控制器。 AT89C51微控制器的可擦除只读存储器可重复擦除100次。 该器件采用 ATMEL 高密度非易失性存储器制造技术制造。 AT89C 微控制器为许多嵌入式控制系统提供了高度灵活且廉价的解决方案。 本设计以AT89C51为核心,连接发光二极管LED灯、矩阵键盘和蜂鸣器。 下面主要介绍以AT89c51为核心的单片机和按键电路。

2.2 总体设计图及流程图设计

图 2-1 流程图

图2-2 总体设计图

2.3 单片机设计图

图2-3 单片机设计图

图2-4 单片机设计与实现

2.4 解锁机制

单片机发送到开锁执行机构,电路驱动电磁锁关闭,从而达到开锁的目的。 当用户输入的密码正确时,锁解锁成功。

它由电路驱动和解锁两个层次组成。 驱动电路由D5、R1、T10组成。 对于T10,可以选择普通的小功率晶体管,如9014、9018,就可以满足要求。 D5作为解锁提示; 它由D6、C24和T11组成。 其中D6和C24是为了消除电磁锁可能产生的反向高压以及可能产生的电磁干扰。 T11可采用8050等中功率晶体管。电磁锁的选择视情况而定,但吸力必须足够,并有一定的余量。 本设计中,基于节省材料的原则,暂时用发光二极管代替电磁锁。 如果发光二极管亮,则表示锁已解锁; 如果熄灭,则表示锁未解锁。

2.5 按键电路设计

由于本设计需要使用矩阵键盘,因此本设计采用矩阵键盘,也可以减少键盘与单片机接口时占用的I/O线数量。 这种方法通常在key较多的情况下使用。

图2-4 按钮图设计

3 详细设计

具体代码:

#包括

typedef 无符号字符 u8;

typedef 无符号 int u16;

//sbit特殊功能位声明:声明特殊功能寄存器的一个位

#define key P1//按钮io端口

sbit fen=P3^0;//蜂鸣器io口

sbit rs=P3^1; //液晶屏控制端口

sbit rw=P3^2;

sbit e=P3^3;

sbit LED=P3^4; //LED灯io口

//bit位变量声明:定义位变量的值

u8 keyz=17,j=0,biao1=0,a=10,b=10,c=10,d=10;

位彪=0;

u16 zh;

u8 shu[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,

0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f};

u8 zi[]={"输入密码:"};

u8 num[]={"0123456789ABCDEF"};

无效延迟(u16 i){

当我 – );

/蜂鸣器/

void Fen(u8 a,b) //蜂鸣器生成函数

u8i,j;

对于(i=0;i

对于(j=0;j

{fen=~fen;延迟(b);}

/*液晶显示*/

void writecom(u8 com){//LCD写命令

rs=0;

读写=0;

e=0;

P0=com;

延迟(5);

e=1;

e=0;

void writedat(u8 dat){//LCD写入数据

rs=1;

读写=0;

e=0;

P0=数据;

延迟(5);

e=1;

e=0;

void initlcd(){//LCD初始化函数

写com(0x38); //显示模式设置

writecom(0x0c);

写com(0x06);

void xian(){//LCD显示数字函数

writedat(num[keyz]);

if(a==10){a=keyz; }//对于abcd,四位单独赋值

否则 if(b==10){b=keyz;}

否则 if(c==10){c=keyz;}

否则{d=keyz;}

if(j!=3){j++;}biao=0;

/*键盘*/

void Key(){u8 a=0;//矩形键盘函数

if(key!=0x0f){延迟(1000);

如果(键!=0x0f){

键=0x0f;

开关(键){

案例 0x07: keyz=0;biao=1;break;

案例 0x0b: keyz=1;biao=1;break;

案例 0x0d: keyz=2;biao=1;break;

案例 0x0e: keyz=3;biao=1;break;

键=0xf0;

开关(键){

案例 0x70: keyz=keyz;biao=1;break;

案例 0xb0: keyz=keyz+4;biao=1;break;

案例 0xd0: keyz=keyz+8;biao=1;break;

案例 0xe0: keyz=keyz+12;biao=1;break;

而((一个

void shi(){u8 i;//按键判断函数值

if(biao&&keyz!=15){ //判断flag biao是否为1,如果为1,则有按键操作且key的值不等于1

writecom(0x80+0x40+j); //累加操作的数字显示位置

if(j//数字显示位置边界

switch(keyz){//switch判断按键并执行相应的操作

案例 0:xian(); 休息;

情况1:xian(); 休息;

情况2:xian(); 休息;

情况3:xian(); 休息;

情况4:xian(); 休息;

案例5:xian(); 休息;

案例6:xian(); 休息;

案例7:xian(); 休息;

案例8:xian(); 休息;

案例9:xian(); 休息;

案例 10:writedat(num[keyz]);

j++;biao=0;打破;

案例 11:writedat(num[keyz]);

j++;biao=0;打破;

案例12:

biao1=0;//重置标志biao1,锁定

彪=0;打破;

case 13:writecom(0x01);delay(1000);//清全屏

对于(i=0;i

writecom(0x80+i);

writedat(zi[i]);}

j=0;彪=0;打破;

case 14: //删除当前数字的操作

writedat('');

j——;

writecom(0x80+0x40+j);writedat(' ');

彪=0;打破;

案例15://确认按钮

j++;biao=0;打破;

if(keyz==15){//如果键值等于15,则视为按下确认键

writecom(0x01);延迟(1000);

zh=a*1000+b*100+c*10+d;//组合ABCD、四位数字,判断是否是正确的密码

if(zh==1234){ //设置密码为1234

j=0;

biao1=1;//设置biao1标志为1,表示密码正确

keyz=17;//使键值跳出最大值15,并且不会循环显示

别的{

j=0;

biao1=0;//否则密码放错

键z=17;

分(20,200); //蜂鸣器错误

zh=0;a=10,b=10,c=10,d=10;//重置ABCD变量

对于(i=0;i

writecom(0x80+i);

writedat(zi[i]);}

无效主(){u8我; 发光二极管=1;

初始化液晶屏(); //液晶屏初始化函数

对于(i=0;i

writecom(0x80+i);

writedat(zi[i]);}

而(1){

钥匙(); //定义键盘功能

石(); //按钮判断函数,灯亮或者报警

P2=shu[keyz]; //数码管显示当前输入值

if(biao1==1){ led=0; //判断标志位biao1,如果为1,则密码显示正确,ok

writecom(0x80+0x40+10);

writedat('O');

writecom(0x80+0x41+10);

writedat('K'); }

else if(biao1==0){led=1;//如果biao1为0,则显示密码错误,显示no。

writecom(0x80+0x40+10);

writedat('N');

writecom(0x80+0x41+10);

writedat('O');}

4 模拟现象记录

4.1 密码输入错误

当密码输入错误时,蜂鸣器会发出警报声。

图4-1 密码输入错误

4.2 正确输入密码

图4-2 正确输入密码

总结

本次培训分为三个阶段:一是电路仿真和原理图; 二、焊接单片机实验板; 三、电路硬件调试。 每一步都做得很仔细。 这是首次将模拟应用于实践。 我感觉自己收获很多。 一般来说,一次性成功的板子很少,必须经过调试和错误检查,才能得到一块完整的电路板。 这次做了一个电子密码锁和液晶显示屏。 原理看似简单,但过程却让我深深感受到,无论多么简单的电路图,理论与实践还是有一定差距的。 参考书中的原理图经过亲自改进,使功能更加完善,尤其是程序的调试,需要花费很多时间,也是最困难的部分。 我们的最终目标是应用而不是理论结果。 我们学习的理论知识是比较高级的,但是因为我们通常会把知识付诸实践。 通过这次设计,培养了我的创新意识和综合素质,更好地掌握了电子产品设计和生产的技术和流程,提高了我的个人基本能力、实验设计能力、独立工作能力。 我的基础知识变强了,可以看图了。 、能焊接、能安装、能测量、能验资。 回顾这次的课程设计,感触还是很多的。 从理论到实践,在这些日子里,可以说是苦多于甜,但是我可以学到很多东西,同时,我不仅可以巩固以前所学的知识。 我收获了很多知识,学到了很多书本上没有学到的知识。 通过这次课程设计,我了解到理论与实践相结合是非常重要的。 仅有理论知识是远远不够的。 只有将所学的理论知识与实践相结合,从理论中得出结论,才能真正服务于社会,从而提高自己的实践水平和独立思考水平。 设计过程中遇到的问题可以说是困难重重,但好消息是最终都得到了解决。

参考

[1] 肖潇,葛文奇. 单片机技术在电气传动系统中的应用分析[J]. 中国标准化,2017。

[2] 毛阳. 单片机技术在电气传动控制系统中的应用与研究[J]. 中国高新区,2018。

[3] 贾飞. 项目教学法在单片机技术课程中的应用案例[J]. 张家口职业技术学院学报,2017。

[4]罗东华. 互联网+背景下单片机技术课程改革与建设研究[J]. 教育现代化,2017。 [5]李健。 单片机技术在矿区智能勘察设备中的应用[J]. 电子制作,2017。

[6] 严璞,王桂峰. 基于单片机技术的室内照明光伏优化供电控制系统设计[J]. 中国新技术新产品,2018。

[7]宋树林. 单片机技术在物联网电子产品中的应用研究[J]. 现代工业经济与信息化,2017。

单片机

单片机与微处理器的区别和区别?单片机的定义和原理

2024-2-8 19:02:22

单片机

STM3232FF407F407407ZETZET6芯片设计的开发板

2024-2-8 20:02:30

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索