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

下载本文档

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

文档简介

1、 专专业业实实习习 报报告告 题题目目 单片机密码锁单片机密码锁 姓姓 名名: gwgw 学学 号号:007 专专 业业:电子信息工程电子信息工程 班班 级级:电信电信 0804 班班 指导教师指导教师: 职职 称称: 计计算算机机与与电电子子工工程程学学院院 2011 年年 9 月月 目 录 1 1 概述概述.2 1.1 设计前言设计前言.2 1.2 设计要求设计要求.2 2 设计方案设计方案.2 3 硬件电路设计硬件电路设计.3 3.1 晶振电路晶振电路.3 3.2 电源电路电源电路.4 3.3 复位电路复位电路.4 3.4 上拉电阻上拉电阻.5 3.5 显示电路设计显示电路设计.5 3.

2、6 单片机电路单片机电路.6 3.7 主要元器件主要元器件.6 4 pcb 板制作板制作.6 4.1 pcb 板制作流程板制作流程.6 4.2 焊接及测试焊接及测试.7 4.2.1 焊接元器件焊接元器件.7 4.2.2 测试测试.8 5 软件设计软件设计.9 5.1 程序流程图程序流程图.9 5.2 源程序源程序.11 6 收获与总结收获与总结.16 参考文献:参考文献:.17 附录一附录一 电路原理图电路原理图.18 附录二附录二 pcb 电路原理图电路原理图.18 专业实习专业实习报告评审表报告评审表 学 号 080910141 姓 名郭维学 院 计算机与电子工 程学院 专业班级电信 08

3、04 班 题 目单片机密码锁单片机密码锁 评 审 意 见 评审成绩 指导教师签名职称评审时间 年 月 日 单片机密码锁设计单片机密码锁设计 1 概述概述 1.1 设计前言设计前言 单片机自 20 世纪 70 年代问世以来,以其极高的性能价格比,受到人们的重视和关 注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、 价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片 机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、 机电一体化设备等各个方面,而 51 单片机是各单片机中最为典型和最有代表性的一种。 这次毕业设计通过对它的

4、学习、应用,以 at89s51 芯片为核心,辅以必要的电路,设 计了一个简易的电子时钟,它由 4.5v 直流电源供电,通过数码管能够准确显示时间, 调整时间,从而到达学习、设计、开发软、硬件的能力。 1.2 设计要求设计要求 设计一个四位密码锁:复位之后,自己设置一个密码之后,当再次输入密码,验 证是否正确,正确就显示 yes,错误就显示 no,复位之后可重新显示密码。 2 设计方案设计方案 设计思路及流程:根据上述功能介绍,密码锁系统可以分为用户密码输入、显示 和控制报警 3 大功能,因此可以键盘模块、显示模块、报警模块、电子锁控制模块和 单片机模块。系统模块图如图 1 所示。 单片机 电源

5、 晶振 复位 上拉电阻 数码管显示 键盘 图 1 3 硬件电路设计硬件电路设计 3.1 晶振电路晶振电路 晶振电路由 2 个电容,一个晶振组成,如图 2 所示。 图 2 单片机晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振, 便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整 频率的方法保持同步。单片机晶振有 2 个电容的作用:这 2 个电容叫晶振的负载电容, 分别接在晶振的 2 个脚上和对地的电容,一般在几十皮法。它会影响到晶振的振谐频 率和输出幅度。晶振的负载电容=(cd*cg)/(cd+cg)+cic+c。 3.2 电源电路电源电路 图 3 3.3

6、 复位电路复位电路 复位电路由电容、电阻、复位组成,如图 4 所示。 图 4 复位电路的原理是单片机 rst 引脚接收到 2us 以上的电平信号,只要保证电容的 充放电时间大于 2us,即可实现复位,所以电路中的电容值是可以改变的。按键按下 系统复位,是电容处于一个短路电路中,释放了所有的电能,电阻两端的电压增加引 起的。基本功能是:系统上电时提供复位信号,制止系统电源稳定后,撤销复位信号。 为可靠起见,电源稳定后还要经过一定时间才撤销复位信号,以防电源开关或电源插 头分-合过程中引起的抖动而影响复位。单片机复位参数的选定必须在振荡稳定后保证 复位高电平持续时间大于 2 个机器周期。 3.4

7、上拉电阻上拉电阻 上拉电阻由 8 个电阻接在 p0 脚,如图 5 所示。 图 5 p0 口是开漏的,不管它的驱动能力多大,相当于它是没有电源的,需要外部的电 路提供,绝大多数情况下 p0 口是必需加上拉电阻的。当 p0 口用来驱动 pnp 管子的时 候,就不需要上拉电阻,因为此时的低电平有效;当 p0 口用来驱动 npn 管子的时候, 就需要上拉电阻的,因为此时只有当 p0 为 1 时候,才能够使后级端导通。 3.5 键盘电路设计键盘电路设计 按键模块采用 25 行列矩阵结构,由 2 条行线和 5 条列线构成。按键电路如图 6 所示。 图 6 其中 2 根 i/o 接口线(p2.1p2.2)作

8、为行线,另外 5 根 i/o 接口线(p2.2p2.7) 作为列线,按键跨接在行线和列线上,按键按下时,行线和列线发生短路。 软件编程采用线翻转法,该方法要求行线和列线上 都有上拉电阻。由于 at89c51 单片机的 p2 口内部集成了上拉电阻,所以系统未加。第一行按键前两个输入密码,最 后一个为确认键 3.6 显示电路设计显示电路设计 显示电路由 4 个共阴极数码管构成。软件编程时采用动态显示方法,其结构图如 图 7 所示。 图 7 数码管其实是由发光二极管组成,有共阴极和共阳极之分,对于共阳极来说,一 位数码管由 8 个二极管组成,他们的阳极接在一起接+5v 电源,而各个阴极与某个端 口,

9、如 p1 的 8 个引脚相连,当某个引脚输出低电平的时候数码管对应的二极管亮。 软件编程时,按照下面的步骤显示字符: (1)首先从 p0 口输出共阳极字符的段码; (2)然后从位选输出低电平。 3.7 单片机电路单片机电路 单片机电路主要由单片机、振荡电路和复位电路构成。由于 at89c51 内部集成了 12mhz 的振荡电路,所以系统外部未加。单片机电路图如图 8 所示。 图 8 at89c51 单片机的 p0 口用于输出显示器段码。p1 口的 p1.0p1.5 用于 6 个 led 的亮与灭。p2 口用于构成行列矩阵键盘。此芯片是 atmel 公司一款低功耗,高性能 的 cmos 8 位微

10、控制器,具有 8k 在系统可编程 flash 存储器,使该公司高密度非易失 性存储器制造,与 mcs-51 兼容。at89c51 单片机的主要工作特性: 内含 4kb 的 flash 存储器,擦写次数 1000 次; 内含 28 字节的 ram; 具有 32 根可编程 i/o 线; 具有 2 个 16 位可编程定时器; 具有 6 个中断源、5 个中断矢量、2 级优先权的中断结构; 具有 1 个全双工的可编程串行通信接口; 具有一个数据指针 dptr; 两种低功耗工作模式,即空闲模式和掉电模式; 具有可编程的 3 级程序锁定定位; at89c51 的工作电源电压为 5(10.2)v 且典型值为

11、5v,最高工作频率为 24mhz. 3.8 主要元器件主要元器件 at89c51 芯片、晶振、复位、电阻、电容、数码管、按键、二极管。 4 pcb 板制作板制作 4.1 pcb 板制作流程板制作流程 pcb 板是连接各个电子元器件,其次是固定元器件。一般的 pcb 板都是把图纸交给 工厂,工厂机器加工,这种方法对板子比较复杂而且加工工艺要求高,需要成批次生 产,规模比较大。在这次做电路设计过程中,我们来到公司亲自手工制作。具体步骤 如下: (1)设计:把电路原理图设计成印制电路布线图。这需要对绘图软件有非常熟练 地应用,目前比较主流的绘图软件有 protel,ad 等。设计完成后需要做好电气检

12、测, 看设计是否合理,若不合理,就要反复修改,直到觉得设计合格了。 (2)准备覆铜板:覆铜板就是在基板上覆了一层薄薄的铜,厚度各异,在制作过 程中,1.6mm 的板子就可以了。铜的厚度可以选择稍微薄一点,这样比较好腐蚀,制作 起来较快。量好尺寸用切板机或者其他工具把板子剪到合适的尺寸。 (3)热转印电路图形:把设计好的 pcb 布线图转到覆铜板。a:用激光打印机将 设计好的布线图反面打印在热转印纸上;b 处理好覆铜板表面后(就是把板子弄平整, 干净,去油污之类的) ,可将覆铜板放入服饰液中浸泡两三秒中取出后水洗擦干;当然 用其他的去污物质擦洗也是可以的。c:将打印好的图纸附到板子表面,贴好固定

13、。 d:将贴好图纸的板子放到热转印机上进行热转印。 e:板子冷却后接掉转印纸,然后 检查板子上的图形是否有短线或者转印不是太好的地方,如果发现有的话,用油性笔 补充好,待完善后准备腐蚀。 (4)腐蚀:首先配置腐蚀液,一般为:三氯化铁、水(1:2) 、过硫酸钠、水 (1:3) ,温度在 40-50 度为宜,将配好的腐蚀液放入塑料盆中,然后将 pcb 板(有图 形面朝上)放入盆内开始腐蚀,腐蚀过程中可反复来回摆动,用毛笔轻轻耍板子,加 速腐蚀,待腐蚀得可差不多了即可把板子取出洗干净,烘干。 (5)用钻孔机钻孔:板子上少不了有很多焊盘过孔之类的,这时需要打孔。孔径 打下不宜过大,大概比原件管脚直径大

14、过 0.3mm 左右。打孔可用台式打孔机或手钻。 打孔时注意速度不要太快,以免打出毛刺。最后就是表面处理一下板子,使板子看起 美观,这样自己制作的一块印制板就算完成了。 4.2 焊接及测试焊接及测试 4.2.1 焊接元器件焊接元器件 领取所需元器件焊接在板子上,焊接过程注意综合考虑各个期间的引脚及接电源 的节点的情况,对接线路径进行规划,尽量避免线路的重叠,要求尽量美观实用。焊 接固定座槽,注意不要短路和短路,可以准备好电压表在一边变焊接边测试,确保一 步步准确无误的进行,以免后面的返工。连接各条线路不要错漏,不要重复。 焊接时,烙铁到鼻子的距离应该不少于 20cm ,由于焊锡丝中含有一定比例

15、的铅, 而铅是对人体有害的一种重金属,因此操作时应该戴手套或在操作后洗手,避免食入 铅尘。电烙铁使用以后,一定要稳妥地插放在烙铁架上,并注意导线等其他杂物不要 碰到烙铁头,以免烫伤导线,造成漏电等事故。 基本操作分为五步:准备施焊,左手拿焊丝,右手握烙铁,进入备焊状态。要求 烙铁头保持干净,无焊渣等氧化物,并在表面镀有一层焊锡;加热焊件,烙铁头靠在 两焊件的连接处,加热整个焊件全体,时间大约为 12 秒钟。对于在印制板上焊接 元器件来说,要注意使烙铁头同时接触两个被焊接物;熔化焊料,焊件的焊接面被加 热到一定温度时,焊锡丝从烙铁对面接触焊件。注意:不要把焊锡丝送到烙铁头上; 移开焊锡,当焊丝熔

16、化一定量后,立即向左上 45 度方向移开焊丝;移开烙铁,焊锡 浸润焊盘和焊件的施焊部位以后,向右上 45 度方向移开烙铁,结束焊接。从第三步 开始到第五步结束,时间大约也是 12s。由于焊接技术的不纯熟以及工具的有限,我们 焊接的电路板存在一系列问题。 4.2.2 测试测试 测试时注意接上电源,不上 cpu,电压调为 2-2.5v,尽量低点,测电阻。数码管 接低电压,大约为 2.5v 由于接上拉电阻。 检查焊接是否牢固,是否存在虚焊非线。 焊接完毕检查无误后,装上下载好程序的芯片,接通电源,测试。 测试时要求必须耐心、细心,目标是尽可能早一些找出电路板的缺陷,然后改正, 最后达到测试成功的目的

17、。每当遇到不懂的地方就会更进一步认识到自己的不足与知 识的欠缺,于是要虚心请教,一切都得从头开始 5 程序设计程序设计 #include #define uchar unsigned char #define uint unsigned int sbit p20=p20; sbit p21=p21; sbit p22=p22; sbit p23=p23; sbit p24=p24; sbit p25=p25; sbit p26=p26; uchar num4=0; uchar num24=0; uchar mima4=0; uchar flag=0; uint temp; sbit bell=

18、p37; void delay(int n) uchar j=0; uint k=0; for(j=0;j0;k-); uchar code seg=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d, 0 x07,0 x7f,0 x6f,0 x77,0 x7b,0 x39,0 x5e,0 x79,0 x73; void main() uchar i; p21=0; while(1) p1=0 xfe; p0=segnum0; delay(5); p1=0 xfd; p0=segnum1; delay(5); p1=0 xfb; p0=segnum2; dela

19、y(5); p1=0 xf7; p0=segnum3; delay(5); if(!p22) delay(10); /延时一段时间,来消去抖动 if(!p22) num3+; while(!p22);/消去抖动 if(!p23) delay(10); /延时一段时间,来消去抖动 if(!p23) num2+; while(!p23);/消去抖动 if(!p24) delay(10); /延时一段时间,来消去抖动 if(!p24) num1+; while(!p24);/消去抖动 if(!p25) delay(10); /延时一段时间,来消去抖动 if(!p25) num0+; while(!p

20、25);/消去抖动 if(!p26) delay(10); /延时一段时间,来消去抖动 if(!p26) for(i=0;i4;i+) mimai=numi; while(!p26);/消去抖动 flag=1; break; if(flag=1) while(1) p1=0 xfe; p0=segnum20; delay(5); p1=0 xfd; p0=segnum21; delay(5); p1=0 xfb; p0=segnum22; delay(5); p1=0 xf7; p0=segnum23; delay(5); if(!p22) delay(10); /延时一段时间,来消去抖动 i

21、f(!p22) num23+; while(!p22);/消去抖动 if(!p23) delay(10); /延时一段时间,来消去抖动 if(!p23) num22+; while(!p23);/消去抖动 if(!p24) delay(10); /延时一段时间,来消去抖动 if(!p24) num21+; while(!p24);/消去抖动 if(!p25) delay(10); /延时一段时间,来消去抖动 if(!p25) num20+; while(!p25);/消去抖动 if(!p26) delay(10); /延时一段时间,来消去抖动 if(!p26) for(i=0;i4;i+) if(num2i!=mimai) bell=1; delay(100); break; if(i=4) while(1) p1=0 xfe; p0=seg5; delay(

温馨提示

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

评论

0/150

提交评论