




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计(论文)任务书 信息工程 学院 计算机 专业 2009-1 班 一、课程设计(论文)题目 基于单片机的密码锁设计 二、课程设计(论文)工作自 2012 年 6 月 11 日起至 2012 年 6 月 24 日止。三、课程设计(论文) 地点: 教5-403 四、课程设计(论文)内容要求:1本课程设计的目的(1)使学生掌握系统各功能模块的基本工作原理; (2)培养学生基本掌握电路设计的基本思路和方法; (3)使学生掌握接收系统调试;(4)培养学生分析、解决问题的能力;(5)提高学生的科技论文写作能力。 2课程设计的任务及要求1)基本要求:(1)分析调频接收系统各功能模块的工作原理;(2)选用合适的器件;(3)提出系统的设计方案; (4)对所设计电路进行调试。2)创新要求: 在完成基本功能的同时,还增加了一个超级密码,以便用户忘记设定的密码时进行紧急处理,并且超级密码可以由除数字1-8外还可以由字母a,b,c,d组成。3)课程设计论文编写要求(1)要按照书稿的规格打印誊写毕业论文(2)论文包括目录、绪论、正文、小结、参考文献、谢辞、附录等(3)毕业论文装订按学校的统一要求完成4)答辩与评分标准: (1)完成原理分析:20分; (2)完成设计过程:30分; (3)完成调试:30分;(4)回答问题:20分。5)参考文献:(1)张毅刚 . 单片机原理及应用 高等教育某出版社(2)彭伟.单片机c语言程序设计实训100例:基于8051+proteus仿真 电子工业出版社6)课程设计进度安排内容 天数地点构思及收集资料 2图书馆组装与调试 5实验室撰写论文 3图书馆、实验室学生签名: 2012 年 6 月 11 日课程设计(论文)评审意见(1)完成原理分析(20分):优()、良()、中()、一般()、差(); (2)设计分析(30分):优()、良()、中()、一般()、差(); (3)完成调试(30分):优()、良()、中()、一般()、差();(4)回答问题(20分):优()、良()、中()、一般()、差();(5)格式规范性及考勤是否降等级:是()、否()评阅人: 职称: 副教授 2012 年 6 月 24 日目录一、 项目要求4二、系统设计4三、 硬件设计53.1电路原理图53.2 proteus仿真图63.4 复位电路73.5 数字按键电路73.6 蜂鸣器83.7 继电器控制电路83.8 功能拓展9四、 元器件清单10五、程序调试11六、程序流程图:14七、仿真与调试:15八、问题解决及总结15九、参考文献:16附录17一、单片机系统的电路原理图(见附加页)17二、程序清单17绪论在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。具有防盗报警等功能的电子密码锁代替密码量少、安全性差的机械式密码锁已是必然趋势。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作、记住密码即可开锁等优点。目前使用的电子密码锁大部分是基于单片机技术,以单片机为主要器件,其编码器与解码器的生成为软件方式。本系统由at89c52单片机系统(主要是at89c52单片机最小系统)、8位数键盘,蜂鸣器报警,继电器控制等组成,具有设置、修改8位用户密码、超过3次次报警、密码错误报警等功能。除上述基本的密码锁功能外,依据实际的情况还可以添加遥控功能。本系统成本低廉,功能实用。 这种能防止多次试探密码的单片机应用前景广泛。一、 项目要求基于at89s52单片机的密码锁设计,具体功能如下:(1) 总共可以设置8位密码,每位密码值范围18。(2) 用户可以自行设定和修改密码。(3) 按每个密码键是都有声音提示。(4) 若键入的8位开锁密码不完全正确,则报警5s,以提醒他人注意。(5) 开锁密码连续错3次要报警1分钟,报警期间输入密码无效,以防止窃贼多次试探密码。(6) 键入的8位开锁密码完全正确才能开锁,开锁时要有1s的提示音。(7) 电磁锁的电磁线每次通电5s,然后恢复初态。(8) 密码键盘上只允许有8个密码锁按键。锁内有备用电池,只有内部上点恢复时才能设置或修改密码,因此,仅在门外按键是不能修改或设置密码的。 (9)密码设定完毕后要有2s提示音。二、系统设计按照系统设计要求和功能,将系统分为主控模块,按键扫描模块,蜂鸣器,电源电路,复位电路,晶振电路,驱动电路几个模块,系统框图如图所示。主控模块采用at89s52单片机。 基于at89s52单片机的密码锁组成框图三、 硬件设计3.1电路原理图系统硬件电路图如图10-2所示,p1和p0口接密码按键,其中p1口解超级密码的扩展按键,开锁脉冲由p3.0输出,报警和提示音由p3.4输出,按键s2s9分别代表数字18,按键s10s13分别代表字母d、c、b、a.若没有按键按下,则p0.0p0.7和p1.0p1.3全是高电平;若某按键被按下,则相应的口线为低电平。原理图3.2 proteus仿真图 仿真图3.3 外部晶振电路外接石英晶体(或陶瓷谐振器)及电容cl、c2 接在放大器的反馈回路中构成并联振荡电路。对外接电容cl、c2 虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。此次实验采用使用石英晶体,电容使用30pf10pf 晶振模块电路3.4 复位电路rst引脚与电源之间接10uf左右的极性电容和在rst与vss之间接一个电阻(约8.2千欧姆)就可实现加电复位功能(在res引脚上加上持续时间大于2个机器周期的高电平)。 复位后的状态:a、复位后pc值为0000h,表明复位后的程序从0000h开始执行。b、sp值为07h,表明堆栈底部在07h,一般需要重新设置sp值。c、p0p3口值为ffh。p0p3口用作输入口时,必须先写入“1”。单片机在复位后,已使p0p3口每一端线为“1”,为这些端线用作输入口做好了准备。复位电路模块3.5 数字按键电路通过button 按键接p0和p1口对应端口,通过手动按键给对应的p0和p1口拉致低电平从而改变端口值,从而给出密码值。 独立键盘模块3.6 蜂鸣器通过8550以及按键控制和软件延时控制蜂鸣器持续工作时间。3.7 继电器控制电路密码正确接通发光二极管,从而点亮发光二极管,来模拟电磁线圈的导通。 3.8 功能拓展在p1口接四个扩展按键,现实设想中,这四个按键是密封的,需要备用钥匙才能打开。当屋主忘记了自己的密码,家里又没有人时,无主可以输入已经固化到程序中的超级密码将门锁开启,而当屋主成功输入超级密码后,单片机将让屋主重新设定自己的密码。功能拓展键盘模块数码管lg5011ag显示:通过p3.5和p3.6输出信号从而控制数码管显示对应的按键编号。 数码管电路模块四、 元器件清单基于at89s52单片机的密码锁元件清单如表所示。元件名称型号个数用途单片机at89s521控制核心晶振12mhz1晶振电路电容30pf2晶振电路电解电容20uf/10v1复位电路按键12按键电路三极管s90132放大电路蜂鸣器1报警电路电阻1k4驱动led电阻10k9复位、上拉电路电阻4.7k8驱动数码管usb+5v/0.5a1提供+5v电源数码管共阴2显示密码和时间电路板实物图五、程序调试 在硬件支持的环境下,用proteus设计好的电路,keil编好的程序编译成芯片可识别的s51文件,利用pc机写进proteus程序图芯片内进行仿真测试,并对其出现的错误进行修改,由图4.4图4.8可看出最终调试成功。 keil编译程序成功keil生成hex文件 proteus调用keil的hex文件进行仿真程序下载烧录成功单片机系统工作状态六、程序流程图:一般密码输入的程序的流程如下图所示,程序采用c51进行编程,利用定时器0作为计时工具,并通过数码管来显示当前的计时时间和输入的密码。 基于at89s52单片机的密码锁程序流程图扩展功能的流程图七、仿真与调试:按键s2-s9分别代表数码1-8,按键s13s10代表数码d-a.在没有按键按下时,p1.0-p1.3、p0.0p0.7全是高电平1;若某个按键被按下,相应的口线就变为低电平0,假如设定的密码是612345678,当按键s7被按下时,p0.5变为低电平,p0端口其余口线为高电平,此时从p0端口读入的数值为11011111,存到密码数组单元的密码值就是11011111,也就是0dfh。以此类推,存到32h至38h单元的密码值分别为fdh,fbh,f7h,efh,dfh,7fh,feh.八、问题解决及总结在这次课程设计的整个设计以及实际操作过程,我从中学习到了很多知识,当然在整个设计过程中出现了很多问题。其中,困扰了我最久也是最让我担心的一个问题是:在仿真通过的前提下,将程序烧写到单片机后,发现自己做的板子出现的程序跑飞的情况。用万用表测试后发现并没有出现短路或者断路,然后借用创新实验室的数字示波器,对电路板的每个模块进行检测。发现是晶振出现了问题,12mhz的晶振在工作时只有3khz的频率,这样明显不能让单片机工作,最后,在更换了两个晶振后,单片机也终于可以正常工作了。其次,在制作板子之前的打印工作时,考虑到需要将pcb转印上去造成电路图镜像了一次,但是忽略了焊接时是在反面进行了又一次镜像,所以在打印时也镜像了一次,这样就相当于镜像了三次,结果第一次做出的板子是镜像的。造成的直接后果是单片机两排管脚全部反掉了,也意味着板子的报废,做了一次无用功。当然还有一些其他的小问题,都是可以及时的进行改正的。通过这次课设,除了对51单片机有了更加深入的了解外,还提高了自己的动手实践能力,对整个制板过程有了一个非常熟悉的了解。九、参考文献:(1)张继刚 .单片机原理及应用 高等教育出版社(2)彭伟.单片机c语言程序设计实训100例:基于8051+proteus仿真.电子工业出版社附录一、单片机系统的电路原理图(见附加页)二、程序清单#include #include #define uchar unsigned char#define uint unsigned intsbit beep = p34;/蜂鸣器sbit act=p30;/开锁器 sbit set=p33;/设置密码指示灯sbit input=p31;/输入密码指示灯sbit flag=p32;/密码错误指示灯sbit wei1=p35;sbit wei2=p36;bit ok_flag;uchar passwdnum;/密码位数uchar passwd10;/密码/const uchar tab=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80;/数码管显示 08/const uchar tab = 0x20,0x76,0x11,0x14,0x46,0x84,0x80,0x36,0x00,0x04,0x02,0xc0,0xa1,0x50,0x79,0x71; /段码控制/const uchar dispbit8=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; /位选控制 查表的方法控制const uchar tab = 0xd7,0x84,0xe3,0xe6,0xb4,0x76,0x77,0xc4,0xf7,0xf6,0xf5,0x37,0x53,0xa7; /0d段码控制uchar input;/密码输入次数uchar chaopasswd=0,10,11,12,13,10,11,12,13,0,0;/超级密码uint chaonum,time;uint num,su_flag;void beep();void passwd_set();void passwd_in();void delay(uint num);/*/main() p2=0xff;/送数码管显示 p0=0xff; p1=0xff;/读取按键 input=1; ok_flag=1; passwdnum=1; chaonum=1; time=0; act=1; set=0; su_flag=0; flag=1; beep=0; wei1=0; wei2=1; while(passwdnum=8) passwd_set();/等待设置密码 delay(500); passwdnum+; p0=0xff; p1=0xff; p0=0xff; p1=0xff; tmod=0x01; th0=(65536-45872)/256; tl0=(65536-45872)%256; ea=1; et0=1; tr0=1; while(time!=2)/2秒响铃 p2=tabtime+1; beep(); time=0; et0=0; tr0=0; beep=0; set=1; passwdnum=1; while(1) while(input=3) input=0;/输入指示灯亮 flag=1; while(passwdnum=8) passwd_in();/等待输入密码 delay(500); p0=0xff; p1=0xff; passwdnum+; if(chaonum=9) chaonum=1; flag=1; input=1;/输入指示灯灭 /密码正确响铃1秒 tmod=0x01; th0=(65536-45872)/256; tl0=(65536-45872)%256; ea=1; et0=1; tr0=1; while(time!=1) p2=tabtime+1; beep(); time=0; et0=0; tr0=0; beep=0; delay(500); act=0; /5秒 tmod=0x01; th0=(65536-45872)/256; tl0=(65536-45872)%256; ea=1; et0=1; tr0=1; while(time!=5) p2=tabtime+1; time=0; et0=0; tr0=0; beep=0; act=1; input=1; passwdnum=1; p0=0xff; p1=0xff; while(passwdnum=8) passwd_set();/等待设置密码 delay(500); passwdnum+; p0=0xff; p1=0xff; passwdnum=1; ok_flag=1; chaonum=1; continue; chaonum=1; if(ok_flag=1&input=3)/密码正确 flag=1; input=1;/输入指示灯灭 tmod=0x01; th0=(65536-45872)/256; tl0=(65536-45872)%256; ea=1; et0=1; tr0=1; while(time!=1) beep(); p2=tabtime+1; time=0; et0=0; tr0=0; beep=0; delay(500); act=0; /5秒 tmod=0x01; th0=(65536-45872)/256; tl0=(65536-45872)%256; ea=1; et0=1; tr0=1; while(time!=5) p2=tabtime+1; time=0; et0=0; tr0=0; act=1; input=1; passwdnum=1; p0=0xff; p1=0xff; continue; else time=0; flag=0; act=1; /5秒 tmod=0x01; th0=(65536-45872)/256; tl0=(65536-45872)%256; ea=1; et0=1; tr0=1; while(time!=5) beep(); p2=tabtime; time=0; et0=0; tr0=0; delay(500); input+; ok_flag=1; passwdnum=1; p0=0xff; p1=0xff; continue; /密码错误处理代码 /密码错误3次响铃1分钟 tmod=0x01; th0=(65536-45872)/256; tl0=(65536-45872)%256; ea=1; et0=1; tr0=1; wei1=1; while(time!=60) beep=beep; wei2=0; p2=tab(time+1)%10; delay(5); wei2=1; p2=0x00; wei1=0; p2=tab(time+1)/10; delay(5); wei1=1; p2=0x00; beep=0; time=0; et0=0; tr0=0; delay(500); input=1; ok_flag=1; passwdnum=1; p0=0xff; p1=0xff; /*/void passwd_in() uchar key; while(p0=0xff&p1=0xff); delay(10); while(p0=0xff&p1=0xff); if(p0!=0xff) key=p0; beep(); switch(key) case 0xfe: p2=tab1;break;/1 case 0xfd: p2=tab2;break; case 0xfb: p2=tab3;break; case 0xf7: p2=tab4;break; case 0xef: p2=tab5;break; case 0xdf: p2=tab6;break; case 0xbf: p2=tab7;break; case 0x7f: p2=tab8;break;/8 if(p1!=0xff) key=p1; beep(); switch(key) case 0xfe: key=10;p2=tab10;break;/a case 0xfd: key=11;p2=tab11;break; case 0xfb: key=12;p2=tab12;break; case 0xf7: key=13;p2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 24631-3:2025 EN Radiofrequency identification of animals - Part 3: Evaluation of performance of RFID transponders conforming with ISO 11784 and ISO 11785
- 【正版授权】 ISO 11237:2025 EN Rubber hoses and hose assemblies - Compact wire-braid-reinforced hydraulic types for oil-based or water-based fluids - Specification
- 【正版授权】 IEC 61300-2-5:2022/AMD1:2025 EN-FR Amendment 1 - Fibre optic interconnecting devices and passive components - Basic test and measurement procedures - Part 2-5: Tests - Torsi
- 【正版授权】 IEC 60300-3-10:2025 EN-FR Dependability management - Part 3-10: Application guide - Maintainability and maintenance
- GB/T 45962-2025气象仪器设备性能测试方法大气压力
- 北汽越野安全知识培训课件
- 校园火灾逃亡安全知识培训课件
- 校园消防知识培训课件标语
- 校园消防安全知识培训课件
- 安全饮水面试题及答案
- 2025年教育综合理论知识试题及答案
- 普速《铁路技术管理规程》普速铁路部分
- 双减新政下 如何优化小学数学的作业设计专题讲座ppt
- 绿色建筑施工专项方案
- 法兰与垫片的基础知识
- 急性呼吸窘迫综合征护理
- GA 576-2018防尾随联动互锁安全门通用技术条件
- 渠道维护工试题
- 管道安装组对检查记录
- 初中生简历模板
- 哈尔滨市城市规划管理技术规定
评论
0/150
提交评论