单片机电子密码锁报告
单片机电子密码锁报告

目录第1章概述1第2章系统总体方案设计2第3章硬件电路设计33.1 键盘电路设计33.2LED显示电路53.3 开锁电路73.4报警电路9第4章软件设计94.1软件设计思路94.2 各子程序设计10第5章系统调试16第6章心得体会17第7章参考文献18第8章附录198.1源程序清单198.2硬件原理图26第1章概述随着科技的发展,单片机已不是一个陌生的名词,它的出现是近代计算机技术发展史上的一个重要里程碑,因为单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。
单片机单芯片的微小体积和低的成本,可广泛地嵌入到如玩具、家用电器、机器人、仪器仪表、汽车电子系统、工业控制单元、办公自动化设备、金融电子系统、舰船、个人信息终端及通讯产品中,成为现代电子系统中最重要的智能化工具。
本文所涉及的是市场占有率最高的是MCS—51系列,因为世界上很多知名的IC生产厂家都生产51兼容的芯片。
到目前为止,MCS—51单片机已有数百个品种,还在不断推出功能更强的新产品。
本设计是基于单片机的密码锁设计方案,根据要求,给出了该单片XX码锁的硬件电路和软件程序,同时给出了单片机型号的选择、硬件设计、软件流程图、单片机存储单元的分配、汇编语言源程序及详细注释等内容。
第2章系统总体方案设计系统总体设计方案框图2.1:图2.1系统总体设计方案框本方案采用一种是用以89S51为核心的单片机控制方案。
利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。
初步设计思路如下:1.输入密码用矩形键盘,包括数字键和功能键。
2.LED数码管显示输入密码,用74JS247驱动数码管发光显示数码,用74LS138控制各位显示器分时进行显示。
3.用发光二极管代替开锁的电路,发光表示开锁。
4.输入密码错误次数超过3次,系统报警。
5.打开电源后,显示器显示“000000”,设原始密码为“123456”,只要输入此密码便了开门。
单片机课程设计报告电子密码锁完整版

单片机课程设计报告电子密码锁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!”,并且蜂鸣器同时提示一下。
单片机密码锁实验报告

二○一六~二○一七学年第一学期电子信息工程系电子综合设计II报告书班级:电信(产业)1401班设计时间:2016/12/29学生姓名:曹子龙学号:201404135024指导教师:赵敏二○一六年十二月一、设计要求.题目内容:设计一个基于51单片机的电子密码锁:1.可以使用4*4的矩阵键盘与红外遥控器输入密码。
2.可以通过按特殊组合键重设开锁密码。
3.显示通过1602液晶屏显示电子密码锁界面,输入密码时显示输入个数显示为‘*’,如果密码正确,进入欢迎界面。
4.密码连续输入3次错误报警,LCD显示报警,倒计时十秒后重新进入密码输入界面。
5.可以通过特殊的按键组合跳过输入界面直接进入欢迎界面。
实现方法:1.通过红外接收头,连接单片机的P3.2外部中断INT0口,可以实现单片机接收遥控器的信号输入。
2.通过矩阵键盘扫描函数,可以实现对键盘输入的响应。
3.通过引脚的高低电平变化频率,控制蜂鸣器的输入占空比和频率(低电平时间固定,通过输入给函数值的不同改变高电平时间,固定响300个周期),对不同按键实现不同声音响应。
4.1602显示屏有16*2个单元格,每个单元格由5*8个像素点组成,可以很好的显示数字,符号,英文字符。
功能需求分析:液晶屏显示:根据题意,需要设计并显示输入密码界面、修改密码界面、欢迎界面、错误警告界面密码输入:根据题意,每次输入一个数字,则显示一个‘*’符号代替,只能看出输入的位数,若输入密码位数达到六位,则与正确密码比较,若正确,进入系统。
根据日常的手机使用习惯,默认长度为6位,且第六位输入之后立即判断,正确则进入,错误则清空重输。
组合键实现密码修改:密码修改必须通过不易被他人发现的特殊方法改变,所以设计为,若同时按住矩阵键盘的5,10 或6,9两个键,则进入密码修改函数。
输入密码错误三次则报错:一般的密码系统对密码输入错误次数过多的情况进行了限制,所以在密码锁里设置,若密码输入错误三次,则进入警报界面,显示10s倒计时,必须在倒计时结束后才能再次输入密码。
基于单片机八位数字密码锁设计报告

