用单片机模拟密码门锁

合集下载

基于单片机的电子密码锁

基于单片机的电子密码锁

基于单片机的电子密码锁第一章引言1.1 研究背景现代社会对于安全性的需求越来越高,传统的机械密码锁存在一些问题,例如容易被暴力破解、密钥容易丢失等,因此电子密码锁被广泛应用于各种场合。

单片机作为一种重要的控制设备,被用于设计和实现电子密码锁。

1.2 研究目的本文旨在基于单片机,设计并实现一种高安全性的电子密码锁。

通过对单片机的调试,加密算法的设计以及硬件组件的选择与搭建,实现一个可靠且安全的电子密码锁系统。

第二章单片机的选择与原理2.1 单片机的概述单片机是一种集成了微处理器、存储器和各种输入输出控制设备的单芯片微型电脑。

在电子密码锁中,单片机担当着控制主要逻辑和算法的角色。

2.2 单片机的选择在选择单片机时,我们需要考虑它的计算能力、存储容量、输入输出接口等因素。

本文选择了xxx型号的单片机作为主控芯片,因为它具备较高的性能和丰富的硬件接口。

2.3 单片机的工作原理在电子密码锁中,单片机负责控制输入输出,监测输入密码和验证密码的正确性,并控制相关执行机构(如电磁锁)的开关。

单片机通过与其他硬件组件的协作,完成电子密码锁的功能。

第三章加密算法设计与实现3.1 加密算法的选择在电子密码锁中,密码的安全性是至关重要的。

本文选用了常见的对称加密算法AES(Advanced Encryption Standard)作为主要的密码算法。

3.2 加密算法的实现本文首先对AES算法进行介绍,并实现其在单片机上的加密核心代码。

为了提高加密强度,我们还设计了一些额外的安全增强措施,例如密码复杂性等。

第四章硬件电路设计与组装4.1 硬件电路的整体设计电子密码锁的硬件电路包括输入接口、输出接口、显示器、电池管理等模块,本文将对每个模块进行详细的设计。

4.2 输入接口设计输入接口是与用户交互的重要组成部分,本文采用了矩阵键盘作为密码输入装置,并通过电平转换电路将其与单片机相连。

4.3 输出接口设计输出接口主要用于显示密码结果和控制外部执行机构,例如LCD显示器和电磁锁等。

单片机指纹密码锁毕业设计

单片机指纹密码锁毕业设计

单片机指纹密码锁毕业设计1. 什么是单片机指纹密码锁单片机指纹密码锁是一种电子门锁系统,它使用集成在单片机芯片上的指纹识别技术和密码输入功能,实现对门锁的访问控制。

用户可以通过输入正确的密码或者将指纹与已注册的指纹进行比对来解锁门锁。

这种锁具有高安全性和方便性,适用于各种需要保护的场所,如家庭、办公室和商店等。

2. 单片机指纹密码锁的工作原理是什么单片机指纹密码锁的工作原理主要分为三个部分:指纹模块、密码输入模块和控制模块。

指纹模块负责采集和存储用户的指纹信息。

当用户将手指放在指纹传感器上时,指纹模块会对指纹进行扫描并提取关键特征信息。

然后,它会将提取的特征信息与已存储的指纹模板进行比对,以确定是否匹配。

如果匹配成功,指纹模块会发送信号给控制模块,表示门锁可以解锁。

密码输入模块负责接收用户输入的密码。

用户可以通过键盘或者其他输入设备输入密码。

密码输入模块将接收到的密码与事先存储的正确密码进行比对,如果匹配成功,则发送信号给控制模块。

控制模块是单片机芯片,它负责整个单片机指纹密码锁系统的逻辑控制。

当控制模块接收到指纹模块或者密码输入模块发送的解锁信号后,它会打开电磁锁或者其他解锁机制,让用户能够进入被保护的区域。

3. 单片机指纹密码锁的优点是什么单片机指纹密码锁具有以下几个优点:首先,安全性高。

通过指纹识别技术,单片机指纹密码锁可以准确地识别用户的指纹,大大降低了被非法进入的风险。

同时,密码输入模块也可以提供备用的解锁方式,增加了安全性。

其次,方便性高。

用户只需要将手指放在指纹传感器上或者输入正确的密码,即可快速解锁门锁。

