对于设计最可贵的一点,即单片机低廉的价格,它也完全符合,所以选择STC89C52单片机是毫无争议的。
2.2.2 STC89C52单片机的介绍
STC89c52是一款自带8K字节闪烁可编程可擦除只读存储器的高性能,低电压CMOS8位微处理器。同时STC89c52又是一种高效微控制器,它将多功能的8位CPU和闪烁存储器组合在同个芯片中。STC89c52为许多嵌入式控制系统提供了一个价廉且灵活性高的方案。
STC89C52的芯片引脚图说明如下图2.2
图2.2 STC89C52芯片引脚图
STC89C52的引脚功能说明: 1.作为主电源引脚VCC与GUD
VCC——(40脚):接5V的工作电压。 GND——(20脚):接地。
2.输入/输出(I/O)引脚的P0、P1、P2和P3(合计32根) (1)P0端口(39脚—32脚):
8
P0口为一个双向8位三态I/O口。P0能够用于片外程序数据存储器。在本设计中,液晶屏部分将会与此端口相连接。 (2)P1端口(1脚—8脚):
P1口是一个片内提供上拉电阻的准双向8位I/O口。因为这种接口输出无高阻状态,输入无法锁存,所以不是真正的双向I/O口。P1端口,在设计中,被使用到矩阵键盘的部分。 (3)P2端口(21脚—28脚):
P2口为一个片内上拉电阻的准双向8位I/O口,P2口缓冲器可接收,并输出4个TTL门电流
P2口,用于片外程序存储器进行存取时,P2口输出地址的高八位。P2口在进行编程和校验时能够收到高八位控制信号和地址信号。 (4)P3端口(10脚—17脚):
P3口管脚是一个自带内部上拉电阻的准双向8位的I/O端口。P3口能接收输出4个LS型的TTL负载。
P3口还为闪烁编程和编程校验接收一些控制信号。
P3口作为第一功能使用时,就作普通I/O口使用,其功能和使用方式与P1相同。但作为第二功能使用时,其各引脚的定义如图2-3所示
另外,P3口的每条引脚都可以独立定义为第一功能的输入输出或第二功能。
图2.3 P3端口管脚备选功能
正如上表所示,根据P3口的备用功能,其串行输入输出口在本次设计中将会与指纹模块相连接。
3.控制或者与其他电源复用引脚RST、ALE、PSEN以及EA/VPP
9
(1)复位RST(9脚):复位输入。
在振荡器运行时,在这脚上出现两个机器周期(24个振荡周期)及以上的高电平,让单片机复位。只要将这个引脚保持高电平,51芯片便能够循环复位。
复位后P3.0-P3.7口都置1,引脚表现为高电平,特殊功能寄存器SFR与程序计数器全部清零。复位操作对内部RAM不会有影响。 (2)ALE(30脚):
当访问外部存储器时,ALE的输出电平用于锁存地址的地低位字节。当FLASH编程时,这个引脚将被用作输入编程脉冲。不访问片外存储器时,ALE端仍然以固定的频率周期产生正脉冲信号。所以,它能够用作对外输出时钟脉冲信号,或用于定时目的。但是需要要注意的是:每次用于外部数据存储器时,都会越过一个脉冲。
(3)PSEN(29脚):片外程序存储器的读选通信号。
当从外部程序存储器取指令或常数期间,每个机器周期该信号两次有效。但在这个期间,每当访问片外数据存储器时,PSEN信号都将处于无效状态。 (4)EA/VPP(31脚):
当EA端口保持低电平时,则只选用片外程序存储器。当加密方式1时,内部将锁定为RESET;当EA端保持高电平时,选用片内程序存储器。当FLASH编程时,此引脚也可用作施加12V的编程电源(VPP)。 4.外接晶体引脚XTAL1和XTAL2 XTAL1(19脚):
与外部晶体相连接的一个引脚。在单片机的内部,它作为一个反相放大器的输入端口,是来自反向振荡放大器的输入和内部时钟工作电路的输入。 XTAL2(18脚):
与外部晶体相连接的另一端。在单片机内部,它是用作上述振荡器的反相放大器的输出。
2.3液晶显示模块的设计
本次设计的智能电子密码锁的显示模块主要是由LCD1602显示组成,它主要用于显示键盘输入的密码和指纹录入的情况,以及密码指纹正确或错误等信息的提示。同时,为了确保在密码输入时的安全性,所输入的密码均由“*”号表示。
10
当输入6位密码后按下确认键,系统便会与储存在ROM中的密码相比对,如若密码错误,显示屏上会出现“Error”的字样,如若正确则会提示相关信息。
2.3.1 LCD1602选择原因
液晶显示屏以其微功耗、显示内容丰富、体积小、超薄轻便等诸多有点,在仪表和低功耗系统中得到了广泛的应用。而本设计之所以在众多的显示屏中选择LCD1602,其主要原因还是由于LCD1602拥有以下有点:
a.位数多,能够显示32位
b.显示内容丰富,可以显示所有数字和字母 c.程序相对简单
d.小设计中使用居多,相对于其他显示屏比较熟悉 e.低廉的价格
综上所述,由于LCD1602低廉的价格和广泛的实用性,并且它完全符合这次设计的基本需求,所以显示屏的选择,非它莫属。
2.3.2 LCD1602简介
1.LCD1602功能介绍
1602液晶也叫1602字符型LCD,是一种专门显示字母、数字、符号的点阵式LCD。目前常用的模块分别有16*1,16*2,20*2和40*2行等的模块。本次设计采用的是16*2行等的模块。
2.LCD1602分为带背光和不带背光两种,其各引脚接线口说明如下表2.3.1所示:
表2.3.1 引脚功能说明 编号 1 2 3 4 5 6 7 8
11
符号 VSS VDD VL RS R/W E D0 D1 引脚说明 电源地 电源正极 液晶显示偏压信号 数据/命令选择端(H/L) 读/写选择端(H/L) 使能信号 数据I/O 数据I/O 编号 9 10 11 12 13 14 15 16 符号 D2 D3 D4 D5 D6 D7 BLA BLK 引脚说明 数据I/O 数据I/O 数据I/O 数据I/O 数据I/O 数据I/O 背光源正极 背光源负极
3.LCD寄存器的选择
RS:寄存器选择。1—数据寄存器;2—命令状态寄存器。 R/W:读/写。1—读;2—写。 E:使能。下降沿出发
具体内部寄存器选择说明如下表2.3.2所示:
表2.3.2 LCD寄存器的选择
E 1 1 1 1 0
R/W 0 1 0 1 X RS 0 0 1 1 1 功能说明 指令寄存器写入 忙标志和地址计数器读出 数据寄存器写入 数据寄存器读出 不动作 2.3.3 LCD1602液晶显示模块与单片机连接原理图(图2.3)
图2.3 LCD1602液晶显示模块与单片机连接电路
2.4指纹识别模块的设计
本次课题的智能密码锁除了包含传统电子密码锁的键盘输入设计外,还增设了指纹识别的功能,为了这一功能的实现,指纹模块的选择也是必不可少的。
12