基于单片机八位数字密码锁设计报告1研究意义数字密码锁是利用数字密码来开启的锁具,其重复概率仅为十万分之一,有着很高的安全性;而旋芯式锁具使用不够安全。
通过对社会各阶层千余人的调查,百分之百的人对目前身上挂着的串串钥匙无可奈何。
但现在又没有一种锁具可摆脱钥匙的束缚。
都愿意一身轻松没有任何顾虑的出入家门,都愿意用上一种既安全方便又不用钥匙的锁具。
因此,“数字密码锁”产品的市场发展前景极为广阔。
在调查的千余人中有60%的人有丢失钥匙的经历,25%的人有把钥匙反锁在室内的,75%的人居室在三层以上的,36%的人把钥匙忘在工厂的,有8%的人是利用邻居的阳台、窗户跳跃进入自己家来打开被反锁的房门,90%的人或听或看新闻得知有因无法打开房门,而冒险跃窗发生事故非死既伤,给家庭造成麻烦。
精神和肉体的损伤是无法挽回的,为了解决上述各种数据给人们带来的各种烦恼,所以“数字密码锁”,使人们在无忧无虑的环境中生活。
2设计思路本设计电路控制部分由A T89S52单片机做主控制器,4×4矩阵键盘做密码输入控制,RT1602C做显示部分,密码输入提示音由蜂鸣器提示。
其主要功能有密码输入、密码修改、上锁和开锁。
开锁期间用户可通过修改键自行设置密码。
密码位数为6~8位。
此作品为八位密码。
开锁时先输入默认密码后,按下“确认”键检测,密码正确时开锁。
3设计流程及结构图4系统调试4.1电子密码锁启动显示电子密码锁启动时,系统提示:“I MPORT CIPHER”,即提示请输入密码,如图。
输入密码正确,系统提示:CONGRATULATE YOU PENING LOCK !即提示锁已经打开,如图。
4.2密码输入及功能选择用4行*4列小键盘输入8位密码(密码限于8位),如果密码输入正确,则显示CIPHER ERROR然后,输入密码后按“确认”键。
系统提示:CONGRATULATE YOU PENING LOCK !即提示锁已经打开。
51单片机电子密码锁报告

信息工程学院51单片机的密码锁控制器的设计实验报告专业:电气工程及其自动化班级:10040921基于51单片机的密码锁控制器设计一、设计目的:要求设计的电子密码锁的密码用键盘上的数字按键产生的6位数字码构成的密码。
如果输入密码正确开锁(发光二极管量),如果密码不正确,发出报警信号。
二、实验要求:1、显示位数:6位密码显示2、键盘设置密码三、设计方案:本设计包括矩阵键盘接口电路、密码锁的控制电路和输出显示电路等三部分。
键盘部分包括键盘扫描时序产生电路;键盘扫描;弹跳消除;键盘译码;按键存储。
程序控制包括数字按键的数字输入;存储及清除;功能按键的功能设计;移位寄存器的设计与控制;密码清除、变更、存储;激活开锁电路;密码核对;解除电锁电路。
输出显示电路的设计包括:数据选择;BCD对显示译码;七段显示扫描。
(1)密码数据输入:每按一个数字键,在显示器上显示一个“-”最多可设置6位密码。
(2)密码设置:每按一个数字键,就输入一个数值,并在显示器上的最右方显示出该数值,并将先前已经输入的数据依序左移一个数字位置。
注意:密码设置必须是在开锁状态下设置。
(3)数码清除:按下此键可清除前面所有的输入值,清除成为“000000”。
(4)密码更改:按下此键时将目前的数字设定成新的密码。
(5)激活电锁:按下此键可将密码锁上锁。
(6)解除电锁:按下此键会检查输入的密码是否正确,密码正确即开锁。
(7)密码错误:声光报警四、实验电路及连线:1、实验接线2、LED电平显示电路实验仪上装有8只发光二极管及相应驱动电路。
见下图,L0―L7为相应发光二极管驱动信号输入端,该输入端为高电压电平“1”时发光二极管点亮。
我们可以通过P1口对其直接进行控制,点亮或者熄灭发光二极管。
LED电平显示电路3、键盘及LED显示电路键盘和LED显示的地址译码见下图,做键盘和LED实验时,需要将KEY/LED CS接到相应的地址译码上。
位码输出的地址为0X002H,段码输出的地址为0X004H,键盘行码读回的地址为0X001H,此处X是由KEY/LED CS决定,参见地址译码。
基于单片机的电子密码锁开题报告