相比传统的钥匙锁,单片机指纹密码锁更加方便快捷。

另外,可靠性强。

单片机指纹密码锁采用先进的技术和稳定的电子元件,具有较高的可靠性和耐用性。

它可以抵御一些常见的攻击手段,如暴力破解密码等。

最后,可扩展性好。

单片机指纹密码锁可以通过与其他安全系统集成,如门禁系统或监控系统,提供更全面的安全保障。

单片机电子密码锁课程设计

单片机电子密码锁课程设计

基于单片机的电子密码锁设计一、设计要求和条件1.1 设计要求根据单片机开发板所提供的元件特性和硬件电路,编写相关的程序,通过实验开发板实现电子密码锁在LCD1602上显示的功能。

1.搭建proteus仿真电路图平台,模拟单片机要实现的功能;2.焊接单片机系统开发板;3.编写程序,实现密码锁相关功能;4.下载并调试程序,实现密码锁的具体功能。

1.2 设计目的1.熟练掌握KEIL软件的使用方法;2.熟练掌握PROTEUS软件的使用方法;3.掌握单片机I/O接口的工作原理;4.掌握中断系统的工作原理;5.掌握液晶LCD1602的工作原理及编程方法;6.掌握蜂鸣器的编程使用;7.掌握行列式键盘的工作原理及编程使用方法;8.掌握单片机的ISP下载使用方法。

1.3 功能概述本设计是基于单片机的密码锁设计方案,根据要求,给出了该单片机密码锁的硬件电路和软件程序,同时给出了硬件设计方案、软件流程图、C 语言源程序及详细注释等内容,由于单片机实验板上的矩阵键盘为3*3的,则规定0-5号键为数字键,6-8号键为功能键,其中该密码锁的具体功能介绍如下:(1)按“8”号键则输入密码,初始密码为012345,在LCD1602上显示密码值为“******”(密码是保密的),输完6位后键盘就锁定,在LCD1602上显示密码是否正确,若输入的密码长度小于6位,则1602等待密码输入。

(2)若密码输入正确后,则绿色的发光二极管亮表示开锁,并且1602上显示“you are right!”,等待是否修改密码。

(3)密码输入错误时显示“code is wrong”,接着会给你第二、第三次机会输入密码,如果三次密码都错误时,发出“叮咚”的报警声,且红色报警指示灯不停闪烁,按复位键清除报警。

(4)按“7”号键表示若密码不小心输入时,可以删除输入错误的密码。

(5)按“6”修改密码,要求输入原密码是正确的,然后按该键后,蓝色密码修改指示灯会亮,并且1602上会显示“Input new code”,输入正确要求再次输入,两次输入一致提示“Modify right!!!”并返回主菜单。

基于STC89C52单片机的指纹密码锁系统设计与实现

基于STC89C52单片机的指纹密码锁系统设计与实现

基于STC89C52单片机的指纹密码锁系统设计与实现基于STC89C52单片机的指纹密码锁系统设计与实现一、引言指纹密码锁系统是一种使用纹理特征识别技术,实现安全门锁控制的现代化智能门禁系统。

本文以STC89C52单片机为核心,结合指纹识别算法和密码锁控制电路,设计并实现了一个基于STC89C52单片机的指纹密码锁系统。

二、系统设计1. 系统框架设计本系统采用分层结构设计,分为硬件层、算法层和用户层。

硬件层负责指纹采集模块、指纹识别模块、密码锁控制模块的连接和驱动;算法层负责指纹图像处理和指纹特征提取;用户层负责用户数据管理、指纹录入和门锁控制。

2. 硬件设计硬件设计主要包括指纹采集模块、指纹识别模块、密码锁控制模块和STC89C52单片机的连接和布局。

指纹采集模块采用光学传感器,可以实时采集用户的指纹图像;指纹识别模块采用指纹图像处理算法,可以识别指纹纹理特征;密码锁控制模块通过继电器控制门锁的开关。

STC89C52单片机作为整个系统的主控芯片,负责收发指令、数据处理和与其他模块的通信。

它与指纹采集模块、指纹识别模块和密码锁控制模块之间通过串口进行数据传输。

3. 算法设计算法设计主要包括指纹图像的预处理、特征提取和特征匹配三个步骤。

