电子密码锁设计_第1页
电子密码锁设计_第2页
电子密码锁设计_第3页
电子密码锁设计_第4页
电子密码锁设计_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

1、 20122012 届毕业设计说明书届毕业设计说明书 电子密码锁设计电子密码锁设计 系 、 部: 电气与信息工程院 学生姓名: 黄柏成 指导教师: 戴日光 职称 讲师 专 业: 电子信息工程技术 班 级: 电信 0902 完成时间: 2012 年 5 月 17 日 1摘 要在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密

2、码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点。在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。随着人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、ic 卡辨认)已在国内外相继面世。但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密

3、要求的箱、柜、门等。而且指纹识识别器若在公共场所使用存在容易机械损坏,ic 卡还存在容易丢失、损坏等特点。加上其成本较高,一定程度上限制了这类产品的普及和推广。鉴于目前的技术水平与市场的接收程度,电子密码锁是这类电子防盗产品的主流。基于以上思路,本次设计使用 atmel 公司的 at89s52 实现一基于单片机的电子密码锁的设计,其主要具有如下功能:(1) 设置 6 位密码,密码通过键盘输入,若密码正确,则将锁打开。(2) 密码可以由用户自己修改设定,锁打开后才能修改密码。修改密码之前必须再次输入密码,输入新密码时候需要二次确认,以防止误操作。(3) 密码输入错误数码显示器会出现错误提示,若密

4、码输入错误次数超过 3 次,锁定键盘。就需要输入超级密码。电子密码锁的设计主要由三部分组成:44 矩阵键盘接口电路、密码锁的控制电路、液晶显示电路。另外系统还有 led 提示灯等。密码锁设计的关键问题是实现密码的输入、清楚、更改、开锁等功能:(1)密码输入功能:按下一个数字键,一个“*”就显示在液晶显示屏上,同时2将先前输入的所有“*”向左移动一位。(2)密码清除功能:当按下清除键时,清除前面输入的所有值,并清除所有显示。(3)密码更改功能:将输入的值作为新的密码。 (4)开锁功能:当按下开锁键,系统将输入与密码进行检查核对,如果正确锁打开,否则不打开。主要的设计实施过程:首先,选用 atme

5、l 公司的单片机 at89s52,以及选购其他电子元器件。第二步,使用 protell99se 设计硬件电路原理图,并设计 pcb 图完成人工布线。第三步,根据所设计的电路图,进行制版焊接。第四步,使用 keil uvision3 软件编写单片机的 c 语言程序、软件调试。联合软、硬件调试电路板,完成本次毕业设计。关键词:关键词:44 矩阵键盘;at89s52;密码锁;密码二次确认;液晶显示屏3design introduction in our daily life, the security of house, company department, documents and finan

6、ce forms, also some personal information always used the lock to protect them. if use the normal keys to lock out the door, we should taken many keys with ourself.that is so difficult to use. and if we lost the keys with careless, the security looks very easy to break out. as the developing of the t

7、echnology,people ask for high securty machines.for satisfy this request, the cipher lock is appeared.the cipher has higher security, lower cost, lower power and easy to use. base on the thinking of the cipher lock, this design uses at89s52 of atmel company to carry out the scm digital cipher lock, i

8、ts main function as follow: 1. set password with 8 words, enter the words via keybord, if enter the right number, the lock will unlock. 2. password can set and fix by yourself, you can just fix the password when the lock is keeping unlock. it need to enter the new password twice to avoid the wrong a

9、ctivity. 3. alarm function. if enter the wrong password, the mon will show the error message, when enter the wrong password over 3 times, the buzzer will alarm and lock the keybord at the same time. this lock is made by 3 parts: gob circuit of 4x4 matrix keybord , gob circuit of cipher lock, gob cir

10、cuit of 8 way display output. other wise, the system has led light, and warning buzzer.the main function of this cipher lock is carried out enter, clear, and change the password, and unlock the door. 1. enter the password: press one number button, one signal - will show on the digital tube on the ri

11、ght side, pls put the - to left side at the same time. 2. clear the password: press the clear button to clear all codes you have enter before. 3. change the password: use the new enter number as the new password. password, if yes the lock will open, if not it keep lock. the main process: first, use

12、scm at89s52 of atmel company. second, design the theory chart with protell99se, and design the pcb board. third, compile the c lang. program, resemble, and test with software keil uvision3. fourth, simulate the hardware test 4with software proteus. last, test the circuit board withe the software and