基于单片机的电子密码锁开题报告单片机在电子领域技术已经十分普及,根据其优越的性能,针对电子领域的应用,它可以用于识别、测量和控制等领域的工作,并能够实现这些工作的完美实施。
本实验室要基于单片机技术,设计并实现一款电子密码锁,为此,本人要做出以下相关研究,开展电子密码锁的研究工作。
电子密码锁是一种可以根据输入密码,辨认密码之正确性,从而可以实现开锁/禁锁控制功能的电子装置,可以应用到普通家里、宿舍等场合中。
以往大多使用机械按键式的锁结构或者机械钥匙式的机械锁形式,现阶段的安全锁均有这些形式,安全性能一般。
而电子密码锁,则可以实现更高效率、更高可靠性的安全系统保护,在重要的公司、机关及政府部门的管理的场合,也可以得到相应的应用。
本实验室的电子密码锁项目将基于单片机开发,尤其采用基于C 语言的单片机编程实现。
主要功能是:(1)系统初始设置:确保系统可以正常运行、生产和控制;(2)密码输入:使用密码键盘进行输入;(3)密码比对:根据输入的密码,向数字表明系统比较,并根据比较结果进行开锁操作;(4)加锁功能:当密码未正确输入,锁定的功能,实现安全系统的有效控制;(5)开锁记录:运行情况的监测,可以按照给定的指令记录开锁记录,备份维护;(6)用户界面:设计具有良好可视化界面,提供可视化的控制,以方便用户的使用。
实验内容:首先,要调研比较市场上的电子密码锁的技术背景和结构模型,研究其原理,确定本实验的结构以及所采用的单片机型号。
其次,要设计数字控制流程,编写程序程序,设计有效的控制结构,以及实现待选定的电子密码锁控制系统。
最后,要实施测试,并形成有效的监控和记录系统。
本实验将为实现电子密码锁提供可靠的技术支持,为社会安全保密提供更有力的保障,有助于在安全领域全面提升技术水平,实现“安全的、有效的”的保密工作,同时也有助于促进社会安全治理水平的提升。
单片机密码锁实习报告

单片机密码锁实习报告一、前言随着科技的不断发展,单片机技术在各个领域得到了广泛的应用。
本次实习,我选择了单片机密码锁的设计与实现作为课题,旨在掌握单片机的原理与应用,提高自己的动手实践能力。
二、实习目的1. 学习单片机的原理与编程方法,了解单片机在实际应用中的优势。
2. 掌握密码锁的设计原理,学会使用单片机实现密码锁功能。
3. 培养自己的团队协作能力和解决问题的能力。
三、实习内容1. 单片机密码锁的原理与功能介绍2. 单片机密码锁的硬件设计3. 单片机密码锁的软件编程4. 单片机密码锁的系统调试与优化四、实习过程1. 单片机密码锁的原理与功能介绍单片机密码锁是一种利用单片机作为控制核心,通过密码输入来控制电路或芯片工作的安全设备。
它具有安全性高、成本低、功耗低、易操作等优点,广泛应用于各种场合。
本次设计的单片机密码锁采用4x4矩阵键盘输入密码,当密码输入正确时,锁打开,否则锁定按键3秒钟并发出报警。
2. 单片机密码锁的硬件设计硬件设计是实现单片机密码锁功能的基础。
本次设计中,硬件部分主要包括4x4矩阵键盘、LED显示、蜂鸣器报警、电磁锁等。
其中,4x4矩阵键盘用于输入密码,LED显示用于显示输入的密码,蜂鸣器报警用于发出报警声音,电磁锁用于实现锁的开关。
3. 单片机密码锁的软件编程软件编程是实现单片机密码锁功能的关键。
本次设计中,软件部分主要实现以下功能:(1)键盘扫描:检测按键是否按下,并获取按键值。
(2)密码输入:将键盘输入的按键值转换为密码,并在LED显示上显示。
(3)密码判断:判断输入的密码是否正确,正确则开锁,错误则锁定按键3秒钟并发出报警。
(4)密码修改:提供一种方式修改密码,以提高安全性。
4. 单片机密码锁的系统调试与优化在完成硬件设计和软件编程后,进行系统调试与优化。
通过反复测试,发现并解决可能存在的问题,提高系统的稳定性和可靠性。
五、实习收获通过本次实习,我学到了很多关于单片机密码锁的知识,收获如下:1. 掌握了单片机的原理与编程方法,了解了单片机在实际应用中的优势。
密码锁单片机实习报告