指纹图像的预处理包括图像增强、图像去噪、图像二值化等。

增强算法可以提升指纹图像的对比度,使纹理特征更加明显;去噪算法可以消除图像中的椒盐噪声,保留纹理细节;二值化算法可以将灰度图像转化为二值图像,便于特征提取。

特征提取算法是指通过对预处理后的指纹图像进行处理,提取出一组具有代表性的纹理特征。

常用的特征提取方法有细节增强、方向图提取和频域变换等。

特征匹配是将提取到的特征与数据库中的特征进行比对,确定两者之间的相似度。

常用的特征匹配方法有最小平方差匹配算法、相关匹配算法等。

4. 用户界面设计用户界面设计包括指纹录入、指纹识别和门锁控制三个功能。

指纹录入功能可以将用户的指纹信息存储到数据库中,并与UserId绑定,便于后续的指纹识别和门锁控制。

基于单片机的智能语音密码门锁解读

基于单片机的智能语音密码门锁解读

目录摘要 (II)Abstract (III)第1章引言 (1)1.1密码锁的发展 (1)1.2系统的制作意义 (2)1.3本文涉及的内容 (2)第2章.系统方案设计 (3)2.1.方案一 (3)2.2.系统的最终方案 (4)2.3所用主要器件介绍 (5)2.4 超声波探头MA40S20R/S (7)第3章.系统硬件部分原理介绍 (9)3.1电源部分 (9)3.2单片机最小系统 (9)3.3键盘部分 (10)3.4超声波探测发射部分 (11)3.5超声波接收放大部分 (12)3.6语音接收处理部分................................. 错误!未定义书签。

3.7语音输出部分..................................... 错误!未定义书签。

3.8显示电路 (13)第4章.系统软件部分设计实现 (15)4.1、软件设计操作平台简介 (15)4.2PC端调试工具 (15)4.3程序功能实现简介 (16)第5章.系统调试 (24)5.1系统调试 (24)5.2放大电路的仿真 (25)总结 (26)参考文献 (27)附录..................................................................................................... 错误!未定义书签。

附录1 . (28)附录2 (29)摘要本文介绍了一种以凌阳十六位单片机作为核心的语音密码锁系统。

本文利用凌阳单片机其强大的语音识别功能,实现了语音控制门禁系统,以及密码限制功能;利用单片机的语音回放功能,完成了语音提示的要求,利用其内置的Flash闪存,实现了密码的断电保护。

系统使用12864液晶显示器进行使用操作提示。

本系统能完成开锁、超次报警锁定、修改用户密码基本的密码锁的功能;除上述基本的密码锁功能外,还具有语音(密码)识别、语音提示功能,而且,普通密码和语音密码信息都不受掉电情况的影响。

基于单片机的电子密码锁设计

基于单片机的电子密码锁设计

基于单片机的电子密码锁设计摘要:我国经济建设最近几年发展非常迅速,推动我国快速进入现代化科学技术发展阶段。

随着时代的发展,在个人身份验证领域,有了新的选择——生物识别技术,利用纯天然信息——指纹,其具有的唯一性、广泛性和终身不变性设计指纹识别系统,其具有简单和便利的优势,识别精度高。

用指纹锁替代传统锁具,设计一款使用指纹识别系统进行解锁的锁具,为工作和生活提供更加安全、便利的体验。

关键词:单片机;电子密码锁设计引言我国经济建设最近几年之所以发展如此迅速,离不开各行业的支持和政策的扶持,其成果远超其它发展中国家,为我国各行业的不断进步奠定基础。

电子密码锁为人们的生活提供了便利,使人们的安全得到保障。

单片机因其自身的优势广泛地应用于各种产品的设计中。

因此,利用单片机设计电子密码锁非常方便,可行。

通过外围连接的键盘来输入密码,以显示屏提示是否开锁成功,并具有报警和自动复位的功能。

1电子密码锁电子密码锁是靠密码控制锁的正常工作,当人们输入密码的时候,采用电路进行开锁。

电子锁的样式种类繁多:采用数字逻辑电路、采用FPGA中VHDL语言来控制、也有采用在电子行业中最基本的单片机驱动的。

目前市场上应用较为广泛的智能锁都是以芯片为核心,通过编程使得软硬件结合实现智能锁的基本功能,以达到人们所需的基本要求。

