毕业设计-基于stc89c52单片机的电子密码锁设计内容摘要:
修改密码等多种功能。 由于设计此电路的时间较仓促,其中还有些许未考虑周全的因素,还需要继续的改进和完善。 单片机密码锁课程设计报告 —— 湖南师大本科生课程设计 16 参考文献 [1] 石文轩 ,宋薇 .基于单片机 MCS 一 51 的智能密码锁设计 [M].武汉工程职业技术学院学报 ,2020,(01)。 [2] 祖龙起 ,刘仁杰 .一种新型可编程密码锁 [J].大连轻工业学院学报 ,2020,(01)。 [3] 叶启明 .单片机制作的新型安全密码锁 [J].家庭电子 ,2020,(10)。 [4] 郭海英 .基于单片机的电子安全密码锁的设计 [M].现代电子技术 ,2020,(13)。 [5] 李明喜 .新型电子密码锁的设计 [J].机电产品开发与创新 ,2020,(03)。 [6] 董继成 .一种新型安全的单片机密码锁 [J].电子技术 ,2020,(03)。 [7] 祖龙起 ,刘仁杰 ,孙乃凌 .一种新颖的电子密码锁 [J].电子世界 ,2020,(10)。 [8] 李明喜 .新型电子密码锁的设计 [J].机电产品开发与创新 ,2020,(03)。 [9] 杨茂涛 .一种电子密码锁的实现 [J].福建电脑 ,2020,(08)。 [10] 瞿贵荣 .实用电子密码锁 [J].家庭电子 ,2020,(07)。 [11] ,2020,(01)。 [12] Wireless World, 1998, vol、 84, No、 1509, p69。 [13] 王千 .实用电子电路大全 [M],电子工业出版社, 2020, p101。 [14] 何立民 .单片机应用技术选编 [M],北京:北京航空大学出版社, 1998。 [15] 李华 .MCS51系列单片机使用接口技术 [M],北京航空航天大学出版 社, 1993。 [16] 彭为 .单片机典型系统设计实例精讲 [M],北京:电子工业出版社, 2020。 [17] 潘永雄 .新编单片机原理与应用 [M],西安:西安电子科技大学出版社, 2020。 [18] 童诗白 ,华成英,模拟电子技术基础 [M],北京:高等教育出版社, 2020。 [19] 阎石主 .数字电子技术基础 [M],北京:高等教育出版社, 1998。 [20] 樊昌信 ,曹丽娜 .通信原理 [M],北京:国防工业出版社, 2020。 [21] 李瀚荪 .电路分析基础 [M],北京:高等教育出版社 1991。 单片机密码锁课程设计报告 —— 湖南师大本科生课程设计 17 附件一:电路原理 图 作品 实物图 电路原理图 作品实物图 单片机密码锁课程设计报告 —— 湖南师大本科生课程设计 18 附件 三 :程序清单 主程序 //**********家庭电子锁 ************/ //**********C 语言 版 ***************/ //**********2020 年 1 月 ************/ include include include include include include uchar code a0[]={Password Setting}。 uchar code a1[]={wele to here}。 uchar code a2[]={input password:}。 uchar code a4[]={input length:}。 uchar code a5[]={wait for ......}。 uchar code a6[]={secret is saving}。 uchar code a7[]={wait for ......}。 uchar code a8[]={secret is OK}。 uchar code a9[] ={Setting pleted}。 uchar code a10[] ={secret is ERROR}。 uchar code a11[] ={setting serect}。 uchar code b1[]={Families lock}。 uchar code b2[]={Password}。 uchar code c1[]={Open the door }。 uchar code c2[]={Wele host }。 uchar code c3[]={who are you ? }。 uchar code c4[]={I don39。 t know you}。 uchar code c5[]={Password ERROR!}。 bit FLAG1,FLAG2,FLAG3,FALG4。 uchar idata set1[11]={0,0,0,0,0,0,0,0,0,0,0}。 uchar idata set2[11]={0,0,0,0,0,0,0,0,0,0,0}。 enum jian{enter=10,cancel,open,setserect}。 ///////////////////////////////////////// // 用户密码设置 user()。 // 密码输入 inputserect() // 开锁显示 OPENLOCK() //密码读入 readserect() //*******************密码读入 void readserect() { int i。 for(i=0。 iread_random(20)。 i++) { set1[i]= read_random(i)。 } } void yanzh1() { clear()。 write1602(0,0,a8)。 write1602(0,1,a5)。 delay(1000)。 clear()。 write1602(0,0,c1)。 write1602(0,1,c2)。 delay(1000)。 delay(1000)。 clear()。 } void yanzh2() { write1602(0,0,a10)。 write1602(0,1,a5)。 delay(1000)。 write1602(0,0,c3)。 write1602(0,1,c4)。 delay(1000)。 delay(1000)。 clear()。 } void clear1() { int i。 for(i=0。 i16。 i++) {w(0xc0+i)。 wdata(0x20)。 } } /////////////////////////////////////////////////////// // 开锁函数 void openlock() { uchar i=0,m,j=0。 m=read_random(20)。 readserect()。 next: key=18。 i=0。 j++。 while(key==18) //矩阵键盘 { while(flag) keydown()。 flag=1。 if(key!=18) { w(0xc0+i)。 //显示输入密码 wdata(39。 *39。 )。 set2[i]=key+0x30。 i++。 } if(key==enter){ key=0。 i=0。 } 单片机密码锁课程设计报告 —— 湖南师大本科生课程设计 2 else key=18。 } for(i=0。 im。 i++) if(set1[i]!=set2[i]amp。 amp。 j!=3) {for(i=0。 im。 i++) set2[i]=0。 RED=0。 GREEN=1。 clear()。 write1602( 0,0, c5)。 delay(1000)。 clear()。 write1602( 0,0, a2)。 goto next。 } if(j==3) {j=0。 clear()。 yanzh2()。 BEEP=0。 RED=0。 GREEN=1。 } else { yanzh1()。 GREEN=0。 RED=1。 } } /////////////////////////////////////////////////// /////////////////////////////////////////////////// useserect() { uchar i=0。 write1602(0,0,a0)。 write1602(0,1,a5)。 delay(1000)。 clear()。 write1602(0,0,a2)。 key=18。 while(key==18) //矩阵键盘 { while(flag) keydown()。 flag=1。 if(key!=18) { w(0xc0+i)。 //显示输入密码 wdata(key+0x30)。 write_byte(i,key+0x30)。 //密码存储 i++。 } write_byte(20,i1)。 //密码存储 if(key==enter) key=0。 else key=18。 } clear()。 write1602(0,0,a6)。 write1602(0,1,a7)。 delay(1000)。 clear()。 } /////////////////////////////////////////////////// void main() { /////显初始化 init()。 while(1) { write1602(0,0,b1)。 write1602(0,1,a1)。 while(flag) keydown()。 flag=1。 switch(key) { case open: { clear()。 write1602( 0,0, a2)。 openlock()。 break。 } case setserect : { useserect()。 break。 } } } 单片机引脚定义: sbit RS = P1^0。 //RS 数据命令选择端,高电平数据,低电平命令 sbit RW = P1^1。 //RW 读写选择端,高电平读操作,低电平写操作 sbit E = P1^2。 //E 使能控制端, E 高电平跳变为低电平时 LCD 执行命令 sbit SDA = P3^5。 sbit SCL = P3^4。 sbit DB = P2。 //P0=0x80,P1=0x90,P2=0xA0,P3= sbit date1602 =P0。 sbit k1= P3^6。 sbit k2= P3^7。 sbit k3= P1^5。 sbit BEEP=P1^3。 //报警器 sbit RED=P1^5。 sbit GREEN=P1^4。 单片机密码锁课程设计报告 —— 湖南师大本科生课程设计 2 24C02 存取程序 C 代码 : include define uchar unsigned char define uint unsigned int define OP_WRITE 0xa0 // 器件地址以及写入操作 define OP_READ 0xa1 // 器件地址以及读取操作 void delayNOP() {_nop_()。 _nop_()。 _nop_()。 _nop_()。 } void delayms(uint ms) // 延时子程序 { uchar k。 while(ms) { for(k = 0。 k 90。 k++)。 } } /**********************************************************/ void start() //开始位 { SDA = 1。 SC。毕业设计-基于stc89c52单片机的电子密码锁设计
相关推荐
和恢复机制。 与其他网络安全部件的协作、与其他安全技术的结合 随着黑客入侵手段的提高,尤其是分布式、协同式、 复杂模式攻击的出现和发展,传统的单一、缺乏协作的入侵检测技术已经不能满足需求,需要有充分的协作机制。 此外,单一的入侵检测系统并非万能,因此需要结合身份认证、访问控制、数据加密、防火墙、安全扫描、 PKI 技术、病毒防护等众多网络安全技术,来提 供完整的网络安全保障。 3 基于
置键后,系统显示出设定的压力值,如果对设置的水压进行调整,通过增减键,可以进行单位为 5的调整。 如图 34所示,电路由 4个按键和 4个电阻组成,按键分别命名为【启停键】、【设置键】、【增一键】和【减一键】,共四个键,电阻可以采用 9 脚排阻( 8 10KΩ)。 【启停键】功能:启动 /停止,执行开始自动运行和停止功能; 第 页 10 【设置键】功能: 设置
电路( LCD 或 LED驱动电路),脉宽 调制电路 (PWM),模拟多路转换及 A/D 转换器等电路集成到一块单片机上,构成一个最小然而很完善的计算机系统。 这些电路能在软件的控制下准确快速的完成程序设计者事先规定的任务。 总的而言单片机的特点可以归纳为以下几个方面:集成度高、存储容量大、外部扩展能力强、控制功能强、低电压、低功耗、性能价格比高、可靠性高这几个方面。 单片机按内部数据通道的宽度
月球成功发射了两次无 人巡游探测器。 1997 年 由美国JPL( 全称 JetPropulsion Laboratory 美国太空总署喷气推进实验室 ) 研制的Sojourner 号探测车登上了火星。 它验证了小型火星车的性能 并完成了一系列技术试验。 2020 年 1 月 美国的“勇气号”和“机遇号”火星探测车再度登陆火星。 前苏联在 19591976 年间 总共成功发射了两个月球探测车。
延时程序。 需要说明的是,这里设计的是简易的电子钟,主要是用程序运行来计算时间,这样用程序来确定出 1s的时间精度是很有限的,所以整个时钟的精度不太高。 主程序的设计 初始化将时、分、秒各单元的内容清空,置 T0为计 数器方式 1,分别给计数器的高 8位和低 8位赋计数初值,启动 T0工作。 键入一个按键,如执行此动作,秒值加 1,否则重新键如按键。 主程序模块 :主程序流程图,如图 41所示
^$UE9wEwZQc@adNuKNamp。 MuWFA5uxY7JnD6YWRr Wwc^vR9CpbK!zn%Mz849Gx^Gj qv^$UE9wEwZQc@UE%amp。 qYp@Eh5pDx2zVkum amp。 gTXRm 6X4NGpP$vSTTamp。 ksv*3t nGK8! z89Am YWpazadNuKNamp。 MuWFA5ux^Gj