一、前言随着科技的不断发展,单片机技术在各个领域得到了广泛的应用。
密码锁作为一种安全可靠的开锁方式,也逐渐成为了人们生活中不可或缺的一部分。
本报告主要介绍了我在单片机实习期间,基于51单片机设计的电子密码锁的过程和实践。
二、实习目的和意义本次实习的目的是学习和掌握单片机原理及应用,提高自己的动手能力和创新能力。
通过设计电子密码锁,了解并掌握单片机在实际应用中的电路设计、编程和调试技巧。
此外,电子密码锁在生活中的应用广泛,具有较高的实用价值,可以为人们提供便捷、安全的生活环境。
三、实习内容1. 电路设计本次实习的电子密码锁主要由51单片机、4x4矩阵键盘、LCD1602液晶显示屏、AT24C02存储模块、报警系统和继电器等组成。
电路设计过程中,首先对各个模块进行选型,然后绘制原理图,最后搭建实物电路。
2. 编程设计根据电路设计,编写相应的程序代码,实现密码的输入、存储、比较和报警等功能。
程序设计过程中,采用C语言进行编程,通过Keil软件进行编译和调试。
3. 系统调试将编写好的程序烧录到单片机中,对整个系统进行调试。
调试过程中,检查各个模块是否正常工作,并对可能出现的问题进行排查和优化。
四、实习过程1. 电路设计首先,根据实习要求,选用AT89C52型51单片机作为核心控制器。
然后,设计4x4矩阵键盘,用于密码的输入。
接着,选用LCD1602液晶显示屏,显示密码输入界面和开锁状态。
为了实现密码的存储,选用了AT24C02存储模块。
最后,设计报警系统和继电器,实现密码错误报警和开锁功能。
2. 编程设计根据电路设计,编写相应的程序代码。
首先,实现矩阵键盘扫描函数,用于检测按键输入。
然后,编写密码存储和读取函数,将输入的密码存储到AT24C02模块中,并在下次开机时读取。
接下来,实现密码比较函数,判断输入的密码是否正确。
最后,编写报警和开锁函数,当密码错误时发出报警,正确时驱动继电器开锁。
3. 系统调试将编写好的程序烧录到单片机中,对整个系统进行调试。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录第1章概述 (1)第2章系统总体方案设计 (2)第3章硬件电路设计 (4)3.1 键盘电路设计 (4)3.2LED显示电路 (6)3.3 开锁电路 (8)3.4报警电路 (9)第4章软件设计 (9)4.1软件设计思路 (10)4.2 各子程序设计 (10)第5章系统调试 (16)第6章心得体会 (17)第7章参考文献 (18)第8章附录 (19)8.1源程序清单 (19)8.2硬件原理图 (26)第1章概述随着科技的发展,单片机已不是一个陌生的名词,它的出现是近代计算机技术发展史上的一个重要里程碑,因为单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。
单片机单芯片的微小体积和低的成本,可广泛地嵌入到如玩具、家用电器、机器人、仪器仪表、汽车电子系统、工业控制单元、办公自动化设备、金融电子系统、舰船、个人信息终端及通讯产品中,成为现代电子系统中最重要的智能化工具。
本文所涉及的是市场占有率最高的是MCS—51系列,因为世界上很多知名的IC生产厂家都生产51兼容的芯片。
到目前为止,MCS—51单片机已有数百个品种,还在不断推出功能更强的新产品。
本设计是基于单片机的密码锁设计方案,根据要求,给出了该单片机密码锁的硬件电路和软件程序,同时给出了单片机型号的选择、硬件设计、软件流程图、单片机存储单元的分配、汇编语言源程序及详细注释等内容。
第2章系统总体方案设计系统总体设计方案框图2.1:图2.1系统总体设计方案框本方案采用一种是用以89S51为核心的单片机控制方案。
利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。
初步设计思路如下:1.输入密码用矩形键盘,包括数字键和功能键。
2.LED数码管显示输入密码,用74JS247驱动数码管发光显示数码,用74LS138控制各位显示器分时进行显示。
3.用发光二极管代替开锁的电路,发光表示开锁。
4.输入密码错误次数超过3次,系统报警。
5.打开电源后,显示器显示“000000”,设原始密码为“123456”,只要输入此密码便了开门。
这样可预防停电后再来电时无密码可用。
6.按“C”键,清除显示器为“000000”。
7.欲重新设定密码,先输入密码在案“*”。
8.输入密码,再按“D”键。
若密码与设定密码相同,则开门。
否则显示器清为“000000”。
9.软件的设计主要包括键盘键值的读取,LED显示程序,密码比较程序和报警程序。
第3章硬件电路设计3.1 键盘电路设计使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。
其原理如图3.1。
图3.1 矩阵键盘每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N×M个按键的键盘。
在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。
当确认有按键按下后,下一步就要识别哪一个按键按下。
对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。
对照图3.1所示的4×4键盘,说明线反转个工作原理。
首先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。
方法是:向行线输出全扫描字00H,把全部列线置为低电平,然后将列线的电平状态读入累加器A中。
如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。
判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现的。
方法是:依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。
具体的功能设计如表3.1:表3.1 按键功能3.2LED显示电路本系统设计的显示电路是为了给使用者以提示而设置的。
本系统的显示采用串行显示的方式,只使用单片机的一个串行口,利用74LS247驱动数码管发光显示数码和74LS138控制位选信号,就可以完成单片机的显示功能,显示电路的电路原理图如图 3.2所示。
用P0.0—P0.3接74LS247的A,B,C,D四端口,74LS247的输出口接LED的七段显示;而P0.4—P0.6接74LS138的A,B,C 三个输入口,74LS138的输出口接LED的位显示。
通过软件实现数字和位控制。
图3.2 LED显示电路用74LS247可以控制输出什么字型。
74LS247的逻辑功能表如表3.2:表3.2 74LS247的逻辑功能表用74LS138控制位循环显示,其逻辑功能表如表3.3:C B A Y1 Y2 Y0 Y3 Y4 Y5 Y6 Y70 0 0 0 1 1 1 1 1 10 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1 0 1 1 1 1 10 1 1 1 1 1 0 1 1 1 11 0 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0表3.3 74LS138逻辑功能表3.3 开锁电路在本次设计中,基于节省材料的原则,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭,表示没有开锁。
电路图如 3.3所示。
当P2.0口输出低电平时,二极管发光,表示开锁。
图3.3 开锁电路3.4报警电路图3.4报警电路报警模块由蜂鸣器和单片机组成。
选择一只压电式蜂鸣器,压电式蜂鸣器工作时约需要100mA驱动电流。
蜂鸣器电路如图 3.4所示。
当89C51的P2.1口输出为低电平时,蜂鸣器产生蜂鸣音,89C51输出为高电平时,蜂鸣器不发声。
第四章软件设计4.1软件设计思路电子密码锁工作的主要过程是LED数码管提示开始输入密码,通过键盘输入密码,同时LED显示密码输入情况,按下确认键后判断密码的正确性,作出开锁或报警处理。
当输入密码连续输入错误3次时,系统报警。
密码的设定,在此程序中密码是固定40H—45H 中,假设预设的密码为"123456"共6位密码。
由于采用两个按键来完成密码的输入,那么其中一个按键为功能键,另一个按键为数字键。
在输入过程中,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后,才能完成密码的输入过程。
进入密码的判断比较处理状态并给出相应的处理过程。
4.2 各子程序设计4.2.1 键盘扫描子程序键盘扫描流程图如图4.2.1图4.2.1 键盘扫描流程图键盘扫描子程序如下:L2: MOV R3,#0F7HMOV R1,#00HL3: MOV A,R3MOV P1,AMOV A,P1MOV R4,ASETB CMOV R5,#04HL4: RLC AJNC KEYININC R1DJNZ R5,L4CALL DISPMOV A,R3SETB CRRC AMOV R3,AJC L3JMP L24.2.2 LED显示子程序LED显示流程图如图4.2.2图4.2.2 LED显示流程图LED显示子程序如下:DISP:MOV R0,#45H DISP1: MOV A,@R0ADD A,#50HMOV P0,ACALL DELAYDEC R0MOV A,@R0ADD A,#40HMOV P0,ACALL DELAYDEC R0MOV A,@R0ADD A,#30HMOV P0,ACALL DELAYDEC R0MOV A,@R0ADD A,#20HMOV P0,ACALL DELAYDEC R0MOV A,@R0ADD A,#10HMOV P0,ACALL DELAYDEC R0MOV A,@R0ADD A,#00HMOV P0,ACALL DELAYRET4.2.3 密码比较和报警程序密码比较和报警流程图如4.2.3图4.2.3 密码比较和报警流程密码比较和报警程序:COMP: MOV R1,#45HMOV R0,#35HMOV R2,#06HC1: MOV A,@R1XRL A,@R0JNZ C3DEC R1DEC R0DJNZ R2,C1CLR P2.0MOV R2,#200C2: MOV R6,#248DJNZ R6,$DJNZ R2,C2C3: INC R5MOV A,R5MOV R5,ACJNE R5 ,#03H,C4 CLR P2.1MOV R5,#00HC4: JMP START第5章系统调试本次调试采用Protues软件仿真。
首先设计电子密码锁的源程序,源程序经过汇编后,生成的目标文件经过仿真调试。
依次按下1,2,3,4,5,6后,LED显示如图5.1图5.1 LED显示按下确定键后,二极管亮,表示密码正确开门。
如图5.2图5.2 密码正确开门第6章心得体会课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。
因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。
回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。
这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,在同学的帮助下,终于游逆而解。
非常感谢!第7章参考文献《单片机原理及及应用》王迎旭编机械工业出版社 2001《单片机应用程序设计技术》周航慈著北京航空航天大学出版社第8章附录8.1 源程序清单ORG 00HMOV R5,#00HMOV R7,#00HDJNZ R7,$MOV R7,#10HMOV R6,#06HMOV R1,#35HL1: MOV A,R7MOV DPTR,#TABLEMOVC A,@A+DPTRMOV @R1,ADEC R1INC R7DJNZ R6,L1START: ORL P2,#0FFHMOV R4,#06HMOV R0,#40HCLEAR: MOV @R0,#00HINC R0DJNZ R4,CLEARL2: MOV R3,#0F7H MOV R1,#00H L3: MOV A,R3MOV P1,AMOV A,P1MOV R4,ASETB CMOV R5,#04H L4: RLC AJNC KEYININC R1DJNZ R5,L4 CALL DISPMOV A,R3SETB CRRC AMOV R3,AJC L3JMP L2 KEYIN: MOV A,R1XRL A,#0BH JZ X3MOV A,R1XRL A,#0FH JZ X4MOV R7,#10D1: MOV R6,#24DJNZ R6,$DJNZ R7,D1D2: MOV A,P1XRL A,R4JZ D2MOV A,R1MOV DPTR,#TABLE MOVC A,@A+DPTR MOV R7,AXRL A,#0AHJZ SET0MOV A,R7XRL A,#0BHJZ STARTMOV A,R7XRL A,#0CHJZ L2MOV A,R7XRL A,#0DHJZ L2MOV A,R7XCH A,40HXCH A,41HXCH A,42H XCH A,43H XCH A,44H XCH A,45H CALL DISP JMP L2X3: JMP DISP2 X4: JMP COMP DISP:MOV R0,#45H DISP1: MOV A,@R0 ADD A,#50H MOV P0,A CALL DELAY DEC R0MOV A,@R0 ADD A,#40H MOV P0,A CALL DELAY DEC R0MOV A,@R0 ADD A,#30H MOV P0,A CALL DELAY DEC R0MOV A,@R0ADD A,#20H MOV P0,ACALL DELAY DEC R0MOV A,@R0 ADD A,#10H MOV P0,ACALL DELAY DEC R0MOV A,@R0 ADD A,#00H MOV P0,ACALL DELAY RETSET0: MOV R2,#06H MOV R0,#40H MOV R1,#30H E1: MOV A,@R0 XCH A,@R1 INC R0INC R1DJNZ R2,E1 CALL DELAY E2: JMP START COMP: MOV R1,#45HMOV R0,#35HMOV R2,#06HC1: MOV A,@R1XRL A,@R0JNZ C3DEC R1DEC R0DJNZ R2,C1CLR P2.0MOV R2,#200C2: MOV R6,#248DJNZ R6,$DJNZ R2,C2C3: INC R5MOV A,R5MOV R5,ACJNE R5 ,#03H,C4 CLR P2.1MOV R5,#00HC4: JMP STARTDISP2: MOV R0,#35HCALL DISPMOV A,P1XRL A,R4JZ DISP2CALL DELAYJMP STARTDELAY: MOV R7,#C3D3: MOV R6,#248DJNZ R7,D3RETORG 300HTABLE: DB 01H 02H 03H 0CHDB 04H 05H 06H 0DHDB 07H 08H 09H 0EHDB 0AH 00H 0BH 0FHDB 01H 02H 03H 04H 05H 06H END8.2 硬件原理图。