该电子锁的性能及安全性已经远远超过了传统的机械锁,并且该锁的特点在于保密性强,随机输入密码成功开锁的概率为零;可以随时修改自己设置的密码,从而防止密码被窃;无需像传统的机械锁携带钥匙才能开锁,操作性简单,使用的灵活性好并且寿命长。

2单片机的电子密码锁设计2.1单片机的指纹识别电子密码锁设计系统以单片机STC89C52RC为核心进行控制,与各个模块通信交互。

硬件系统主要由主控电路模块、AS608指纹识别模块、矩阵键盘模块、LCD12864显示模块、AT24C02存储模块、继电器驱动模块以及报警模块组成。

系统设计主控电路模块选择STC89C52单片机作为核心处理器,主要起到输出时钟信号,控制系统程序的存储与执行作用。

单片机设计方案密码锁程序和仿真图

单片机设计方案密码锁程序和仿真图

#include<at89x51.h>#define uchar unsigned char#define uint unsigned intuint num=10; //开始让数码管什么都不显示bit set=0; //定义设置密码的位char count=-1; //开始让COUNT=-1,方便后面显示数码管sbit Beep=P1^2; //蜂鸣器uchar temp;uchar pws[6]={3,6,2,3,3,0}; //原始密码uchar pwx[6]; //按下的数字存储区bit rightflag; //密码正确标志位uchar workbuf[6];uchar code tabledu[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40 }; //段选码,共阴极uchar code tablewe[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf}; //位选码uint keyscan();void delay(uchar z) //延时,ms级{uchar y;for(;z>0;z--)for(y=120;y>0;y--);}void setpw() //设置密码函数{keyscan();}uint keyscan() //键盘扫描函数{P3=0xfe;temp=P3;temp=temp&0xf0;if(temp!=0xf0){delay(5); //键盘去抖,最好ms以上,这里用了mstemp=P3;temp=temp&0xf0;if(temp!=0xf0){count++;//按键计数加temp=P3;switch(temp){case 0xee:{num=7;if(count<6) //六位密码,所以COUNT<6{if(set==0) //设置密码键没有按下时pwx[count]=num; //存储按下的数字elsepws[count]=num; //设置密码键按下时,设置新密码workbuf[count]=tabledu[11]; //相应位的数码管显示"--",不显示相应的数字,密码是保密的}}break;case 0xde:{num=8;if(count<6) //以下扫描键盘的原理差不多同上{if(set==0)pwx[count]=num;elsepws[count]=num;workbuf[count]=tabledu[11];}}break;case 0xbe:{num=9;{if(count<6){if(set==0)pwx[count]=num;elsepws[count]=num;workbuf[count]=tabledu[11];}}}break;case 0x7e: //设置密码键按下{set=1; //设置密码标志位置P1_3=0; //设置密码指示灯亮workbuf[0]=0x00;//数码管第一位不显示workbuf[1]=0x00;//......workbuf[2]=0x00;//......workbuf[3]=0x00;workbuf[4]=0x00;workbuf[5]=0x00;//......count=-1; //按键计数复位为-1if(count<6) //密码没有设置完,继续设置密码{setpw(); //设置密码}}break;}while(temp!=0xf0) //按键抬起检测{temp=P3;temp=temp&0xf0;}}}P3=0xfd;temp=P3;temp=temp&0xf0;if(temp!=0xf0){delay(5);temp=P3;temp=temp&0xf0;if(temp!=0xf0){count++;temp=P3;switch(temp){case 0xed:{num=4;if(count<6){if(set==0)pwx[count]=num;elsepws[count]=num;workbuf[count]=tabledu[11];}}break;case 0xdd:{num=5;if(count<6){if(set==0)pwx[count]=num;elsepws[count]=num;workbuf[count]=tabledu[11];}}break;case 0xbd:{num=6;if(count<6){if(set==0)pwx[count]=num;elsepws[count]=num;workbuf[count]=tabledu[11];}}break;}while(temp!=0xf0){temp=P3;temp=temp&0xf0;}}}P3=0xfb;temp=P3;temp=temp&0xf0;if(temp!=0xf0){delay(5);temp=P3;temp=temp&0xf0;if(temp!=0xf0){count++;temp=P3;switch(temp){case 0xeb:{num=1;if(count<6){if(set==0)pwx[count]=num;elsepws[count]=num;workbuf[count]=tabledu[11];}}break;case 0xdb:{num=2;if(count<6){if(set==0)pwx[count]=num;elsepws[count]=num;workbuf[count]=tabledu[11];}}break;case 0xbb:{num=3;if(count<6){if(set==0)pwx[count]=num;elsepws[count]=num;workbuf[count]=tabledu[11];}}break;}while(temp!=0xf0){temp=P3;temp=temp&0xf0;}}}P3=0xf7;temp=P3;temp=temp&0xf0;if(temp!=0xf0){delay(5);temp=P3;temp=temp&0xf0;if(temp!=0xf0){count++;temp=P3;switch(temp){case 0xd7:{num=0;if(count<6){if(set==0)pwx[count]=num;elsepws[count]=num;workbuf[count]=tabledu[11];}}break;case 0xe7: num=20;break; //确定键按下检测case 0x77: //复位键或者输入密码全部一次删除{P1_1=0; //锁关P1_3=1; //密码设置指示灯灭set=0; //不设置密码num=10; //num复位count=-1; //COUNT复位workbuf[0]=tabledu[10]; //第一位数码管不显示workbuf[1]=tabledu[10]; //第二位数码管不显示workbuf[2]=tabledu[10];workbuf[3]=tabledu[10];workbuf[4]=tabledu[10];workbuf[5]=tabledu[10]; //......P1_0=1; //锁关}break;case 0xb7: //输入密码删除键(一位一位删除){count--;workbuf[count]=0x00; //因确定键按下时,COUNT也会加,而确定键不是密码,所以这里是COUNT,而不是COUNT+1count--; //因确定键按下时,确定键不是密码,COUNT也会加,这里COUNT再自减if(count<=-1)count=-1;}break;}while(temp!=0xf0){temp=P3;temp=temp&0xf0;}}}return(num);}void init() //利用定时显示数码管{TMOD=0x01;TH0=(65536-500)/200;TL0=(65536-500)%200;ET0=1;EA=1;TR0=1;}bit compare() //密码比较函数{if((pwx[0]==pws[0])&(pwx[1]==pws[1])&(pwx[2]==pws[2])&(pwx[3]==pws[3])&(pwx[4]==pws[4])&(pw x[5]==pws[5]))rightflag=1;elserightflag=0;return(rightflag);}void main(){uint i,j;init();P0=0;P1_1=0; //锁关while(1){keyscan();if(num==20) //如果确定键按下(修改密码和输入密码共用的确定键){if(count==6){if(set==1) //修改密码确定{P1_3=1;workbuf[0]=0;workbuf[1]=0;workbuf[2]=0;workbuf[3]=0;workbuf[4]=0;workbuf[5]=0;}else//输入密码确定{set=0;compare();if(rightflag==1) //如果密码正确{P1_0=0; //锁开P1_1=1;workbuf[0]=tabledu[8]; //数码管第一位显示"8"workbuf[1]=tabledu[8]; //数码管第二位显示"8"workbuf[2]=tabledu[8];workbuf[3]=tabledu[8];workbuf[4]=tabledu[8];workbuf[5]=tabledu[8]; //......}else{P1_1=0; //锁仍然是关workbuf[0]=0X71; //数码管第一位显示"F"workbuf[1]=0X71;workbuf[2]=0X71;workbuf[3]=0X71;workbuf[4]=0X71;workbuf[5]=0X71; //......for(i=0;i<1000;i++) //密码错误报警{for(j=0;j<80;j++);Beep=~Beep;}break;}}}else//若输入的密码位数不为位时{P1_1=0; //锁仍然关workbuf[0]=0X71; //数码管第一位显示"F"workbuf[1]=0X71;workbuf[2]=0X71;workbuf[3]=0X71;workbuf[4]=0X71;workbuf[5]=0X71;for(i=0;i<1000;i++){for(j=0;j<80;j++);Beep=~Beep;}break;}}}}void timer0() interrupt 1 //显示数码管{uchar i;TH0=(65536-500)/200; TL0=(65536-500)%200; for (i=0;i<6;i++) { P0=workbuf[i]; P2=tablewe[i]; delay(5); P0=0;}}XTAL218XTAL119ALE 30EA31PSEN 29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51234567891RP1RESPACK-812365489=7+CONABCD1243D2LED-RED锁开锁关LS1SOUNDERD3LED-BLUE设置密码指示灯R11kR21kR310KR410K+12VQ3TIP127Q4TIP127Q18050Q28050Q5TIP122Q6TIP122+88.8Amps+88.8Amps+88.8Volts。