13、 hardware, finish. key word : matrix keybord; at89s52; led digital tube5目 录第 1 章 绪论 .71.1 背景.71.2 电子锁.71.3 电子密码锁的特点.71.4 电子密码锁的发展趋势.8第 2 章 系统总体设计 .92.1 系统结构.92.2 系统组成.92.3 系统可行性分析.10第 3 章 硬件电路设计 .113.1 单片机 at89s52 简介.113.2 44 矩阵键盘 .153.3 复位电路.153.4 振荡电路.153.5 12864lcd 液晶显示屏 .163.6 发光二极管 led .253.7 电

14、动锁.253.8 蜂鸣器.263.9 完整电路原理图 .313.10 使用到的元器件列表:.32第 4 章 软件程序设计 .334.1 软件设计流程图.344.2 具体功能软件实施.35参考文献 .39致谢 .40附录 1:pcb 封装电路图 .41附录 2.1:密码锁设计主程序.42附录 2.2:键扫程序.476附录 2.3:12864 显示子程序 .49附录 2.4:at2402 存储子程序 .53第 1 章 绪论1.1背景随着社会物质财富的日益增长,安全防盗已成为社会问题。而锁自古以来就是把守门户的铁将军,人们对它要求甚高,既要安全可靠地防盗,又要使用方便,这也是制锁者长期以来研制的主题

15、。目前国内,大部分人使用的还是传统的机械锁。然而,眼下假冒伪劣的机械锁泛滥成灾,互开率非常之高。所谓互开率,是各种锁具的一个技术质量标准,也就是1把钥匙能开几把锁的比率。经国家工商局、国家内贸局、中国消协等部门对锁具市场的调查,发现个别产品的互开率居然超标26倍。为何弹子锁的“互开率”会如此之高?据有关专家人士剖析,弹子锁质量好坏主要取决于弹子数量的多少以及弹子的大小,而弹子的多少和大小受一定条件的限制。此外,即使是一把质量过关的机械锁,通过急开锁,甚至可以在不损坏锁的前提下将锁打开。机械锁的这些弊端为一种新型的锁-电子密码锁,提供了发展的空间。1.2电子锁电子锁是采取电子电路控制,以电磁铁或

16、者卫星电机和锁体作为执行装置的机电一体化锁具,相比传统的机械锁具,电子锁不使用金属钥匙,保密性、精度都有很大提高。 电子锁的发明思路,源自古代发明的自动机械,例如古希腊数学家赫伦的液压自动门,中国古代诸葛亮的木牛流马,它们以重力或蒸汽压力驱动,最广泛的用途乃是用在古代墓道的地下机关。电子工业的诞生,使得以微小电量驱动机械成为可能,于是有了电子锁一日千里的跃进。71.3电子密码锁的特点电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过

17、编程来实现的。其性能和安全性已大大超过了机械锁,主要特点如下:1保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。2密码可变。 用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。3误码输入保护。当输入密码多次错误时,报警系统自动启动,防止试探密码。1.4电子密码锁的发展趋势从目前的技术水平和市场认可程度看,使用最为广泛的是键盘式电子密码锁,该产品主要应用于保险箱、保险柜和金库,还有一部分应用于保管箱和运钞车。键盘式电子密码在键盘上输入,与打电话差不多,因而易于掌握,其突出优点是“密码”是记在被授权人脑子里的数字和字符,既准确又可靠,不会丢失(除了忘记)

18、,难以被窃(除非自己泄露) 。但是密码不能太简单,太简单了就容易被他人在键盘上试探出来,或者可能被旁观者窥测出来,造成保密性不足。当然,密码又不能太复杂,太复杂了可能自己都糊涂了,或者输入密码操作成功率低,造成使用不便。因此,为了发扬优点、克服弱点,键盘式电子密码也在不断发展中,如“任意设定密码”技术使得被授权人可以根据自己的需要或喜好设定密码,常用常新;而“自动更改密码”技术使得本次输入的密码将自动更改成下次应输入的密码,更改的规律不为他人所知,因而不怕旁观者窥测;独出心裁的“键盘乱序显示”技术使得键盘上的固定键位每次显示出的字符不固定,并且显示的窄小角度只能由操作者正面看得到,因而即使旁观

19、者看见操作动作也难以窥测出密码;“多重密码设定”技术使得单组密码不一定有效,适合多人分权使用,需要输入两组以上的密码才被认可,大大提高了保密性,如果限定输入这些密码的先后顺序或时间区段,则保密性还可提高。在输入密码的过程中,为了限制试探密码的企图,通常输入错误码若干次或若干时间内输入不正确,即“封锁”键盘,不再接受输入操作。总之,尽管新式电子防盗锁层出不穷,但键盘式电子密码防盗锁不仅在市场上居于主流地位,而且,还经常作为其他类型电子防盗锁的辅助输入手段。8第 2 章 系统总体设计2.1 系统结构 at89s52液晶显示屏at24c02led44 键盘复位电路 图 21 系统结构图电源92.2

