电源稳定、即插即用,功耗低使用非常方便。
方案二:自制直流稳压电源模块。将插线板电源经过变压、整流、滤波、稳压后输出。为系统提供稳定可靠的电源。自制电源会增加硬件成本,同时高压转抵押也带来不稳定等因素,因此不采用此方法。
由于USB供电具有即插即用的特点,方便实用,因此我们选择第一个方案。 1.2.4 键盘输入电路的选泽 方案一:采用独立按键电路输入
独立按键结构简单使用它方便,只需要单片机IO口和地跨接即可,当按下按键时候单片机IO口电压被拉低,单片机就可以检测到此电压的变化,一次来判断是否有按键按下。但缺点是占用较多的IO口资源。本系统需要按键数目较多,因此此方法不可行。
方案二:采用4*4矩阵键盘模块。
在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图1所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是不合理的。 综上,本系统设计的门禁系统,需要输入密码至少需要0-9 确认、退出等功能按键,因此举证键盘是最好的选择,故选择方案2。 1.2.5 电子锁门禁驱动电路的选择
方案一:采用S8550三极管、继电器驱动。
S8550是一种常用的普通三极管。 它是一种低电压,大电流,小信号的PNP型硅三极管。三极管驱动具有电路结构简单,成本低廉等特点。
继电器是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。
本系统采用S8850三极管增大驱动电流以驱动继电器开关,进而来控制电子锁
3
部件。
方案二:采用L298N驱动芯片。
L298N 是一种双H桥电机驱动芯片,其中每个H桥可以提供2A的电流,功率部分的供电电压范围是2.5-48v,逻辑部分5v供电,接受5vTTL电平。LN298内部继承大功率H桥路。具有稳定性高、使用简单,驱动力大等特点。 光耦合器亦称光电隔离器或光电耦合器,简称光耦。它是以光为媒介来传输电信号的器件,通常把发光器(红外线发光二极管LED)与受光器(光敏半导体管)封装在同一管壳内。当输入端加电信号时发光器发出光线,受光器接受光线之后就产生光电流,从输出端流出,从而实现了“电—光—电”转换
由于L298N芯片器件成本较高,会大大加大开发成本,同时光耦元件适用于高速低电压的开关场合,因此本方案不可取。 综上分析,我们采用了第二个方案。 1.2.6 数据存储芯片的选泽
方案一:采用单片机自带的EEPROM存储数据。
STC89C52单片机片内自带了2K的EEPROM闪存。改闪存可以反复擦除和读写很多次,使用起来方便快捷、而且不增加成本。 方案二:采用AT24C02存储芯片。
AT24C02是TI公司退出的典型的基于IIC总线协议的DIP8封装的偏外存储芯片。其内部是一个2K位串行CMOS E2PROM, 内部含有256个8位字节。AT24C02支持I2C,总线数据传送协议I2C,总线协议规定任何将数据传送到总线的器件作为发送器。任何从总线接收数据的器件为接收器。数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。通过器件地址输入端A0、A1和A2可以实现将最多8个AT24C02器件连接到总线上。但此芯片价格昂贵,需要增加外部电路和硬件成本,因此不可取。
综上分析,我们采用了第一个方案。
4
2 系统的硬件设计
整个系统硬件电路由:单片机最小系统、4X4键盘模块、LCD1602液晶显示模块、IC卡读卡模块、电子锁门禁继电器驱动模块、数据存储模块等组成。系统硬件电路设计如下:
2.1 单片机最小系统设计
2.1.1 STC89C52单片机介绍
STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。 2.1.2 52最小系统电路设计
52单片机最小系统一般有:52单片机、电源模块、复位电路、时钟电路构成。 (1)复位电路设计
单片机的复位分为上电自动复位和按钮手动复位两种。
上电复位电路:由22uf电解电容和10K电阻构成。原理是上电瞬间,电容充电电流最大,电容相当于短路,RST端为高电平,自动复位;电容两端的电压达到电源电压时,电容充电电流为零,电容相当于开路,RST端为低电平,程序正常运行。
按键手动复位电路:电路由按键、10K电阻、1K电阻、22uf构成。原理是首先经过上电复位,当按下按键时,RST直接与VCC相连,为高电平形成复位,同时电解电容被短路放电;按键松开时,VCC对电容充电,充电电流在电阻上,RST
5
依然为高电平,仍然是复位,充电完成后,电容相当于开路,RST为低电平,正常工作。
这里我们采用按键复位来实现,电路图如下。
图2.1 复位电路
(2)时钟电路设计
时钟电路用于产生单片机所需要的时钟信号,单片机在时钟信号的控制下各部件之间同步协调工作。根据产生的方式不同,分为内部和外部两种时钟电路。 在51芯片内部有一个用于构成振荡器的高增益反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。而在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,在引脚XTAL1和XTAL2上输出3V左右的正弦波,这就是单片机的振荡电路,如图3.5所示。
图2.2 系统时钟电路
6