单片机课设--密码锁

单片机课设--密码锁

1 设计课题任务、功能要求说明及方案介绍1.1设计课题任务与要求设计一个具有特定功能的密码锁。

该密码锁上电或按键复位后能自动显示系统提示符“0”,进入准备工作状态。

该密码锁具有系统原始密码也是万能密码为,用户可以在原始密码输入正确后,即开锁后才可以设定并存储用户密码,当用户设置密时,万能密码仍可以解锁,输入的新密码并按下设定时回到系统初始状态。

密码锁锁定时,密码输入应处于保密显示状态,显示“0”,密码输入正确时应显示密码输入正确提示信息8个“8.”,即数码管全亮,否则,显示密码输入错误提示信息:8个“-”并且蜂鸣器响一会,当输入错误3次时,蜂鸣器报警一直报警,显示错误信息8个“-”,并且锁死系统。

1.2设计课题总体方案及工作原理此密码锁主要由单片机芯片AT89S52、4X4矩阵键盘、8位数码管显示电路和复位电路构成,设计课题的系统框图如图 1.1 所示:图 1.1系统框图实现密码锁功能的软件程序存放在AT89S52的ROM中。

2 设计课题硬件系统的设计2.1 设计课题硬件系统各模块介绍本设计的硬件系统主要采用以下基本模块来实现,单片机最小系统模块,输入模块、输出模块、电源模块(1)单片机最小系统模块:AT89S52单片机芯片;复位电路;晶振电路。