20、系统组成如图 21 所示系统主要由 at89s52、12864 液晶显示器、24c02 芯片、led、44 矩阵键盘、复位电路等组成。2.3 系统可行性分析 系统工作原理分析:使用 at89s52 单片机、44 矩阵键盘、led、24c02 芯片,12864 液晶显示器等。矩阵键盘分别为0、1、2、3、4、5、6、7、8、9、*、cle、enter、modify。系统开始显示“input”提示输入密码;输入密码时,led 显示电路显示为“*” ,当密码输入完毕按下 enter 键时,对输入密码与设定的密码进行比较,若密码正确则 led 显示电路显示为“一开锁二修改密码”提示锁打开;若密码不正确

21、,led 显示电路显示提示“密码错误,请重新输入” 。在输入正确密码后,按下修改键时,液晶显示屏显示电路显示提示“请输入密码” ,此时输入正确的旧密码,则显示电路会有提示输入新密码在输入新密码后,显示电路会再次提示“再次输入新密码”若两次输入密码不一致,则修改密码失败,一致则成功。在修改密码的过程中,如果一开始输入的旧密码错误显示电路会显示提示,同时系统返回到开始。若在“再次输入新密码”的时候输入新密码与前次不一致,则会返回到系统开始。修改密码完成后,系统自动清零上锁。要再次开锁则需要输入正确的密码。 系统中 cel 键用于退格,在输入密码时,若输入错误且未按下 enter 键,按下cle 可

22、以锁定刚输入的密码,然后再次输入。 为了防止恶意尝试,系统才用若连续输入 3 次错误密码,锁定键盘,可以提高系统的安全系数,同时也能够保护合法用户的正常使用。10第 3 章 硬件电路设计3.1 单片机 at89s52 简介at89s52 为 atmel 所生产的一种低功耗、高性能 cmos8 位微控制器,具有 8k在系统可编程 flsah 存储器。3.1.1 at89s52 主要功能列举如下:1、拥有灵巧的 8 位 cpu 和在系统可编程 flash2、晶片内部具时钟振荡器(传统最高工作频率可至 12mhz)3、内部程序存储器(rom)为 8kb4、内部数据存储器(ram)为 256 字节5、

23、32 个可编程 i/o 口线6、8 个中断向量源7、三个 16 位定时器/计数器8、三级加密程序存储器9、全双工 uart 串行通道113.1.2 at89s52 各引脚功能介绍: 图 31 at89s52 各引脚vcc:at89s52 电源正端输入,接+5v。vss:电源地端。xtal1:单芯片系统时钟的反相放大器输入端。xtal2:系统时钟的反相放大器输出端,一般在设计上只要在 xtal1 和 xtal2 上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一 20pf 的小电容,可以使系统更稳定,避免噪声干扰而死机。reset:at89s52 的重置引脚,高电平动作,当要

24、对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,at89s51 便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址 0000h 处开始读入程序代码而执行程序。ea/vpp:ea为英文external access的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部12eprom 中)来执行程序。因此在 8031 及 8032 中,ea 引脚必须接低电平,因为其内部无程序存储器空间。如果是使用 8751 内部程序空间时,此引脚要接成高电平。此外,在将程序代码烧录至 8751 内部 e

25、prom 时,可以利用此引脚来输入 21v 的烧录高压(vpp) 。ale/prog:ale 是英文address latch enable的缩写,表示地址锁存器启用信号。at89s52 可以利用这支引脚来触发外部的 8 位锁存器(如 74ls373) ,将端口 0 的地址总线(a0a7)锁进锁存器中,因为 at89s52 是以多工的方式送出地址及数据。平时在程序执行时 ale 引脚的输出频率约是系统工作频率的 1/6,因此可以用来驱动其他周边晶片的时基输入。此外在烧录 8751 程序代码时,此引脚会被当成程序规划的特殊功能来使用。psen:此为program store enable的缩写,

26、其意为程序储存启用,当 8051 被设成为读取外部程序代码工作模式时(ea=0) ,会送出此信号以便取得程序代码,通常这支脚是接到 eprom 的 oe 脚。at89s52 可以利用 psen 及 rd 引脚分别启用存在外部的 ram 与 eprom,使得数据存储器与程序存储器可以合并在一起而共用 64k 的定址范围。port0(p0.0p0.7):端口 0 是一个 8 位宽的开路汲极(open drain)双向输出入端口,共有 8 个位,p0.0 表示位 0,p0.1 表示位 1,依此类推。其他三个 i/o 端口(p1、p2、p3)则不具有此电路组态,而是内部有一提升电路,p0 在当做 i/

