毕业设计(论文)基于AT89C51单片机的矩阵键盘电子密码锁Word格式.docx

上传人:聆听****声音 文档编号:810157 上传时间:2023-04-29 格式:DOCX 页数:39 大小:340.77KB
下载 相关 举报
毕业设计(论文)基于AT89C51单片机的矩阵键盘电子密码锁Word格式.docx_第1页
第1页 / 共39页
毕业设计(论文)基于AT89C51单片机的矩阵键盘电子密码锁Word格式.docx_第2页
第2页 / 共39页
毕业设计(论文)基于AT89C51单片机的矩阵键盘电子密码锁Word格式.docx_第3页
第3页 / 共39页
毕业设计(论文)基于AT89C51单片机的矩阵键盘电子密码锁Word格式.docx_第4页
第4页 / 共39页
毕业设计(论文)基于AT89C51单片机的矩阵键盘电子密码锁Word格式.docx_第5页
第5页 / 共39页
毕业设计(论文)基于AT89C51单片机的矩阵键盘电子密码锁Word格式.docx_第6页
第6页 / 共39页
毕业设计(论文)基于AT89C51单片机的矩阵键盘电子密码锁Word格式.docx_第7页
第7页 / 共39页
毕业设计(论文)基于AT89C51单片机的矩阵键盘电子密码锁Word格式.docx_第8页
第8页 / 共39页
毕业设计(论文)基于AT89C51单片机的矩阵键盘电子密码锁Word格式.docx_第9页
第9页 / 共39页
毕业设计(论文)基于AT89C51单片机的矩阵键盘电子密码锁Word格式.docx_第10页
第10页 / 共39页
毕业设计(论文)基于AT89C51单片机的矩阵键盘电子密码锁Word格式.docx_第11页
第11页 / 共39页
毕业设计(论文)基于AT89C51单片机的矩阵键盘电子密码锁Word格式.docx_第12页
第12页 / 共39页
毕业设计(论文)基于AT89C51单片机的矩阵键盘电子密码锁Word格式.docx_第13页
第13页 / 共39页
毕业设计(论文)基于AT89C51单片机的矩阵键盘电子密码锁Word格式.docx_第14页
第14页 / 共39页
毕业设计(论文)基于AT89C51单片机的矩阵键盘电子密码锁Word格式.docx_第15页
第15页 / 共39页
毕业设计(论文)基于AT89C51单片机的矩阵键盘电子密码锁Word格式.docx_第16页
第16页 / 共39页
毕业设计(论文)基于AT89C51单片机的矩阵键盘电子密码锁Word格式.docx_第17页
第17页 / 共39页
毕业设计(论文)基于AT89C51单片机的矩阵键盘电子密码锁Word格式.docx_第18页
第18页 / 共39页
毕业设计(论文)基于AT89C51单片机的矩阵键盘电子密码锁Word格式.docx_第19页
第19页 / 共39页
毕业设计(论文)基于AT89C51单片机的矩阵键盘电子密码锁Word格式.docx_第20页
第20页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

毕业设计(论文)基于AT89C51单片机的矩阵键盘电子密码锁Word格式.docx

《毕业设计(论文)基于AT89C51单片机的矩阵键盘电子密码锁Word格式.docx》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于AT89C51单片机的矩阵键盘电子密码锁Word格式.docx(39页珍藏版)》请在冰点文库上搜索。

毕业设计(论文)基于AT89C51单片机的矩阵键盘电子密码锁Word格式.docx

2.3.4键盘电路设计 9

2.3.5显示电路的设计 11

2.3.6报警电路 14

2.3.7开锁电路 15

第3章软件设计 16

3.1编程工具介绍 16

3.2编程语言介绍 17

3.3软件编程 18

3.3.1软件设计原则 18

3.3.2软件设计方案 18

3.3.34*4矩阵键盘的编程方法 19

3.3.4液晶显示子程序 21

3.3.5密码比较和报警程序 22

3.3.6密码重置程序设计 23

第4章 软件仿真以及调试 26

4.1仿真软件简介 26

4.2仿真程序基本工作界面 27

4.3仿真过程 27

总结 30

参考文献 31

致谢 32

附录A:

程序主函数 33

附录B:

总电路图 36

第1章概论

第1章概论