本模块AT89S52系统控制核心,单片机系统复位由按键电平复位电路完成,通过按键S1来控制,单片机通过芯片引脚XTAL1、 XTAL2,外并接石英晶体振荡器和两只电容。

这样就为能为单片机提供频率为12MHz的晶振。

(2)4X4矩阵键盘模块:四条列线接P1.7-P1.4;四行线接P1.3-P1.0 (3)显示模块:本次设计显示为8位,采用两个四位一体数码管(共阳极)作为显示窗口,既可以节约成本又能简化电路。

数码管用8个PNP三极管驱动。

(4)电源模块:直接由PC的USB接口提供。

2.2 各功能模块详细介绍2.2.1 AT89S52介绍(1) 具有8KB可改写的Flash 内部程序存储器,可写/擦1000次;(2) 256字节内部RAM;(3) 32根可编程I/O口;(4) 3个16位定时器/计数器。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

淄博开锁http://www.zbksgs.com/
沥青砂http://www.0533lqs.com/
用单片机模拟密码门锁

提出了一种能防止多次试探密码的基于单片机的密码门锁模拟
设计方案,给出了该单片机密码锁的软件程序,同时给出了单片机型
号的选择、硬件设计、软件流程图、汇编语言源程序及详细注释等内
容。
进行课程设计是加强实践,提高动手能力的重要环节,是将
所学理论知识与实际联系起来的桥梁和纽带。
通过课程设计,掌握单片机开发的过程,为将来的实际工作打下
一定基础。

主要技术问题的描述:
本题内容比较简单,主要技术点有如下几个:
1.主程序不断检测键盘按键并记录到缓冲区,当确认键被按下后
进行密码比较。
1. 用一个存储单元存储错误次数,当到达错误次数以后,则
启动定时中断,并设置某个标志位使主程序不记录下面的按
键,定时停止以后再纪录。
2.
由于考虑到模拟的失真性,我将密码设定成一位,便于模拟。
如有更高的要求可以再在主程序上添加子程序
3
3课程设计的程序设计
(1)硬件连线图
淄博开锁http://www.zbksgs.com/
沥青砂http://www.0533lqs.com/
本程序设计主要的是MCS-51学习机上的键盘,在本程序中连线不复
杂,只用到2根输出线
所以恕不能给出。
(2 )程序流程图:

相关文档
最新文档