27、o 用时可以推动 8 个 ls 的ttl 负载。如果当 ea 引脚为低电平时(即取用外部程序代码或数据存储器) ,p0 就以多工方式提供地址总线(a0a7)及数据总线(d0d7) 。设计者必须外加一锁存器将端口 0 送出的地址栓锁住成为 a0a7,再配合端口 2 所送出的 a8a15 合成一完整的 16 位地址总线,而定址到 64k 的外部存储器空间。port2(p2.0p2.7):端口 2 是具有内部提升电路的双向 i/o 端口,每一个引脚可以推动 4 个 ls 的ttl 负载,若将端口 2 的输出设为高电平时,此端口便能当成输入端口来使用。p2除了当做一般 i/o 端口使用外,若是在 at

28、89s52 扩充外接程序存储器或数据存储器时,也提供地址总线的高字节 a8a15,这个时候 p2 便不能当做 i/o 来使用了。port1(p1.0p1.7):端口 1 也是具有内部提升电路的双向 i/o 端口,其输出缓冲器可以推动 4 个 ls ttl 负载,同样地若将端口 1 的输出设为高电平,便是由此端口来输入数据。如果是使用 8052 或是 8032 的话,p1.0 又当做定时器 2 的外部脉冲输入脚,而 p1.1 可13以有 t2ex 功能,可以做外部中断输入的触发脚位。port3(p3.0p3.7):端口 3 也具有内部提升电路的双向 i/o 端口,其输出缓冲器可以推动 4 个 t

29、tl负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。其引脚分配如下:p3.0:rxd,串行通信输入。p3.1:txd,串行通信输出。p3.2:int0,外部中断 0 输入。p3.3:int1,外部中断 1 输入。p3.4:t0,计时计数器 0 输入。p3.5:t1,计时计数器 1 输入。p3.6:wr:外部数据存储器的写入信号。p3.7:rd,外部数据存储器的读取信号。rst:复位输入。当振荡器复位器件时,要保持rst 脚两个机器周期的高电平时间。ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址

30、的地位字节。在 flash 编程期间,此引脚用于输入编程脉冲。在平时,ale 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ale 脉冲。如想禁止 ale 的输出可在sfr8eh 地址上置 0。此时, ale 只有在执行 movx,movc 指令是 ale 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ale 禁止,置位无效。/psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次 /psen 有效。但在访问外部数据存储器时,这两次有效的/ps

31、en 信号将不出现。/ea/vpp:当/ea 保持低电平时,则在此期间外部程序存储器(0000h-ffffh),不管是否有内部程序存储器。注意加密方式1 时,/ea 将内部锁定为 reset;当/ea 端保持高电平时,此间内部程序存储器。在flash 编程期间,此引脚也用于施加12v 编程电源( vpp)。xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。xtal2:来自反向振荡器的输出。143.2 44 矩阵键盘如图所示,本系统采用 44 矩阵键盘,16 个按键分为输入数字键:*、0、#、1、2、3、4、5、6、7、8、9;矩阵键盘。图 32 44 矩阵键盘原理图3.3 复位电路图

32、33 复位电路 时钟电路工作后,在 rest 管脚上加两个机器周期的高电平,芯片内部开始进行初始复位(如图 33) 。 3.4 振荡电路15图 34 振荡电路 本设计晶振选择频率为 12mhz,电容选择 30pf 如图(34)。经计算得单片机工作胡机器周期为:12(112m)=1us。3.5 12864lcd 液晶显示屏图 35 液晶屏电路原理图 163.5.1 概述 带中文字库的 128x64 是一种具有 4 位/8 位并行、2 线或 3 线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为12864, 内置 8192 个 16*16 点汉字,和 12

33、8 个 16*8 点 ascii 字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示 84 行 1616 点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。3.5.2 基本特性:(1)、低电源电压(vdd:+3.0-+5.5v)(2)、显示分辨率:12864 点 (3)、内置汉字字库,提供 8192 个 1616 点阵汉字(简繁体可选) (4)、内置 128 个 168 点阵字符 (5)、2m

34、hz 时钟频率 (6)、显示方式:stn、半透、正显 (7)、驱动方式:1/32duty,1/5bias (8)、视角方向:6 点 (9)、背光方式:侧部高亮白色 led,功耗仅为普通 led 的 1/51/10 (10)、通讯方式:串行、并口可选 (11)、内置 dc-dc 转换电路,无需外加负压 (12)、无需片选信号,简化软件设计(13)、工作温度: 0 - +55 ,存储温度: -20 - +60模块接口说明:*注释 1:如在实际应用中仅使用串口通讯模式,可将 psb 接固定低电平,也可以将模块上的 j8 和“gnd”用焊锡短接。*注释 2:模块内部接有上电复位电路,因此在不需要经常复

