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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

电子密码论文Word文件下载.docx

1、12864显示子程序 49附录2.4:AT2402存储子程序 53第1章 系统总体设计1.1 系统结构 图11 系统结构图1.2 系统组成如图21所示系统主要由AT89C51、1602液晶显示器、LED、4*4矩阵键盘、蜂鸣器电路等组成。1.3 系统可行性分析 系统工作原理分析:使用AT89C51单片机、4*4矩阵键盘、LED、1602液晶显示器等。矩阵键盘分别为0、1、2、3、4、5、6、7、8、9、确认键组成。系统开始显示“WELCOMINPUT”提示输入密码;输入密码时,LCD显示电路显示为“*”,当密码输入完毕按下确认键时,对输入密码与设定的密码进行比较,若密码正确则LCD显示电路显示

2、为“welcom ight open”提示绿灯亮;若密码不正确,LCD显示电路显示提示“worry”。蜂鸣器发声,三次红灯亮,锁定键盘,可以提高系统的安全系数。第2章 硬件电路设计2.1 单片机AT89C51简介AT89C51为 ATMEL 所生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flsah存储器。1 AT89S52主要功能列举如下:(1)拥有灵巧的8位CPU和在系统可编程Flash(2)晶片内部具时钟振荡器(传统最高工作频率可至 12MHz)(3)内部程序存储器(ROM)为 8KB(4) 内部数据存储器(RAM)为 256字节(5) 32 个可编程I/O 口线(6

3、) 8 个中断向量源(7) 三个 16 位定时器/计数器(8) 三级加密程序存储器(9) 全双工UART串行通道2.MCS-51的引脚说明:MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:MCS-51的引脚说明:如图2.1.2图2.1.2 89C51的引脚结构2.2 4*4矩阵键盘矩阵式键盘适用于按键数量较多的场合,由行线和列线组成,按键位于行列的交叉点上。节省I/O口。矩阵键盘工作

4、原理:行线通过上拉电阻接到+5V上。无按键,行线处于高电平状态,有键按下,行线电平状态将由与此行线相连的列线电平决定。列线电平为低,则行线电平为低;列线电平为高,则行线电平为高。如图所示,本系统采用4*4矩阵键盘,前11个按键按顺序分别为0、1、2、3、4、5、6、7、8、9、确认键,后面的键未定义。用户只能通过键盘输入密码。图32 4*4 矩阵键盘原理图3.5 1602LCD液晶显示屏图35 液晶屏电路原理图3.5.1 概述 LCD是一种利用液晶的扭曲、向列效应制成的新型显示器。它具有体积小,质量轻,功耗低,抵制干扰能力强等优点,因而在单片机系统中被广泛应用。LCD本身不发光,是通过借助外界

5、光线照射液晶材料而实现显示的被动显示器件3.5.2 基本特性:(1)、低电源电压(VDD:+3.0-+5.5V)(2)、显示分辨率:12864点 (3)、内置汉字字库,提供8192个1616点阵汉字(简繁体可选) (4)、内置 128个168点阵字符 (5)、2MHZ时钟频率 (6)、显示方式:STN、半透、正显 (7)、驱动方式:1/32DUTY,1/5BIAS (8)、视角方向:6点 (9)、背光方式:侧部高亮白色LED,功耗仅为普通LED的1/51/10 (10)、通讯方式:串行、并口可选 (11)、内置DC-DC转换电路,无需外加负压 (12)、无需片选信号,简化软件设计(13)、工作

6、温度: 0 - +55 ,存储温度: -20 - +60模块接口说明:*注释1:如在实际应用中仅使用串口通讯模式,可将PSB接固定低电平,也可以将模块上的J8和“GND”用焊锡短接。*注释2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。*注释3:如背光和模块共用一个电源,可以将模块上的JA、JK用焊锡短接。3.5.3 并行接口管脚号管脚名称电平管脚功能描述1VSS0V电源地2VCC3.0+5V电源正3V0-对比度(亮度)调整4RS(CS)H/LRS=“H”,表示DB7DB0为显示数据RS=“L”,表示DB7DB0为显示指令数据5R/W(SID)R/W=“H”,E=“H”,

7、数据被读到DB7DB0R/W=“L”,E=“HL”, DB7DB0的数据被写到IR或DR6E(SCLK)使能信号7DB0三态数据线8DB19DB210DB311DB412DB513DB614DB715PSBH:8位或4位并口方式,L:串口方式(见注释1)16NC空脚17/RESET复位端,低电平有效(见注释2)18VOUTLCD驱动电压输出端19AVDD背光源正端(+5V)(见注释3)20K背光源负端(见注释3)如在实际应用中仅使用并口通讯模式,可将PSB接固定高电平,也可以将模块上的J8和“VCC”用焊锡短接。四.模块主要硬件构成说明3.5.4 控制器接口信号说明 1、RS,R/W的配合选择

