单片机课程设计_第1页
单片机课程设计_第2页
单片机课程设计_第3页
单片机课程设计_第4页
单片机课程设计_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课 程 设 计(论文)课程名称 单 片 机题目名称简易密码锁的设计学 院 高等技术学院专业班级 高 1 1 0 9学号 20113869学生姓名 刘 欢指导教师 胡 立 强 2013年 11月 28 日目录一, 任务目的3二, 任务要求3三, 电路与元器件4四, 程序设计5五, 程序运行测试6六, 任务小结7七, 心得体会8八, 参考文献91.任务目的通过对具有四个按键输入和一个数码管显示的简易密码锁的设计与制作,让读者理解C语言中数组的基本概念和应用技术,并初步了解单片机与键盘和LED数码管的接口电路设计及编程控制方法。2.任务要求在一些智能门控管理系统,需要输入正确的密码才能开锁。基于单片机控制的密码锁硬件电路包括三部分:按键、数码显示和电控开锁驱动电路,三者的对应关系如图表3.16所示。表3.16 简易密码锁状态按键输入状态数码管显示信息锁驱动状态无密码输入锁定输入与设定密码相同P打开输入与设定密码不同E锁定简易密码锁的基本功能如下:4个按键,分别代表数字0,1,2,3:密码在程序中事先设定,为0-3之间的一个数字;上电复位后,密码锁初始状态为关闭,密码管显示符号“”;当按下数字键后,若与事先设定的密码相同,则数码管显示字符“P”,打开锁,3秒后恢复锁定状态,等待下一次密码的输入,否则显示字符“E”持续3秒,保持锁定状态并等待下次输入。3.电路与元器件根据任务要求,用一位LED数码管作为显示器件,显示密码锁的状态信息,数码管采用静态连接方式;4个按键连接到P0口的低四位P0.0-P0.3引脚,设P0.0连接数字“0”按键、P0.1连接数字“1”按键,依次类推;锁的开、关电路用P3.0控制的一个发光二极管代替,发光二极管点亮表示锁打开,熄灭表示锁定。根据以上分析,采用如图3.21所示的连接电路。图3.21 简易密码锁电路简易密码锁电路所需元器件清单如表3.17所示。元器件名称参数数量元器件名称参数数量插座DIP401电阻1031单片机AT89SC511电解电容22UF1晶体振荡器12MHZ1弹性按键5瓷片电容30PF2电阻5119LED数码管共阳极数码管1电阻1024发光二级管14.程序设计 程序设计思路:主程序主要负责按键输入、密码比较判断与显示处理。设初始密码关闭,显示符号为“”。当按下数字键后,若与预先设计的密码相同则显示“P”,打开锁,过3秒后恢复锁定状态,等待下一次密码输入;否则显示“E”持续3秒,保持锁定状态并等待下一次密码输入。LED数码管采用共阳极显示方式,密码设定为“2”。程序流程图如图3.22所示简易密码锁主程序初始显示/关闭锁Y0#键按下了吗?NY1#键按下了吗?N2#键按下了吗?显示“P”并开锁NY3#键按下了吗?N显示“E”图3.22 简易密码锁的程序流程图程序如下#includeSbit p3_0=p30;void delay(unsigned int i);void main()unsigned char buttion;unsigned char code tab7=0xc0,0xf9,0xa4,0xb0,0xbf,0x86,0x8c;p0=0xff;while(1)p1=tab4;p3_0=1;button=p0;button&=0x0f;switch (button)case 0x0e: p1=tab0;delay(400);p1=tab5;dealy(1200);break;case 0x0d: p1=tab1;delay(400);p1=tab5;dealy(1200);break;case 0x0b: p1=tab2;delay(400);p1=tab6;p3_0=0;dealy(1200);break;case 0x07: p1=tab3;delay(400);p1=tab5;dealy(1200);break;void delay(unsigned int i)unsigned int k ;for(k=0;kI;k+);5.程序运行测试(1)输入并编译源程序(2)将程序下载到密码锁电路的单片机中(3)接通电路板电源,观察初始显示符号“”是否正确,锁是否关闭(发光二级管灭)。(4)分别按下各数字键,根据LED数码管显示及二极管的亮灭,判断结果是否正确。6.任务小结本任务采用MSC51系列的单片机实现了简易密码锁功能。电路中使用了4个独立式按键实现密码输入,用一个LED数码管显示密码锁的状态,让读者初步了解了单片机与键盘和数码显示管接口电路设计及编程控制方法。在ex3_10.c程序中,使用了名为tab的无符号字符数组,定义如下:Unsigned char code tab 7=0xc9,0xf9,0xa4,0xb0,0xbf,0x86,0x8c;该数组包含7个分量tab0、tab1.tab6,数组名为tab,表示数组的地址,即数组的第一个分量tab0所在的地址。在这个数组定义语句中,关键字“code”是为了把tab数组存储在片内程序存储器ROM中,该数组与程序代码一起固化在程序存储器中。7.心得体会单片机课程设计是的做的第三个课程设计,在设计过程中,遇到了很多困难,但最终我还是坚持了下来,虽然实现的功能有些单一,但是自己付出了努力,还是有些收获的首先通过这次课程设计,让我比较全面并且系统的回顾了有关单片机的知识,对于以前老师在讲课过程中听的似懂非懂的知识,进一步加深了理解。其次,对于自己已经了解和掌握的东西能够在实践中应用,把抽象的东西具体化。对于编程软件keil的应用也更加的熟练。在设计中,也有自己好多迷糊和不懂的东西,这些是在课堂上和书本中没有的,因此只好采用在图书馆查看资料和上网查询的方法把这些问题一一解决。但是由于时间有限,这次的设计最大的遗憾就是实现的功能太少了,本来是想加个计数器密码错误输入三次就会出现报警,但是最终没有实现。不过并不可惜和遗憾,因为单片机课程设计的结束不是我学习单片机知识的结束,假期就要到了,这段时间我会花更多的时间和经历用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论