




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湘潭大学 题题 目 目 基于单片机的新型电子锁 设计 学学 院 院 信息工程学院 专业班级 专业班级 2008 级自动化三班 学学 号 号 2008550309 姓姓 名 名 邹福筱 1 目目 录录 1 1 引言引言 3 3 2 2 设计任务和要求设计任务和要求 4 4 2 1 方案设计与论证 4 2 2 单元电路设计与参数计算 4 2 3 设计框图 用户界面 四号宋体加粗 4 3 3总原理图及主要模块的流程图总原理图及主要模块的流程图 5 5 3 1 总原理图及元器件清单 6 3 2 主要流程图 7 4 4 性能测试与分析性能测试与分析 7 7 5 5 结论与心得结论与心得 8 8 参考文献参考文献 8 8 致谢致谢 8 8 2 电子锁的设计电子锁的设计 摘要摘要 本报告系统地介绍并演示了设计电子锁的整个流程及设计步骤 这是单片机汇编语 言的一个应用实例 本报告还为每个设计步骤作了详细的解说 本报告分为 5 个部分 全面详细地介绍了电子锁的设计过程以及编程方法 首先介 绍了这个方案的设计任务要求 接着介绍了电子锁的总原理图和主要模块流程图 然后介 绍了电子锁的性能测试与分析 最后是我自己的设计结论与设计心得 本设计报告内容较全面 结构紧凑 适合 51 系列单片机的初学者学习如何设计电 子锁 关键字关键字 单片微型计算机 汇编语言 程序设计 电子锁 1 引言引言 单片机微型计算机是微型计算机的一个重要分支 也是颇具生命力的机种 单片机微 型计算机简称单片机 特别适用于控制领域 故又称为微控制器 通常 单片机由单块集成电路芯片构成 内部包含有计算机的基本功能部件 中央处 理器 存储器和 I O 接口电路等 因此 单片机只需要和适当的软件及外部设备相结合 便可成为一个单片机控制系统 当今时代是一个新技术层出不穷的时代 在电子领域尤其 是自动化智能控制领域 传统的分立元件或数字逻辑电路构成的控制系统 正以前所未见 的速度被单片机智能控制系统所取代 单片机具有体积小 功能强 成本低 应用面广等 优点 可以说 智能控制与自动控制的核心就是单片机 8051 单片机是当前国内外工业测控领域内使用很广泛的一类 8 位数控制器 它的特点 是使用方便 灵活 外围硬件支持十分丰富 世界许多大的半导体生产厂商 如 Atmel Dallas TI 等公司都推出了具有各自特点的增强型 8051 系列单片机 使用户有了 更大的选择空间 此外 世界上有许多软件公司致力于 8051 单片机高级编程语言的开发 汇编语言具有运算效率高 占用存储空间小 实时性强 执行速度快等优点 能直接 管理和控制存储器及硬件接口 充分发挥硬件的作用 掌握了汇编语言 就可以更好地理 解高级编程语言 本文注重实践和理论相结合 按照单片机初学者的学习过程 由浅入深逐步讲解了设 计电子锁的整个设计过程及应用到的编程软件 整个设计报告工分为 5 个部分 各部分的 安排如下 第一部分 是设计电子锁的背景及目的 第二部分 介绍了这个方案的设计任务要求 第三部分 介绍了电子锁的总原理图和主要模块流程图 第四部分 介绍了电子锁的性能测试与分析 第五部分 是我自己的设计结论与设计心得 3 2 设计任务和要求设计任务和要求 设计任务是利用开发板设计一个电子锁 设计要求 自己在自己电脑上写好要连接的电子锁的程序 再在实验室里将已经调试成 功的电子锁的程序下载到开发板上 观察并记录开发板上的等的运行情况 如果不是如预 期那样运行 要找出原因并进行调试 最后对自己的实验设计进行验收 2 1 方案设计与论证方案设计与论证 本课程设计使用设计电子锁的这个方案的原因是 这是我们汇编语言的第一次课程设 计 而电子锁 这个方案不会很难设计 还能让我们体验软件编程的是如何与实际 开发 板 联系的 更能让我们学到并运用汇编语言 由于其结构简单 传统机械锁常常强 迫打开 有许多种类的电子门锁的性能和安全性已经超过了机械锁 由于具有 较高的机密性和弹性 许多用户使用电子门锁 对这套方案理解得较为透彻 所 以 我才选择了设计电子锁的这个设计方案 2 2 单元电路设计与参数计算单元电路设计与参数计算 图 2 2 1 电子锁的电路图 如图 2 2 1 所示 这是我设计的电子锁的电路图 4 2 3 设计框图 用户界面设计框图 用户界面 在这里 我将提供我所设计的电子锁的设计框图如下 下图是在制作 PCB 板时所画的电路原理图 2 3 2 电子锁的电路原理图 下图为已完成的 PCB 板设计 5 2 3 3 电子锁的 PCB 板 设计 3 1 总原理图总原理图及元器件清单及元器件清单 图 3 1 2 硬件连接图 6 如图所示 图 3 1 1 是总原理图 图 3 1 2 是根据总原理图连接好的硬件连接图 图 3 1 3 是设计电子锁的原件清单图 按照单片机系统扩展与系统配置状况 单片机应用系统可分为最小系统 最小功耗系统及 典型系统等 AT89C51 单片机是美国 ATMEL 公司生产的低电压 高性能 CMOS 8 位单片机 具有丰富的内部资源 4kB 闪存 128BRAM 32 根 I O 口线 2 个 16 位定时 计数器 5 个 向量两级中断结构 2 个全双工的串行口 具有 4 25 5 50V 的电压工作范围和 0 24MHz 工作频率 使用 AT89C51 单片机时无须外扩存储器 因此 本电子锁实际上就是一个带有 八个发光二极管的单片机最小应用系统 即为由发光二极管 晶振 复位 开关 电源等 电路和必要的软件组成的单个单片机 其具体硬件组成如图 3 所示 3 2 主要流程图主要流程图 7 图 3 2 1 电子锁的设计流程图 如图所示 图 3 2 1 图 4 是课程设计 电子锁设计的主要流程图 4 性能测试与分析性能测试与分析 单片机的应用系统由硬件和软件组成 上述硬件原理图搭建完成上电之后 我们还不能 看到电子锁工作的现象 我们还需要告诉单片机怎么来进行工作 即编写程序控制单片机 来实现电子锁的功能 软件编程是单片机应用系统中的一个重要的组成部分 是单片机学 习的重点和难点 下面我们以简单的控制功能即实现电子锁的软件编程方法 程序如下 RS BIT P2 7 RW BIT P2 6 E BIT P2 5 ENTER BIT 22H 0 L1 BIT P3 0 OPEN BIT P3 6 SPEAK BIT P3 7 8 PASSBUF EQU 40H KEYNUMBER EQU 41H 存放识别后的按键号 ORG 0000H AJMP MAIN ORG 0003H JMP KEY INT ORG 000BH AJMP INTT0 ORG 001BH AJMP INTT1 ORG 0030H MOV A 01H MOV P3 A RET 主程序开始 MAIN MOV 30H 06H 输入密码为 6 位 最高只可设 15 位 MOV 42H 200 设定报警的时间 42H 单元里的数 50MS MOV 43H 250 设定开门时间 14 的倍数 实际上液晶显示 器执行指令占用了时间 开门时间会比 14 250MS 大 44H 号单元存放输入错误的次数 45H 为定时器 0 中断次数 46H 为定时器 1 中断次数 MOV 47H 250 输入密码时间设定 50MS 倍数 MOV SP 60H CLR OPEN CLR SPEAK 初始化输出设备 CLR ENTER 标志位初始化 MOV TMOD 11H 定时器工作方式 2 MOV TH0 3CH 初值 50MS MOV TL0 0BH MOV TH1 3CH MOV TL1 0BH SETB EA SETB ET0 SETB ET1 MOV TCON 00000000B 电平触发 START MOV R0 30H MOV R1 31H SS1 MOV R1 00H INC R1 DJNZ R0 SS1 将输入密码缓冲单元清零 MOV P1 0FH 初始化按键口 9 MOV R1 31H 从 31 号单元开始存放按建输入的密码 CLR 20H 报警标志清零 CLR 21H 密码超时标志 MOV 46H 00H 超时后对定时器中断次数清零 便于下一轮重新 计时 INIT ACALL SELLCD 设定液晶工作方式 ACALL LINE1 在第一行显示 MOV DPTR MES P 显示请输入密码 ACALL DISPLAY setb EX0 开中断 允许键盘输入 KEYIN JB 21H ERR 超时转到错误程序 JNB ENTER KEYIN 等待 ENTER 按下 CLR ENTER clr EX0 密码输入完后锁定键盘 当使用边沿触发时用上面的指令为什么禁止不了中断 密码判断程序 COMP MOV DPTR PASS MOV R4 30H 密码的长度 MOV A 0 MOV R1 31H LOOP MOV R5 A MOVC A A DPTR MOV PASSBUF A 取出系统设定的密码 MOV A R1 从 31 号单元开始取出输入的密码 CJNE A PASSBUF ERR 比较 MOV A R5 INC A INC R1 取下一位 DJNZ R4 LOOP 正确 MATCH MOV A 01H ACALL ENABLE 清屏 光标复位 ACALL LINE1 从第一行开始显示 MOV DPTR MES C ACALL DISPLAY 显示 请进 ACALL LINE2 MOV DPTR TAB 1 ACALL DISPLAY SETB OPEN 开门 MOV 44H 00H 输入错误次数清零 MOV R6 43H ACALL DELAY 10 CLR OPEN 复位 JMP START 错误 ERR ACALL BACK MOV R6 03H ACALL DELAY ACALL BACK 输错提示音 鸣两下 MOV A 01H ACALL ENABLE ACALL LINE1 MOV DPTR MES E ACALL DISPLAY 显示错误 MOV R6 40H ACALL DELAY INC 44H EE0 JC ERROUT 输错不到三次返回 MOV 44H 00H 清零 ACALL WRANING 报警 ERROUT JMP START 按键中断服务程序 KEY INT push acc push psw clr ex0 acall delay10ms 延时消抖 SETB TR1 启动定时器 ACALL SMKEY 按键识别 MOV A KEYNUMBER 返回按键号 ACALL BACK 按键发声 MOV R3 A CJNE R3 0BH K1 ENTER 是否按下 SETB ENTER clr tr1 按下确认后关毕定时器 mov 46h 00h 对中断次数清零 AJMP KEY RTN K1 ADD A 30H 将按键号转换为 ASC 码 MOV R1 A 将输入的密码存入缓冲单元 INC R1 修改地址 ACALL WRDATA 输入一位显示一个 KEY RTN pop psw pop acc setb ex0 11 RETI 按键识别程序 SMKEY MOV A P1 ANL A 0FH WKEY MOV B A 反转法查询 MOV P1 0F0H NOP MOV A P1 ANL A 0F0H ORL A B MOV P1 0FH 还原 P1 口初态 CJNE A 0EEH WKEY1 MOV KEYNUMBER 00H AJMP RETURN WKEY1 CJNE A 0EDH WKEY2 MOV KEYNUMBER 01H AJMP RETURN WKEY2 CJNE A 0EBH WKEY3 MOV KEYNUMBER 02H AJMP RETURN WKEY3 CJNE A 0E7H WKEY4 MOV KEYNUMBER 03H AJMP RETURN WKEY4 CJNE A 0DEH WKEY5 MOV KEYNUMBER 04H AJMP RETURN WKEY5 CJNE A 0DDH WKEY6 MOV KEYNUMBER 05H AJMP RETURN WKEY6 CJNE A 0DBH WKEY7 MOV KEYNUMBER 06H AJMP RETURN WKEY7 CJNE A 0D7H WKEY8 MOV KEYNUMBER 07H AJMP RETURN WKEY8 CJNE A 0BEH WKEY9 MOV KEYNUMBER 08H AJMP RETURN WKEY9 CJNE A 0BdH WKEY10 MOV KEYNUMBER 09H AJMP RETURN 12 WKEY10 CJNE A 0BbH WKEY11 MOV KEYNUMBER 0AH AJMP RETURN WKEY11 CJNE A 0B7H RETURN MOV KEYNUMBER 0BH 判断哪个键按下 返回相应按键号码 RETURN MOV P1 0FH NOP NOP MOV A P1 CPL A ANL A 0FH JNZ RETURN 等待按键松开 SETB OPEN 开门 ACALL DELAY2s CLR OPEN ACALL DELAY2s RET 液晶工作方式设置 SELLCD MOV A 01H 清屏 光标复位 ACALL ENABLE MOV A 38H 设置显示模式 8 位两行 5 7 点阵 ACALL ENABLE MOV A 0DH 显示器开 允许内烁 ACALL ENABLE MOV A 06H 文字不动 光标右移 ACALL ENABLE RET 液晶执行指令 ENABLE CLR RS CLR RW RS RW 同为低电平时写入指令 MOV P0 A CLR E E 由高变低时执行指令 ACALL WAIT SETB E RET WAIT 判断液晶是否忙的子程序 WAIT MOV P0 0FFH CLR RS 13 SETB RW RW 为高 RS 为低时可读忙信号 CLR E NOP SETB E JB P0 7 WAIT RET 显示的起始地址 在第一行 LINE1 MOV A 80H ACALL ENABLE RET 在第二行 LINE2 MOV A 0C0H ACALL ENABLE RET 显示程序 DISPLAY MOV R7 00H NEXT MOV A R7 MOVC A A DPTR CJNE A 10H DSP RET DSP ACALL WRDATA INC R7 AJMP NEXT 将 A 里面的数据写入液晶 WRDATA SETB RS CLR RW MOV P0 A CLR E ACALL WAIT SETB E RET 报警程序 WRANING SETB TR0 ACALL BACK MOV R4 00H ACALL D2 14 JNB 20H WRANING RET 发声程序 BACK MOV R0 100 KK1 CPL SPEAK LCALL DELAY2MS DJNZ R0 KK1 不断取反 P2 0 使其产生一定频率的方波推 动扬声器 RET 延时的长短可以改变输出的频率 INTT0 报警时间设定 INTT0 PUSH ACC PUSH PSW MOV TH0 3CH MOV TL0 0BH INC 45H MOV A 45H CJNE A 42H INTT0OUT MOV 45H 00H SETB 20H 置标志位 CLR TR0 关闭定时器 INTT0OUT POP PSW POP ACC RETI INTT1 输入超时 INTT1 PUSH ACC PUSH PSW INC 46H MOV A 46H CJNE A 47H INTT1OUT CLR TR1 关闭定时器 SETB 21H 时间到置标志位 MOV 47H 00H 中断次数清零 INTT1OUT POP PSW POP ACC RETI 延时程序 DELAY MOV R4 38H D1 MOV R5 0F9H DJNZ R5 DJNZ R4 D1 DJNZ R6 DELAY 14R6 毫秒 15 RET DELAY2MS MOV R4 02H D2 MOV R5 0F0H DJNZ R5 DJNZ R4 D2 RET DELAY10ms MOV R4 20 D3 MOV R5 248 DJNZ R5 DJNZ R4 D3 RET DELAY2s MOV R4 100 D4 MOV R5 248 DJNZ R5 DJNZ R4 D4 RET PASS DB 233228 MES P DB Password 10H MES C DB welcome 10H MES E DB Error 10H TAB 1 DB bo bo office 10h END 5 结论与心得 当上述程序编写好以后 我们需要使用编译软件对其编译 得到单片机所能识别的二 进制代码 然后再用编程器将二进制
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校燃安全管理制度
- 学校课后班管理制度
- 安保室卫生管理制度
- 安全设备科管理制度
- 安防中控室管理制度
- 定制家具厂管理制度
- 实训室仓库管理制度
- 审批程序等管理制度
- 客车gps管理制度
- 宫腔镜检查管理制度
- 《二倍角的正弦、余弦、正切公式》名师课件2
- 2024年中国浓缩料预混料行业市场现状、前景分析研究报告(智研咨询发布)
- 内蒙古兴安盟(2024年-2025年小学四年级语文)人教版期末考试(下学期)试卷及答案
- 2021-2022学年物理高一第二学期期末教学质量检测模拟试题含解析
- 小学数学练习设计的有效性研究结题报告
- 江苏省苏州市工业园区2023-2024学年八年级下学期期末语文试题(解析版)
- 浙江温州十校2023至2024学年高二下学期6月期末联考化学试题附参考答案(解析)
- 湖南省娄底市涟源市2023-2024学年六年级下学期6月期末英语试题
- 上海市徐汇区市级名校2025届物理高一第二学期期末考试模拟试题含解析
- 2024年安徽省初中(八年级)学业水平考试初二会考生物+地理试卷真题
- DL-T5017-2007水电水利工程压力钢管制造安装及验收规范
评论
0/150
提交评论