河南城建学院本科毕业设计论文摘要
摘要
电子密码锁己广泛的应用于日常生活中,随着电子产品向智能化和微型化的
不断发展,单片机已成为电子产品研制和开发中首选的控制器。由于单片机具有
体积小,耗电少,控制精度高,运行可靠等的特点,所以广泛应用于生产实际中。电
子密码锁是每个行业和生活中的重要参数之一。为了更好地推广电子锁在各领域
中的应用,在此根据任务要求设计了一种基于AT89S52单片机控制的电子密
码锁。并介绍了单片机控制的矩阵式开关与数码管控制装置及其工作原理、设计
思想、以及硬件电路和软件程序等。装置应用AT89S52单片机,通过单片机编写
密码程序,并用74LS47和3-8译码器74LS138驱动的数码管来显示密码。数码管
可以时时显示当前输入的六位数字。当输入密码正确时,对应的指示灯亮;当密
码不正确时,另一个对应的指示灯亮且并且发出声音报警。
关键词:
矩阵式键盘,单片机,数码管显示,电子密码锁,译码器
Abstract
Electroniclockshavebeenwidelyudindailylife,alectronic
I
河南城建学院本科毕业设计论文Abstract
productstointelligentandminiaturization,SCMhasbecomeelectronic
productrearchanddevelopmentinthepreferredcontroller。Sincethe
microcontrollerwithsmall,lowpowerconsumption,highprecisioncontrol,
reliable,andmorefeatures,itiswidelyudinproduction。Electronic
codelockisthelifeofeachindustryandoneoftheimportantparameters。
Inordertobetterpromoteelectroniclocksinallareasofapplication,
wedesignedanapplicationMCUAT89S52microcontroller-badcontrol
designofamatrixswitchwithdigitalcontroldevicesandtheirexcel截取字符串函数 working
principle,design,andhardwareandsoftwareofelectroniclock。AT89S52
microcontrollerdeviceapplications,thepasswordprogramwrittenbySCM,
and3-8with74LS47
Decoder74LS138-drivendigitalcontroltodisplaythe
password。Digitaltubecanalwaysdisplaythecurrentinputofsixdigits。
Whenyouenterthepasswordcorrectly,thecorrespondingindicatorlight;
Whenthepasswordisincorrect,theother,andthecorrespondingindicator
lightandsoundalarm。
Keyword:
Matrixkeyboard,SCM,Digitaldisplay,Electroniclocks
目录
摘要...............................................................
Ⅰ
Ⅱ
Ⅱ
河南城建学院本科毕业设计论文目录
引言...............................................................1
第1章.系统方案选择和论证..........................................2
1.1设计要求.....................................................2
1.2系统基本方案.................................................2
1.2.1系统框图.............................................2
1.2.2各模块方案选择和论证...................................3
1.2.3系统各模块的最终方案...................................4
第2章.系统的硬件设计与实现.......................................6
2.1系统硬件概述.................................................6
2.2主要单元电路的设计...........................................6
2.2.1键盘扫描模块电路的设计...............................6
2.2.2单片机控制模块电路的设计...................中国上古神话 ..........7
2.2.3声光报警模块电路的设计...............................8
2.2.4数码显示模块电路的设计...............................9
第3章.系统的软件设计............................................11
3.1系统软件概述................................................11
3.1.1软件系统分析........................................11
3.1.2主程序流程图:......................................12
3.2子程序的设计................................................13
3.2.1自检子程序..........................................13
3.2.2键盘扫描子程序......................................14
3.2.3移位子程序..........................................15
3.2.4显示子程序..........................................16
3.2.5密码显示子程序......................................17
3.2.6开锁子程序..........................................18
3.2.7修改密码子程序......................................19
第4章.分析与结论..................................................20
第5章.致谢辞.....................................................20
第6章.参考文献...................................................21
附录A:系统电路图..................................................22
附录B:系统主要元件清单............................................24
附录C:系统程序清单................................................25
附录D:系统使用说明书..............................................36
Ⅳ
河南城建学院本科毕业设计论文目录
Ⅳ
河南城建学院本科毕业设计论文引言
引言
在日常的生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报
表以及一些个人资料的保存大多需要加锁。若使用传统的钥匙锁,人们常需携带
多把钥匙,而且使用极不方便,钥匙丢失后安全隐患就凸显出来了。随着科学技
术的不断发展,人们生活水平的不断提高,人们在日常生活中对安全保险的要求
越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码
锁应时而生。密码锁具有安全性高、成本低、功耗低、易操作等优点。
在人们的日常生活中,如何实现家庭防盗这一问题独占鳌头,传统的机械锁
由于其构造的简单,被撬的事件习空见惯。
电子密码锁是一种通过密码输入来控
制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的锁具,
它采用触摸键盘方式输入开锁密码,操作方便。触摸式电子锁的输入部分采用触
摸开关(键盘输入),其优势在于传统的机械开关之出在于其保密性高,使用灵活
性好,安全系数高,无活动零件,不会磨损,寿命长等受到了广大用户的亲呢。
出于安全、方便等方面的需要许多电子密码锁已相继问世。但这类产品的特点是
针对特定有效卡、指纹或声音有效,且不能实现远程控制,只能适用于保密要求
高且供个人使用的箱、柜、房间等。而且卡片式IC卡还有易丢失等特点,加上其
成本一般较高,所以很难大面积的推广普及。
在科技不断发展的今天,电子密码锁防盗的作用也变得越来越重要。一般来
说大部分电子密码锁以单片机为核心,设计出一款具有报警和本机开锁功能的电
子密码锁,简单而且实用。设计这类系统中主要由单片机系统、矩阵键盘、液晶
显示、密码存储和报警系统组成。设置开锁密码,利用软件与硬件结合的方法来
实现。系统能完成本机开锁、超时报警、超次锁定、管理员解密、修改用户密码
基本的密码锁的功能。除上述基本的密码锁功能外,有的电子密码锁系统还具有
调电存储、声光提示等功能,依据实际的情况还可以添加遥控功能,此类系统成
本较低,功能实用。运用自上而下的模块化设计思想,使系统朝着分布式、小型
化方向发展,增强系统的可扩展性和运行的稳定性。测试结果表明,设计达到电
子密码锁的功能。本文从经济实用的角度出发,采用AT89C51单机,研制了一款
具有防盗自动报警功能的电子密码锁。该密码锁设计方法合理,简单易行,成本
低,符合住宅、办公室用锁要求,具有一定的推广价值。
1
河南城建学院本科毕业设计论文引言
第1章.系统方案选择和论证
1.1设计要求
1.1.1初始密码设定为“123456”。
1.1.2要求电子密码锁具有开机自检功能。
1.1.30~9十个数字按键、一个清零键、一个确认键和一个重置密码键共13个
按键,所以选用4X4的矩阵按键。
1.1.4用六位数码管时时显示阵列式开关输入的数据。
1.1.5当开锁按钮被按下时,如果数码管当前显示值与密码值相同则点亮绿灯;
如果与密码值不同则点亮红灯,并发出报警。
1.2系统基本方案
1.2.1系统框图
简易电子密码锁是由5个部分组成,如图1.1所示:
2
河南城建学院本科毕业设计论文系统方案选择和论证
键盘模块
单
片
机
控
制
模
块
报警模块
电源模块显示模块
图1.1电子密码锁控制系统
电源模块:由+5V的直流稳压电源供电给整个系统工作。
键盘模块:由16个轻触式开关组成。
单片机控制模块:采用支持ISP在线编程技术的单片机AT89S52便于烧写程序。
显示模块:采用六个数码管时时显示当前输入数据;
报警模块:采用发光二极管和蜂鸣器做声光报警。
1.2.2榜样在身边 各模块方案选择和论证
(1)单片机的选择
方案一:
采用AT89C51单片机,它可以与其它51系列的单片机兼容、内部ROM全部
采用FLASHROM、最高时钟频率可达24MHz且能以3V超低压工作。但不支持ISP
在线编程技术、内部ROM仅为4KB不利于功能扩展。
方案二:
采用AT98S52单片机,它具同时被AT98C51的全部功能外,还支持ISP在线
编程技术且内部ROM为8KB有利于功能扩展。
(2)键盘的选择
方案一:使用独立式按键来控制
使用独立式按键来控制数码管的显示,这样需要很多的按键,每个按键实现一个能,易于控制,程序编写简单,但是每个按键都要接上拉电阻,占用了单片
2
河南城建学院本科毕业设计论文系统方案选择和论证
机大量的I/O接口资源,要对单片机外扩I/O口,并且在电路焊接方面又不方便,
还要浪费大量的资源,提高了成本。
方案二:采用矩阵式键来控制
把按键按行列组成矩阵,在行列交点上都对应有一个键,这样使用的按键要
少,为判定有无键被按下以及被按键的位置,这种称为键扫描法。这样虽然提高
了编程难度,但是节约了单片机大量的I/O口,免去了上拉电阻为焊接带来了方
便,提高了整块电路板的美观度。
(3)显示模块的选择
方案一:数码管静态显示
采用LED数码管静态显示方法,电路容易理解,驱动程序简单,但需要每个
数码管都要一块74LS47来驱动显示,增高了成本,浪费系统硬件资源,而需要占
用单片机多个I/O口。
方案二:数码管动态显示
采用LED数码管动态扫显示方法,只需一块数码管驱动器芯片和一块译码器
芯片就可以驱动多个数码管,价格便宜,只需要7个I/O口就可以同时驱动8个
数码管显示。硬件利用效率高,驱动程序容易理解和编程。
方案三:液晶显示
采用LCD液晶显示,显示的位数多,由单片机驱动。此方案有美观、显示清
晰多样的优点。但同时液晶显示器的驱动程序复杂,编程困难,成本高,价格昂
贵,浪费大量的资源。
(4)数码管驱动选择
采用74LS47驱动数码管和74LS138译码器来控制数码管的COM端,因为
74LS47只能驱动共阳数码管,而74LS138的输出为低电平有效。因此,在74LS138
的输出端加入反向器才可以接到数码管的COM端。
方案一:74LS04芯片的选择
采用74LS04芯片做反向器,74LS47是集成六反向器芯片,刚好可驱动六个数
码管,但是它的输入输出引脚两边均分布,造成跳线较多给电路焊接时带来麻烦影
响了整块电路的美观度。
方案二:三极管的选择
三极管也具有反向的功能,采用的是PNP管,电路的连接中又方便,减少了
跳线提高美观度。
3
河南城建学院本科毕业设计论文系统方案选择和论证
(5)报警模块的选择
方案一:
采用语音报警,虽然可以使整个系统更加完美,但是会使程序更加复杂而且
提高了整个系统的造价。
方案二:
采用发光二极管和蜂鸣器来报警,可以发出声光报警且降低了成本。
1.2.3系统各模块的最终方案
结合整个系统的功能、成本、美观度等综合考虑,用AT89S52单片机为主控
模块、用44键盘输入、用74LS47、74小学心理健康教育教案 LS138和三极管来驱动六个数码管做显
示模块、用发光二极管和蜂鸣器做为报警模块。系统框图如图1.2
44键盘输入
六位数码管显示
AT89S52
直流稳压电源声光报警
图1.2系统框图
4
河南城建学院本科毕业设计论文系统方案选择和论证
第2章.系统的硬件设计与实现
2.1系统硬件概述
本系统是通过键盘扫描模块,既能够显示数据并且还能修改密码,开锁密码,
具有强大的功能,通过键盘扫描模块输入到单片机控制系统AT89S52中。然后通
过数码显示模块来显示我们所要有数据,还有一个就是报警模块,当输入的密码
相同时,则显示模块的灯点亮,当输入的密码是错误时,绿灯点亮,报警模块立
刻发出声音报警。为了达到设定的功能,本装置键盘扫描模块、单片机控制模块、
数码管显示模块,声光报警模块等4模块组成。
2.2主要单元电路的设计
2.2.1键盘扫描模块电路的设计
5
河南城建学院本科毕业设计论文系统的硬件设计与实现
图2.1键盘扫描模块
如图2.1所示,本模块的作用是进行键盘的扫描,首先判定有没有键被按下,
然后再判定被按键的位置,因为键盘矩阵有键被按下时,被按键处的行线和列线
被接通,使得开关之间接通。当扫描表明有按键被按下之后,紧接着应是进行去
抖动处理,一般我们采用的是软件来去抖动,软件方法则是采用时间延迟以躲过
抖动,待行线上状态稳定之后,再进行行状态输入。使用矩阵键盘能减少键盘和
单片机接口所占用的I/O线数目,当按键较多的时候通常采用这种方法。
2.2.2单片机控制模块电路的设计
6
河南城建学院本科毕业设计论文系统的硬件设计与实现
图2.2单片机控制模块
如图2.2所示,单片机作为本装置的核心器件,在系统中起到控制声光报警、
以及数码动态显示的作用,其中采用的是AT89S52,AT89S52是标准的40引脚双
列直插式集成电路芯片,有4个八位的并行双向I/O端口,分别记作P0、P1、P2、
P3。第20引脚为接地端;第40引脚为电源端;第31引脚需要接高电位使单片
机选用内部程序存储器;第18、19脚之间接上一个12MHz的晶振为单片机提供
时钟信号;第9脚为复位脚,当其接高电位时,单片机停止工作。P0口接两个发
光二极管和一个蜂鸣器以实现声光报警功能,P2口连接一片七段译码器和一片
3-8译码器以动态扫描方式同时驱动六个数码管,P1口与16个阵列式按键相连
实现对键盘的扫描。通过编程既能识别从译码器来驱动数码管来显示数据,同时
也通过运行指令来达到完成声光报警及动态显示数码管等功能。
7
河南城建学院本科毕业设计论文系统的硬件设计与实现
2.2.3声光报警模块电路的设计
图2.3声光报警模块
如图2.3所示,本模块报警电路由单片机和蜂鸣器组成,开锁按钮被按下时,
每次输入的密码与正确密码进行比较,如果相同,锁开灯亮;当输入的数与密码不
同时,则红灯点亮并且蜂鸣器立刻发出声音报警。
8
河南城建学院本科毕业设计论文系统的硬件设计与实现
2.2.4数码显示模块电路的设计
图2.4数码显示模块
如图2.4所示,该模块主要由74LS47译码器,74LS138译码器和6个8段数
码显示管组成,如图所示,从编码器输送过来的数据经过两片74LS47芯片和
74LS138蕊片译码后,传送到8段数码显示管,显示管根据接收到数据电平的高
低来显示不同的数据。
从图中可以看到单片机P2口低4位连接一片74LS47七段译码器,由于
74LS47是共阳极数码管的七段译码器,因此要选用共阳极的数码管。单片机
P2.0-P21.3的输出信号经过74LS47译码后就可以驱动数码管的段码显示相应的
数字,另外在74LS47的输出与数码管之间还要接上7个470欧姆的限流电阻,来
实现过流保护,从而保护了显示管。P2.4-P2.6口接于3-8译码器74LS138的三
个输入端,而74LS138的输出端通过三极管分别接于八个数码管的公共极。通过
由P1.4-P1.6口的输出量来控制74LS138选择点亮某一个数码管。由于74LS138
是低电位有效,所以应该采用PNP型的三极管来驱动数码管,在此三极管相当于一个开关的作用依靠这两块芯片就可以控制数码管实现动态扫描显示。
9
河南城建学院本科毕业设计论文系统的硬件设计与实现
例如:使六个数码管显示123456。在第一时刻输出“0001”给74LS47,让数
码管显示“1”,同时输出“000”给74LS138,选择第一个数码管工作,其余数
码管不工作,这样第一时刻就只有第一个数码管显示“1”,其余数码管均不显示。
同理第二时刻也只有第二个数码管显示“2”,依次类推第N时刻就只有第N个数
码管显示“N”。人的肉眼只能分辨0.1秒内的变化,所以如果以每一时刻0.01秒
的频率循环变化,看起来就感觉每一个数码管都被点亮了,显示“123456”。
10
河南城建学院本科毕业设计论文系统的软件设计
第3章.系统的软件设计
3.1系统软件概述
3.1.1软件系统分析
本系统的工作流程为:通过键盘扫描来实现三种不同的功能,刚开始是设置
的初始密码123456通过数码管来显示,用10个按键来输入0到9这从右到左
依次输入,还用三个按键来显示密码,修改密码,开锁等。当开锁按钮被按下时,
如果数码管与当前显示值相同,则点亮LED1;当数码管值不同时,则点亮LED2,
并且立刻发出报警声音。其中包括了主程序、初始化程序、键盘扫描程序、密码
输入程序、功能键定义程序、重置密码程序、数码管显示程序、中断延时程序、
报警程序。
11
河南城建学院本科毕业设计论文系统的软件设计
3.1.2主程序流程图:
开始
初始化
自检子程序
键盘扫描子程序
有按键按下
相应子程序
显示子程序
循环
图3.1主程序流程图
主程序说明:单片机复位后进入初始化把初始密码“123456”依次存放到40H
到45H六个单元中,把30H到35H六个单设置为六位数码管显示数据的存放地址,
设置完毕调用自检子程序进入自检状态,自检完毕调用扫描子程序对键盘进行扫
描,如果有按键被按下则跳转到相应的子程序,再调用显示子程序把30H到35H六
个单元的数据给六个数码管显示出来。显示完毕就跳加扫描子程序继续对键盘进
行扫描,如此循环。
12
河南城建学院本科毕业设计论文系统的软件设计
3.2子程序的设计
3.2.1自检子程序
开始
30H→38H
移位次数6→R0
08H→P1显示
移位
NO
R0=0?
YES
NO
(38H)=0?
YES
关闭自检
返回
图3.2自检子程序流程图
自检子程序说明:进入自检子程序后先把循环次数30赋给38H单元,把移
位次数6赋给R0,再把08H赋给P2口显示,把08H移位后再赋给P2口,循环
6次完成一次显示,循环显示完30次完成自检。
13
河南城建学院本科毕业设计论文系统的软件设计
3.2.2键盘扫描子程序
开始
初始化
输入扫描码
YES
防抖
YES
取出键值
YES
跳转相应子程序
YES
第四列按键
NO
下一行
NO
超过四行
YES
第三列按键
NO
第二列按键
NO
第一列按键
NO
图3.3键盘扫描子程序流程图
键盘扫描程序说明:给键盘所连接的P2口赋扫描码,例如:MOVP2,#0FEH,
则扫描最后一行按键。写入这个扫描码后P2口的高4位写入“1”,被设为输入
状态,低4位中只有P2.0为“0”。而P2口的高4位通过按键与低4位相连,
所以此时从P2口的高4位就可以读入低4位的数据。与被按下的键相连接的高
位口,读入的数据为“0”,其它高位口读入的为“1”从而识别出是哪一个按键
14
河南城建学院本科毕业设计论文系统的软件设计
被按下。随后再依次对P2口写入FDH、FBH、07H,分别扫描第三、第二、第一行,
这样交替循环便可完成对44键盘的扫描。
3.2.3移位子程序
开始
(34H)→(35H)
(33H)→(34H)
(32H)→(33H)
(31H)→(32H)
(30H)→(31H)
相应数据→(30H)
返回
图3.4移位子程序流程图
移位程序说明:进入移位子后就把30H到35H六个单元里的数据向右移一位,
移位完毕后把35H单元里的数据推出去,把30H单元空出。
15
河南城建学院本科毕业设计论文系统的软件设计
3.2.4显示子程序
开始
循环次数40→(3AH)
(30H)→P2
(31H)→P2
(32H)→P2
(33H)→P2
(34H)→P2
(35H)→P2
NO
3AH减一为0?
YES
返回
图3.5显示子程序流程图
显示程序说明:进入显示子程序后把显示次数40次赋给3AH单元,把30H到
35H六个单元里的数据赋给P2口显示完一次,显示完40次返回。
16
河南城建学院本科毕业设计论文系统的软件设计
3.2.5密码显示子程序
开始
循环次数250→(4AH)
(4清炖排骨怎么做好吃 0H)→P2
(41H)→P2
(42H)→P2
(43H)→P2
(44H)→P2
(45H)→P2
NO
4AH减一为0?
YES
返回
图3.6密码显示子程序流程图
密码显示程序说明:进入密码显示子程序后把显示次数250次赋给4AH单元,
把30H到35H六个单元里的数据赋给P2口显示完一次,显示完250次返回。
17
河南城建学院本科毕业设计论文系统的软件设计
3.2.6开锁子程序
开始
(30H)~(35H)=
(40H)~(45H)?
NO
YES
报警
开锁
返回
图3.7开锁子程程序流程图
开锁程序说明:判断30H到35H单元里的数据与40H到45H单元里的数据是
否相同,如果相同,开锁成功绿灯亮;如果不相同,开锁不成功报警红灯亮且蜂鸣
器响。
18
河南城建学院本科毕业设计论文系统的软件设计
3.2.7修改密码子程序
开始
成功开锁
NO
不修改
YES
修改密码
返回
图3.8修改密码子程序流程图
修改密码程序说明:判断绿灯是否已点亮,点亮则说明已开锁成功可修改密
码,否则不修改。
19
河南城建学院本科毕业设计论文分析与结论和致谢辞
第4章.分析与结论
总体来看,已经完成了题目所要求的基本功能,在完成成基本功能外还有解
除报警功能和退格功能,这样使整个系统的功能更加完美,成本也不高,应用更
加方便。整个电路从整体上看电路已基本稳定,经多次检查已复合要求,加上软件
上的功能对于电子密码锁来说已完美。
我设计的是基于单片机控制的电子密码锁。经过一段时间的努力,我基本上
完成了题目的要求设计和制作。
在设计过程中,我首先虾缸 进行方案的设计,然后是电路的布局和设计,最后是
对电路进行仔细检查。在方案的设计过程中,经过了理论验证和筛选,才确定最
终的方案。比如键盘扫描的设计,就考虑过二种不同的方案;对数码显示模块的
使用,也使用了两种不同的芯片来驱动数码管。而电路的制作更是成功完成制作
的保证,因此在整个过程中
,
我从始至终都秉着严谨、认真的态度来完成特别是在
编程的时,开始是一点不懂,看到编程有种头痛的感觉,但在老师的指导下和同
组的帮助下,我的设计程序己基本上实现了。
总之,在这次毕业设计当中,尽管时间有些紧迫,却使我们学到了许
多知识,不管是专业基础知识还是动手制作能力,都得到了很大的提高,既
开拓了思维也积累了经验,更重要的是使我们看到自己的不足和今后更需要努力
的方向。以后我们将更加努力学好专业知识,不断地积累更丰富的经验,进一步
提高动手技能。
第5章.致谢辞
感谢河南城建学院给予我们这个毕业设计的机会,提供了一个让我们展示才
能,开拓创新思维,激发创新灵感,交流学习的平台。我们通过这次毕业设计,
极大地提高了动手能力,磨练了意志,同时也培养了自主创新的意识。感谢我的
指导老师和在此设计过程中帮助我的一些同学,在你们指导和帮助下,我才能顺
利的完成这次毕业设计。
20
河南城建学院本科毕业设计论文参考文献
第6章.参考文献
[1]刘勇.《数字电路》.电子工业出版社,2004
[2]王法能.《单片机原理及应用》.(简明修订版)科学出版社出版发行,2001
[3]赵伟军.PROTEL99SE教程.人民邮电出版社,2004
[4]黄强.模拟电子技术.科学出版社,2003
[5]王磊,PLC控制的多功能磁卡式电子密码锁设计,河南大学学报,1998
[6]祖龙起,刘仁杰,一种新型可编程密码锁大连轻工业学院学报,2002
[7]宁爱民,应用AT89C2051单片机设计电子密码锁淮海工学院学报12(2):
28-31,2003
[8]曾咭昭,外遥控电子密码锁应用研究国外电子元器件,4:7-8,2002
[9]赵克林,姜春茂,韩忠东.《C语言程序设计教程》.北京工业大学出版
[10]李晓白,秦红磊等主编.《凌阳16位单片机C语言开发》.北京航空航天大学出
版
[11]胡汉才.单片机原理及其接口技术.清华大学出版社.1996年
[12]余永权.ATMEL89系列(MCS-51兼容)FLASH单片机原理及应用.电子工业
出版社.1997
[13]刘树林,高树德.《低频电子线路》.电子工业出版社。
[14]21ic,美信的MAX7219的资料。
[15]杨鸣,毛婕,冯文利.《max7219与单片机的驳接》.发布时间2006.06[16]8L-8AC,2006,(01);
[17]WirelessWorld,1998,vol、84,No、1509,p69;
21
河南城建学院本科毕业设计论文系统电路图
附录A:系统电路图
22
河南城建学院本科毕业设计论文系统电路图
22
河南城建学院本科毕业设计论文系统主要元件清单
附录B:系统主要元件清单
24
河南城建学院本科毕业设计论文系统程序清单
附录C:系统程序清单
ORG0000H
LJMPSTARTSTART:
MOV40H,#06H;设置初始密码为“123456”并分别存放到45H~~40H
MOV41H,#15H
MOV42H,#24H
MOV43H,#33HMOV44H,#42H
MOV45H,#51H;
MOV30H,#0FFH;
MOV31H,#0FFH
MOV32H,#0FFH
MOV33H,#0FFH
MOV34H,#0FFHMOV35H,#0FFH
MOVR0,#06H;
LCALLZIJIAN;CHENGXU:
LCALLSAOMIAO;
LCALLXIANSHI;
LJMPCHENGXU;
ZIJIAN:;
MOV38H,#30;
A3:
SETBP0.0
SETBP0.1SETBP0.2
MOVA,#00001000B;
A4:MOVP2,A
ADDA,#00010000B;
六位密码存放地址
六个数码管显示数据存放地址
自检移位次数
调用自检子程序
调用扫描子程序
调用显示子程序
循环
自检子程序
循环次数
给数码管显示为"8"
移位
25
河南城建学院本科毕业设计论文系统程序清单
LCALLDELE;调用显示延时子程序
DJNZR0,A4DJNZ38H,A3
MOVP1,#0FFH;自检完毕,关闭自检
CLRP0.0
CLRP0.1
CLRP0.2RET
DELE:;
MOV36H,#250
DJNZ36H,$RET
XIANSHI:;
MOV3AH,#40;XS2:
MOVP2,30H;
LCALLDELE;
MOVP2,31H
LCALLDELE
MOVP2,32H
LCALLDELE
MOVP2,33H
LCALLDELE
MOVP1,34H
LCALLDELE
MOVP1,35HLCALLDELE
DJNZ3AH,XS2;RET
SAOMIAO:;
MOVR7,#0F7H;
MOVR6,#00H;HANGSAO:
显示延时子程序
显示子程序
显示循环次数
把30H到35H的数据给P1口显示
调用显示延时子程序
循环显示
扫描子程序
输出扫描码(列:1111)(行:0111),扫描第一行
用于检测哪个按键被按下26
河南城建学院本科毕业设计论文系统程序清单
MOVA,R7
MOVP1,A;开始扫描行
MOVA,P2SETBC
MOVR5,#04H;扫描同一行的4个按键
LIESAO:RLCA
JNCPANDUAN;
序
INCR6;
DJNZR5,LIESAO;
MOVA,R7
SETBCRRCA
MOVR7,A;
JCHANGSAO;
描完4行就返回RET
PANDUAN:;
LCALLDEL;
MOVA,R6XRLA,#00H
JZKAIGUAN1;
MOVA,R6XRLA,#01H
JZKAIGUAN2;
MOVA,R6XRLA,#02H
JZKAIGUAN3;
MOVA,R6XRLA,#03H
JZKAIGUAN4;
MOVA,R6XRLA,#04H
检测当前按键是否被下,如果有马上跳到判断子程
如果当前没有按键被按下则检测下一个
检测尊重家长 完本行的4个按键,则跳出
扫描码右移一位,开始扫描下一行
没有扫描完4行则跳到HANGSAO继续扫描,已扫
判断是那个开关被按下
调用消抖延时子程序
开关被按下跳转按键1功能子程序
开关被按下跳转按键2功能子程序
开关被按下跳转按键3功能子程序
开关被按下跳转按键4功能子程序27
河南城建学院本科毕业设计论文系统程序清单
JZKAIGUAN5;开关被按下跳转按键5功能子程序
MOVA,R6XRLA,#05H
JZKAIGUAN6;开关被按下跳转按键6功能子程序
MOVA,R6XRLA,#06H
JZKAIGUAN7;
MOVA,R6XRLA,#07H
JZKAIGUAN8;
MOVA,R6XRLA,#08H
JZKAIGUAN9;
MOVA,R6XRLA,#09H
JZKAIGUAN10;
MOVA,R6XRLA,#0AH
JZKG11;
MOVA,R6XRLA,#0BH
JZKG12;
MOVA,R6XRLA,#0CH
JZKG13;
MOVA,R6XRLA,#0DH
JZKG14;
MOVA,R6XRLA,#0EH
JZKG15;
MOVA,R6XRLA,#0FH
JZKG16;
开关被按下跳转按键7功能子程序
开关被按下跳转按键8功能子程序
开关被按下跳转按键9功能子程序
开关被按下跳转按键10功能子程序
开关被按下跳转按键11功能子程序
开关被按下跳转按键12功能子程序
开关被按下跳转按键13功能子程序
开关被按下跳转按键14功能子程序
开关被按下跳转按键15功能子程序
开关被按下跳转按键16功能子程序
28
河南城建学院本科毕业设计论文系统程序清单
LJMPSAOMIAOKG11:
LJMPKAIGUAN11KG12:
LJMPKAIGUAN12KG13:
LJMPKAIGUAN13KG14:
LJMPKAIGUAN14KG15:
LJMPKAIGUAN15KG16:
LJMPKAIGUAN16
DEL:;
MOV3FH,#5D1:
MOV3EH,#200
DJNZ3EH,$
DJNZ3FH,D1RET
KAIGUAN1:;
LCALLYIWEI;
MOV30H,#01H;
RET;
KAIGUAN2:
LCALLYIWEI
MOV30H,#02HRET
KAIGUAN3:;
LCALLYIWEI
MOV30H,#03HRET
KAIGUAN4:;LCALLYIWEI
消抖延时子程序
按键1功能子程序
调用移位子程序
把“1”给30H让数码管显示
按键2功能子程序
按键3功能子程序
按键4功能子程序29
河南城建学院本科毕业设计论文系统程序清单
MOV30H,#04HRET
KAIGUAN5:;按键5功能子程序
LCALLYIWEI
MOV30H,#05HRET
KAIGUAN6:;
LCALLYIWEI
MOV30H,#06HRET
KAIGUAN7:;
LCALLYIWEI
MOV30H,#07HRET
KAIGUAN8:;
LCALLYIWEI
MOV30H,#08HRET
KAIGUAN9:;
LCALLYIWEI
MOV30H,#09HRET
KAIGUAN10:;
LCALLYIWEI
MOV30H,#00HRET
KAIGUAN11:;
MOV4AH,#250;XX:
MOVP2,40H;
LCALLDELE
MOVP2,41H
LCALLDELEMOVP2,42H
按键6功能子程序
按键7功能子程序
按键8功能子程序
按键9功能子程序
按键10功能子程序
显示密码子程序(按键11功能子程序)
显示循环次数
把40H~~45H里的数据给P1口让数码管显示30
河南城建学院本科毕业设计论文系统程序清单
LCALLDELE
MOVP2,43H
LCALLDELE
MOVP2,44H
LCALLDELE
MOVP2,45H
LCALLDELE
DJNZ4AH,XXRET
KAIGUAN12:;MOVA,30H
XRLA,40H;
JNZBAOJING;
MOVA,31H
XRLA,41H
JNZBAOJING
MOVA,32H
XRLA,42H
JNZBAOJING
MOVA,33H
XRLA,43H
JNZBAOJING
MOVA,34H
XRLA,44H
JNZBAOJING
MOVA,35H
XRLA,45HJNZBAOJING
SETBP0.0;RET
KAIGUAN13:;
JNBP0.0,BUGAI;
MOV40H,30H;MOV41H,31H
开锁子程序(按键12功能子程序)
检查输入密码是否正确
不正确调用报警子程序报警2S
输入密码正确绿灯点亮
修改密码确认子程序(按键13功能子程序)
判断绿是否点亮
把当前显示数据设为密码31
河南城建学院本科毕业设计论文系统程序清单
MOV42H,32H
MOV43H,33H
MOV44H,34HMOV45H,35H
CLRP0.0;密码修改成功,关闭绿灯
BUGAI:RET
KAIGUAN14:;
MOVP0,#00H;RET
BAOJING:;
SETBP0.1;
SETBP0.2RET
KAIGUAN15:;
MOVA,35HXRLA,#0FFH
JNZG1;
MOVA,34HXRLA,#0FFH
JNZG2;
MOVA,33HXRLA,#0FFH
JNZG3;
MOVA,32HXRLA,#0FFH
JNZG4;
MOVA,31HXRLA,#0FFH
JNZG5;
MOVA,30HXRLA,#0FFH
JNZG6;GG:
关闭子程序(按键14功能子程序)
关闭报警
报警子程序
启动报警
清除当前显示的最高位子程序(按键15功能子程序)
判断35H是否有显示,有则跳转
判断34H是否有显示,有则跳转
判断33H是否有显示,有则跳转
判断32H是否有显示,有则跳转
判断31H是否有显示,有则跳转
判断30H是否有显示,有则跳转32
河南城建学院本科毕业设计论文系统程序清单
MOV@R1,#0FFH;把0FFH赋给当前显示的最高位
RET
G1:
MOVR1,#35H
LJMPGG
G2:
MOVR1,#34H
LJMPGG
G3:
MOVR1,#33H
LJMPGG
G4:
MOVR1,#32H
LJMPGG
G5:
MOVR1,#31H
LJMPGG
G6:
MOVR1,#30HLJMPGG
KAIGUAN16:;
MOVA,31H
CLRCSUBBA,#10H
MOV30H,A;
MOVA,32H
CLRCSUBBA,#10H
MOV31H,A;
MOVA,33H
CLRCSUBBA,#10H
MOV32H,A;MOVA,34H
清除当前显示的最低位子程序(按键16功能子程序)
把31H的数据给30H
把32H的数据给31H
把33H的数据给32H33
河南城建学院本科毕业设计论文系统程序清单
CLRCSUBBA,#10H
MOV33H,A;把34H的数据给33H
MOVA,35H
CLRCSUBBA,#10H
MOV34H,A;
MOV35H,#0FFH;#0FFHRET
DEL2S:;
MOV4FH,#20
D2S:
MOV4EH,#200
D2S1:
MOV4DH,#250
DJNZ4DH,$
DJNZ4EH,D2S1
DJNZ4FH,D2SRET
YIWEI:;MOVA,34H
ADDA,#00010000B;
MOV35H,AMOVA,33H
ADDA,#00010000B;
MOV34H,AMOVA,32H
ADDA,#00010000B;
46
MOV33H,AMOVA,31H
ADDA,#00010000B;
MOV32H,AMOVA,30H
把35H的数据给34H
赋给35H,35H显示时变为黑屏
延时2S子程序
移位子程序
把34H的数据移到35H
把33H的数据移到34H
把32H的数据移到33H
把31H的数据移到32H34
河南城建学院本科毕业设计论文系统程序清单
ADDA,#00010000B;把30H的数据移到31H
MOV31H,A
RET
35
河南城建学院本科毕业设计论文系统使用说明书
附录D:系统使用说明书
在放置整个系统时不要把电路放置在潮湿的地方、有水的地方、放置在桌面
时要把桌面清理干净、保持桌面干燥,以上几点均可以造成电路短路,影响到整
个系统的工作,因此需要特别注意。
整个系统只须要一组+5V的直流稳压电源供电为整个系统工作。
把键盘输入模块接到单片机的P1口、数码显示模块接到单片机的P2口、报
警模块接到单片机的P.0---P0.3口即可。注意不要把电源接反。
键盘如下图所示:
其中0----9键代表数字0---9
X键为显示密码键
K键为开锁键
#键为修改密码键
G键为关闭报警键
D键为清除最高位键
C键为退格健
设计后的电路只要按以上方法接线,上电后按照键盘输入图即可进行测试。
36
本文发布于:2023-04-15 01:36:40,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/fan/89/831311.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |