《2022年密码锁 .pdf》由会员分享,可在线阅读,更多相关《2022年密码锁 .pdf(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、编号:单片机实训实训 ( 论文)说明书题目:密码锁院 (系) :应用科技学院专业:电子信息工程学生姓名:农惜童学号: 0701130204 指导教师:符强卜波涛严素清2009 年 12 月 13 日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 33 页 - - - - - - - - - 桂林电子科技大学实训说明书专用纸2 摘要AT89C51单片机的全称是单片微型计算机(Single Chip Microcomputer) 。为了使用方便,它把组成计算机的主要功能部件:
2、中央处理器(CPU) 、数据存储器( RAM) 、程序存储器( ROM、EPROM、E2PROM 或 FLASH ) 、定时 /计数器和各种输入 /输出接口电路等都集成在一块半导体芯片上, 构成了一个完整的计算机系统。 与通用的计算机不同,单片机的指令功能是按照工业控制的要求设计,因此它又被称为微控制(Microcontroller) 。本系统由单片机系统、矩阵键盘、LED 显示和报警系统组成。系统能完成开锁、超时报警、超次锁定、管理员解密、修改用户密码基本的密码锁的功能。除上述基本的密码锁功能外,还具有调电存储、声光提示等功能,依据实际的情况还可以添加遥控功能。本系统成本低廉,功能实用。关键
3、词: AT89C51 ;矩阵键盘; LED显示;报警系统;密码锁;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 33 页 - - - - - - - - - 桂林电子科技大学实训说明书专用纸3 Abstract At89C51 monolithic integrated circuits full title is the monolithic microcomputer (Single Chip Microcomputer). For the easy to oper
4、ate, it composes computers major function part: The central processor (CPU), the Randon access memory(RAM), the Read Only Memory (ROM, EPROM, E2PROM or FLASH), fixed time/the counter and each kind of input/output interface electric circuit and so on integrates on together the semiconductor chip, con
5、stituted a complete computer system. Is different with the general computer, monolithic integrated circuits command function is defers to the industrial control the request design, therefore it is called the micro control (Microcontroller). This system by the monolithic integrated circuit system, th
6、e matrix keyboard, the LED demonstration and the alarm system is composed. The system can complete the unblanking, the overtime warning, ultra locking, the manager to decipher, the revision user password basic combination lock function. Besides above basic combination lock function, but also has adj
7、usts the electricity to save, functions and so on acousto-optic prompt, rests on the actual situation also to be possible to increase the remote control function. This system cost is inexpensive, the function is practical.Keyword:AT89C51; Matrix Keyboard; LED display; Alarm System Locks; 名师资料总结 - -
8、-精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 33 页 - - - - - - - - - 桂林电子科技大学实训说明书专用纸1 目录名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 33 页 - - - - - - - - - 桂林电子科技大学实训说明书专用纸2 引言中国使用单片机的历史只有短短的30 年,在初始的短短五年时间里发展极为迅速。1986 年在上海召开了全国首
9、届单片机开发与应用交流会,很多地区还成立了单片微型计算机应用协会,那是全国形成的第一次高潮。单片机应用技术飞速发展,我们上因特网输入一个“单片机”的搜索,将会看到上万个介绍单片机的网站,这还不包括国外的。纵观我们现在生活的各个领域, 从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC 卡、电子宠物等,这些都离不开单片机。以前没有单片机时,这些东西也能做,但是只能使用复杂的模拟电路,然而这样做出来的产品不仅体积大,而且成本高,并且由于长期使用,元器件不断老化,控制的精度自然也会达不到标准。 在单片机产
10、生后, 我们就将控制这些东西变为智能化了,我们只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。这样产品的体积变小了,成本也降低了,长期使用也不会担心精度达不到了。所以它的魔力不仅是在现在,在将来将会有更多的人来接受它、使用它。据统计,我国的单片机年容量已达3 亿片,且每年以大约20% 的速度增长,但相对于世界市场我国的占有率还不到1% 。 特别是沿海地区的玩具厂等生产产品多数用到单片机,并不断地辐射向内地。所以,学习单片机在我国是有着广阔前景的。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心
11、整理 - - - - - - - 第 5 页,共 33 页 - - - - - - - - - 桂林电子科技大学实训说明书专用纸3 1 主要器件的介绍1.1 AT89S52 管脚图如图 1.1 所示图 1.1AT89S52 管脚图1.1.1AT89S52 主要性能(1)与 MCS-51单片机产品兼容。(2)8K字节在系统可编程Flash 存储器。(3)1000次擦写周期。(4)全静态操作: 0Hz33H 。(5)三级加密程序存储器。(6)32 个可编程 I/O 口线(7)三个 16 位定时器 / 计数器 八个中断源(8)全双工 UART 串行通道(9)低功耗空闲和掉电模式(10)掉电后中断可唤
12、醒(11)看门狗定时器(12)双数据指针(13)掉电标识符。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 33 页 - - - - - - - - - 桂林电子科技大学实训说明书专用纸4 1.1.2 功能特性描述AT89S52是一种低功耗、高性能CMOS8 位微控制器,具有8K 在系统可编程Flash存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。 片上 Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单
13、芯片上, 拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k 字节 Flash,256 字节 RAM ,32 位 I/O 口线,看门狗定时器, 2 个数据指针,三个 16 位定时器 /计数器,一个 6 向量 2 级中断结构, 全双工串行口,片内晶振及时钟电路。 另外,AT89S52 可降至 0HZ 静态逻 辑操作,支持 2 种软件可选择节电模式。空闲模式下, CPU 停止工作,允许RAM 、定时器 /计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结
14、,单片机一切工作停止,直到下一个中断或硬件复位为止。8 位微控制器8K 字节在系统可编程FlashAT89S52 。(1)P0口:P0 口是一个 8 位漏极开路的双向I/O 口。作为输出口,每位能驱动8个 TTL 逻辑电平。 对 P0端口写 “1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时, P0口也被作为低 8 位地址/数据复用。在这种模式下, P0 具有内部上拉电阻。在 flash编程时, P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。(2)P1口:P1 口是一个具有内部上拉电阻的8 位双向 I/O 口,p1输出缓冲器能驱动 4 个 TTL
15、 逻辑电平。 对 P1端口写 “1”时,内部上拉电阻把端口拉高, 此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流 (IIL) 。 此外, P1.0和 P1.2分别作定时器 /计数器 2 的外部计数输入(P1.0/T2)和时器 /计数器 2 的触发输入(P1.1/T2EX), 具体如下所示。 在 flash 编程和校验时,P1口接收低 8 位地址字节。引脚号第二功能如下 P1.0 T2(定时器 /计数器 T2 的外部计数输入),时钟输出 P1.1 T2EX(定时器 /计数器 T2 的捕捉 /重载触发信号和方向控制) P1.5 MOSI(在系统编程用) P1
16、.6 MISO(在系统编程用 P1.7 SCK(在系统编程用)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 33 页 - - - - - - - - - 桂林电子科技大学实训说明书专用纸5 (3)P2口:P2 口是一个具有内部上拉电阻的8 位双向 I/O 口,P2输出缓冲器能驱动 4 个 TTL 逻辑电平。 对 P2端口写 “1”时,内部上拉电阻把端口拉高, 此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流( IIL)。在访问外部程
17、序存储器或用16 位地址读取外部数据存储器(例如执行 MOVX DPTR )时, P2口出高八位地址。在这种应用中,P2口使用很强的内部上拉发送 1。在使用 8 位地址(如 MOVX RI )访问外部数据存储器时,P2口输出 P2 锁存器的内容。在flash编程和校验时, P2口也接收高 8 位地址字节和一些控制信号。(4)P3 口:P3口是一个具有内部上拉电阻的8 位双向 I/O 口,p2 输出缓冲器能驱动 4 个 TTL 逻辑电平。 对 P3端口写 “1”时,内部上拉电阻把端口拉高, 此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流( IIL)。P3
18、口亦作为 AT89S52 特殊功能(第二功能)使用,如下表所示。在flash编程和校验时, P3 口也接收一些控制信号。端口引脚第二功能如下: P3.0 RXD(串行输入口 ) P3.1 TXD(串行输出口 ) P3.2 INTO(外中断 0) P3.3 INT1(外中断 1) P3.4 TO(定时/计数器 0) P3.5 T1(定时 /计数器 1) P3.6 WR(外部数据存储器写选通 ) P3.7 RD(外部数据存储器读选通 ) 此外, P3口还接收一些用于FLASH 闪存编程和程序校验的控制信号。(5)RST复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平将是单片机复位。
19、(6)ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。 一般情况下, ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 33 页 - - - - - - - - - 桂林电子科技大学实训说明书专用纸6 每当访问外部数据存储器时将跳过一个ALE 脉冲。(7)对 FLASH 存储器编程期间,该引脚还用于输入编程脉冲(
20、PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的 8EH 单元的 D0 位置位,可禁止 ALE操作。该位置位后,只有一条MOVX 和 MOVC 指令才能将 ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 禁止位无效。(8)PSEN程序储存允许( PSEN)输出是外部程序存储器的读选通信号,当AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。(9)EA/VPP外部访问允许,欲使CPU 仅访问外部程序存储器(地址为0000H-FFFFH),EA 端必须保
21、持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA 端状态。(10) 如 EA 端为高电平(接 Vcc 端), CPU 则执行内部程序存储器的指令。 FLASH存储器编程时,该引脚加上+12V 的编程允许电源 Vpp,当然这必须是该器件是使用 12V 编程电压 Vpp。1.2 LCD1602 LCD1602 是应用范围最广的带背光字符型液晶模块,1602LCD 可显示 2 行,每行 16 个字符,广泛用于各种便携式仪器仪表中通过试验掌握液晶模块的驱动方法。它的封装为 SIP16。1.2.1 LCD1602 的外形尺寸LCD1602 的外形尺寸如图 1.2.1 图 1.2
22、.1LCD1602 外形尺寸1.2.2LCD1602 管脚分布名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 33 页 - - - - - - - - - 桂林电子科技大学实训说明书专用纸7 LCD1602 管脚分布如表 1.2.1表 1.2.1 (1)VSS:为地电源。(2)VDD:电源正极, 4.55.5V,通常使用 5V 电压。(3)VL:LCD 对比度调节端,电压调节范围为05V。接正电源时对比度最弱,接地电源时对比度最高, 但对比度过高时会产生 “ 鬼影” ,因
23、此通常使用一个10K 的电位器来调整对比度,或者直接串接一个电阻到地。(4)RS:MCU 写入数据或者指令选择端。MCU 要写入指令时,使RS为低电平;MCU 要写入数据时,使RS为高电平。(5)R/W:读写控制端。 R/W 为高电平时,读取数据; R/W 为低电平时,写入数据; 当 RS和 RW 共同为低电平时可以写入指令或者显示地址,当 RS为低电平 RW为高电平时可以读忙信号,当RS为高电平 RW 为低电平时可以写入数据。(6)E:LCD 模块使能信号控制端。写数据时,需要下降沿触发模块。(7)D0D7:8 位数据总线,三态双向。如果MCU 的 I/O 口资源紧张的话,该模块也可以只使用
24、4 位数据线 D4D7 接口传送数据。 本充电器就是采用4 位数据传送方式。(8)BLA :LCD 背光正极。需要背光时,BLA 串接一个限流电阻接VDD,BLK接地,实测该模块的背光电流为50mA 左右。(9)BLK :LCD 背光地端。2 硬件电路方案名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 33 页 - - - - - - - - - 桂林电子科技大学实训说明书专用纸8 2.1 总体系统框图以 AT89S51为核心的单片机控制方案。 利用单片机灵活的编程设计
25、和丰富的I O端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能。其总框图如图2.1 所示。图 2.1 单片机控制方案2.2 路设计及电路图整体电路设计见附录2.2.1 电源部分电源电路由一个 1.6K 电阻,和一个 104 滤波电容及电源显示LED 灯组成,当密码锁电路正常供电时, LED 灯就会亮。电源电路如图2.2.1 图 2.2.1 电源电路2.2.2 显示部分名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 33
26、页 - - - - - - - - - 桂林电子科技大学实训说明书专用纸9 密码锁电路的显示是由LCD1602 显示,接到 89S52芯片的 P0口作为显示端,接2K 的排阻作为上拉电阻,同时接个5.1K 的电阻到 LCD 的 3 口,调节屏幕的背景光对比度。其具体电路见图2.2.2。图 2.2.2 显示电路2.2.3 键盘电路由于本电路需要作为键盘的按键有16 个,故 44 的行列式按键。行列式键盘通过对行线和列线的电平状态的组合来判断那个键被按下。键盘接单片机的 P2 口,行低四位,列接高四位,行线接 2K 的上拉电阻再接电源。 键盘电路如图 2.2.3 所示。图 2.2.3 键盘电路2.
27、2.4复位电路如图 2.2.4 单片机的复位方式主要有上电自动复位和按钮手动复位。为了保证单片机系统有效复位, 要求 RST 端脚维持高电平大于10MS 以上。电阻和电容的值随时钟频率的不同而变化。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 33 页 - - - - - - - - - 桂林电子科技大学实训说明书专用纸10 图 2.2.4 复位电路2.2.5时钟电路单片机时钟电路有两种 :内部方式时钟电路和外部方式时钟电路。本系统采用内部方式时钟电路。AT89S51
28、单片机采用引脚XTAL1 和 XTAL2 外接晶振及电容与片内一个高增益反相器共同构成稳定的自激振荡电路,发出振荡脉冲作为工作主频直接送入内部的时钟电路,由此而得到时钟信号。当外接晶振频率为12MZ 时,一个机器周期为 1us。电路如图 2.2.5 所示。图 2.2.5 时钟电路2.2.6 蜂鸣器电路蜂鸣器电路由一个蜂鸣器,一个9013 三极管还有一个 300 欧的电阻组成,此电路用于当密码输入错误2 后,蜂鸣警示 2S,当密码错误到达3 次时,密码锁锁死10S同时蜂鸣提示。电路如图2.2.6 所示。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - -
29、- - - - - 名师精心整理 - - - - - - - 第 13 页,共 33 页 - - - - - - - - - 桂林电子科技大学实训说明书专用纸11 图 2.2.6 蜂鸣电路2.3 密码锁电路的 PCB 密码锁硬件电路的PCB 如图 2.3 所示,布线时考虑到LCD 显示器较大,为了节省铜板,故布线时特地把 LCD 往下拉,使得安装 LCD 时刚好可以把芯片89S52给覆盖,节省了铜板,又达到了美观简洁效果。图 2.3 硬件电路 PCB 3 电路整体功能说明名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整
30、理 - - - - - - - 第 14 页,共 33 页 - - - - - - - - - 桂林电子科技大学实训说明书专用纸12 接通电源,按下电源开关键,使密码锁系统工作, 本系统的开机初始密码为: 12345666,实物键盘具体表示值和对应内存表如表3.1,其中 19,A、B、C、D 为数字键,用于输入密码使用。表 3.1 键盘对应表C D COMP SET 42H 44H 45H 46H 3 6 9 B 33H 36H 39H 41H 2 5 8 CLR 32H 35H 38H 30H 1 4 7 A 31H 34H 37H 41H (1)密码比较:若输入正确密码,按下COMP 比较
31、键, LCD 屏幕显示 RIGHT,否则显示 ERROR。如果连续二次输入密码错误,则蜂鸣器警报2S,若连续输入密码错误三次,则键盘锁定 10s,同时蜂鸣器报警, 10S 后,蜂鸣器停止报警,同时系统回到密码输入状态。(2)设定密码:设定密码,只能在输入一次正确的密码之后,才能重新设定新的密码。输入一次正确的密码,按下SET 键,屏幕会显示 OK,表示现在可以设定新密码,然后设定新密码, 设定完成后按下SET 键,屏幕会显示 SUCCESS,表示密码设定成功。设定密码最大位数是8 位,修改密码后, 只有按下复位键或重新开机才会回到输入初始密码状态。(3)按下 CLR 键,LCD 屏幕会清空,
32、回到输入密码状态, 此项功能用于用户输入密码输到一半发现密码输错而重新输入密码所用。4 软件设计由系统的的功能可知, 本系统主要完成以下工作: 输入密码判断密码正确与否密码正确 LCD 显示 RIGHT,密码错误 LCD 显示 ERROR,密码错误蜂鸣器报警密码错误 3 次锁死键盘 10S,键盘扫描。4.1 程序模块化(1)程序初始化程序初始化包括设定LCD 的初始状态,设置初始密码,设置按键值首地址,设置密码存放首地址,设置键盘扫描。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第
33、15 页,共 33 页 - - - - - - - - - 桂林电子科技大学实训说明书专用纸13 (2)比较密码这个模块主要是键盘值与密码值的比较,包括了RIGHT 和 ERROR两个子程序。当密码正确则调用 RIGHT 子程序,错误则调用 ERROR子程序。而 ERROR 子程序中又包含了错误蜂鸣警示程序。(3)设定密码这个模块主要是修改密码并且将新密码存入密码存放区。其中,设定密码前,必须输入一次正确密码,才能设定新的密码,这样的设计提供了密码的安全性。(4)屏幕清 0 这个模块主要是在用户输入密码发现密码错误想重新输入时设定的,主要是用于系统回到输入密码状态。4.2 程序流程图4.2.1
34、 主体流程图密码锁程序设计的主体流程图如图4.2.1 图 4.2.1 程序主体流程图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 33 页 - - - - - - - - - 桂林电子科技大学实训说明书专用纸14 4.2.2CLR 屏幕清 0 流程图图 4.2.2CLR 清 0 流程图4.2.3SET 设置密码流程图图 4.2.3SET 设置密码流程图4.2.4COMP比较密码流程图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - -
35、- - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 33 页 - - - - - - - - - 桂林电子科技大学实训说明书专用纸15 图 4.2.4 COMP 密码比较流程图5 proteus软件仿真用 proteus仿真软件仿真,具体电路图如下图5.1 所示图 5.1proteus 仿真图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 33 页 - - - - - - - - - 桂林电子科技大学实训说明书专用纸16 5.1 程序
36、初始化图实物输入密码显示的是 * ,而非数字,为了让大家看得清楚,在论文里的图片我将程序改为可以看见数字,好让大家理解。程序初始化如图 5.1 图 5.1 程序初始化5.2 输入密码比较图5.2.1 万能密码输入万能密码图如图5.2.1 所示图 5.2.1 万能密码图5.2.2 普通密码输入普通密码比较结果如图5.2.2 所示图 5.2 输入密码比较结果5.3 设置密码图设置密码图如图 5.3 所示名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 33 页 - - - -
37、 - - - - - 桂林电子科技大学实训说明书专用纸17 图 5.3 设置密码图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 33 页 - - - - - - - - - 桂林电子科技大学实训说明书专用纸18 结论通过单片机原理及应用 这门课程的学习, 我系统的认识单片机相关的知识,也看到了单片机应用方面的广阔前景,同时还培养了我对于程序设计既电路板制作方面的浓厚兴趣。这次的单片机实训,对我来说受益良多,懂得了将软件和硬件联合起来,把仿真转换成真实的现实硬件。通过这
38、次的单片机实训,自己编写程序,弄得了很多内容,也培养了自己思考的能力,尤其对于设计一个应用程序,要结合硬件电路来设计,同时要了解所用芯片等主要元器件的参数。同时,当一块板子做出来之后,还要继续调程序,然后继续修改硬件电路,使作品更完美。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 33 页 - - - - - - - - - 桂林电子科技大学实训说明书专用纸19 谢辞通过本次单片机实训,进一步培养了我对单片机的兴趣,同时,让我的运用汇编编程的能力提高了很多, 在此,我
39、要感谢我们学院为我们提供这样良好的学习平台,为我们创造了良好的学习环境。同时,我还要感谢符强老师对我编程时不懂的问题耐心的回答, 以及卜波涛老师对我电路设计的帮助,还有严素清老师的耐心指导,非常感谢这三位老师的帮助,让我能顺利完成这次实训,同时教会了我很多单片机及做板编程的内容,谢谢你们!名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 33 页 - - - - - - - - - 桂林电子科技大学实训说明书专用纸20 参考文献1李建忠 . 单片机原理及应用 J.西安电子
40、科技大学出版社 ,19972何立民 . 单片机系统设计 J. 北京航空航天大学出版社,19953李兴富 . 单片机原理及应用 J.华南理工大学出版社 ,2000名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 23 页,共 33 页 - - - - - - - - - 桂林电子科技大学实训说明书专用纸21 附录原理图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 24 页,共
41、 33 页 - - - - - - - - - 桂林电子科技大学实训说明书专用纸22 RS BIT P3.5 RW BIT P3.6 E BIT P3.7 ER EQU 56H ;输入密码错误次数, 3 次锁定键盘 10S ORG 00H MOV ER,#00H MOV SP,#70H ;设置堆栈 MOV R7,#00H ;ABLE3(密码存放 ) 的取码指针 R7 MOV R6,#08 ;密码存放位数 6 位 R6 MOV R0,#30H ;密码存入 RAM 区的 30H-35H S1: MOV A,R7 ;至 TABLE3 取码 MOV DPTR,#TABLE3 MOVC A,A+DPTR
42、 MOV R0,A ;取码内容存 INC R0 INC R7 DJNZ R6,S1 ;没到 6 位密码就继续取 MOV P0,#01H ;清除 LCD屏幕 CALL ENABLE MOV P0,#38H ;LCD功能设定, DL=1(8位),N=1 (2 行显示) CALL ENABLE ;调用写入控制 MOV P0,#0CH ;显示屏幕 ON/OFF,D=1 (显示 ON ) CALL ENABLE ;C=1(光标 ON ),B=1( 闪烁 ON) MOV P0,#06H ;LCD模态设定, I/D=1( 计数地址加 1) CALL ENABLE MOV P0,#80H ;LCD第一行地址
43、CALL ENABLE MOV DPTR,#TABLE1 ;到 TABLE1 取码显示 PASS WORD:000000 CALL WRITE1 ;00H给 R1 MOV P0,#0C8H ;光标所在位置(第一个数字地址) CALL ENABLE START: MOV R4,#08 ;清除按键存放在RAM 区的内容 MOV R0,#40H ;40H为按键值的首地址CLEAR: MOV R0,#00H ;按键值清 0 INC R0 DJNZ R4,CLEAR MOV R0,#40H ;按键值的 RAM40H 到 45H L1: MOV R3,#0F7H ;键盘行扫描初值名师资料总结 - - -精
44、品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 25 页,共 33 页 - - - - - - - - - 桂林电子科技大学实训说明书专用纸23 MOV R1,#00H ;TABLE2(键盘内值 ) 的取码指针 L2: L2: MOV A,R3 MOV P2,A ;行扫描输出 MOV A,P2 ;读入键盘值存入 R4 MOV R4,A SETB C ;C=1 MOV R5,#04H ;列扫描L3: RLC A ;带 C左移循环 JNC KEYIN ;C=1有按键按下 INC R1 ;取下一个键盘内值 DJNZ
45、 R5,L3 ;四个列是否扫描完毕? MOV A,R3 ;扫描下一列 SETB C RRC A ;带 C右循环 MOV R3,A JC L2 ;四个行是否扫描完毕? LJMP L1 KEYIN: MOV R7,#10 ;消除抖动 10 毫秒D2: MOV R6,#248 DJNZ R6,$ DJNZ R7,D2 D3: MOV A,P2 ;读入键盘值与前值( R4 )比较是否相等 XRL A,R4 ;相等表示按键尚未放开 , 则 A=0 JZ D3 ;JZ判断 A=0则 D3,A=1则键放开 MOV A,R1 ;至 TABLE2 取键盘值 MOV DPTR,#TABLE2 MOVC A,A+D
46、PTR MOV R2,A ;先存入 R2 ,以免数据被破坏XRL A,#30H ;清 0 JZ CLEAR1 MOV A,R2 XRL A,#45H ;比较密码 JZ COMP MOV A,R2 XRL A,#46H ;设定密码 JZ SET3 MOV A,R2 ;数字码显示至 LCD ;调用输出至 LCD SUBB A,#30H ;键盘码为 ASCII 码,减 30变为 16 进制名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 26 页,共 33 页 - - - - - - - -
47、 - 桂林电子科技大学实训说明书专用纸24 MOV R0,A ;存入 40H-45H INC R0 CALL WRITE3 JMP L1 ;SET键设定密码,先输入一次正确密码SET3: LCALL COMP1 LCALL OK MOV P0,#0C8H LCALL ENABLE LCALL START1 D7: MOV A,P2 ;读入键盘值与前值( R4 )比较是否相等 XRL A,R4 ;相等表示按键尚未放开 , 则 A=0 JZ D7 ;JZ判断 A=0则 D3 ,A=1则键放开 MOV A,R1 ;至 TABLE2 取键盘值 MOV DPTR,#TABLE2 MOVC A,A+DPT
48、R MOV R2,A XRL A,#46H JZ SET0 MOV A,R2 SUBB A,#30H MOV R0,A INC R0 CALL WRITE3 LCALL L4 SJMP D7 ; 设置新密码SET0: MOV R6,#08H ;密码设定 MOV R0,#40H ;键盘显示器存放RAM40H-45H MOV R1,#30H ;密码存放 RAM30-35H SET1: MOV A,R0 ;RAM40H-45H的值存入 30H-35H XCH A,R1 ;内容交换 INC R0 INC R1 DJNZ R6,SET1 LCALL SUCCESS JMP CLEAR1 ;清除屏幕;CL
49、R键清除屏幕, LCD清 0 CLEAR1: MOV P0,#0C8H 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 27 页,共 33 页 - - - - - - - - - 桂林电子科技大学实训说明书专用纸25 CALL ENABLE MOV R1,#08 A2: CALL SPACE1 MOV P0,#0C8H ;光标位置 CALL ENABLE JMP START ;COMP 键比较密码COMP: MOV R1,#40H ;键盘显示器存放RAM40H-45H MOV R0,
50、#30H ;密码存放 RAM30-35H MOV R2,#08H ;比较 8 个数; 万能密码 111111 COMP0: MOV A,R1 XRL A,#1 JNZ COMP3 ;比较是与万能密码111111相等,不相等则 COMP1 INC R1 DJNZ R2,COMP0 CALL RIGHT ;6个码都相等则显示 RIGHT CALL DELAY1 CALL SPACE ; LCD清除 RIGHT JMP CLEAR COMP3: CALL COMP1 CALL RIGHT ;6个码都相等则显示 RIGHT CALL DELAY1 CALL SPACE ; LCD清除 RIGHT LJ