ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:192.92KB ,
资源ID:7880006      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7880006.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机新型电子锁课程设计报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机新型电子锁课程设计报告.docx

1、单片机新型电子锁课程设计报告目 录1 引言 32 设计任务和要求 42.1 方案设计与论证 42.2 单元电路设计与参数计算 42.3 设计框图、用户界面(四号宋体加粗) 43 总原理图及主要模块的流程图 53.1 总原理图及元器件清单 63.2主要流程图 74 性能测试与分析 75 结论与心得 8参考文献 8致谢 8电子锁的设计摘要:本报告系统地介绍并演示了设计电子锁的整个流程及设计步骤。这是单片机汇编语言的一个应用实例,本报告还为每个设计步骤作了详细的解说。 本报告分为5个部分,全面详细地介绍了电子锁的设计过程以及编程方法。首先介绍了这个方案的设计任务要求;接着介绍了电子锁的总原理图和主要

2、模块流程图;然后介绍了电子锁的性能测试与分析;最后是我自己的设计结论与设计心得。 本设计报告内容较全面,结构紧凑,适合51系列单片机的初学者学习如何设计电子锁。关键字:单片微型计算机;汇编语言;程序设计;电子锁1 引言单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。 通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制

3、领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。 8051单片机是当前国内外工业测控领域内使用很广泛的一类8位数控制器,它的特点是使用方便、灵活,外围硬件支持十分丰富,世界许多大的半导体生产厂商,如Atmel、Dallas、TI等公司都推出了具有各自特点的增强型8051系列单片机,使用户有了更大的选择空间。此外,世界上有许多软件公司致力于8051单片机高级编程语言的开发。 汇编语言具有运算效率高、占用存储空间小、实时性强、执行速度快等优点,能直接管理和控

4、制存储器及硬件接口,充分发挥硬件的作用。掌握了汇编语言,就可以更好地理解高级编程语言。 本文注重实践和理论相结合,按照单片机初学者的学习过程,由浅入深逐步讲解了设计电子锁的整个设计过程及应用到的编程软件。整个设计报告工分为5个部分,各部分的安排如下:第一部分:是设计电子锁的背景及目的;第二部分:介绍了这个方案的设计任务要求;第三部分:介绍了电子锁的总原理图和主要模块流程图;第四部分:介绍了电子锁的性能测试与分析;第五部分:是我自己的设计结论与设计心得。2 设计任务和要求 设计任务是利用开发板设计一个电子锁; 设计要求:自己在自己电脑上写好要连接的电子锁的程序,再在实验室里将已经调试成功的电子锁

5、的程序下载到开发板上,观察并记录开发板上的等的运行情况;如果不是如预期那样运行,要找出原因并进行调试,最后对自己的实验设计进行验收。2.1 方案设计与论证 本课程设计使用设计电子锁的这个方案的原因是:这是我们汇编语言的第一次课程设计,而电子锁,这个方案不会很难设计,还能让我们体验软件编程的是如何与实际(开发板)联系的,更能让我们学到并运用汇编语言。由于其结构简单、传统机械锁常常强迫打开。有许多种类的电子门锁的性能和安全性已经超过了机械锁。由于具有较高的机密性和弹性,许多用户使用电子门锁。对这套方案理解得较为透彻。所以,我才选择了设计电子锁的这个设计方案。2.2 单元电路设计与参数计算 图2.2

6、-1电子锁的电路图如图2.2-1所示,这是我设计的电子锁的电路图。2.3 设计框图、用户界面在这里,我将提供我所设计的电子锁的设计框图如下:下图是在制作PCB板时所画的电路原理图: 2.3-2电子锁的电路原理图下图为已完成的PCB板设计: 2.3-3电子锁的PCB板设计3.1 总原理图及元器件清单 图3.1-2硬件连接图如图所示,图3.1-1是总原理图,图3.1-2是根据总原理图连接好的硬件连接图,图3.1-3是设计电子锁的原件清单图。按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。AT89C51单片机是美国ATMEL公司生产的低电压、高性能CMOS

7、8位单片机,具有丰富的内部资源:4kB闪存、128BRAM、32根I/O口线、2个16位定时/计数器、5个向量两级中断结构、2个全双工的串行口,具有4.255.50V的电压工作范围和024MHz工作频率,使用AT89C51单片机时无须外扩存储器。因此,本电子锁实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、开关、电源等电路和必要的软件组成的单个单片机。其具体硬件组成如图3所示。3.2主要流程图图3.2-1电子锁的设计流程图如图所示,图3.2-1图4是课程设计电子锁设计的主要流程图。4 性能测试与分析单片机的应用系统由硬件和软件组成,上述硬件原理图搭建完成上电

8、之后,我们还不能看到电子锁工作的现象,我们还需要告诉单片机怎么来进行工作,即编写程序控制单片机来实现电子锁的功能。软件编程是单片机应用系统中的一个重要的组成部分,是单片机学习的重点和难点。下面我们以简单的控制功能即实现电子锁的软件编程方法。程序如下: 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 PASSBUF EQU 40H KEYNUMBER EQU 41H ;存放识别后的按键号 ORG 0000H AJMP MAIN ORG 0003H JMP KEY

9、_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倍数

10、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,#31HSS1: MOV R1,#00H INC R1 DJNZ R0,SS1 ;将输入密码缓冲单元清零 MOV P1,#0FH ;初始化按键口 MOV R1,#3

11、1H ;从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 ;密码输入完后锁定键盘;当使用边沿触发时用上面的指令为什

12、么禁止不了中断?;= 密码判断程序 =COMP: MOV DPTR,#PASS MOV R4,30H ;密码的长度 MOV A,#0 MOV R1,#31HLOOP: 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_

13、C ACALL DISPLAY ;显示请进 ACALL LINE2 MOV DPTR,#TAB_1 ACALL DISPLAY SETB OPEN ;开门 MOV 44H,#00H ;输入错误次数清零 MOV R6,43H ACALL DELAY 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

14、 DELAY INC 44HEE0: 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 ;按下确认后关毕定时器

15、mov 46h,#00h ;对中断次数清零 AJMP KEY_RTNK1: ADD A,#30H ;将按键号转换为ASC码 MOV R1,A ;将输入的密码存入缓冲单元 INC R1 ;修改地址 ACALL WRDATA ;输入一位显示一个*KEY_RTN:pop psw pop acc setb ex0 RETI;= 按键识别程序 =SMKEY: MOV A,P1 ANL A,#0FHWKEY: MOV B,A ;反转法查询 MOV P1,#0F0H NOP MOV A,P1 ANL A,#0F0H ORL A,B MOV P1,#0FH ;还原P1口初态 CJNE A,#0EEH,WKEY

16、1 MOV KEYNUMBER,#00H AJMP RETURNWKEY1: CJNE A,#0EDH,WKEY2 MOV KEYNUMBER,#01H AJMP RETURNWKEY2: CJNE A,#0EBH,WKEY3 MOV KEYNUMBER,#02H AJMP RETURNWKEY3: CJNE A,#0E7H,WKEY4 MOV KEYNUMBER,#03H AJMP RETURNWKEY4: CJNE A,#0DEH,WKEY5 MOV KEYNUMBER,#04H AJMP RETURNWKEY5: CJNE A,#0DDH,WKEY6 MOV KEYNUMBER,#05H

17、 AJMP RETURNWKEY6: CJNE A,#0DBH,WKEY7 MOV KEYNUMBER,#06H AJMP RETURNWKEY7: CJNE A,#0D7H,WKEY8 MOV KEYNUMBER,#07H AJMP RETURNWKEY8: CJNE A,#0BEH,WKEY9 MOV KEYNUMBER,#08H AJMP RETURNWKEY9: CJNE A,#0BdH,WKEY10 MOV KEYNUMBER,#09H AJMP RETURNWKEY10: CJNE A,#0BbH,WKEY11 MOV KEYNUMBER,#0AH AJMP RETURNWKEY1

18、1: 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 ;显示器开,

19、允许内烁 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 SETB RW ;RW为高,RS为低时可读忙信号 CLR E NOP SETB E JB P0.7,WAIT RET;= 显示的起始地址 =;在第一行LINE1: MOV A,#80H ACALL

20、ENABLE RET;在第二行LINE2: MOV A,#0C0H ACALL ENABLE RET;= 显示程序 =DISPLAY:MOV R7,#00HNEXT: MOV A,R7 MOVC A,A+DPTR CJNE A,#10H,DSP RETDSP: 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 JNB 20

21、H, WRANING RET;= 发声程序 =BACK: MOV R0,#100KK1: 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

22、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,#38HD1: MOV R5,#0F9H DJNZ R5,$ DJNZ R4,D1 DJNZ R6,DELAY ;14R6毫秒 RETDELAY2MS: MOV R4,#02HD2: MOV R5,#0F0H DJNZ R5,

23、$ DJNZ R4,D2 RETDELAY10ms: MOV R4,#20D3: MOV R5,#248 DJNZ R5,$ DJNZ R4,D3 RETDELAY2s: MOV R4,#100D4: MOV R5,#248 DJNZ R5,$ DJNZ R4,D4 RETPASS: DB 233228MES_P: DB Password?,10HMES_C: DB welcome!,10HMES_E: DB Error!,10HTAB_1: DB bo-bo office,10h END5 结论与心得当上述程序编写好以后,我们需要使用编译软件对其编译,得到单片机所能识别的二进制代码,然后再用

24、编程器将二进制代码烧写到AT89C51单片机中,最后连接好电路通电,我们就看到LED1LED8的“电子锁”效果了。这次数电课程设计,虽然短暂但是让我得到多方面的提高:1、提高了我们的逻辑思维能力,使我们在逻辑电路的分析与设计上有了很大的进步。加深了我们对组合逻辑电路与时序逻辑电路的认识,进一步增进了对一些常见逻辑器件的了解。另外,我们还更加充分的认识到,数字电路这门课程在科学发展中的至关重要性2,查阅参考书的独立思考的能力以及培养非常重要,我们在设计电路时,遇到很多不理解的东西,有的我们通过查阅参考书弄明白,有的通过网络查到,但由于时间和资料有限我们更多的还是独立思考。3,相互讨论共同研究也是

25、很重要的,经常出现一些问题,比如电路设计中的键盘电路的设计,开始并不理解键盘电路的原理,但是和其他的专业同学讨论后,理解了分键盘电路的基本原理后,很快的设计了电路原理图。参考文献1何立民.MCS-51系列单片机应用系统设计.北京: 北京航空航天大学出版社,1990.单片机课程设计指导 北京航天航空大学出版社 2002基于MCS-51系列的单片机原理的应用设计 国防工业出版社 1999致谢在这次课程设计的撰写过程中,我得到了许多人的帮助。首先我要感谢我的老师在课程设计上给予我的指导、提供给我的支持和帮助,这是我能顺利完成这次报告的主要原因,更重要的是老师帮我解决了许多技术上的难题,让我能把系统做得更加完善。在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。其次,我要感谢帮助过我的同学,他们也为我解决了不少我不太明白的设计商的难题。同时也感谢学院为我提供良好的做课程设计的环境。虽然一开始是说独立完成设计,可是我发现,最后个人还是离不开集体,最后再一次感谢所有在设计中曾经帮助过我的良师益友。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1