35、位的场合可将该端悬空。*注释 3:如背光和模块共用一个电源,可以将模块上的 ja、jk 用焊锡短接。3.5.3 并行接口管脚号管脚名称电平管脚功能描述171vss0v电源地2vcc3.0+5v电源正3v0-对比度(亮度)调整4rs(cs)h/lrs=“h”,表示 db7db0 为显示数据rs=“l”,表示 db7db0 为显示指令数据5r/w(sid)h/lr/w=“h”,e=“h”,数据被读到 db7db0r/w=“l”,e=“hl”, db7db0 的数据被写到 ir 或 dr6e(sclk)h/l使能信号7db0h/l三态数据线8db1h/l三态数据线9db2h/l三态数据线10db3h

36、/l三态数据线11db4h/l三态数据线12db5h/l三态数据线13db6h/l三态数据线14db7h/l三态数据线15psbh/lh:8 位或 4 位并口方式,l:串口方式(见注释 1)16nc-空脚17/reseth/l复位端,低电平有效(见注释 2)18vout-lcd 驱动电压输出端19avdd背光源正端(+5v)(见注释 3)20kvss背光源负端(见注释 3)*注释 1:如在实际应用中仅使用并口通讯模式,可将 psb 接固定高电平,也可以将模块上的 j8和“vcc”用焊锡短接。*注释 2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。 *注释 3:如背光和模块

37、共用一个电源,可以将模块上的 ja、jk 用焊锡短接。四.模块主要硬件构成说明183.5.4 控制器接口信号说明 1、rs,r/w 的配合选择决定控制界面的 4 种模式rsr/w功能说明llmpu 写指令到指令暂存器(ir)lh读出忙标志(bf)及地址记数器(ac)的状态hlmpu 写入数据到数据暂存器(dr)hhmpu 从数据暂存器(dr)中读出数据 2、e 信号e 状态执行动作结果高低i/o 缓冲dr配合/w 进行写数据或指令高dri/o 缓冲配合 r 进行读数据或指令低/低高无动作 3 、忙标志:bf bf 标志提供内部工作情况.bf=1 表示模块在进行内部操作,此时模块不接受外部指令和

38、数据.bf=0 时,模块为准备状态,随时可接受外部指令和数据.利用 status rd 指令,可以将 bf 读到 db7 总线,从而检验模块之工作状态. 4、字型产生 rom(cgrom): 字型产生 rom(cgrom)提供 8192 个此触发器是用于模块屏幕显示开和关的控制。dff=1 为开显示(display on),ddram 的内容就显示在屏幕上,dff=0 为关显示(display off)。dff 的状态是指令 display on/off 和 rst 信号控制的。 5、显示数据 ram(ddram)模块内部显示数据 ram 提供 642 个位元组的空间,最多可控制 4 行 16

39、 字19(64 个字)的中文字型显示,当写入显示数据 ram 时,可分别显示 cgrom 与 cgram的字型;此模块可显示三种字型,分别是半角英数字型(16*8)、cgram 字型及cgrom 的中文字型,三种字型的选择,由在 ddram 中写入的编码选择,在 0000h0006h 的编码中(其代码分别是 0000、0002、0004、0006 共 4 个)将选择 cgram 的自定义字型,02h7fh 的编码中将选择半角英数字的字型,至于 a1 以上的编码将自动的结合下一个位元组,组成两个位元组的编码形成中文字型的编码big5(a140d75f),gb(a1a0-f7ffh)。 6、字型产

40、生 ram(cgram) 字型产生 ram 提供图象定义(造字)功能, 可以提供四组 1616 点的自定义图象空间,使用者可以将内部字型没有提供的图象字型自行定义到 cgram 中,便可和cgrom 中的定义一样地通过 ddram 显示在屏幕中。 7、地址计数器 ac 地址计数器是用来贮存 ddram/cgram 之一的地址,它可由设定指令暂存器来改变,之后只要读取或是写入 ddram/cgram 的值时,地址计数器的值就会自动加一,当 rs 为“0”时而 r/w 为“1”时,地址计数器的值会被读取到 db6db0 中。 8、光标/闪烁控制电路 此模块提供硬体光标及闪烁控制电路,由地址计数器的

41、值来指定 ddram 中的光标或闪烁位置。3.5.5 指令说明 模块控制芯片提供两套控制命令,基本指令和扩充指令如下:指令表 1:(re=0:基本指令)指令指 令 码功 能rs r/w d7d6d5d4d3d2d1 d0 清除显示0000000001将 ddram 填满20h,并且设定 ddram 的地址计数器(ac)到00h地址归位000000001x设定 ddram 的地址计数器(ac)到00h,并且将游标移到开头原点位置;这个指令不改变 ddram 的内容20显示状态开/关0000001dcbd=1: 整体显示 on c=1: 游标 on b=1:游标位置反白允许进入点设定0000000

