1、衢州学院带有密码锁的简易 MP3设计说明书课题名称:基于单片机的 MP3 及密码锁的设计专业名称: 10 电气自动化 学生班级: 2 学生姓名: 侯飞 谢盼楠 姜奇闻 指导教师: 徐进 顾能华 I摘 要密码锁以及 MP3 是日常生活中常见的电子器件。电子密码锁以其安全性高,成本低,功耗低,易操作等优点逐渐取代传统的机械锁具。而 MP3 的普及大大增加了人们的乐趣。密码锁模块采用的主控芯片是 STC89C52,MP3 模块采用的主控芯片是 STC12LE5A60S2。本设计将两模块有趣的结合在一块,在输入正确密码的同时会听到从音频放大器中播出的简短的 MP3 音乐,音质还是相当不错的。关键词:单
2、片机,密码锁,MP3 ,STC89C52,STC12LE5A60S2 ,音频放大器目 录 1 引言作品简介2 设计方案的选择2.1 方案一:采用数字电路控制2.2 方案二:采用以单片机为核心的控制方案3 主要元器 件介绍3.1 主控芯片 STC89C52, STC12LE5A60S23.2 LCD1602 显示器3.3 VS10033.4 LM3864 系 统硬件构成4.1 设计原理4.2 键盘输入部分4.3 复位部位4.4 晶振部分4.5 显示部分4.6 开锁部分4.7 MP3 部分4.8 音频放大部分5 系统软件设计6 结论参考 文献: 25I1 引言电子密码锁简介电子密码锁是一种通过密码
3、输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁。其特点如下:1) 保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。2) 密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。3) 误码输入保护,当输入密码多次错误时,报警系统自动启动。4) 无活动零件,不会磨损,寿命长。5) 使用灵活性好,不像机械锁必须佩带钥匙才能开锁。6) 电子密码锁操作简单易行,一学即会
4、。4由于水平有限,密码锁的功能也有限,望以后多加改进。MP3 简介MP3 是 利 用 人 耳 对 高 频 声 音 信 号 不 敏 感 的 特 性 , 将 时 域 波 形 信 号 转 换 成 频 域 信 号 ,并 划 分 成 多 个 频 段 , 对 不 同 的 频 段 使 用 不 同 的 压 缩 率 , 对 高 频 加 大 压 缩 比 ( 甚 至 忽 略信 号 ) 对 低 频 信 号 使 用 小 压 缩 比 , 保 证 信 号 不 失 真 。 这 样 一 来 就 相 当 于 抛 弃 人 耳 基 本听 不 到 的 高 频 声 音 , 只 保 留 能 听 到 的 低 频 部 分 , 从 而 将 声
5、音 用 1 10 甚 至 1 12 的压 缩 率 压 缩 。 由 于 这 种 压 缩 方 式 的 全 称 叫 MPEG Audio Layer3, 所 以 人 们 把 它 简 称为 MP3。, II2 密码锁设计方案的选择2.1 方案一:采用数字电路控制用以 74LS112 双 JK 触发器构成的数字逻辑电路作为密码锁的核心控制,共设了 9 个用户输入键,其中只有 4 个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过 10 秒(一般情况下,用户不会超过 10 秒,若用户觉得不便,还可以修改)电路将报警20
6、秒,若电路连续报警三次,电路将锁定键盘 2 分钟,防止他人的非法操作 。采用数12字电路设计的方案好处就是设计简单但控制的准确性和灵活性差。故不采用2.2 方案二:采用以单片机为核心的控制方案由于单片机种类繁多,各种型号都有其一定的应用环境,因此在选用时要多加比较,合理选择,以期获得最佳的性价比。一般来说在选取单片机时从下面几个方面考虑:性能、存储器、运行速度、I/O 口、定时 /计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些的还有一些最基本的比如:中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。
7、在开发过程中单片机还受到:开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等等因素 。基于以上因素本设计选用单片机 AT89S51 作为本设1计的核心元件,利用单片机灵活的编程设计和丰富的 I/O 端口,及其控制的准确性,实现基本的密码锁功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接 AT24C02 芯片用于密码的存储,外接 LCD1602 显示器用于显示作用。当用户需要开锁时,先按键盘开锁键之后按键盘的数字键 09 输入密码。密码输完后按下确认键,如果密码输入正确则开锁,不正确显示密码错误重新输入密码,当三次密码错误则发出报警;当用户需要修改密码时,先按
8、下键盘设置键后输入原来的密码,只有当输入的原密码正确后才能设置新密码。新密码输入无误后按确认键使新密码将得到存储,密码修改成功。可以看出方案二控制灵活准确性好且保密性强还具有扩展功能,根据现实生活的需要此次设计采用此方案III3 主要元器件介绍3.1 主控芯片 STC89C52(STC12LE5A60S2 同 STC89C52 具有相同的内核,所以不予介绍)STC89C52 是一个低功耗,高性能 CMOS 8 位单片机,片内含 8k Bytes ISP(In-system programmable)的可反复擦写 1000 次的 Flash 只读程序存储器,器件采用 ATMEL 公司的高密度、非
9、易失性存储技术制造,兼容标准 MCS-51 指令系统及 80C51 引脚结构,芯片内集成了通用 8 位中央处理器和 ISP Flash 存储单元,功能强大的微型计算机的 AT89S51 可为许多嵌入式控制应用系统提供高性价比的解决方案。3.1.1 STC89C52 性能简介STC89C52 具有如下特点: 40 个引脚,8k Bytes Flash 片内程序存储器,128 bytes 的随机存取数据存储器(RAM),32 个外部双向输入/输出(I/O)口,5 个中断优先级 2 层中断嵌套中断,2 个 16 位可编程定时计数器,2 个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,
10、STC89C52 设计和配置了振荡频率可为 0Hz 并可通过软件设置省电模式。空闲模式下,CPU 暂停工作,而 RAM 定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存 RAM 的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有 PDIP、TQFP 和 PLCC 等三种封装形式,以适应不同产品的需求。图 3-1 AT89S51 芯片引脚图其主要功能特性:兼容 MCS-51 指令系统 4k 可反复擦写(1000 次)ISP Flash ROMIV32 个双向 I/O 口 4.5-5.5V 工作电压2 个 16 位可编程定时/计数器 时钟频率 0-33MHz全双工
11、 UART 串行中断口线 128x8 bit 内部 RAM2 个外部中断源 低功耗空闲和省电模式中断唤醒省电模式 3 级加密位看门狗(WDT)电路 软件设置空闲和省电功能灵活的 ISP 字节和分页编程 双数据寄存器指针 可以看出 AT89S51 提供以下标准功能:4K 字节 Flash 闪速存储器,128 字节内部RAM,32 个 I/O 口线,看门狗(WDT),两个数据指针,两个 16 位定时器/ 计数器,一个 5 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟。同时, AT89S51 可降至 0Hz 的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止 CPU 的工作,
12、但允许 RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式何在RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直接到一个硬件复位。3.1.2 STC89C52 引角功能说明Vcc:电源电压GND:地P0口:P0口是一组8位漏极开路型双向I/O 口,也即地址/ 数据总线复用口,作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端口。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:P1是一
13、个带内部上拉电阻的8位双向I/O 口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号校验期间,P1接收低8 位地址。表3-1 为P1口第二功能。V表3-1 P1口第二功能端口引脚 第二功能P1.5 MOSI(用于 ISP编程)P1.6 MISO(用于 ISP编程)P1.7 SCK(用于ISP 编程)P2口:P2是一个带有内部上拉电阻的8位双向I/O 口,P2的输出缓冲级可驱动4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作
14、输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流I。在访问位地址的外部数据存储器(如执行:MOVX Ri 指令)时,P2口线上的内(也即特殊功能寄存器,在整个访问期间不改变。Flash 编程或校验时,P2也接收高位地址和其它控制信号。P3口:P3口是一组带有内部上拉电阻的8位双向I/O 口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端口时,被外部拉低的P3口将用上拉电阻输出电流I。P3口除了作为一般的I/O 口线外,更重要的用途是它的第二功能, P3口的第二功能如下表3-
15、2。表3-2 P3口的第二功能端口功能 第二功能 端口引脚 第二功能RXD(P3.0) 串行输入口 T0( P3.4) 定时/计数器0外部输入TXD(P3.1) 串行输出口 T1( P3.5) 定时/计数器1外部输入INT0(P3.2) 外中断0 WR( P3.6) 外部数据存储器写选通INT1(P3.3) 外中断1 RD( P3.7) 外部数据存储器读选通VIRST:复位输入。当振荡工作时,RST引脚出现两个机器周期上高电平将使单片机复位。WDT 益出将使该引脚输出高电平,设置SFR AUXR 的 DISRTO 位(地址8EH )可打开或关闭该功能。DISRTO 位缺省为RESET输出高电平
16、打开状态。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出的正脉冲信号,因此它可对外输出时钟或用于定时目地,要注意的是:第当访问外部数据存储器时将跳过一个ALE脉冲。如有必要,可通过对特殊功能寄存器(SFR )区中的8EH单元的D0位置位,可禁止ALE操作。该位禁位后,只有一条 MOVX 和MOVC指令ALE才会被激活。此外,该引脚伎被微弱拉高,单片机执行外部程序时,应设置ALE无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S51由外部程序
17、存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。当访问外部数据存储器,高有两次有效的PSEN信号。EA/VPP:外部访问允许。欲使CPU 公访问外部程序存储器(地址0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位 LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc 端),CPU 则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上12V 的编程电压Vpp 。XTAL1:振荡器反相放大器及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。3.1.3 STC89C52芯片内部结构特殊功能寄存器:特殊功能寄
18、存器的片内空间分存如下图3-2所示。这些地址并没有全部占用,没有占用的地址不可使用,读这些地址将得到一个随意的数值。而写这些地址单元将不能得到预期的结果。中断寄存器:各中断允许控制位于IE寄存器,5个中断源的中断优先级控制位于IP寄存器。图3-3为AUXR辅助寄存器。VII图3-2 AUXR辅助寄存器双时钟指针寄存器:为方便地访问内部和外部数据存储器,提供了两个16位数据指针寄存储器:PD0 位于SFR 区块中的地址 82H、83H和DP1位于地址84H、85H,当SFR 中的位DPS=0时选择DP0, 而DPS=1时选择 DP1。在使用前初始化DPS。图3-3 双时钟指针寄存器电源空闲标志:
19、电源空闲标志(POF)在特殊功能寄存储器SFR中PCON的第4位(PCON.4),电源打开时POF 置“1”,它可由软件设置睡眠状态并不为复位所影响。VIII存储器结构:MCS-51 单片机内核采用程序存储器和数据存储器空间分开的结构,均具有64KB 外部程序和数据的寻址空间。程序存储器:如果EA引脚接地( GND),全部程序均执行外部存储器。在AT89S51,假如接至Vcc(电源),程序首先执行从地址 0000H0FFFH(4KB)内部程序存储器,再执行地址为1000HFFFFH(60KB)的外部程序存储器。数据存储器:在AT89S51的具有128字节的内部RAM,这128字节可利用直接或间
20、接寻址方式访问,堆栈操作可利用间接寻址方式进行,128字节均可设置为堆栈区空间。看门狗定时器(WDT):WDT是为了解决CPU 程序运行时可能进入混乱或死循环而设置,它由一个14bit计数器和看狗复位SFR(WDTRST)构成。外部复位时,WDT默认为关闭状态,要打开WDT,必按顺序将01H 和0E1H写到WDTRST寄存器,当启动了WDT,它会随晶体振荡器在每个机器周期计数,除硬件复位或WDT 溢出复位外没有其它方法关闭WDT,当WDT 溢出,将使RST引脚输出高电平的复位脉冲 。143.2 LCD1602 显示器现在的字符型液晶模块已经是单片机应用设计中最常用的信息显示器件了。1602 型
21、LCD 显示模块具有体积小,功耗低,显示内容丰富等特点。1602 型 LCD 可以显示 2 行16 个字符,有 8 位数据总线 D0D7 和 RS,R/W ,EN 三个控制端口,工作电压为 5V,并且具有字符对比度调节和背光功能。3.2.1 接口信号说明1602 型 LCD 的接口信号说明如表 3-3 所示:表 3-3 1602 型 LCD 的接口信号说明编号 符号 引脚说明 编号 符号 引脚说明1 VSS 电源地 9 D2 Data I/O2 VDD 电源正极 10 D3 Data I/O3 V0 液晶显示偏压信号 11 D4 Data I/O4 RS 数据/命令选择端(H/L) 12 D5
22、 Data I/O5 R/W 读写选择端(H/L) 13 D6 Data I/O6 E 使能信号 14 D7 Data I/OIX7 D0 Data I/O 15 BLA 背光源正极8 D1 Data I/O 16 BLK 背光源负极3.2.2 主要技术参数1602 型 LCD 的主要技术参数如下表所示:表 3-4 1602 型 LCD 的主要技术参数显示容量 16X2 个字符芯片工作电压 4.55.5V工作电流 2.0mA(5.0V)模块最佳工作电压 5.0V字符尺寸 2.95X4.35(WXH)mm3.2.3 基本操作程序读状态:输入:RS=L,RW=L, E=H 输出:D0D7=状态字读
23、数据:输入:RS=H,RW=H, E=H 输出:无写指令:输入:RS=L,RW=L, D0D7=指令码,E= 高脉冲 输出:D0D7=数据写数据:输入:RS=H,RW=L , D0D7=数据, E=高脉冲 输出:无3.3 VS1003VS1003 是一个单片 MP3/WMA/MIDI 音频解码器和 ADPCM 编码器。它包含一个高性能,自主产权的低功耗 DSP 处理器核 VS_DSP4,工作数据存储器,为用户应用提供 5KB 的指令 RAM 和 0.5KB 的数据 RAM。串行的控制和数据接口,4 个常规用途的 I/O 口,一个 UART,也有一个高品质可变采样率的 ADC 和立体声 DAC,
24、还有一个耳机放大器和地线缓冲器。VS1003 通过一个串行接口来接收输入的比特流,它可以作为一个系统的从机。输入的比特流被解码,然后通过一个数字音量控制器到达一个 18 位过采样多位 - DAC。通过串行总线控制解码器。除了基本的解码,在用户 RAM 中它还可以做其他特殊应用,例如 DSP 音效处理。VS1003 特性:能解码 MPEG 1 和 MPEG2 音频 层 III(CBR+VBR+ABR );WMA 4.0/4.1/7/8/9 5-384kbps 所有流文件;XWAV(PCM+IMA AD-PCM);产生 MIDI/SP-MIDI 文件。对话筒输入或线路输入的音频信号进行 IMA A
25、DPCM 编码支持 MP3 和 WAV 流高低音控制单时钟操作 1213MHz内部 PLL 锁相环时钟倍频器低功耗内含高性能片上立体声数模转换器,两声道间无相位差内含能驱动 30 欧负载的耳机驱动器模拟,数字,I/O 单独供电为用户代码和数据准备的 5.5KB 片上 RAM串行的控制,数据接口可被用作微处理器的从机特殊应用的 SPI Flash 引导供调试用途的 UART 接口新功能可以通过软件和 4 GPIO 添加3.4 LM386LM386 是 美 国 国 家 半 导 体 公 司 生 产 的 音 频 功 率 放 大 器 , 主 要 应 用 于 低 电 压 消 费 类 产 品 。为 使 外
26、围 元 件 最 少 , 电 压 增 益 内 置 为 20。 但 在 1 脚 和 8 脚 之 间 增 加 一 只 外 接 电 阻 和电 容 , 便 可 将 电 压 增 益 调 为 任 意 值 , 直 至 200。 输 入 端 以 地 位 参 考 , 同 时 输 出 端 被自 动 偏 置 到 电 源 电 压 的 一 半 , 在 6V 电 源 电 压 下 , 它 的 静 态 功 耗 仅 为 24mW, 使 得LM386 特 别 适 用 于 电 池 供 电 的 场 合 。XI一 、 LM386 内 部 电 路LM386 内 部 电 路 原 理 图 如 图 所 示 。 与 通 用 型 集 成 运 放 相
27、 类 似 , 它 是 一 个 三 级 放 大电 路 。 第 一 级 为 差 分 放 大 电 路 , T1 和 T3、 T2 和 T4 分 别 构 成 复 合 管 , 作 为 差 分 放 大 电路 的 放 大 管 ; T5 和 T6 组 成 镜 像 电 流 源 作 为 T1 和 T2 的 有 源 负 载 ; T3 和 T4 信 号 从管 的 基 极 输 入 , 从 T2 管 的 集 电 极 输 出 , 为 双 端 输 入 单 端 输 出 差 分 电 路 。 使 用 镜 像 电 流 源 作 为 差 分 放 大 电 路 有 源 负 载 , 可 使 单 端 输 出 电 路 的增 益 近 似 等 于 双
28、 端 输 出 电 容 的 增 益 。 第 二 级 为 共 射 放 大 电 路 , T7 为 放 大 管 , 恒 流 源 作 有 源 负 载 , 以 增 大 放 大 倍 数 。 第 三 级 中 的 T8 和 T9 管 复 合 成 PNP 型 管 , 与 NPN 型 管 T10 构 成 准 互 补 输 出 级 。二 极 管 D1 和 D2 为 输 出 级 提 供 合 适 的 偏 置 电 压 , 可 以 消 除 交 越 失 真 。 引 脚 2 为 反 相 输 入 端 , 引 脚 3 为 同 相 输 入 端 。 电 路 由 单 电 源 供 电 , 故 为 OTL 电路 。 输 出 端 ( 引 脚 5)
29、 应 外 接 输 出 电 容 后 再 接 负 载 。 电 阻 R7 从 输 出 端 连 接 到 T2 的 发 射 极 , 形 成 反 馈 通 路 , 并 与 R5 和 R6 构 成 反馈 网 络 , 从 而 引 入 了 深 度 电 压 串 联 负 反 馈 , 使 整 个 电 路 具 有 稳 定 的 电 压 增 益 。 二 、 LM386 的 引 脚 图引 脚 图LM386 的 外 形 和 引 脚 的 排 列 如 右 图 所 示 。 引 脚 2 为 反 相 输 入 端 , 3 为 同 相 输 入端 ; 引 脚 5 为 输 出 端 ; 引 脚 6 和 4 分 别 为 电 源 和 地 ; 引 脚 1
30、 和 8 为 电 压 增 益 设 定 端 ;XII使 用 时 在 引 脚 7 和 地 之 间 接 旁 路 电 容 , 通 常 取 10F。 查 LM386 的 datasheet, 电 源 电 压 4-12V 或 5-18V(LM386N-4); 静 态 消 耗 电 流 为4mA; 电 压 增 益 为 20-200dB; 在 1、 8 脚 开 路 时 , 带 宽 为 300KHz; 输 入 阻 抗 为50K; 音 频 功 率 0.5W。 三 、 封 装 资 料 图封 装 图 片 资 料 (2 张 )1.LM386N-1、 LM386N-3、 LM386N-4 封 装 资 料 2.LM386MM
31、-1 封 装 资 料 四 、 LM386 应 用 电 路图 1 的 应 用 电 路 为 增 益 20 的 情 形 , 于 pin 1 及 pin 8 间 加 一 个 10mF 的 电 容 即 可使 增 益 变 成 200, 如 图 2 所 示 。 图 LM386 典 型 应 用 电 路 (2 张 )中 10 千 欧 的 可 变 电 阻 是 用 来 调 整 扬 声 器 音 量 大 小 , 若 直 接 将 Vin 输 入 即 为 音 量 最 大的 状 态 。 XIII4 系统硬件构成4.1 设计原理本设计主要由单片机、矩阵键盘、液晶显示器,密码存储,MP3和功率放大器等部分组成。其中矩阵键盘用于输
32、入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,实际使用时只要将单片机的负载由继电器换成电子密码锁的电磁铁吸合线圈即可,当然也可以用继电器的常开触点去控制电磁铁吸合线圈。线圈吸合,MP3模块通电,通过音频放大器将音乐放出。本系统共有两部分构成,即硬件部分与软件部分。其中硬件部分由电源输入部分、键盘输入部分、密码存储部分、复位部分、晶振部分、显示部分、报警部分、开锁部分组成,软件部分对应的由主程序、初始化程序、LCD显示程序、键盘扫描
33、程序、启动程序、关闭程序、建功能程序、密码设置程序、EEPROM读写程序和延时程序等组成。其原理框图如图4-1 所示。STC89C52键盘输入复位电路MP3 模块晶振电路电源输入显示电路音频电路开锁电路图4-1 作品原理框图4.2 键盘输入部分XIV由于本设计所用到的按键数量较多而不适合用独立按键式键盘。采用的是矩阵式按键键盘,它由行线和列线组成,也称行列式键盘,按键位于行列的交叉点上,密码锁的密码由键盘输入完成,与独立式按键键盘相比,要节省很多I/O 口。本设计中使用的这个4*4键盘不但能完成密码的输入还能作特别功能键使用,比如清空显示功能等。键盘的每个按键功能在程序设计中设置 。其大体功能
34、(看键盘按键上的标记)及与单片机引脚接法16如图4-4 所示: KR234VCP.057关89图4-4 键盘输入原理图4.3 复位部位单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后PC0000H,使单片机从第个单元取指令。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。在复位期间(即RST为高电平期间) ,P0口为高组态,P1 P3 口输出高电平;外部程序存储器读选通信号 PSEN无效。地址锁存信号ALE也为高电平。根据实际情况选择如图4-6所示的复位电路。该电路在最简单的复位电路下增加了手动复位按键,在接通电源瞬间,电容
35、C1上的电压很小,复位下拉电阻 上的电压接近电源电压,即RST为高电平,在电容充电的过程中RST端电压逐RST渐下降,当RST端的电压小于某一数值后,CPU脱离复位状态,由于电容 C1足够大,可以保证RST高电平有效时间大于24个振荡周期,CPU能够可靠复位。增加手动复位按键是为了避免死机时无法可靠复位。当复位按键按下后电容C1通过R5 放电。当电容C1放电结束后,RST端的电位由R5与R6分压比决定。由于R5R6 因此 RST为高电平,CPU处于复位状态,松手后,电容C1充电, RST端电位下降,CPU 脱离复位状态。R5的作用在于限制按XV键按下瞬间电容C1的放电电流,避免产生火花,以保护
36、按键触电 。14K70R562uFCVST图4-6 复位电路原理图4.4 晶振部分AT89S51引脚XTAL1 和XTAL2与晶体振荡器及电容C2 、C1按图4-7所示方式连接。晶振、电容C1C2及片内与非门(作为反馈、放大元件)构成了电容三点式振荡器,振荡信号频率与晶振频率及电容C1 、C2 的容量有关,但主要由晶振频率决定,范围在033MHz之间,电容 C1、C2 取值范围在530pF之间。根据实际情况,本设计中采用12MHZ做为系统的外部晶振。电容取值为 20pF。p3MHzXAL图4-7 晶振电路原理图4.5 显示部分为了提高密码锁的密码显示效果能力。本设计的显示部分由液晶显示器LCD
37、1602取代普通的数码管来完成。只有按下键盘上的开启按键后,显示器才处于开启状态。同理只有按下关闭按键后显示器才处于关闭状态。否则显示器将一直处于初始状态,当需要对密码锁进行开锁时,按下键盘上的开锁按键后利用键盘上的数字键09输入密码,每按下一个XVI数字键后在显示器上显示一个*,输入多少位就显示多少个*。当密码输入完成时,按下确认键,如果输入的密码正确的话, LCD子显示“RIGHT”,单片机其中P2.0引角会输出低电平,使三极管T2导通,电磁铁吸合,电子密码锁被打开,如果密码不正确,LCD显示屏会显示“ERROR”,P2.0输出的是高电平,电子密码锁不能被打开。通过LCD显示屏,可以清楚的
38、判断出锁所处的状态 。其显示部分引脚接口如图4-8所示:17 GNDVC2O3RS4W5E6B089L?P.图4-8 显示电路原理图4.6 开锁部分开锁控制电路的功能是当输入正确的密码后将锁打开。系统使用单片机其中一引脚线发出信号,经三极管放大后,由继电器驱动电磁阀动作将锁打开。用户通过键盘任意设置密码,并储存在ROM中作为锁码指令。只有用户操作键盘时,单片机的电源端才能得到3V电源,否则单片机处于节电工作方式。开锁步骤如下:首先按下键盘上的开锁按键,然后利用键盘上的数字键09输入密码,最后按下确认键。当用户输入一密码后,单片机自动识码,如果识码不符,则报警。只有当识码正确,单片机才能控制电子
39、锁内的微型继电器吸台。当继电器吸台以后带动锁杆伸缩,这时,锁勾在弹簧的作用下弹起,完成本次开锁。开锁以后,单片机自动清除掉由用户输人的这个密码。XVIIK3T2850VC4.7RDP图4-10 开锁电路原理图4.7 MP3部分XVIII4.8 音频放大部分尽 管 LM386 的 应 用 非 常 简 单 , 但 稍 不 注 意 , 特 别 是 器 件 上 电 、 断 电 瞬 间 , 甚 至 工 作 稳定 后 , 一 些 操 作 ( 如 插 拔 音 频 插 头 、 旋 音 量 调 节 钮 ) 都 会 带 来 的 瞬 态 冲 击 , 在 输 出 喇叭 上 会 产 生 非 常 讨 厌 的 噪 声 。
40、1、 通 过 接 在 1 脚 、 8 脚 间 的 电 容 ( 1 脚 接 电 容 +极 ) 来 改 变 增 益 , 断 开 时 增 益 为20dB。 因 此 用 不 到 大 的 增 益 , 电 容 就 不 要 接 了 , 不 光 省 了 成 本 , 还 会 带 来 好 处 -噪音 减 少 , 何 乐 而 不 为 ? 2、 PCB 设 计 时 , 所 有 外 围 元 件 尽 可 能 靠 近 LM386; 地 线 尽 可 能 粗 一 些 ; 输 入 音频 信 号 通 路 尽 可 能 平 行 走 线 , 输 出 亦 如 此 。 这 是 死 理 , 不 用 多 说 了 吧 。 3、 选 好 调 节 音
41、 量 的 电 位 器 。 质 量 太 差 的 不 要 , 否 则 受 害 的 是 耳 朵 ; 阻 值 不 要 太 大 ,10K 最 合 适 , 太 大 也 会 影 响 音 质 , 转 那 么 多 圈 圈 , 不 烦 那 ! 4、 尽 可 能 采 用 双 音 频 输 入 /输 出 。 好 处 是 : “+”、 “ ”输 出 端 可 以 很 好 地 抵 消 共 模信 号 , 故 能 有 效 抑 制 共 模 噪 声 。 5、 第 7 脚 ( BYPASS) 的 旁 路 电 容 不 可 少 ! 实 际 应 用 时 , BYPASS 端 必 须 外 接一 个 电 解 电 容 到 地 , 起 滤 除 噪
42、声 的 作 用 。 工 作 稳 定 后 , 该 管 脚 电 压 值 约 等 于 电 源 电 压的 一 半 。 增 大 这 个 电 容 的 容 值 , 减 缓 直 流 基 准 电 压 的 上 升 、 下 降 速 度 , 有 效 抑 制 噪 声 。在 器 件 上 电 、 掉 电 时 的 噪 声 就 是 由 该 偏 置 电 压 的 瞬 间 跳 变 所 致 , 这 个 电 容 可 千 万 别 省啊 ! 6、 减 少 输 出 耦 合 电 容 。 此 电 容 的 作 用 有 二 : 隔 直 +耦 合 。 隔 断 直 流 电 压 , 直 流电 压 过 大 有 可 能 会 损 坏 喇 叭 线 圈 ; 耦 合
43、音 频 的 交 流 信 号 。 它 与 扬 声 器 负 载 构 成 了 一 阶高 通 滤 波 器 。 减 小 该 电 容 值 , 可 使 噪 声 能 量 冲 击 的 幅 度 变 小 、 宽 度 变 窄 ; 太 低 还 会 使截 止 频 率 ( fc=1/(2*RL*Cout)) 提 高 。 分 别 测 试 , 发 现 10uF/4.7uF 最 为 合 适 , 这 是我 的 经 验 值 。 XIX7、 电 源 的 处 理 , 也 很 关 键 。 因 实 验 室 器 材 稀 有 , 所 以 电 源 都 是 由 自 己 制 作 而 成 。 不同 的 模 块 选 用 的 不 同 的 电 源 。 最 大
44、 的 区 别 在 于 电 流 的 选 择 上 。 这 样 也 避 免 了 模 块 之 间的 干 扰 !5 系统软件设计本系统软件设计由主程序、初始化程序、LCD显示程序、键盘扫描程序、键功能程序、密码设置程序、EEPROM读写程序和延时程序等组成。主要程序设计流程图如下所示:开始初始化键盘扫描启动程序键盘扫描键功能程序结束关闭程序图5-1 主程序流程图XX键功能程序键值09?键值开锁?键值清除?键值设置?键值确认?密码输入程序设置程序清除程序开锁程序确认程序YYYYYNNNN返回N图5-2 键功能流程图 6 结论本设计从经济实用的角度出发,采用STC89C52和STC12LE5A60S2单片机CMOS型作为主控芯片与数据存储器单元,结合外围的键盘输入、显示、报警、开锁、音频放大、MP3解码等电路并用C语言编写主控芯片的控制程序,研制了一款可以更改密码并且带有MP3播放功能的电子密码锁。 由于技术实在是不足,所以作品瑕疵很多。从这次比赛中我也收获了许多,认识到了自己的不足,在将来的日子的我一定会更加努力的学习,把自己最好的作品展示给大家!XXI参考文献:单片机C 语言程序设计实训100例- 基于8051+Proteus仿真单片机技术及其应用