8、决定控制界面的4种模式RSR/W功能说明MPU写指令到指令暂存器(IR)读出忙标志(BF)及地址记数器(AC)的状态MPU写入数据到数据暂存器(DR)MPU从数据暂存器(DR)中读出 2、E信号E状态执行动作结果高低I/O缓冲DR配合/W进行写数据或指令高DRI/O缓冲配合R进行读数据或指令低/低无动作 3 、忙标志:BF BF标志提供内部工作情况.BF=1表示模块在进行内部操作,此时模块不接受外部指令和数据.BF=0时,模块为准备状态,随时可接受外部指令和数据.利用STATUS RD 指令,可以将BF读到DB7总线,从而检验模块之工作状态. 4、字型产生ROM(CGROM): 字型产生ROM

9、(CGROM)提供8192个此触发器是用于模块屏幕显示开和关的控制。DFF=1为开显示(DISPLAY ON),DDRAM 的内容就显示在屏幕上,DFF=0为关显示(DISPLAY OFF)。DFF 的状态是指令DISPLAY ON/OFF和RST信号控制的。 5、显示数据RAM(DDRAM)模块内部显示数据RAM提供642个位元组的空间,最多可控制4行16字(64个字)的中文字型显示,当写入显示数据RAM时,可分别显示CGROM与CGRAM的字型;此模块可显示三种字型,分别是半角英数字型(16*8)、CGRAM字型及CGROM的中文字型,三种字型的选择,由在DDRAM中写入的编码选择,在00

10、00H0006H的编码中(其代码分别是0000、0002、0004、0006共4个)将选择CGRAM的自定义字型,02H7FH的编码中将选择半角英数字的字型,至于A1以上的编码将自动的结合下一个位元组,组成两个位元组的编码形成中文字型的编码BIG5(A140D75F),GB(A1A0-F7FFH)。 6、字型产生RAM(CGRAM) 字型产生RAM提供图象定义(造字)功能, 可以提供四组1616点的自定义图象空间,使用者可以将内部字型没有提供的图象字型自行定义到CGRAM中,便可和CGROM中的定义一样地通过DDRAM显示在屏幕中。 7、地址计数器AC 地址计数器是用来贮存DDRAM/CGRA

11、M之一的地址,它可由设定指令暂存器来改变,之后只要读取或是写入DDRAM/CGRAM的值时,地址计数器的值就会自动加一,当RS为“0”时而R/W为“1”时,地址计数器的值会被读取到DB6DB0中。 8、光标/闪烁控制电路此模块提供硬体光标及闪烁控制电路,由地址计数器的值来指定DDRAM中的光标或闪烁位置。3.6 发光二极管LED图36 二极管LED LED是单片机应用系统中常用的输出设备,LED由发光二极管构成,具有结构简单、价格便宜等特点。在本次设计中用到了两个LED。它们由引脚控制,当密码正确时相应的引脚变为低电平从而发光,绿灯亮。错误时红灯亮。 3.8 蜂鸣器图38 蜂鸣器由于蜂鸣器使用

12、P1口驱动要加上上拉电阻如图38。当密码输入错误,P1口变为高电平从而使蜂鸣器发声。3.9电路原理图电路仿真图 第4章 软件程序设计本系统软件设计由主程序,初始化程序,LCD显示程序,键盘扫描程序组成。主要程序设计流程图如下所示:4.1 软件设计流程图图41 软件设计流程图4.2 具体功能软件实施4.2.1 开始等待流程 系统开始一直显示提示“请输入密码”,并判断有否按键,当有键按下跳出等待。图42 开始等待流程4.2.2 密码检查功能本系统使用数组PASSWORD6存储密码,系统初始化对数组负值PASSWORD61,6,7,9,10,11相当于键盘上的1,2,3,4,5,6。输入密码的时候,

13、先将输入的每一位密码分别放置在数组key6中,然后再将key6与PASSWORD6的每一位分别对照。若每一位都相等,密码检查通过。图43 密码检查4.2.3 键盘扫描如图3-2,本系统使用44矩阵键盘当没有键按下时,行线和列线之间是不相连的,若第N行与第M列的键被按下,那么第N行与第M列的线就被接通。根据上述原理,本系统的键盘扫描方法是利用P1口的低四位作为行扫描线,P1口的高四位作为列回扫线。具体实施方法为:先使P1.0口输出低电平,P1口其他口输出高电平,然后对P1.4、P1.5、P1.6、P1.7四个口分别作判断。若此四口都为高电平,则没有键按下;若有键按下,P1.4、P1.5、P1.6

14、、P1.7四个口必定有一个口输入为低电平,再判断P1.4、P1.5、P1.6、P1.7哪个口为低电平则可判断按键在哪列上。如P1.4、P1.5、P1.6、P1.7没有低电平,再使P1.1为低电平,其他口为高电平,依次扫描下去,找到按键所在的行,再判断P2口的高四位哪一位为低,便可知道键在哪一列上。键盘扫描子程序key()如下:/* 34矩阵键盘输入函数*/ #ifndef _keypad_h_#define _keypad_h_#includeabsacc.hintrins.h#define uchar unsigned char#define uint unsigned intuchar i