42、1i/d s指定在数据的读取与写入时,设定游标的移动方向及指定显示的移位游标或显示移位控制000001s/c r/lxx设定游标的移动与显示的移位控制位;这个指令不改变 ddram 的内容功能设定00001dlxrexxdl=0/1:4/8 位数据re=1: 扩充指令操作re=0: 基本指令操作设定cgram地址0001ac5 ac4 ac3 ac2 ac1 ac0设定 cgram 地址设定0010ac5 ac4 ac3 ac2 ac1 ac0设定 ddram 地址(显示位址)第一行:80h87h21ddram地址第二行:90h97h读取忙标志和地址01bf ac6 ac5 ac4 ac3 a

43、c2 ac1 ac0读取忙标志(bf)可以确认内部动作是否完成,同时可以读出地址计数器(ac)的值写数据到ram10数据将数据 d7d0 写入到内部的 ram (ddram/cgram/iram/gram)读出ram的值11数据从内部 ram 读取数据 d7d0(ddram/cgram/iram/gram)指令表 2:(re=1:扩充指令)指令 指 令 码功 能rsr/wd7d6d5d4d3d2d1d0 待命模式0000000001进入待命模式,执行其他指令都棵终止待命模式22卷动地址开关开启000000001srsr=1:允许输入垂直卷动地址sr=0:允许输入 iram 和 cgram 地址

44、反白选择00000001r1r0选择 2 行中的任一行作反白显示,并可决定反白与否。初始值 r1r000,第一次设定为反白显示,再次设定变回正常睡眠模式0000001slxxsl=0:进入睡眠模式sl=1:脱离睡眠模式扩充功能设定00001clxreg0cl=0/1:4/8 位数据re=1: 扩充指令操作re=0: 基本指令操作g=1/0:绘图开关设定绘图ram地址0010ac60ac50ac4ac3ac3ac2ac2ac1ac1ac0ac0设定绘图 ram先设定垂直(列)地址 ac6ac5ac0再设定水平(行)地址 ac3ac2ac1ac0将以上 16 位地址连续写入即可 备注:当 ic1

45、在接受指令前,微处理器必须先确认其内部处于非忙碌状态,即读取 bf 标志时,bf 需为零,方可接受新的指令;如果在送出一个指令前并不检查 bf 标志,那么在前一个指令和这个指令中间必须延长一段较长的时间,即是等待前一个指令确实执行完成。233.5.6应用举例:1、使用前的准备:先给模块加上工作电压,再按照下图的连接方法调节 lcd 的对比度,使其显示出黑色的底影。此过程亦可以初步检测 lcd 有无缺段现象。2、字符显示:带中文字库的 128x64-0402b 每屏可显示 4 行 8 列共 32 个 1616 点阵的汉字,每个显示 ram 可显示 1 个中文字符或 2 个 168 点阵全高 as

46、cii 码字符,即每屏最多可实现 32 个中文字符或 64 个 ascii 码字符的显示。带中文字库的 128x64-0402b内部提供 1282 字节的字符显示 ram 缓冲区(ddram)。字符显示是通过将字符显示编码写入该字符显示 ram 实现的。根据写入内容的不同,可分别在液晶屏上显示cgrom(中文字库)、hcgrom(ascii 码字库)及 cgram(自定义字形)的内容。三种不同字符/字型的选择编码范围为:00000006h(其代码分别是0000、0002、0004、0006 共 4 个)显示自定义字型,02h7fh 显示半宽 ascii 码字符,a1a0hf7ffh 显示 81

47、92 种 gb2312 中文字库字形。字符显示 ram 在液晶模块中的地址 80h9fh。字符显示的 ram 的地址与 32 个字符显示区域有着一一对应的关系,其对应关系如下表所示。80h81h82h83h84h85h86h87h90h91h92h93h94h95h96h97h88h89h8ah8bh8ch8dh8eh8fh98h99h9ah9bh9ch9dh9eh9fh3 、图形显示:先设垂直地址再设水平地址(连续写入两个字节的资料来完成垂直与水平的坐标地址)垂直地址范围 ac5.ac0水平地址范围 ac3ac0绘图 ram 的地址计数器(ac)只会对水平地址(x 轴)自动加一,当水平地址=

48、0fh 时会重新设为 00h 但并不会对垂直地址做进位自动加一,故当连续写入多笔资料时,程序需自行判断垂直地址是否需重新设定。gdram 的坐标地址与资料排列顺序如下图:4、应用说明:用带中文字库的 128x64 显示模块时应注意以下几点:欲在某一个位置显示中文字符时,应先设定显示字符位置,即先设定显示地址,24再写入中文字符编码。显示 ascii 字符过程与显示中文字符过程相同。不过在显示连续字符时,只须设定一次显示地址,由模块自动对地址加 1 指向下一个字符位置,否则,显示的字符中将会有一个空 ascii 字符位置。当字符编码为 2 字节时,应先写入高位字节,再写入低位字节。模块在接收指令

49、前,向处理器必须先确认模块内部处于非忙状态,即读取 bf 标志时 bf 需为“0”,方可接受新的指令。如果在送出一个指令前不检查 bf 标志,则在前一个指令和这个指令中间必须延迟一段较长的时间,即等待前一个指令确定执行完成。指令执行的时间请参考指令表中的指令执行时间说明。“re”为基本指令集与扩充指令集的选择控制位。当变更“re”后,以后的指令集将维持在最后的状态,除非再次变更“re”位,否则使用相同指令集时,无需每次均重设“re”位。3.6 发光二极管 led图 36 二极管 led 由于 led 使用 p0 口驱动要加上上拉电阻如图 36。3.7 电动锁25图 37 电动锁由于电动锁使用

50、p0 口驱动要加上上拉电阻如图 37。 3.8 蜂鸣器图 38 蜂鸣器由于蜂鸣器使用 p0 口驱动要加上上拉电阻如图 38。263.9 at24c02 简介3.9.1 at24c02 串行 e2prom 的读写 i2c 总线是一种用于 ic 器件之间连接的二线制总线。它通过 sda(串行数据线)及 scl(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件:不管是单片机、存储器、lcd 驱动器还是键盘接口。1i2c 总线的基本结构采用 i2c 总线标准的单片机或 ic 器件,其内部不仅有 i2c 接口电路,而且将内部各单元电路按功能划分为若干相对独立的模块,通过软件寻址实

51、现片选,减少了器件片选线的连接。cpu 不仅能通过指令将某个功能单元电路挂靠或摘离总线,还可对该单元的工作状况进行检测,从而实现对硬件系统的既简单又灵活的扩展与控制。i2c 总线接口电路结构如图 1 所示。图 39 i2c 总线接口电路结构2双向传输的接口特性传统的单片机串行接口的发送和接收一般都各用一条线,如 mcs51 系列的 txd和 rxd,而 i2c 总线则根据器件的功能通过软件程序使其可工作于发送或接收方式。当某个器件向总线上发送信息时,它就是发送器(也叫主器件),而当其从总线上接收信息时,又成为接收器(也叫从器件)。主器件用于启动总线上传送数据并产生时钟以开放传送的器件,此时任何

52、被寻址的器件均被认为是从器件。i2c 总线的控制完全由挂接在总线上的主器件送出的地址和数据决定。在总线上,既没有中心机,也没有优先机。总线上主和从(即发送和接收)的关系不是一成不变的,而是取决于此时数据传送的方向。sda 和 scl 均为双向 i/o 线,通过上拉电阻接正电源。当总线空闲时,两根线都是高电平。连接总线的器件的输出级必须是集电极或漏极开路,以具有线27“与”功能。i2c 总线的数据传送速率在标准工作方式下为 100kbit/s,在快速方式下,最高传送速率可达 400kbit/s。3i2c 总线上的时钟信号在 i2c 总线上传送信息时的时钟同步信号是由挂接在 scl 时钟线上的所有

53、器件的逻辑“与”完成的。scl 线上由高电平到低电平的跳变将影响到这些器件,一旦某个器件的时钟信号下跳为低电平,将使 scl 线一直保持低电平,使 scl 线上的所有器件开始低电平期。此时,低电平周期短的器件的时钟由低至高的跳变并不能影响 scl 线的状态,于是这些器件将进入高电平等待的状态。当所有器件的时钟信号都上跳为高电平时,低电平期结束,scl 线被释放返回高电平,即所有的器件都同时开始它们的高电平期。其后,第一个结束高电平期的器件又将 scl 线拉成低电平。这样就在 scl 线上产生一个同步时钟。可见,时钟低电平时间由时钟低电平期最长的器件确定,而时钟高电平时间由时钟高电平期最短的器件

54、确定。4数据的传送在数据传送过程中,必须确认数据传送的开始和结束。在 i2c 总线技术规范中,开始和结束信号(也称启动和停止信号)的定义如图 2 所示。当时钟线 scl 为高电平时,数据线 sda 由高电平跳变为低电平定义为“开始”信号;当 scl 线为高电平时,sda 线发生低电平到高电平的跳变为“结束”信号。开始和结束信号都是由主器件产生。在开始信号以后,总线即被认为处于忙状态;在结束信号以后的一段时间内,总线被认为是空闲的。图 310 开始和结束信号的定义i2c 总线的数据传送格式是:在 i2c 总线开始信号后,送出的第一个字节数据是用来选择从器件地址的,其中前 7 位为地址码,第 8

55、位为方向位(r/w)。方向位为“0”表示发送,即主器件把信息写到所选择的从器件;方向位为“1”表示主器件将从从器件读信息。开始信号后,系统中的各个器件将自己的地址和主器件送到总线上的地址进行比较,如果与主器件发送到总线上的地址一致,则该器件即为被主器件寻址的器件,其接收信息还是发送信息则由第 8 位(r/w)确定。在 i2c 总线上每次传送的数据字节数不限,但每一个字节必须为 8 位,而且每个传送的字节后面必须跟一个认可位(第 9 位),也叫应答位(ack)。数据的传28送过程如图 3 所示。每次都是先传最高位,通常从器件在接收到每个字节后都会作出响应,即释放 scl 线返回高电平,准备接收下

56、一个数据字节,主器件可继续传送。如果从器件正在处理一个实时事件而不能接收数据时,(例如正在处理一个内部中断,在这个中断处理完之前就不能接收 i2c 总线上的数据字节)可以使时钟 scl 线保持低电平,从器件必须使 sda 保持高电平,此时主器件产生 1 个结束信号,使传送异常结束,迫使主器件处于等待状态。当从器件处理完毕时将释放 scl 线,主器件继续传送。图 311 数据的传送过程当主器件发送完一个字节的数据后,接着发出对应于 scl 线上的一个时钟(ack)认可位,在此时钟内主器件释放 sda 线,一个字节传送结束,而从器件的响应信号将 sda 线拉成低电平,使 sda 在该时钟的高电平期

57、间为稳定的低电平。从器件的响应信号结束后,sda 线返回高电平,进入下一个传送周期。i2c 总线还具有广播呼叫地址用于寻址总线上所有器件的功能。若一个器件不需要广播呼叫寻址中所提供的任何数据,则可以忽略该地址不作响应。如果该器件需要广播呼叫寻址中提供的数据,则应对地址作出响应,其表现为一个接收器。5总线竞争的仲裁总线上可能挂接有多个器件,有时会发生两个或多个主器件同时想占用总线的情况。例如,多单片机系统中,可能在某一时刻有两个单片机要同时向总线发送数据,这种情况叫做总线竞争。i2c 总线具有多主控能力,可以对发生在 sda 线上的总线竞争进行仲裁,其仲裁原则是这样的:当多个主器件同时想占用总线

58、时,如果某个主器件发送高电平,而另一个主器件发送低电平,则发送电平与此时 sda 总线电平不符的那个器件将自动关闭其输出级。总线竞争的仲裁是在两个层次上进行的。首先是地址位的比较,如果主器件寻址同一个从器件,则进入数据位的比较,从而确保了竞争仲裁的可靠性。由于是利用 i2c 总线上的信息进行仲裁,因此不会造成信息的丢失。6. i2c 总线接口器件目前在视频处理、移动通信等领域采用 i2c 总线接口器件已经比较普遍。另外,通用的 i2c 总线接口器件,如带 i2c 总线的单片机、ram、rom、a/d、d/a、lcd 驱动器等器件,也越来越多地应用于计算机及自动控制系统中。 at24c02 是美

59、国 atmel 公司的低功耗 cmos 串行 eeprom,它是内含 2568 位存储空间,具有工作电压宽(2.55.5v)、擦写次数多(大于 10000 次)、写入速29度快(小于 10ms)等特点。下面是它的电路图。图 312 at24c02 电路图 图中 at24c02 的 1、2、3 脚是三条地址线,用于确定芯片的硬件地址。在at89c51 试验开发板上它们都接地,第 8 脚和第 4 脚分别为正、负电源。第 5 脚sda 为串行数据输入/输出,数据通过这条双向 i2c 总线串行传送,在 at89c51 试验开发板上和单片机的 p3.5 连接。第 6 脚 scl 为串行时钟输入线,在 a

60、t89c51 试验开发板上和单片机的 p3.6 连接。sda 和 scl 都需要和正电源间各接一个 5.1k 的电阻上拉。第 7 脚需要接地。 24c02 中带有片内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加 1,以实现对下一个存储单元的读写。所有字节均以单一操作方式读取。为降低总的写入时间,一次操作可写入多达 8 个字节的数据。 303.9 完整电路原理图12pin1power0123456s1d1ledr1470vcc下下x31x12y13y24x05y46x27x58x7 9y310y511x412y013x614y615y716y18*8dainzheng1234567

温馨提示

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

评论

0/150

提交评论