1.1设计意义

单片机的应用是具有高度现实意义的。

单片机极高的可靠性,微型性和智能性,单片机已成为工业控制领域中普遍采用的智能化控制工具,已经深深地渗入到我们的日常生活当中。

在这次基于单片机的电子密码锁毕业设计中,不仅使我加深对大学所学知识的理解,而且使我对单片机有了进一步的了解。

在设计的过程中,不仅使我熟悉了AT89C51单片的基本结构和相关的参数,而且了解单片机最小系统的构成。

在这次设计中所学到的相关知识也许会在将来的工作和学习中用到。

随着单片机在各个领域的广泛应用,许多用单片机做控制的密码锁系统也应运而产生,如用单片机控制LCD液晶的各种显示器显示数据,用单片机控制LED七段操作显示器等。

本次设计用由AT89C51编程控制LCD1602液晶作显示的密码锁系统。

该系统具有设定密码并储存密码、报警、输入密码错误锁定键盘等功能。

它具有高保密性,操作方便、性能稳定等特点,可以广泛适合各类档案管理场所或者家庭室内财务保管处。

通过本次基于AT89C51系列单片机密码锁的设计,可以了解、熟悉有关单片机开发设计的过程,并加深对单片机的理解和应用以及掌握单片机与外围接口的一些方法和技巧,这主要表现在以下一些方面:

1)密码锁系统包含了8051系列单片机的最小应用系统的构成。

2)可以了解到1602液晶的接口、工作原理以及这种显示器的接口实例与具体连接与编程方法。

3)用AT24C02储存密码的原理和方法。

1.2背景知识介绍

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

概括的讲:

一块芯片就成了一台计算机。

它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。

同时,学习使用单片机是了解计算机原理与结构的最佳选择。

单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。

单片机的优点是体积小、重量轻、抗干扰能力强,

2

价格低廉,可靠性高,灵活性好,开发较为容易。

单片机以其一系列优点,近几年得到迅猛发展和大范围推广,广泛应用于工业控制系统,数据采集系统、智能化仪器仪表,及通讯设备、日常消费类产品、玩具等。

并且已经深入到工业生产的各个环节以及人民生活的各个层次中,如车间流水线控制、自动化系统等、智能型家用电器等。

ATMEL公司开发生产了新型的8位单片机——AT89系列单片机。

它不但具有一般MCS-51单片机的所有特性,而且还拥有一些独特的优点,此次设计中所用到的AT89C51就是其中典型的代表。

单片机内部也有和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,用它来做一些控制电器一类不是很复杂的工作足矣了。

我们现在用的全自动滚筒洗衣机,排烟罩VCD等等的家电里面都可以看到它的身影。

1.3本文主要工作以及内容安排

本文主要介绍电子密码锁需要实现的功能以及如何利用单片机来制作电子密码锁。

在本文中详细地介绍了具体硬件设计和软件模块化编程以及设计中各个功能的实现方法和过程。

具体内容有:

全文共分4章,结构安排如下:

第1章 绪论介绍了本次设计目的及意义以及单片机的发展现状、1602字符型液晶在电子密码锁系统中的应用以及主要实现的功能。

第2章介绍了本次设计的硬件电路的设计思路以及元件的选择,详细的说明电路图中各个部分的功能和连线方式,为下一步的编程设计作好铺垫。

第3章介绍了单片机编程软件和常用的编程语言,确定了编程的主题思路以及设计功能的具体实现方法。

第4章介绍了如何在电脑上实现设计的软件仿真。

第2章系统总体方案设计

第2章系统总体方案设计

2.1总体方案设计

24C02C掉电保护电路

考虑各方面因素本设计采用的是用以AT89C51为核心的单片机控制方案。

利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加掉电存储、声光提示甚至添加遥控控制功能。

其设计方案如图2.1所示。

89C51

单片机

键盘控制

串口显示电路

复位电路

开锁电路

图2.1单片机控制方案

实现此方案硬件是基础,程序是关键。

要充分利用仿真软件,不断调试程序,以使程序在满足各种功能的情况下最简。

密码锁初始密码为:

000000.

(1)开锁:

插上电源后,程序自动调入初始密码,此时依次输入:

000000,然后按[#](确认)键,此时锁会打开,可以看到显示open,密码锁打开。

(2)退出并关锁:

按下[*](取消)键,此时锁关闭,所有输入清除。

(3)修改密码:

在开锁状态下,再次输入正确的密码并按下[#](确认)键,

15

此时听到两声提示,输入新的六位密码并按[D](重设)键,再重复输入一次新密码并按[D],会听到两声提示音,表示重设密码成功,内部保存新密码并存储到AT24C02。

(如两次输入的新密码不一样,则重设密码失败)。

(4)报警并锁定键盘:

当输入密码错误后,报警并锁定键盘3秒,如3秒内又有按键,3秒后再启动。

当重置新密码时,新密码会保存于AT24C02存储器里.。

2.1.24*4键盘说明

采用4*4键盘输入,键盘对应名称如表2.1

表2.1 键盘名称分布

1

3

A

4

5

6

B

7

8

9

C

*

#

D

其中,[0□9]为数字输入键,用于输入相应的数字[*]号键为取消当前操作

[#]号键为确认[D]键为修改密码其它键无功能及定义

2.2AT89C51单片机介绍

AT89C51单片机包括:

一个8位的微型处理器CPU;

一个128K的片内数据存储器RAM;

4K片内程序存储器ROM;

四个8位并行的I/O接口P0□P3,每个接口既可以输入,也可以输出;

两个定时器/记数器;

五个中断源的中断控制系统;

一个全双工UART的串行I/O口;

片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。

最高允许振荡频率是12MHZ。

以上各个部分通过内部总线相连接。

下面简单介绍其主要部分的功能。

处理器:

CPU是单片微型计算机内部的核心部件,由它读入用户程序,并

逐条执行指令,它是由8位算术逻辑运算部件(简称ALU)、定时/控制部件,若干寄存器A、B、PSW、SP以及16位程序计数器(PC)和数据指针寄存器(DPTR)等主要部件组成。

算术逻辑单元的硬件结构与典型微型机相似。

它具有对8位信息进行+、

-、*、/四则运算和逻辑与、或、异或、取反、清“0”等运算,并具有判跳、转移、数据传送等功能,此外还提供存放中间结果及常用数据寄存器。

控制器部件是由指令寄存器、译码器、定时与控制电路以及信息传送控制等部件组成的。

指令寄存器中存放指令代码。

在执行指令时,从程序存储器中取来经译码器译码后,根据不同指令由定时与控制电路发出相应的控制信号,送到存储器、运算器或I

/O接口电路,完成指令功能。

程序计数器PC用来存放下一条将要执行的指令地址,共16位.可对以64K字节的程序存储器直接寻址,指令执行结束后,PC计数器自动增加,指向下一条要执行的指令地址。

CPU功能,总的来说是以不同的方式,执行各种指令。

不同的指令其功能略异。

有的指令涉及到寄存器之间的关系;

有的指令涉及到单片机核心电路内部各功能部件的关系;

有的则与外部芯片如外部程序存储器发生联系。

事实上,CPU是通过复杂的时序电路完成不同的指令功能。

所谓CPU的时序是指控制按照指令功能发出一系列在时间上有一定次序的信号,控制和启动一部分逻辑电路,完成某种操作。

[3]

表2.2. P3口的第二功能

引脚

第2功能

P3.0

RXD(串行口输入端)

P3.1

TXD(串行口输出端)

P3.2

INT0(外部中断0请求输入端,低电平有效)

P3.3

INT1(外部中断1请求输入端,低电平有效)

P3.4

T0(定时器/计数器0计数脉冲端)

P3.5

T1(定时器/计数器1计数脉冲端)

P3.6

WR(外部数据存储器写选通信号输出端,低电平有效)

P3.7

RD(外部数据存储器读选通信号输出端,低电平有效)

输入/输出引脚P0口、P1口、P2口及P3口:

P0口(22脚~39脚),P0.0~P0.7统称为P0口。

当不接外部存储器与不扩展I/O接口时,它可作为准双向8位输入/输出接口。

当接有外部程序存储器或扩展I/O口时,P0口为地址/数据分时复用口。

它分时提供8位双向数据总线;

P1口(1脚~8脚),P1.0~P1.7统称为P1口,可作为准双向I/O接口使用。

对于EPROM编程和进行程序校验时,P0口

接收输入的低8位地址;

P2口(21脚~28脚),P2.0~P2.7统称为P2口,一般可作为准双向I/O接口。

当接有外部程序存储器或扩展I/O接口且寻址范围超过256个字节时,P2口用于高8位地址总线送出高8位地址。

对于EPROM编程和进行程序校验时,P2口接收输入的8位地址;

P3口(10脚~17脚),P3.0~P3.7统称为P3口。

它为双功能口,可以作为一般的准双向I/O接口,也可以将每1位用于第2功能,而且P3口的每一条引脚均可独立定义为第1功能的输入输出或第2功能。

P3口的第2功能见表2.2所示。

中断系统:

AT89C51单片机有5个中断源,由两个中断优先级,每个中断源的优先级可以编程为高优先级或低优先级。

中断允许受到CPU开中断和中断源开中断的两级控制。

AT89C51单片机有两个中断优先级,高优先级和低优先级,每个中断源都可以编程为高中断优先级和低中断优先级。

这可以实现两级中断嵌套,嵌套的原则是:

一个正在执行的中断服务程序可以被较高优先级的中断请求中断,而不能被同级或较低级的中断请求所中断。

两极中断通过使用IP寄存器设置。

AT89C51的管脚有四十多个这里就不在一一列出,图2.2.为其管脚分布。

P1.0 VCC

P1.1 P0.0

P1.2 P0.1

P1.3 P0.2

P1.4 P0.3

P1.5 P0.4

P1.6 P0.5

P1.7 P0.6

RST/VPD P0.7

RXDP3.0 EA/VPP

TXDP3.1 ALE/PROG

INT0P3.2 PSEN

INT1P3.3 P2.7

T0P3.4 P2.6

T1P3.5 P2.5

WRP3.6 P2.4

RDP3.7 P2.3

XTAL2 P2.2

XTAL1 P2.1

VSS P2.0

40

39

38

37

36

35

34

33

32

10

31

11

30

12

29

13

28

14

27

26

16

25

17

24

18

23

19

22

20

21

803180518751

图2.2. 8051的管脚分布

2.3硬件设计

2.3.1时钟电路的设计

时钟电路用于产生MCS-51单片机工作时所必需的时钟控制信号,MCS-51单片

机的内部电路在时钟信号的控制下,严格的按时序执行指令进行工作。

电路中的电容C1和C2典型值通常选择为30pF左右本设计采用20pF,电路

图如2.3。

对外接电容的值虽没有严格的要求,但电容的大小会影响振荡器频率的高低、振荡器的稳定性和起振的快速性。

晶振的振荡频率的范围通常是在1.2MHZ-12MHZ之间,本设计采用12MHZ。

晶振的频率越高,则系统的时钟频率也就越高,单片机的运行速度也就越快。

但反过来运行速度快对存储器的速度要求也就越高,对印制电路板的工艺要求也高,即要求线间的寄生电容要小;

晶振和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证振荡器稳定、可靠地工作。

为了提高温度稳定性,应采用温度稳定性良好的电容。

[12]

图2.3 时钟电路

2.3.2复位电路的设计

单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作。

单片机复位的条件是:

必须单片机复位引脚加上持续两个机器周期(即24个振荡周期)以上的高电平,单片机才进入复位状态(即程序从0000H地址开始执行)。

复位后的状态:

单片机复位后,片内RAM中低128的内容不会改变,但特殊功能寄存器被初始化。

复位期间单片机的ALE和PSEN引脚输出高电平,复位后单片机的特殊功能寄存器状态除SP为07H,P0□P3为FFH外其余都被复位为0。

AT89C51单片机的第9管脚RST(RESET缩写),当向RST管脚输入一个非常短暂的高电平时,单片机就会复位。

复位管脚与计算机上的复位键功能很相似,当计算机正在进行或死机时,只要按一下复位键,计算机,就会重新启动。

的复位和这个过程相似,无论单片机在执行什么程序,如果触发复位就会使其回到程序的开头重新开始执行程序。

最简单的复位电路就是在RST端与Vcc之间连接一个10uF的电解电容。

单片机上电瞬间,电容的正极电压瞬间变为Vcc,电解电容对于这个瞬间的电压突变相当于短路,于是Vcc(高电平)相当于直接加到了RST端上。

正是这个加在RST上的瞬间高电平使单片机复位。

很快,电解电容充满电,在电路中相当于断路,于是RST端电平由高转低,单片机随即开始执行程序.有时,只使用一个电解电容的复位电路可靠性不高,故本设计采用如图2.4所示的复位电路,以防电源开关或电源插头分-合过程引起的抖动而影响复位。

图2.4 复位电路

2.3.3密码存储电路的设计

外置的拨码开关来设定密码,操作既不方便,电路又复杂。

本设计采用了E2PROM来保存密码,它最大的优点就是掉电后,存储的内容不会丢失,这是一种十分理想的方案。

密码写入ROM后即使掉电也没关系,且可以随意读出、写入。

真正改变了以往密码锁的密码由厂家固定,用户只有使用权,而没有更改权的缺点,真正实现了密码锁的保密性。

密码存储电路如图2.5所示。

本设计采用的芯片是ATMEL公司的AT24C02C,内有512字节的ROM,且支持在线读写。

其SDA为数据传送线,接在单片机的P3.5口。

SCK为移位时钟线,接在单片机的P3.4口。

利用P3.4和P3.5口模拟串口来实现单片机和ROM间的数据串行通讯。

AT24C02各管脚介绍:

SCK为串行时钟输入管脚用于产生器件所有数据发送或接收的时钟这是一个输入管脚;

SDA为串行数据用于器件所有数据的发送或接收,

是一个开漏输出管脚可与其它开漏输出或集电极开路输出进行线,A0、A1、A2为器件地址输入端这些输入脚用于多个器件级联时设置器件地址当这些脚悬空时默认值为0;

WP为写保护,如果WP管脚连接到Vcc所有的内容都被写保护只能读,当WP管脚连接到Vss或悬空允许器件进行正常的读/写操作。

2.3.4键盘电路设计

图2.5存储电路

键盘是一组规则排列的开关元器件组合,是最常用的输入设备。

操作人员可以通过键盘向计算机输入数据、地址、指令或其他的控制命令,实现简单的人机对话。

(1)按键输入原理在单片机应用系统中,除了复位按键有专门的复位电路及专一的复位功能外,

其它按键都是以开关状态来设置控制功能或输入数据的。

当所设置的功能键或数字键按下时,计算机应用系统应完成该按键所设定的功能,所以按键信息输入是与软件结构密切相关的过程。

对于一个键盘或一组键,总有一个接口电路与CPU相连。

CPU可以采用查询或中断方式了解有无将键输入并检查是哪一个键按下,将该键编号送入累加器ACC,然后通过跳转指令转入执行该键的功能程序,执行完后再返回主程序。

(2)键盘的分类键盘按照接口原理可分为编码键盘和非编码键盘两类,这两类键盘的主要区

别是识别键符及给出相应键码的方法不同。

编码键盘主要用硬件来实现对按键的识别,非编码键盘主要由软件来实现键盘的定义与识别,只简单地提供行和列的矩阵,其它工作均由软件完成,由于经济实用,所以较多地应用于单片机系统中。

根据结构的不同,非编码键盘又可分为矩阵式键盘和独立式键盘。

矩阵式键盘由行线和列线构成,按键位于行、列交叉点上,矩阵式键盘在按键较多时使用会节

省很多I/O口,但是,各按键间相互影响,因此,必须将行线、列线信号配合起来作适当处理,才能确定闭合键的位置。

(3)按键结构与特点微机键盘通常使用机械触点式按键开关,其主要功能是把机械上的通断转换

成为电气上的逻辑关系。

也就是说,它能提供标准的TTL逻辑电平,以便与通用数字系统的逻辑电平相容。

机械式按键在按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。

其抖动过程如图2.6所示,抖动时间的长短与开关的机械特性有关,一般为5~10ms。

在触点抖动期间检测按键的通与断状态,可能导致判断出错。

即按键一次按下或释放被错误地认为是多次操作,这种情况是不允许出现的。

为了克服按键触点机械抖动所致的检测误判,必须采取去抖动措施,可从硬件、软件两方面予以考虑。

在键数较少时,可采用硬件去抖,而当按键数较多时,采用软件去抖。

在检测到有按键按下时,执行一个10ms~20ms左右的

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2