15、data com1,com2;uchar key_scan() uchar temp; uchar com; P1=0xf8; delay(5); if(P1!=0xf8) com1=P1; P1=0x0f; com2=P1; while(P1!=0xf8); temp=com1|com2; while(P1&0xf0)!=0xf0) ; if(temp=0xee)com=0x01; if(temp=0xed)com=0x02; if(temp=0xeb)com=0x03; if(temp=0xde)com=0x04; if(temp=0xdd)com=0x05; if(temp=0xdb)c

16、om=0x06; if(temp=0xbe)com=0x07; if(temp=0xbd)com=0x08; if(temp=0xbb)com=0x09; if(temp=0x7e)com=0x0a; /10为键值,其代码功能为清除 if(temp=0x7d)com=0x00; if(temp=0x7b)com=0x0b; /其代码功能为输入密码结束并确认 ,即开锁 return(com);#endif4.2.5 修改密码本系统设定的修改密码过程为,在输入正确的密码后,按“确认”键,此时提示输入旧密码“请输入密码”,输入正确的旧密码后,可以输入新密码。此时键入的六位新密码将保存到数组 key6

17、中。然后显示器提示再次输入,输入完毕后,第二次输入的密码将保存在iic6中,然后将key6中六位分别与iic6中的六位比对,若两次密码输入一直,即将新的密码,也就是iic6和iic6中的六位赋值到PASSWORD6中。此时修改密码工作完成,屏幕显示“密码修改成功”。系统将跳翻到开始,即提示输入密码“INPUT”。参考文献1 当方微型计算机控制技术M中国水利水电出版社,2001年2 胡汉才单片机原理及其借口技术M清华大学出版社,1996年3 赵新民智能仪器设计基础M哈尔滨工业大学出版社,1999年4 潘新,民王,燕芳微型计算机控制技术M电子工业出版社,2003年5 李钟实实用电子报警器精选百例M

18、北京:科技技术文献出版社,2002年6 陈爱弟Protel99se实用培训教程M人民邮电出版社,2000年。7 阎石数字电子技术基础M高等教育出版社,1998年8 童诗白模拟电子技术基础M高等教育出版涉,1998年9 候振鹏嵌入式C语言程序设计M北京:人民邮电出版社,2006年10 徐士良C语言程序设计教程M北京:人民邮电出版社,2001年11 Brian W. Kernighan.The C Programming Language. Prentice Hall PTR,198812 Janice Mazidi.8051 Microcontroller and Embedded System

19、s. Prentice Hall,199913 14 15 16 致谢通过这次毕业设计,让我复习了很多学过的旧知识,同时锻炼了自己的动手能力和查阅资料。尤其是解决在实际中解决排查问题的能力。1、 通过这次的设计,我熟悉了使用Protel的技巧,学会了制作电路板的一些技巧,并且熟悉了如何选购使用电子元器件。2、 在设计中,我学到了如何使用C语言对单片机进行编写程序,熟悉了使用KEIL C软件,并且加深了对单片机的编程技巧。3、 在做这个设计的过程中,我遇到了不少的问题。这锻炼了我筛选、查阅资料,并将理论结合到自己的设计中的能力。一步一步的排除故障原因,找到故障的原因并解决故障。4、 这次的设计使

20、我对模拟电子、数字电子知识加深了了解,尤其是在对电路进行调试的时候,出现了很多这些方面的问题,通过对以往知识的复习巩固,将问题解决。 通过次毕业设计,将我从所学到的专业知识,基本都应用上去,感谢大学三年来,老师对我的教育,让我对掌握了基本的专业技能。同时也感谢戴老师对我毕业设计的指导,在此表示衷心的感谢! 这次的设计有很多的不足,和市场上的产品有一定的差距,还请老师同学们提出宝贵意见!谢谢!PCB封装电路图密码锁设计主程序/*函数库函数:设 计 者:电信0902黄柏成时 间:2012年5月13日*/12864.hkeypad.h24C01.huchar idata key6=0,0,0,0,0

21、,0;uchar idata iic6=1,1,1,0,0,0;void press(uchar *s) uchar dat;/* write_com(0x98+2); /保存第一位密码 while(P1=0xf8); dat=key_scan(); if(dat!=0x0a)&(dat!=0x0b) *s=dat; write_date(0x2a); s+; /保存第二位密码 /保存第三位密码 /保存第四位密码 /保存第五位密码 /保存第六位密码 doP1=0xf8; /键入Enter键盘继续执行下面语句,否则等待 while(dat!=0x0b);void Delay10ms(void) /延时10ms uint i,j,k; for(i=10;i0;i-) for(j=4;jj-) for(k=248;kk-);/*

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

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