单片机课程设计报告--电子密码锁
单片机课程设计报告电子密码锁完整版
![单片机课程设计报告电子密码锁完整版](https://img.taocdn.com/s3/m/3818f8ce168884868762d6bc.png)
单片机课程设计报告电子密码锁HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】山东交通学院单片机原理与应用课程设计院(部):轨道交通学院班级:自动化121学生姓名:学号:指导教师:时间:—课程设计任务书题目电子密码锁设计系 (部) 轨道交通学院专业班级自动化121学生姓名学号06 月 01 日至 06 月 12 日共 2 周指导教师(签字)系主任(签字)年月日目录3.总体设计 (2)4密码比较模块 (6) (6) (8) (9)附录 (10)摘要设计运用了ATMEL公司的AT89S52芯片系统,将微处理器、总线、蜂鸣器、矩阵键盘、存储器和I/O口等硬件集中一块电路板上,通过读取键盘输入的数据(密码)并储存到ATMEL912 24C08存储器中,然后判断之后键盘输入的数据与已存储的数据是否相同来决定打开密码箱或锁键盘或报警。
在keil4软件中编程,系统可实现6位密码的处理,并通过控制步进电机控制密码箱门的电子锁,同时还可以修改改密码。
利用单片机系统制作的密码箱安全性能更高,更易操作且体积小。
关键词:单片机、密码锁、修改密码1.设计要求本实验将实现六位数的电子密码锁。
要求使用4X4 行列式键盘作为输入,并用LCD 实时显示。
具体要求如下:1. 开机时LCD显示“welcome to use”,初始化密码为“123456”,密码可以更改。
2. 按下“10”,开始则显示“Enter Please:”。
3. 随时可以输入数值,并在LCD上实时显示‘*’。
当键入数值时,为了保密按从左到右依次显示‘*’,可键入值为0~9。
4. 按下“13”键,则表示确定键按下,进行密码对比。
如相符则在LCD第一行显示“Open the door!”,同时指示灯亮起并且步进电机旋转一定的角度;如不符,则LCD第一行显示“Wrong password!”,并且蜂鸣器同时提示一下。
基于单片机的电子密码锁
![基于单片机的电子密码锁](https://img.taocdn.com/s3/m/8c927e2d26d3240c844769eae009581b6ad9bd61.png)
基于单片机的电子密码锁第一章:引言电子密码锁是随着科技的不断进步,应用于各个领域的一种新型门禁系统。
相较于传统的机械锁具,电子密码锁具有更高的安全性与便捷性。
而基于单片机的电子密码锁,则是通过单片机作为核心控制器,通过输入正确的密码才能进行开锁操作。
本文旨在介绍基于单片机的电子密码锁的原理、设计和实现过程。
第二章:电子密码锁的工作原理2.1 单片机简介单片机是一种集成了微处理器、存储器和各种输入输出接口于一体的微型计算机系统。
它具有体积小、功耗低、性能稳定等特点,适用于各种电子设备的控制系统。
2.2 电子密码锁的组成部分基于单片机的电子密码锁由输入模块、控制模块、显示模块和输出模块组成。
输入模块用于输入密码,控制模块用于验证密码的正确性和执行开锁指令,显示模块用于显示相关信息,输出模块用于控制锁的状态。
2.3 电子密码锁的工作原理当用户输入密码时,控制模块将用户输入的密码与预设密码进行比较。
如果输入的密码正确,则控制模块发送开锁指令,输出模块解除锁的限制,用户可以开启门。
否则,控制模块继续等待用户输入密码。
第三章:电子密码锁的设计步骤3.1 系统需求分析根据实际应用需求,确定电子密码锁系统的功能、性能和外观设计等方面的要求。
3.2 硬件设计根据系统需求,设计硬件电路,包括输入模块、控制模块、显示模块和输出模块等。
3.3 软件设计基于单片机的电子密码锁需要编写适用的软件程序。
根据密码验证算法,编写程序实现密码的比较和开锁指令的发送。
3.4 电子密码锁的制作流程根据硬件设计和软件设计的结果,进行电子密码锁的组装和制作。
3.5 电子密码锁的测试与调试对制作完成的电子密码锁进行测试,包括考虑用户输入的密码是否正确、开锁是否正常、显示是否准确等方面的问题。
第四章:电子密码锁的功能与特点4.1 密码设置与管理用户可以根据需要设置密码,并进行密码的管理,包括密码的增、删、改等功能。
4.2 多种开锁方式电子密码锁可以支持多种开锁方式,例如密码开锁、指纹识别、刷卡开锁等。
单片机课程设计 电子密码锁
![单片机课程设计 电子密码锁](https://img.taocdn.com/s3/m/3bf082303968011ca30091c1.png)
第1章设计目的1.利用所学单片机的理论知识进行软硬件整体设计,锻炼学生理论联系实际、提高我们的综合应用能力。
2.我们这次的课程设计是以单片机为基础,设计出一个具有一定功能的电子密码锁。
3.掌握一些重要芯片的功能特性及使用方法,并能运用其组合成一个简单的单片机机应用系统。
4.锻炼同学们的动手能力和独立思考的能力,巩固理论知识,加深对课堂内容的理解。
5.培养同学们对单片机的兴趣,通过课程设计调动同学们的积极性,使更多的人将来能在单片机领域有所建树。
第2章设计要求及总体思路2.1设计要求1、密码的设定,此密码是固定在程序存储器ROM中,假设预设的密“12345”共5位密码。
2、密码的输入:采用两个按键来完成密码的输入,其中一个按键为功能键,另一个按键为数字键。
在密码都已经输入完毕并且确认功能键之后,才能完成密码的输入过程。
然后进入密码的判断比较处理状态并给出相应的处理过程。
3、按键禁止功能:初始化时,允许按键输入密码,当有按键按下并开始进入按键识别状态时,按键禁止功能被激活,但启动的状态是在3次密码输入不正确的情况下发生的。
2.2 总体思路系统总体设计方案框图如下:图2-1一般而言,要实现相同的功能,硬件复杂的系统其软件一般较简单,而软件复杂的系统其硬件一般相对简单,本着经济性的原则,我们应该尽可能少用硬件,根据这个设计理念和设计要求,本单片机系统的设计思路如下:1)电子密码锁所用的数据的存储和运算用单片机来完。
2)因为没有专用的输入键盘,所以按键输入用计算器输入键盘代替。
按键密码从P3口输入。
3)用六位显示器显示五位密码,显示器选择动态扫描,用P0口作段控,用P2口作位控。
4)开锁信号从P1.1口输出,报警信号从P1.0口输出。
5) 按键分为功能键和数字键,具体如表2-1。
6)输入五位密码后按确认键,系统验证密码是否正确,若密码正确,则产生开锁信号,若接连三次输入错误密码,则产生报警信号。
7) 当错误输入某位密码时,可按删除键进行删除,也可按清零键对所输入的数进行整体清除。
单片机课程设计密码锁设计
![单片机课程设计密码锁设计](https://img.taocdn.com/s3/m/5912e34953d380eb6294dd88d0d233d4b14e3f85.png)
单片机课程设计密码锁设计在当今社会,安全问题越来越受到人们的重视,密码锁作为一种常见的安全防护设备,在保护个人财产和隐私方面发挥着重要作用。
本次单片机课程设计的任务就是设计一款基于单片机的密码锁。
一、设计要求本次设计的密码锁需要具备以下功能:1、能够设置和修改 4 位数字密码。
2、输入密码正确时,锁打开,并有相应的指示灯提示。
3、输入密码错误时,有错误提示,且错误次数超过 3 次则报警。
4、具备密码重置功能。
二、系统方案设计1、硬件设计单片机选型:选择 STC89C52 单片机作为核心控制器,其具有性能稳定、价格低廉、易于编程等优点。
输入模块:采用 4×4 矩阵键盘作为密码输入设备,可方便地输入数字和功能按键。
显示模块:选用 1602 液晶显示屏,用于显示密码输入状态、提示信息等。
存储模块:使用 EEPROM 芯片 AT24C02 来存储密码,以保证断电后密码不丢失。
报警模块:当密码输入错误次数超过 3 次时,通过蜂鸣器发出报警声音。
2、软件设计主程序:负责系统的初始化、键盘扫描、密码输入处理、密码验证、显示控制等。
键盘扫描程序:检测矩阵键盘上的按键动作,并将按键值返回给主程序。
密码处理程序:包括密码设置、修改、存储和验证等功能。
显示程序:控制 1602 液晶显示屏的显示内容。
三、硬件电路设计1、单片机最小系统包括单片机芯片、晶振电路和复位电路。
晶振为单片机提供时钟信号,复位电路用于系统的初始化。
2、矩阵键盘电路由16 个按键组成 4×4 矩阵,通过行线和列线的扫描来确定按键值。
3、显示电路1602 液晶显示屏通过数据总线和控制总线与单片机相连,实现数据的传输和显示控制。
4、存储电路AT24C02 通过 I2C 总线与单片机进行通信,用于存储密码数据。
5、报警电路蜂鸣器通过三极管驱动,当单片机输出高电平时,蜂鸣器发声报警。
四、软件程序设计1、主程序流程系统初始化,包括单片机端口初始化、液晶显示屏初始化、EEPROM 初始化等。
单片机课程设计之电子密码锁
![单片机课程设计之电子密码锁](https://img.taocdn.com/s3/m/cc850eae647d27284b735193.png)
课程设计(综合实验)报告( 2009 -- 2010 年度第二学期)名称:微处理器系统课程设计题目:电子密码锁设计院系:电子与通信工程系班级:电子0702班学号: 0201学生姓名:白羽峰指导教师:张宁设计周数: 1周成绩:日期: 2010 年 7 月单片机课程设计之电子密码锁一、课程设计要求1.通过键盘输入密码。
密码正确与错误进行相应的音乐提示,与液晶显示提示。
3次按下错误密码则锁死,禁止信号输入。
2.通过超级密码(长度为16位)进入密码修改模式,进行密码修正,用户密码长度为8位。
二、实验目的进一步的掌握使用ICC进行编程以及程序调试,熟悉并掌握AVR单片机片上外设功能及其使用,熟练掌握单片机学习板上矩阵键盘、1602液晶、蜂鸣器、EEPROM (AT24C02)等外设的使用以及和单片机间的通信。
三、设计思路利用EEPROM(AT24C02)掉电不丢失的特性设计电子密码锁,先向AT24C02中写入一组数据作为密码(密码设定),然后进入密码输入界面,输入密码并进行密码真伪判别,密码真伪有不同对应的提示,表现在液晶显示和蜂鸣器鸣响上,出现三次密码输入错误则锁死,不能进行任何操作,只能关闭电源重新开始。
四、实验源程序代码如下:#include <>#include <>#include <>#define uchar unsigned char#define uint unsigned int#define LCD_EN BIT(PC3)#define LCD_RS BIT(PC2)//EEPROM控制寄存器位定义:#define EERE 0 //读#define EEWE 1 //写#define EEMWE 2 //总写入#define WWRIE 3 //中断uint add[8]={0x0100,0x0101,0x0110,0x0111,0x1000,0x1001,0x1010,0x1011};uchar sc[16]={0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38, 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38}; uchar title[]={"Code:"};uchar title1[]={"Hint:"};uchar title2[]={"Error!"};uchar title3[]={"OK!"};uchar title8[]={"Hello!I like AVR"};uchar title4[]={"Warnning!"};uchar title5[]={"Super Code:"};uchar title6[]={"Input New Code:"};uchar title7[]={"Set Code:"};uint xians[]={0};uchar key_flag;unsigned data_temp;void_init(void){DDRB=0xff; //定义B口输出PORTB=0xff;}void eeprom_w(uint eeadd, uchar eedata){while(EECR&(1 << EEWE)); //写等待EEAR=eeadd; //设置写入地址EEDR=eedata; //设置写入数据EECR|=(1<<EEMWE); //总写入允许EECR|=(1 << EEWE); //开始写入}char eeprom_r(uint eeadd){while(EECR&(1 << EEWE)); //写等待EEAR=eeadd; //设置读入地址EECR|=(1<<EERE); //读命令return EEDR; //返回数据}void delay_1ms(void){uint i;for (i=0;i<1140;i++);}void delay(uint n){uint i=0;for (i=0;i<n;i++)delay_1ms();}void LCD_Write_half_char(void){PORTC &= 0x0F; //portc0~3=0PORTC |= (data_temp<<4)&0xF0; //send LOW 4bitPORTC |= LCD_EN; //EN端产生一个由低电平变高电平,写LCD delay(2);PORTC &= ~LCD_EN; //EN端产生一个由高电平变低电平,写LCD PORTC &= 0X0F;delay(2);}void LCD_write_char(uint command,uint data){PORTC &= ~LCD_EN;if (command == 0)PORTC &=~LCD_RS; //RS=0 发送命令elsePORTC |=LCD_RS; //RS=1 发送数据data_temp = data;data_temp=data_temp >>4;LCD_Write_half_char();data_temp = data;LCD_Write_half_char();delay(1);}void LCD_init(void)LCD_write_char(0,0x38);delay(1);LCD_write_char(0,0x02);delay(1);LCD_write_char(0,0x28); // 显示模式设置(不检测忙信号) delay(1);LCD_write_char(0,0x08); // 显示关闭delay(1);LCD_write_char(0,0x01); // 显示清屏delay(1);LCD_write_char(0,0x06); // 显示光标移动设置delay(1);LCD_write_char(0,0x0c); // 显示开及光标设置delay(5);}uchar key_read(void){ uchar i;DDRA = 0x0E; //获取列地址PORTA = 0x0E;i = PINA;DDRA = 0xf0; //获取行地址PORTA = 0xf0;i |= PINA;DDRA = 0x00; //输出复位switch (i) //将按键码转换成键值{case 0x7d: return 0x31;case 0xbd: return 0x32;case 0xdd: return 0x33;case 0xed: return 0x34;case 0x7b: return 0x35;case 0xbb: return 0x36;case 0xdb: return 0x37;case 0xeb: return 0x38;case 0x77: return 0x2a;case 0xb7: return 0x39;case 0xd7: return 0x30;case 0xe7: return 0x23;default : return 0x00;delay(10);}}void chush(void){uchar i=0,k,j,temp=0x00,m,n;uchar x[8]={0};uint add1[8]={0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c};DDRC=0xff;PORTC=0x00;LCD_init();LCD_write_char(0,0x80);for(k=0;k<5;k++)LCD_write_char(1,title[k]);LCD_write_char(0,0x80+0x40);for(j=0;j<5;j++)LCD_write_char(1,title1[j]);}void main(void){uchar i=0,k,j,temp=0x00,m,n,l,w=0,y=0,z,v,t=0,dkz;uchar x[8]={0},dec[8]={0},p[16]={0},c[8]={0};uint add1[8]={0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c};uint add2[16]={0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9, 0xca,0xcb,0xcc,0xcd,0xce,0xcf};DDRD=0xFF;PORTD=0xF0;DDRC=0xff;PORTC=0x00;LCD_init();LCD_write_char(0,0x80);for(k=0;k<9;k++)LCD_write_char(1,title7[k]);while(i<8){c[i]=key_read();if(c[i]!=0&&c[i]!=temp){LCD_write_char(0,add2[i]);LCD_write_char(1,0x2a);temp=key_read();i++;}/*delay(2);dkz=PIND;if(dkz==0x70){i=8;}*/}if(i==8){ temp=0;i=0;for(m=0;m<8;m++){void_init();eeprom_w(add[m],c[m]); //将数据写入EEPROM中的单元 PORTB=eeprom_r(add[m]);//读取EEPROM中的数据,送显dec[m]=eeprom_r(add[m]);delay(20);}}while(1){delay(2);dkz=PIND;if(dkz==0xE0){LCD_write_char(0,0x01); // 显示清屏LCD_write_char(0,0x80);for(k=0;k<5;k++)LCD_write_char(1,title[k]);LCD_write_char(0,0x80+0x40);for(j=0;j<5;j++)LCD_write_char(1,title1[j]);}x[i]=key_read();if(x[i]!=0&&x[i]!=temp){LCD_write_char(0,add1[i]);LCD_write_char(1,0x2a);temp=key_read();i++;}if(i==8){ temp=0;i=0;for(m=0;m<8;m++){if(x[m]==dec[m]){w++;}}if(w==8){LCD_write_char(0,0x80+0x45);for(n=0;n<3;n++)LCD_write_char(1,title3[n]);PORTD^=BIT(5);delay(100);PORTD^=BIT(5);w=0;delay(200);LCD_write_char(0,0x01); // 显示清屏LCD_write_char(0,0x80);for(k=0;k<16;k++)LCD_write_char(1,title8[k]);}else{LCD_write_char(0,0x80+0x45);for(n=0;n<6;n++)LCD_write_char(1,title2[n]);for(l=0;l<6;l++){PORTD^=BIT(5);delay(50);}y++;}}if(y==3){y=0;LCD_write_char(0,0x01); // 显示清屏LCD_write_char(0,0x80);for(z=0;z<9;z++)LCD_write_char(1,title4[z]);dkz=PIND;while(dkz==0xF0||dkz==0x70);}delay(2);dkz=PIND;if(dkz==0x70){chush();}else if(dkz==0xB0){LCD_write_char(0,0x01); // 显示清屏 LCD_write_char(0,0x80);for(z=0;z<11;z++)LCD_write_char(1,title5[z]);while(i<16){p[i]=key_read();if(p[i]!=0&&p[i]!=temp){LCD_write_char(0,add2[i]);LCD_write_char(1,0x2a);temp=key_read();i++;}}if(i==16){ temp=0;i=0;for(m=0;m<16;m++){if(p[m]==sc[m]){t++;}}}if(t==16){LCD_write_char(0,0x01); // 显示清屏LCD_write_char(0,0x80);for(z=0;z<15;z++)LCD_write_char(1,title6[z]);while(i<8){c[i]=key_read();if(c[i]!=0&&c[i]!=temp){LCD_write_char(0,add2[i]);LCD_write_char(1,0x2a);temp=key_read();i++;}}if(i==8){ temp=0;i=0;for(m=0;m<8;m++){void_init();eeprom_w(add[m],c[m]); //将数据写入EEPROM中的0x0100单元PORTB=eeprom_r(add[m]);//读取EEPROM中0x0100单元的数据,送显dec[m]=eeprom_r(add[m]);delay(20);}}}}}}五、实验心得通过本次课程设计,我对使用ICC进行编程以及程序调试有了进一步的掌握,并且对AVR单片机片上外设功能及其使用有了一个清晰的了解,较熟悉的掌握了单片机学习板上矩阵键盘、1602液晶、蜂鸣器、EEPROM(AT24C02)等外设的使用以及和单片机间的通信。
基于51单片机的密码锁设计报告
![基于51单片机的密码锁设计报告](https://img.taocdn.com/s3/m/7e7e3031571252d380eb6294dd88d0d233d43ca2.png)
基于51单片机的密码锁设计报告一、引言随着科技的不断发展,安全问题越来越受到人们的关注。
密码锁作为一种常见的安全防护设备,在保护个人财产和隐私方面发挥着重要作用。
本设计报告介绍了一种基于 51 单片机的密码锁系统,该系统具有成本低、可靠性高、操作简单等优点,适用于家庭、办公室等场所。
二、系统总体设计(一)设计目标设计一个基于 51 单片机的密码锁系统,实现以下功能:1、密码输入与验证功能。
2、密码修改功能。
3、错误输入次数限制及报警功能。
4、开锁状态指示功能。
(二)系统组成本系统主要由 51 单片机、矩阵键盘、液晶显示屏(LCD)、电磁锁驱动电路、报警电路等组成。
1、 51 单片机作为核心控制器,负责处理密码输入、验证、修改等操作,并控制其他模块的工作。
2、矩阵键盘用于输入密码和执行相关操作。
3、 LCD 显示屏用于显示系统状态和提示信息。
4、电磁锁驱动电路用于控制电磁锁的开关。
5、报警电路在密码输入错误次数超过限制时发出报警信号。
三、硬件设计(一)51 单片机选型本设计选用 STC89C52 单片机,该单片机具有丰富的 I/O 口资源、较高的性价比和良好的稳定性。
(二)矩阵键盘设计矩阵键盘采用 4×4 行列式结构,通过扫描的方式获取按键值。
(三)LCD 显示屏接口设计选用 1602 液晶显示屏,通过并行接口与单片机连接,实现数据的传输和显示。
(四)电磁锁驱动电路设计电磁锁采用直流电源供电,通过三极管驱动电路控制其开关。
(五)报警电路设计报警电路采用蜂鸣器实现,当密码输入错误次数超过限制时,单片机输出高电平驱动蜂鸣器发声报警。
四、软件设计(一)主程序流程系统上电后,首先进行初始化操作,包括单片机端口初始化、LCD 初始化等。
然后进入密码输入状态,等待用户输入密码。
用户输入密码后,进行密码验证,如果密码正确,则打开电磁锁,并显示开锁成功信息;如果密码错误,则记录错误次数,并显示错误提示信息。
单片机课程设计-电子密码锁
![单片机课程设计-电子密码锁](https://img.taocdn.com/s3/m/4d606e0219e8b8f67d1cb9d5.png)
单片机课程设计-电子密码锁电子密码锁的设计说明书院系:机电汽车工程学院专业:机械设计制造及其自动化班级:姓名:学号:指导老师:同组人员:1中文摘要摘要:随着经济的发展,人们对日常生活质量的要求也越来越高,从工作、学习、出行、购物等的各个方面,人们也对现代安全设施提出来更高的要求。
在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。
密码锁具有安全性高、成本低、功耗低、易操作等优点,同时还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。
本次电子密码锁的设计主要就针对于这种社会需求,从程序设计到硬件设计以及硬件安装连接都做了详细的说明。
2设计说明本次设计使用 ATMEL公司的 AT89C51 实现一基于单片机的电子密码锁的设计,其主要具有如下功能:①密码通过键盘输入,若密码正确,则将锁打开。
②报警、锁定键盘功能。
密码输入错误数码显示器会出现错误提示,若密码输入错误次数超过 3 次,蜂鸣器报警并且锁定键盘。
电子密码锁的设计主要由三部分组成:4×4 矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。
另外系统还有LED 提示灯,报警蜂鸣器等。
密码锁设计的关键问题是实现密码的输入、清除、更改、开锁等功能:①密码输入功能:按下一个数字键,一个“-”就显示在最右边的数码管上,同时将先前输入的所有“-”向左移动一位。
②密码清除功能:当按下清除键时,清除前面输入的所有值,并清除所有显示。
③开锁功能:当按下开锁键,系统将输入与密码进行检查核对,如果正确锁打开,否则不打开。
主要的设计实施过程:首先,选用 ATMEL公司的单片机AT89C51,以及选购其他电子元器件。
第二步,使用 DXP 20043设计硬件电路原理图,并设计 PCB图完成人工布线(后因 PCB 板损坏决定采用万能板焊接的方法)。
单片机电子密码锁课程设计
![单片机电子密码锁课程设计](https://img.taocdn.com/s3/m/89282eb2541810a6f524ccbff121dd36a32dc42e.png)
单片机电子密码锁课程设计一、课程目标知识目标:1. 让学生理解单片机的基本原理和功能,掌握电子密码锁的基本工作原理。
2. 使学生掌握电子密码锁设计中涉及的编程知识,如C语言基础、寄存器操作等。
3. 帮助学生了解电子密码锁电路的组成,熟悉相关电子元器件的使用。
技能目标:1. 培养学生运用所学知识设计并实现一个简单的单片机电子密码锁的能力。
2. 提高学生动手实践能力,学会使用编程软件、烧录器和相关调试工具。
3. 培养学生团队协作和问题解决能力,学会分析电子密码锁故障并找出解决办法。
情感态度价值观目标:1. 激发学生对电子制作的兴趣,培养创新意识和动手能力。
2. 培养学生严谨的科学态度,注重实验数据和实验结果的准确性。
3. 引导学生关注单片机技术在日常生活中的应用,提高对科技的认识和热爱。
本课程针对高年级学生,他们在之前的学习中已经具备了一定的电子和编程基础。
因此,课程设计将注重实践操作,以项目为导向,让学生在动手实践中巩固知识,提高技能。
通过本课程的学习,学生将能够独立设计并实现一个具有实用价值的单片机电子密码锁,提升解决实际问题的能力。
二、教学内容1. 单片机基础原理:回顾单片机的组成、工作原理,重点讲解51单片机的内部结构、时钟电路和复位电路。
教材章节:第三章《单片机原理与接口技术》2. C语言编程基础:介绍C语言在单片机编程中的应用,讲解数据类型、运算符、控制语句等基本语法。
教材章节:第四章《单片机C语言编程》3. 电子密码锁原理:讲解电子密码锁的基本工作原理,分析锁体的电路组成和功能。
教材章节:第七章《单片机应用实例》4. 硬件设计:学习并设计电子密码锁的硬件电路,包括键盘输入、显示模块、锁驱动电路等。
教材章节:第五章《单片机接口技术》5. 软件设计:编写电子密码锁的控制程序,实现密码输入、校验、开锁等功能。
教材章节:第四章《单片机C语言编程》6. 系统调试与优化:学习使用调试工具,对电子密码锁系统进行调试和优化。
北京交大单片机课程设计电子密码锁设计报告
![北京交大单片机课程设计电子密码锁设计报告](https://img.taocdn.com/s3/m/c65c0867af1ffc4ffe47ac75.png)
单片机原理与应用课程设计报告-电子密码锁目录:1密码锁简介:2系统硬件电路设计单片机电路图显示电路图键盘电路图3芯片介绍MAX7219的,管脚功能,操作指令,与单片机的连接4程序设计框架5在课程设计中遇到的困难及解决办法与心得体会6程序1,电子密码锁简介:我使用MCS51系列单片机设计电路,运用汇编语言编程,达到用键盘输入密码,修改密码,报警并即时显示的目的。
MCS51系列单片机使用起来灵活,应用广泛。
它的直接并行互连具有一定的实用价值,能简化许多应用系统的硬件设计。
它还具有性能稳定、工作可靠、价格低廉等特点。
我是利用MCS51单片机系列AT89S52为依托,利用一块扩展4 X 4 键盘输入密码,显示器采用MAX7219控制共阴极四位数码管和蜂鸣器。
最终使密码锁能够实现以下功能:1、密码锁上电或复位后初始密码为0000,管理员密码是1105;2、输入密码:按“输入”键后可输入4位密码,按“确认”键后进行比较,当与设定密码或管理员密码一致时绿灯亮,输入正确;否则红灯亮,输入错误。
当连续3次输入错误时,红灯亮一段时间,期间发出报警的蜂鸣声,且键盘在此期间锁定。
10秒后退出报警系统,返回初始状态。
3、修改密码:按“修改”键后,要先输入当前设定密码或管理员密码才可修改,否则退出修改模块。
当输入正确后,绿灯亮,可以修改密码。
首先输入4位数字,绿灯亮;然后再输入4位数字,当两次输入一致时,绿灯亮,修改成功。
否则,红灯亮,修改未成功,需要继续输入4位数字,只有连续输入的4位数字一致时,绿灯亮,修改成功。
退出修改密码模块。
4、存在的问题:当复位或断电后,修改后的密码会丢失电路设计图,包括电源,复位开关,单片机,和LED蜂鸣器显示芯片与数码管的电路设计图注意,这里我采用的4联共阴的数码管,所以要去掉两条线键盘连接图,4X4其中0-9是数字输入键,输入的是相应的数字,A 为输入键,B 为修改密码键,C 为确认键。
3、主要芯片介绍3.1 MAX7219MAX7219是一种高集成化的串行输入/输出的共阴极LED显示驱动器。
单片机课程设计密码锁
![单片机课程设计密码锁](https://img.taocdn.com/s3/m/3bd82e7fa4e9856a561252d380eb6294dc88226e.png)
单片机课程设计密码锁一、课程目标知识目标:1. 理解单片机的基础知识,掌握其基本原理和编程方法;2. 学习并掌握密码锁的原理与设计,能够运用单片机实现密码锁功能;3. 了解并掌握相关传感器和执行器的使用,实现密码锁的输入和输出控制。
技能目标:1. 能够运用所学知识,设计并编写出实现密码锁功能的单片机程序;2. 掌握使用相关调试工具,对单片机程序进行调试和优化;3. 提高学生的动手能力,培养实际操作中解决问题的能力。
情感态度价值观目标:1. 激发学生对单片机及电子制作的兴趣,培养创新意识和实践精神;2. 培养学生团队协作精神,学会与他人共同解决问题;3. 引导学生关注科技发展,了解单片机在现实生活中的应用,增强社会责任感。
课程性质:本课程为实践性较强的课程,旨在通过单片机实现密码锁的设计与制作,让学生在动手实践中掌握单片机知识。
学生特点:学生处于高年级阶段,已具备一定的单片机基础,对实际应用有较高的兴趣。
教学要求:结合学生特点和课程性质,注重实践操作,强调理论知识与实际应用相结合。
通过课程学习,使学生能够独立完成一个具有实际应用价值的单片机项目。
在教学过程中,关注学生的学习进展,及时调整教学策略,确保课程目标的实现。
将目标分解为具体的学习成果,便于后续教学设计和评估。
二、教学内容1. 单片机基础知识回顾:C语言编程基础,单片机工作原理,I/O口编程。
教材章节:第一章单片机基础。
2. 密码锁原理与设计:- 密码锁的组成和工作原理;- 矩阵键盘原理与编程;- 密码比对算法;教材章节:第三章输入输出接口,第六章矩阵键盘。
3. 单片机与外部设备接口:- 传感器与执行器的应用;- 单片机与继电器、电磁锁等执行器的连接;教材章节:第四章传感器与执行器,第五章单片机与外部设备接口。
4. 程序设计与调试:- 程序结构设计;- 程序编写与调试;- 优化程序性能;教材章节:第七章程序设计与调试。
5. 实践操作:- 搭建电路,连接硬件;- 编写程序,实现密码锁功能;- 调试与优化;教材章节:实践操作部分。
单片机密码锁课程设计
![单片机密码锁课程设计](https://img.taocdn.com/s3/m/f7d1b732a55177232f60ddccda38376bae1fe007.png)
单片机密码锁课程设计一、课程目标知识目标:1. 学生能够理解单片机的基本原理,掌握密码锁设计的硬件组成和工作原理。
2. 学生能够运用C语言编写简单的程序,实现密码锁的功能。
3. 学生了解密码锁的安全性,掌握基本的安全防护措施。
技能目标:1. 学生能够独立完成单片机密码锁的硬件连接,具备实际操作能力。
2. 学生能够运用所学知识,编写和调试程序,实现密码锁的开锁和关锁功能。
3. 学生能够通过小组合作,分析问题,解决问题,提高团队协作能力。
情感态度价值观目标:1. 学生培养对单片机及电子制作的兴趣,激发创新精神。
2. 学生树立安全意识,认识到技术在实际应用中的重要性。
3. 学生在团队协作中,学会尊重他人,提高沟通表达能力。
课程性质:本课程为实践性课程,结合理论知识,培养学生的动手操作能力和实际应用能力。
学生特点:学生处于初中阶段,对新鲜事物充满好奇,具备一定的逻辑思维能力,但实践经验不足。
教学要求:教师需注重理论与实践相结合,引导学生主动探究,关注学生的个体差异,提高学生的实践操作能力。
在教学过程中,将课程目标分解为具体的学习成果,便于教学设计和评估。
1. 理论知识:- 单片机原理与结构:介绍单片机的基本组成、工作原理及功能。
- C语言基础:讲解C语言的基本语法、数据类型、运算符、控制结构等。
- 密码锁原理:分析密码锁的硬件组成、工作原理及安全性。
2. 实践操作:- 硬件连接:指导学生完成单片机、键盘、显示模块等硬件的连接。
- 程序编写:教授学生编写密码锁程序,实现开锁、关锁等功能。
- 调试与优化:引导学生分析程序运行过程中出现的问题,并进行调试和优化。
3. 教学大纲:- 第一周:单片机原理与结构学习,C语言基础学习。
- 第二周:密码锁原理学习,讨论密码锁的安全性。
- 第三周:硬件连接,小组合作进行程序编写。
- 第四周:程序调试与优化,总结与反思。
4. 教材章节:- 单片机原理与结构:教材第1章。
- C语言基础:教材第2章。
单片机课程设计报告-基于AT89C52单片机的电子密码锁设计
![单片机课程设计报告-基于AT89C52单片机的电子密码锁设计](https://img.taocdn.com/s3/m/5b9a75035ef7ba0d4a733bf0.png)
能为保存密码,14号功能为重新输入。
利用LCD来显示提示信息,用LED来提示密码锁的状态。
3.详细设计3.1 硬件设计1.芯片及原理介绍(一)AT89C52AT89C52与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、 1000次擦写周期、全静态操作:0Hz~33MHz 、三级加密程序存储器、 32个可编程I/O 口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。
AT89C52的一些特殊功能口,如下表所示:P1口引脚特殊功能T2(定时器T2外部输入)P3口引脚RXD(串行输入口)TXD(串行输出口)(外部中断0)(外部中断1)T0(定时器0外部输入)T1(定时器1外部输入)WR(外部数据存储器写选通)RD(外部数据存储器读先通)(二)矩阵键盘使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。
其原理如图。
本设计中矩阵键盘接在单片机的P1口。
每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N×M个按键的键盘。
在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。
当确认有按键按下后,下一步就要识别哪一个按键按下。
对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。
(三)LCD1602本系统设计的显示电路是为了给使用者以提示而设置的。
本系统的显示采用了LCD1602作为显示模块,其能够同时显示16x02即32个字符。
LCD在系统中,其D0-D7引脚分别接单片机的P0口、VSS和VDD分别接电源和地线、VEE为液晶亮度调节按钮(可接电位器)、RS为数据或命令的选择端接P2.0、RW为读写的选择端接P2.1、E为使能信号接P2.2。
单片机课程设计报告电子密码锁
![单片机课程设计报告电子密码锁](https://img.taocdn.com/s3/m/b9f485754431b90d6d85c757.png)
单片机课程设计报告电子密码锁This manuscript was revised on November 28, 2020山东交通学院单片机原理与应用课程设计院(部):轨道交通学院班级:自动化121学生姓名:学号:指导教师:时间: 2015.6.1—2015.6.12课程设计任务书题目电子密码锁设计系 (部) 轨道交通学院专业班级自动化121学生姓名学号06 月 01 日至 06 月 12 日共 2 周指导教师(签字)系主任(签字)年月日目录3.总体设计 (2)44.5密码比较模块 (6) (6) (8) (9)附录 (10)摘要设计运用了ATMEL公司的AT89S52芯片系统,将微处理器、总线、蜂鸣器、矩阵键盘、存储器和I/O口等硬件集中一块电路板上,通过读取键盘输入的数据(密码)并储存到ATMEL912 24C08存储器中,然后判断之后键盘输入的数据与已存储的数据是否相同来决定打开密码箱或锁键盘或报警。
在keil4软件中编程,系统可实现6位密码的处理,并通过控制步进电机控制密码箱门的电子锁,同时还可以修改改密码。
利用单片机系统制作的密码箱安全性能更高,更易操作且体积小。
关键词:单片机、密码锁、修改密码1.设计要求本实验将实现六位数的电子密码锁。
要求使用4X4 行列式键盘作为输入,并用LCD 实时显示。
具体要求如下:1. 开机时LCD显示“welcome to use”,初始化密码为“123456”,密码可以更改。
2. 按下“10”,开始则显示“Enter Please:”。
3. 随时可以输入数值,并在LCD上实时显示‘*’。
当键入数值时,为了保密按从左到右依次显示‘*’,可键入值为0~9。
4. 按下“13”键,则表示确定键按下,进行密码对比。
如相符则在LCD第一行显示“Open the door!”,同时指示灯亮起并且步进电机旋转一定的角度;如不符,则LCD第一行显示“Wrong password!”,并且蜂鸣器同时提示一下。
基于单片机的电子密码锁设计
![基于单片机的电子密码锁设计](https://img.taocdn.com/s3/m/6e8efd8cc0c708a1284ac850ad02de80d5d80615.png)
基于单片机的电子密码锁设计一、电子密码锁的工作原理电子密码锁主要由输入模块、控制模块、存储模块和执行模块组成。
用户通过输入模块(如键盘)输入密码,控制模块(单片机)对输入的密码进行处理和判断,并与存储模块中预先设定的密码进行比对。
如果输入密码正确,控制模块将向执行模块发送开锁指令,实现开锁;如果输入密码错误,则执行相应的错误处理操作,如报警、锁定等。
二、硬件设计(一)单片机的选择在本设计中,选用了_____型号的单片机。
该单片机具有性能稳定、功耗低、接口丰富等优点,能够满足电子密码锁的控制需求。
(二)输入模块输入模块采用了矩阵键盘,通过行列扫描的方式获取用户输入的密码。
矩阵键盘具有按键数量多、占用端口少的特点,能够有效节省单片机的资源。
(三)存储模块为了存储预设的密码,选用了_____型号的EEPROM芯片。
EEPROM具有掉电不丢失数据的特性,能够保证密码的安全性和可靠性。
(四)显示模块为了给用户提供反馈信息,使用了_____型号的液晶显示屏。
可以显示开锁状态、输入错误提示等信息。
(五)执行模块执行模块包括电磁锁和报警装置。
当输入密码正确时,单片机控制电磁锁打开;当输入密码错误次数超过设定值时,启动报警装置。
三、软件设计(一)主程序流程系统上电后,首先进行初始化操作,包括单片机端口初始化、EEPROM读取预设密码等。
然后进入密码输入等待状态,当检测到有按键输入时,进行密码处理和判断,并根据判断结果执行相应的操作。
(二)密码输入处理在密码输入过程中,对输入的按键进行去抖处理,防止误判。
同时,对输入的密码进行加密处理,提高密码的安全性。
(三)密码比对将输入的密码与存储在EEPROM中的预设密码进行比对。
比对过程中,采用逐位比较的方式,确保密码的准确性。
(四)错误处理当输入密码错误时,记录错误次数。
如果错误次数超过设定值,则启动报警装置,并锁定键盘一段时间,防止暴力破解。
四、系统调试与测试(一)硬件调试首先检查电路连接是否正确,有无短路、断路等情况。
单片机电子密码锁报告
![单片机电子密码锁报告](https://img.taocdn.com/s3/m/6661c45ea55177232f60ddccda38376baf1fe0d3.png)
单片机电子密码锁报告电子密码锁是以电子技术为基础所设计的一种安全性较高的锁具,它的开锁方式是通过输入正确的密码或刷卡等方式进行的,能够有效地保护物品的安全。
而单片机电子密码锁就是一种基于单片机的电子密码锁系统,通过单片机的控制来实现密码的输入、判断、存储以及驱动电机等操作,这种锁具被广泛应用于门禁与保险箱等安全领域,具有安全性高、易操作等特点。
一、系统结构单片机电子密码锁是由单片机、液晶显示屏、按键、马达、继电器及外部供电等组成的系统,其中单片机充当着决策、控制、运算和存储等多重角色。
单片机的主控单元负责控制输入与输出,而输入主要是通过按键来完成密码输入以及各种命令的控制,外部输入的密码信号由单片机进行解析并进行验证操作,只有在密码正确的情况下才会通过控制继电器来打开锁具,否则发出报警信号以及短时间内禁止输入密码信号,以确保锁具系统的安全。
在系统的显示单元中,采用了液晶显示屏,用于显示电子密码锁的状态信息以及相关的输入结果,方便用户在操作过程中了解系统的运行情况,提高了整个系统的用户友好性。
此外,该系统还配备了一个马达,用于控制锁具的开关,当用户在输入正确的密码时,通过单片机的判断,驱动马达来以机械方式打开锁具,起到了保护物品安全的作用。
二、技术路线系统的设计中,使用了STC89C51单片机作为主控芯片进行控制,该单片机具有16KB的Flash存储器、1KB的RAM内存及32个输入输出线,可满足该系统的各种控制需求。
在系统的密码输入模块中,采用了4×4数字键盘,并借助单片机来进行扫描和管理。
通过按键输入,单片机将密码信号采集、存储和解析,只有密码符合设定要求时,才能使系统进行操作。
在系统的密码存储模块中,采用了24C01的EEPROM芯片,能够方便地保存密码信息,并且具有读写次数高、长期使用不会消失等好处。
在供电单元中,可以使用交流或者直流输入的电源供应,对于多种应用场合提供了很大的便利。
单片机课程设计报告电子密码锁
![单片机课程设计报告电子密码锁](https://img.taocdn.com/s3/m/7f70256833687e21af45a96a.png)
单片机与嵌入式系统作品设计报告专业:电子信息科学与技术学生姓名:学号:指导教师:完成日期:2013 年12 月25 日目录1 绪论 (2)1.1本设计所要实现的目标 (2)1.2设计方案简介 (2)2 系统总体方案设计 (2)设计框图 (2)3硬件系统构成 (3)3.1电源输入电路 (3)3.2键盘输入电路 (3)3.3密码存储电路 (4)3.4复位电路 (4)3.5晶振电路 (5)3.6显示电路 (5)3.7报警电路 (6)3.8开锁电路 (6)4 软件系统设计 (7)4.1主程序流程图 (8)结论 (8)附录1硬件原理图 (8)附录2 C语言程序 (9)121 绪论1.1 本设计所要实现的目标本设计采用单片机为主控芯片,结合外围电路,组成电子密码锁,用户想要打开锁,必先通过提供的键盘输入正确的密码才能将锁打开,密码输入错误有提示,为了提高安全性,当密码输入错误三次将报警。
密码可以有用户自己修改设定,锁打开后才能修改密码。
修改密码之前必须再次输入旧的密码,在输入新密码的时候要二次确认,以防止误操作。
1.2 设计方案简介采用以单片机为核心的控制方案一般来说在选取单片机时从下面几个方面考虑:性能、存储器、运行速度、I/O 口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些的还有一些最基本的比如:中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。
在开发过程中单片机还受到:开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等等因素。
基于以上因素本设计选用单片机80C51作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O 端口,及其控制的准确性,实现基本的密码锁功能。
在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接AT24C02芯片用于密码的存储,外接LCD1602显示器用于显示作用。
单片机课程设计-电子密码锁-实验报告-
![单片机课程设计-电子密码锁-实验报告-](https://img.taocdn.com/s3/m/69f08c3a453610661ed9f4e2.png)
单片机课程设计电子密码锁实验报告学院:电子信息工程学院班级:自***姓名:***学号:******指导教师:***单片机课程设计电子密码锁实验报告(一)实验目的1、了解电子密码锁工作原理和八段LED数码管显示原理。
2、掌握LED数码管显示器与单片机接口电路设计方法。
3、掌握实现密码锁功能的编程方法。
(二)设计实现功能(1)由程序设定初始密码,密码输入正确时锁打开,指示灯亮,发出“叮咚”的声音;密码输入不正确时,指示灯闪亮四次,发出“嘀嘀嘀滴”报警声。
(2)具有保护密码的功能,输入密码在数码管上显示可改为“88888”的方式,防止别人偷窥密码。
(3)具有修改密码的功能,密码输入错误可按DEL键进行删除。
(4)具有防止多次试探密码的电子密码锁并加报警功能,密码输入错误超过三次,将一直发出“滴滴滴滴。
”报警声。
(5)具有设定新密码的功能,输入密码后按CHG键,密码将被重新设定。
(三)整体电路设计思路核心用单片机AT89S52来实现此实验的要求。
用4*4键盘来输入密码。
每个按键有它的行值和列值,行值和列值的组合就是识别这个按键的编码。
矩阵的行线和列线分别通过两并行接口和CPU通信。
每个按键的状态同样需变成数字量“0”和“1”,开关的一端(列线)通过电阻接V CC,而接地是通过程序输出数字“0”实现的。
键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的功能是什么;还要消除按键在闭合或断开时的抖动。
两个并行口中,一个输出扫描码,使按键逐行动态接地,另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能。
用8个7段数码管来显示密码。
数码管的显示用扫描的方式,利用动态接口采用各数码管循环轮流显示的方法,当循环显示频率较高时,利用人眼的暂留特性,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输出(字形选择),另一接口完成各数码管的轮流点亮(数位选择)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子密码锁
一、课题概述
在日常生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。
若使用机械式钥匙开锁,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安在日常生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。
若使用机械式钥匙开锁,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。
为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的电子密码锁应运而生。
电子密码锁运用电子电路控制机械部分,使两者紧密结合,从而避免了因为机械部分被破坏而导致开锁功能失常的问题,而且密码输入错误时还有报警声,大大增加了密码锁的防盗功能。
同时因为电子密码锁不需要携带钥匙,弥补了钥匙极易丢失和仿造的缺陷,方便了锁具的使用。
电子锁由于具有设计、实现简便、制造成本低廉、使用灵活性好、安全系数高等优点,受到了广大用户的青睐。
二、课程设计任务与要求
2.1 课程设计任务
本课题硬件部分要求在ZY15MCU12BC2实验平台上,设计组成电子密码锁系统,画出系统硬件电路图,设计编写键盘控制、LED显示、声光报警、密码输入和存储子程序供系统主程序调用。
在调试程序时,要求整个系统工作正常、显示正确、结果满意,并希望同学能深入思考、精益求精,提出对课题的改进意见。
特别是密码存储器和显示部分,密码存储是否考虑采用实验箱的I2C 存储器AT24C1024,掌握该芯片的工作原理并完成读、写程序的设计、编写和调试。
基于单片机的电子密码锁系统原理框图如下图1-1所示:
图1-1 基于单片机的电子密码锁系统原理框图
电子密码锁运用电子电路控制机械部分,使两者紧密结合,从而避免了因为机械部分被破坏而导致开锁功能失常的问题,而且密码输入错误时还有报警声,大大增加了密
码锁的防盗功能。
同时因为电子密码锁不需要携带钥匙,弥补了钥匙极易丢失和仿造的缺陷,方便了锁具的使用。
电子锁由于具有设计、实现简便、制造成本低廉、使用灵活性好、安全系数高等优点,受到了广大用户的青睐。
2.2 课程设计要求
2.2.1 基本设计要求
主要分为以下几个部分:
(1)用户密码通过键盘输入,密码输入正确后,输出开锁信号控制开锁电路开锁并发
出两声短“滴”声提示音,密码正确指示灯绿灯亮,3秒延时后开锁信号与已开锁指示清零。
(2)密码输入错误时,发出一声长“滴”声错误指示提示音,密码错误指示灯黄灯亮,
3秒延时后密码错误信号与密码错误指示清零;连续三次输入密码错误时,发出长鸣声报警,密码错误报警指示灯红灯闪烁, 6秒延时后锁定键盘,此后键盘将无法再次输入密码。
(3)用户密码可以通过键盘修改密码。
密码修改成功时,密码修改成功指示灯绿灯亮,
并发出一声长“滴”声提示音,3秒延时后密码修改成功信号指示清零。
(4)系统的工作状态由显示电路提示。
2.2.2 发挥设计要求
(1)显示部分采用LCD显示器代替数码管LED,这样使得显示功能大大增强,不仅可
以显示数字、字符,还可以显示汉字,使LCD显示的系统当前操作界面(密码输入、修改密码、开锁、锁键盘等);
(2) 数码管LED部分显示当前键入的数字。
三、设计方案
3.1 方案论证
用以AT89C52为可信的单片机控制方案。
利用单片机灵活的编程设计和丰富的IO端口及其控制的精确性,不但能实现基本的密码锁功能,还能添加声光提示、LCD显示的功能。
其具体原理图如图3-1所示
图1-2 单片机控制方案
3.2 设计原理
本设计主要由单片机、矩阵键盘、液晶显示屏、数码管和蜂鸣器等部分组成。
其中矩阵键盘用于输入数字密码,由用户通过连接单片机的矩阵键盘输入密码后,经过单片机对用户输入密码与自己保存的密码进行比对,从而判断密码是否输入正确,然后控制引脚的高低电
平传到相应的电路表示开锁还是报警。
电子密码锁电路包含:密码输入、密码修改、开锁示意电路、声光报警电路、LED 显示当前键入数字电路及LCD 显示电路。
特别说明的是:LED 显示当前键入数字电路在电子密码锁的应用中看似不合理,但在当前设计环境下,由于键盘输入不稳定,这样可以知晓键盘键入值,方便对电子密码锁测试的掌控。
本系统共有两部分构成,即硬件部分和软件部分。
由于硬件部分是固定的即
ZY15MCU12BC2实验平台,因此这次在课程设计中主要就是根据硬件部分写出对应的软件部分。
其设计原理方框图如图3-2所示:
图3-2 设计原理方框图
四、 硬件系统说明与电路原理图
4.1 单片机最小系统电路
单片机最小系统由8051、74L373和2764组成,如图4-1所示:
图4-1 单片机最小系统图
少于三次
达到三次
4.2键盘输入电路及数码管LED显示当前键入数字电路
采用的是矩阵式按键键盘,它有行线和列线组成,也称行列式键盘,按键位于行列的交叉点上,电子密码锁有键盘输入,同时用六位LED灯实时动态显示当前输入的数字。
其与单片机引脚接法如图3-2所示:
F
G
E
D
图4-2键盘输入电路及数码管LED显示当前键入数字电路
4.3 声光报警电路
声光报警电路由蜂鸣器和3个LED灯组成,单片机引脚P1.1、P1.2、P1.4和P1.5分别控制绿灯、红灯、蜂鸣器和黄灯,如图3-3所示:
图4-3 蜂鸣器及LED 灯电路
4.4 LCD 显示电路
LCD 显示电路由8255和液晶显示屏12232组成,12232不仅可以显示数字、字
符,还可以显示汉字,使得密码锁系统的操作界面更友好和人性化,其与单片机引脚接法如图3-4所示:
NetLabel106
VCC
+
22u F
图4-4点阵式液晶显示屏
五、软件主要模块流程图
5.1 系统主程序设计
MAIN: MOV SP,#60H
SETB EX1
MOV 33H,#01H ;写入初始密码
MOV 34H,#02H
MOV 35H,#03H
MOV 36H,#09H
MOV 37H,#05H
MOV 38H,#06H
CLR SEC ;密码正确输入标志初始化 CLR SERR ;密码错误输入标志初始化CLR SECC ;密码修改成功标志初始化
CLR SECLOCK ;锁键盘标志初始化
LCALL LCDDI
MOV R5,#03H ;密码错误输入次数MOV R6,#06H ;密码输入位数
MOV DPTR,#5FFFH
MOV A,#0DCH
MOVX @DPTR,A
LP: MOVX A,@DPTR
JB ACC.7,LP ;等待清屏结束
MOV A,#00H
MOVX @DPTR,A
MOV A,#34H ;时钟编程
MOVX @DPTR,A
CLR IT1 ;触发方式设置
NOP
SETB EA
NOP
MOV R0,#39H ;显示缓冲首址送R0 MOV R7,#06H
LLP: MOV @R0,#00H
INC R0
DJNZ R7,LLP
QC10: LCALL DISY ;等待中断
CJNE R6,#0H,N2
JNB SEC,N2 ;判断密码正确输入标志是否为一 LCALL CHANGE ;SEC=1,转入密码修改程序
N2:
LJMP QC10
(由于源程序过长,具体源程序见DZMMS--20092595.asm)
5.2系统主程序的流程图
系统主程序的流程图如图5-1所示:
六、课程设计总结
短短的一个星期,从开始选题到完成选题,虽然碰到的很多问题让我头痛的问题,但是通过本次课程设计也是我受益匪浅,温习了以前所学过的知识,用理论联系实际并结合单片机原理课程和解决实际问题,巩固、加深和扩展了有关单片机设计方面的知识,尤其重要的是让我明白无论做什么事情都不能自认为简单或是困难,需要去实践以后才会真正理解。
比如一开始接到这个选题时,看到所需要的 LCD12232显示电路还有每个模块的各种芯片等以前一点没接触过,就觉得根本不可能完成,在这么短的时间内根本不可能完成。
但是后来还是静下心来,从最近本的做起,从能实现最基本的功能做起,一点一点完成,在自己的努力下,完成了此次课程设计,到最后看看自己写的源程序代码,一股成就感油然而生。
这次的课程设计对我以后的发展与学习来说,都可以看作一笔不小的财富,不仅仅是知识上的收获,精神上的丰收更加重要。
他告诉我们困难虽然在那里,但只要努力,从最基本的做起,就能实现一步一步实现宏伟的蓝图。
最后要谢谢所有在本次课程设计中帮助过我的老师和同学。
参考文献
1.王琼主编.单片机原理及应用(第一版).合肥:合肥工业大学出版社,2008
2.王琼主编.单片机原理及应.实验教程(第一版).合肥:合肥工业大学出版社,2005
3.薛小铃, 刘志群, 贾俊荣编著.单片机接口模块应用与开发实例详解.北京.北京航空航天大学出版社,2010.1
4.徐玮等编.C51单片机高效入门.北京.机械工业出版社,2010。