电子密码锁单片机系统的硬件设计_第1页
电子密码锁单片机系统的硬件设计_第2页
电子密码锁单片机系统的硬件设计_第3页
电子密码锁单片机系统的硬件设计_第4页
电子密码锁单片机系统的硬件设计_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

1、武汉工业学院毕业设计(论文)2007届设计(论文)题目:电子密码锁单片机系统的硬件设计姓 名 学 号 院 系 专 业 指导教师 2007年06月10日电子密码锁单片机系统的硬件设计摘要:随着科技的进步,以单片机为核心的自动门锁控制系统已经开始进入了人们的生活。本论文着重阐述了以MCS-51系列单片机为核心,通过可编程并行接口8255直接控制LCD液晶显示器模块及键盘扫描,并与接触式IC卡读写技术相结合的系统。为保证门锁使用的安全性,系统自动比较IC卡密码和用户输入密码,若输入的密码与系统读出的IC卡密码相同,门锁自动开启;若连续输入三次错误的密码,系统自动停止此卡的使用,并及时将报警信号通过R

2、S-485串行通信总线传往主控台。本设计的优点是硬件电路简单,软件功能完善,控制系统可靠,具有一定的实用价值。该系统拓展后,可用于其他智能家电的控制,具有好的应用前景。关键词:MCS-51单片机,接触式IC卡,LCD显示器,电子密码锁Electronic Locks SCM System Hardware Design Abstract:With the progress of technology, the automatic door locks control system which takes the the Single Micro Chip Computer as the cor

3、e is stepping into peoples lives. This paper focuses on the system which takes the series Single Micro Chip Computer MCS-51 as the core, which controls Liquid Crystal Display modules and keyboard scanning through the 8255 chip directly, and contacts the IC card read-write technology. In order to gua

4、rantee the security of the door locks use, the system design offers an comparision between the IC card password and the password which the user input. If inputed password and the IC card password read out on the system read-out are same, the door lock will be opened automaticly. If you input wrong p

5、assword three times continuously, the system will automatically stop the use of the card, and the alarm will be transmited to the key station promptly through the RS-485 serial telecommunications bus st-bus. The advantage of this design is simple in the hardware circuits, software functional improve

6、ments, the control systems reliablily, and has certain practical. After this system is developed, it can be used in other intelligent electrical appliances control and has a good application prospect. Key words : Single Chip Micro Computer, IC cards, Liquid Crystal Display, Electroniclocks目 录引言11系统分

7、析11.1 系统研究的可行性11.2 需求分析11.3 系统整体设计方案11.4 系统集成22 系统硬件整体设计方案32.1 所需功能模块32.2 外围互连的资源分配示意图33 MCS-51系列单片机33.1 MCS-51单片机简介33.2 MCS-51单片机的基本结构43.2.1 MCS-51单片机的基本组成43.2.2 MCS-51单片机硬件结构特点53.3 MCS-51单片机的引脚及片外总线结构53.3.1 MCS-51单片机芯片引脚描述53.3.2 MCS-51单片机外总线结构53.4 MCS-51与直接控制的外围功能模块互连的资源分配54 接触式IC卡模块的设计与实现64.1 IC卡

8、概述64.2 IC卡的分类64.3 接触式IC卡说明64.4 接触式IC卡引脚图74.5 SLE4442引脚定义及功能8的存储区域分配94.7 SLE4442的通信协议10密码锁系统硬件原理图124.9 IC卡的应用125 8255芯片与LCD液晶显示、键盘模块的设计与功能实现125.1 8255芯片的设计及功能125.1.1 8255芯片的引入125.1.2 8255简介及内部结构125.1.3 8255的工作方式135.1.4 8255的选通输入、输出时序135.1.5 8255电路原理图及编程实现145.2 LCD液晶显示模块设计145.2.1 LCD的结构设计及工作原理145.2.2

9、点阵式LCD的特点155.2.3 LCD硬件接口协议165.2.4 LCD引脚设计及功能16与8255连接电路图195.2.6 汉字显示原理195.2.7 字库的建立195.2.8 汉字显示的处理流程图205.2.9 LCD液晶显示流程图205.2.10 LCD液晶显示的调试225.3 键盘扫描设计与实现225.3.1 键盘概述及工作原理225.3.2 键盘电路图225.3.3 键盘接口电路235.3.4 行列式键盘原理电路实现245.3.5 键盘的调试246 存储器组织256.1 存储器设计256.2 AT29C010A的特点及工作原理26总结28致谢1参考文献1引言随着科技的发展,安全已成

10、为人们关注的焦点之一,于是各种安全产品相继问世(如指纹防盗!红外防盗!GPS等)。虽然这类产品安全性高,但因其生产成本高,携带安装使用不方便,在一定程度上限制了这类产品的普及和推广。 本文介绍的是一种基于MCS-51单片机系统的密码锁的硬件设计及实现方法。这种电路设计具有按键有效提示,输入错误提示,控制开锁电平,控制报警电路,修改密码等多种功能。本设计中选用的逻辑加密卡SLE4442保密性强,灵活性高,以其优良的性价比,近年来在国内被广泛应用。1系统分析1.1 系统研究的可行性任何系统在开发之前,都要进行可行性分析来确定项目开发是否有必要和可行。必须分析几种主要可能解法的利弊,从而判断原定的系

11、统规模和目标是否能现实,系统完成后所能带来的效益是否大到值得投资开发。因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。首先需要进一步分析和澄清问题定义,在问题定义阶段初步确定规模和目标,如果是正确的就进一步加以肯定,如果有错误就应该及时改正,如果对目标系统有任何约束和限制,也必须把它们清楚地列举出来。在澄清了问题定义后,导出系统的逻辑模型,然后从系统逻辑模型出发,探讨出系统实现方案,并仔细分析它的可行性。就本系统而言,在设计其逻辑模型时,要先判断该系统在开发之后是否能在市场上得到广泛的应用,赢得经济效益。现今越

12、来越多的酒店、宾馆都开始使用智能电子门代替传统的门,这样既方便了客人的使用,也使宾馆的客房管理更安全,即使卡丢失,通过总台输入相应的客户信息也能将门打开。本设计成本也很低。随着科技的进步,当今很多产品越来越智能化也是发展的必然趋势,此产品及时地配合上了科学的发展,还会有一定的拓展空间,比如现在很多高校都用校园一卡通,很大程度地方便了学生的日常生活。再有,现在世界上和很多科学家正在努力开发数字化家庭这个项目,本设计正是步入这个目标的初级阶段。它省去了携带钥匙,只能一把钥匙开一把锁的不便。人们在使用传统的门时,如果丢失了钥匙只能将门撬开,智能门锁系统就避免了这个弊端,它将每个门锁密码统一存在总台控

13、制中,即使IC卡丢失,也可通过总台将门打开。 需求分析确定设计任务和设计目标,并提炼出设计规格说明书,作为正式设计指导和验收的标准。系统的需求分析一般分功能性需求和非功能性需求两方面。功能性需求是指系统的基本功能,如输入输出信号、操作方式等;非功能需求包括系统性能、成本、功耗等因素。本设计适应着科技的发展,有相当一部分的科技人员正在研究开发这个项目,因此本系统具有技术可行性。本系统中还包括了后台对电子门的控制,现在有专门从事这种后台操作的工作人员,统一对电子门锁系统进行管理和技术维护,因此本系统还具有一定的管理可行性。1.3 系统整体设计方案描述系统如何实现所述的功能和非功能需求,包括对硬件、

14、软件和执行装置的功能划分以及系统的硬件、软件选型等。一个好的体系结构是设计成功的关键,根据上面的可行性和需求分析,我制定了系统基本功能的设计方案,插入卡之后:(1)系统自动读取IC卡程序,用一个中断程序,只可对IC卡执行继续工作,对其他类型的卡不可识别。(2)系统接着自动读取IC卡密码,若此卡已经过期,则自动中断,不可识别。(3)插入卡后,若IC卡有效,则液晶屏幕显示汉字:请输入密码。(4)从键盘输入密码,读入密码,并在屏幕上以*显示。(5)单片机比较两个密码。若不同,则中断程序,并将程序跳到(4),最多循环三次,若仍不相同,则系统收回对IC卡的使用权;若相同,则门自动开锁。总体的流程图见图1

15、.1。插入IC卡读入IC卡读IC卡密码读从键盘输入的密码 中 断 3 次比较密码 不 Y 相 同 报 N 警 门开锁 图1.1 系统总体流程示意图1.4 系统集成系统集成是把系统的软件、硬件和执行装置集成在一起,进行调试,发现并改进单元设计过程中的错误,使程序最终能正常运行,系统实现所需的功能。2 系统硬件整体设计方案2.1 所需功能模块通过系统的需求分析和可行性研究得出系统所要实现的功能,并得出实现这些功能需要用到以下几个功能模块,包括:IC卡模块、RS-485模块、存储器模块、8255与LCD液晶显示、键盘模块、电子门锁开启及报警模块。其中的电子门锁开启及报警模块与一个发光二级管和一个报警

16、笛相连,当系统通知电子门锁开启及报警模块可以将电子门打开时,门锁自动打开,在本设计中用绿灯亮来表示电子门打开;当系统运行三次比较密码程序后,若两个密码仍不相同,则系统就通过电子门锁开启及报警模块通知警笛报警。其他的功能模块在以下的论文中会做详细的介绍,这些功能模块都是以MCS-51系列单片机中的8031为核心实现的。2.2 外围互连的资源分配示意图总体硬件设计图如图2.1。图 系统总体设计示意图3 MCS-51系列单片机3.1 MCS-51单片机简介大家所熟悉的8031单片机是一个8位单片机。所谓8位单片机,就是在单一芯片上,包括了8位微处理器、外围接口、静态存储器等为一体高度集成的电路。在一

17、小块芯片上,集成了一个微型计算机的各个组成部分。每一个单片机包括:一个8位的微处理器(CPU);片内数据存储器RAM(128B/256B),用以存放可以读/写的数据,如运算的中间结果、最终结果以及欲显示的数据等;片内程序存储器ROM/EPROM(4KB/8KB),用以存放程序、一些原始数据和表格。但也有一些单片机内部不带ROM/EPROM,如8031,8032,80C31等;四个8位并行I/O接口P0P3,每个口既可以用作输入,也可以用作输出;两个定时器/计数器,每个定时器/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制;五个

18、中断源的中断控制系统;一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。最高允许振荡频率为12MHz。以上各个部分通过内部数据总线相连接。3.2 MCS-51单片机的基本结构3.2.1 MCS-51单片机的基本组成MCS-51片内总部结构框图如图3.1所示。图3.1 MCS-51片内总部结构框图3.2.2 MCS-51单片机硬件结构特点 MCS-51单片机硬件结构:(1)内部程序存储器(ROM)和内部数据存储器(RAM)(2)输入/输出(I/O)端口 (3)外部程序存储器和外部数据存储

19、器寻址空间 (4)中断与堆栈 (5)定时/计数器与寄存器区 (6)指令系统MCS-51单片机内部结构特点:(1)运算器 运算器由8位算术逻辑运算单元ALU(Arithmetic Logic Unit)、8位累加器ACC(Accumulator)、8位寄存器B、程序状态字寄存器PSW(Program Status Word)、8位暂存寄存器TMP1和TMP2等组成。 (2)控制器 主要由程序计数器PC、指令寄存器IR、指令译码器ID、堆栈指针SP、数据指针DPTR、时钟发生器及定时控制逻辑等组成。3.3 MCS-51单片机的引脚及片外总线结构3.3.1 MCS-51单片机芯片引脚描述(1)主电源

20、引脚VCC和VSS (2)外接晶振引脚XTAL1和XTAL2 (3)控制或其他电源复用引脚RST/ VPD、ALE/、和/VPP (4)输入/输出引脚P0、P1、P2、P3(共32根)3.3.2 MCS-51单片机外总线结构微型计算机中的总线通常分为: (1)地址总线(AB):地址总线宽度为16位,由P0口经地址锁存器提供低8位地址(A0-A7);P2口直接提供高8位地址(A8A15)。地址信号是由CPU发出的,故地址总线是单方向的。 (2)数据总线(DB):数据总线宽度为8位,用于传送数据和指令,由P0口提供。 (3)控制总线(CB):控制总线随时掌握各种部件的状态,并根据需要向有关部件发出

21、命令。 3.4 MCS-51与直接控制的外围功能模块互连的资源分配8031CPU外围直接控制IC卡模块、485模块以及存储器模块。由于8031外围接口数目有限,因此以8255扩展的I/O接口将8031的地址总线经过译码后接到8255的CS,通过8255控制LCD液晶显示和键盘的扫描。 4 接触式IC卡模块的设计与实现4.1 IC卡概述IC卡的英文全名是Integrated Circuit Card(集成电路卡),它是继磁卡之后出现的又一种新型信息工具。IC卡将具有存储、加密及数据处理能力的集成电路芯片镶嵌于塑料卡片中。IC卡在有些国家和地区也称智能卡(smart card)、智慧卡(intel

22、ligent card)、微电路卡(microcircuit card)或微芯片卡(Micro chip card)等。它是将一个微电子芯片嵌入符合ISO 7816标准的卡基中,做成卡片形式,已经十分广泛地应用于包括金融、交通、社保等很多领域。IC卡的核心部分是一块集成电路芯片,故它又可称为“芯片卡”。 4.2 IC卡的分类从IC卡的外形分为有触点卡和无触点卡(又称射频卡)两类。前者由读写设备的接头与卡片上的集成电路接触点相接触,进行信息的读写;后者按调制方式可分为频率调制、幅度调制、电容耦合等几种,与读写设备无电接触,通过射频技术进行读写,成功地解决了无源(卡中无电源)和免接触这一难题,是电

23、子器件领域的一大突破,主要用于公交、轮渡、地铁的自动收费系统,也应用在门禁管理、身份证明和电子钱包。接触IC卡与非接触IC卡通过卡上的模块与系统发生联系,模块本身具有记录、计算等功能,保密性、功能强于磁条卡。例如:常用的 IC卡、公交非接触IC卡。4.3 接触式IC卡说明接触式IC卡模块分为推拉式和压入弹出式两种,它们的电路结构完全相同,仅在卡座的机械结构上有所不同,模块的电源从接口总线引入。接触式IC卡通常分为存储器卡、逻辑加密卡、CPU卡、超级智能卡四类。存储器卡是含有E2PROM及其控制电路,但无加密逻辑;逻辑加密卡是由加密逻辑电路和E2PROM组成;CPU卡的卡内不仅有E2PROM等存

24、储器,还带有CPU及其操作系统和加密算法;超级智能卡不仅带有CPU和存储器,还带有液晶屏和微型键盘。IC卡的大小和磁条卡相同,在其左上方嵌有一片或若干片集成电路芯片,芯片一般是不易挥发性存储器(ROM,EPROM,E2PROM),保护逻辑电路,甚至于CPU(中央处理单元)。4.4 接触式IC卡引脚图图4.1 IC卡电源部分原理图IC卡的电源受POWER引脚的控制。只有当POWER为高电平时,+5V才能加到IC 卡VCC引脚上。IC卡电源部分原理图见图4.1。 图4.2 单片机和SLE4442卡的接口电路单片机和SLE4442卡的接口电路见图4.2。将IC卡中地址为20H2FH的数据,读入单片机

25、内部RAM,并存放在地址为30H3FH中。再将单片机内部RAM中地址为40H4FH内的数据写到IC卡中地址为30H3FH内。4.5 SLE4442引脚定义及功能SLE4442 IC卡有8个引出端,符合ISO/IEC7816-2标准,1脚Vcc为工作电源;2脚RST为复位端;3脚CLK为同步时钟信号输出端;5脚GND为接地端;7脚I/O为 双向数据线(漏极开路),所有的地址,数据和命令均从此端输入/输出;4,6,8脚为未用端。其中与复位,读/写操作有关的 引出端是RST,CLK和I/O,具体如图4.3和表4.1。C5C3C1C2C4C8C6C7Vcc RSTCLKN.C.GND GNGNDN.C

26、.I/ON.C.图4.3 SLE4442引脚图管脚号标记符号功能C1Vcc电源C2RST复位C3CLK时钟输入C4N.C.空C5GND地C6N.C.空C7I/O数据输入/输出(开漏)C8N.C.空 表4.1 SLE4442引脚功能SLE4442存储器分为主存储器和保密存储器两部分,如图4.4所示。0313225531加密存储器48位EEPROM3210PSCO O O O数据数据地址地址0地址数据85O O O O2LSB311 PROM保护存储器主存储器主存储器保护存储器加密存储器高压发生器基片电流发生器译码器/比较器 行(列)位抽样检码程序控制复 位封锁逻辑指令序列发生器加密逻辑接口Vcc

27、GNDI/OCLKRSTNCNC应用数据区2248位EEPROM保护数据区328位EEPROM校验参照数据字校验参照数据字校验参照数据字B7B3错误计数器图4.4 SLE4442卡的存储器结构主存储器有256字节,分为保护存储器和应用存储器。保护存储器地址单元为00H1FH,应用存储器地址单元为20HFFH。保护存储器相对于应用存储器有所不同,它具有保护功能,可以通过写入相应的保护位而得到保护。实行保护后,被保护单元不能被擦写;若没有被保护,则其使用与应用存储器完全相同。另外,保护功能是不可逆的,保护存储器中的某单元一旦被保护后就不能再解除保护,保护位存储器的32位和保护存储器的32字节是相对

28、应的。通常情况下,SLE4442保护存储器中的固化信息如下:00H03H 复位应答信息(ATR);04H07H 芯片生产厂家代码和卡型编码(出厂时已固化);15H1AH 应用标识。保密存储器有4个字节,包括1个字节的错误计数器(EC)和3个字节的保密代码(PSC)。SLE4442通过保密存储器进行密码逻辑操作以控制整个主存储器的擦写。它上电后,除密码外的整个存储器只能够读,只有当密码验证正确以后才可以进行擦写,连续三次密码校验错误则芯片自锁,再也不能进行擦写。4.7 SLE4442的通信协议SLE4442卡的通信协议由四种方式组成:(1)复位和复位响应复位可在操作期间任何时候进行,在复位响应期

29、间,任何开始和停止条件均被禁止。(2)命令方式每个命令由起始条件,一个3字节长的命令和停止条件构成。命令方式时序图如图4.5所示。 图4.5 SLE4442卡的命令方式时序图 在这种方式下,IC卡发送数据至IFD(外部接口设备),在CLK上第一个下降沿后,I/O上第一位有效;最后一个数据位之后,需要一个客外的时钟脉冲,以设置I/O处于高状态,同时准备IC卡接收新的命令。在这种方式下,任何开始和停止条件均被禁止。输出数据方式时序图如图4.6所示。 图4.6 SLE4442卡的输出数据方式时序图(3)处理方式IC卡连续接收时钟,直到第一个CLK下降沿之后,切换至低状态L的I/O被设置成高状态H。在

30、这种方式下,任何开始和停止条件均被禁止。SLE4442卡共有7个命令,其命令格式见表4.2。控制字(Byte1)地址(Byte2)数据(Byte3)操作模式B7B6B5B4B3B2B1B0A7A0D7D00 0 1 1 0 0 0 0地址无效读主存储器输出0 0 1 1 1 0 0 0地址输入数据写主存储器内部处理0 0 1 1 0 1 0 0无效无效读保护存储器输出0 0 1 1 1 1 0 0地址输入数据写保护存储器处理0 0 1 1 0 0 0 1无效无效读安全存储器输出0 0 1 1 1 0 0 1地址输入数据写安全存储器处理0 0 1 1 0 0 1 1地址输入数据校验安全代码处理

31、表4.2 SLE4442 操作指令4.8 密码锁系统硬件原理图图4.7 密码锁系统硬件原理图4.9 IC卡的应用世界上推广IC卡成功的地区是欧洲,尤其是法国IC金融卡、IC 卡和德国的健康卡、 卡使用最为广泛。目前全球拥有各类IC卡7亿张以上,特别在金融、运输、医疗、教育、娱乐、企业管理等领域得到普遍的应用,并且每年以40%的速度增长。5 8255芯片与LCD液晶显示、键盘模块的设计与功能实现5.1 8255芯片的设计及功能5.1.1 8255芯片的引入前面章节中介绍了MCS-51系列单片机,本系统设计用到的是MCS-51系列单片机中的8031单片机。从8031与直接控制的外围功能模块互连的资

32、源分配图中可以看出,8031的外围引脚已经基本被全部占用,而本设计除了用到了在图中显示的与CPU直接相连的IC卡、RS-485模块以及存储器外,还需要用到LCD液晶显示模块和键盘,这就造成了CPU外围引脚不够用的现象。因此,将8255与CPU连接,可起到扩展CPU的接口的作用,CPU通过控制8255来间接控制了LCD和键盘。5.1.2 8255简介及内部结构8255是微机并行接口芯片,是可编程I/O口扩展芯片,对8255输入不同的指令可改变I/O的工作方式。8255与单片机系统连接方式简单,工作方式由程序设定。8255内部有4个寄存器:分别为寄存器A、B、C和控制寄存器。A、B、C寄存器的数据

33、就是引脚PA7PA0、PB7PB0、PC7PC0上输入或输出的数据。而控制寄存器的数据则表明PA、PB、PC的工作方式。通过CS、A0、A1、RD和WR对4个寄存器进行操作:(1)CS为低电平时选通8255;(2)A1、A0为地址选通;(3)RD和WR为读、写信号,RD为低、WR为高时为读方式,RD为高、WR为低时为写方式;(4)D0D7为数据口。 5.1.3 8255的工作方式可编程并行接口芯片8255有3个8位的并行端口:A口、B口和C口。8255有3种工作方式:方式0、方式1和方式2。 方式0直接输入/输出方式,8255和外设之间无需联络信号。A口、B口和C口均可分别由控制字规定为输入或

34、输出。 方式1选通输入/输出方式,此时,C口的37位为A口8位数据的传输提供联络信号;C口的02位为B口的8位数据提供联络信号。方式2A口的双向工作方式,在这种工作方式下,A口既可输入,也可输出。由于要用到STB、IBF、OBF、ACK和INTR,共5条联络信号线,要占用C口的5位,C口只剩下3位了,因此,B口只能在方式0或方式1下工作,此时C口余下的3位可用作输入/输出线,也可做B口的联络信号。5.1.4 8255的选通输入、输出时序(1)选通输入的时序是:外设通过STB信号将数据送入A口(或B口);A口(或B口)的状态标志IBF为1,表示输入缓冲器满,该状态信号可供程序查询;8255产生中

35、断请求信号INTR,用于中断方式下,请求CPU从8255的A口(或B口)取走数据。(2)选通输出的时序是:当CPU向A口(或B口)输出数据后,OBF为0,表示输出缓冲区满,此信号可供程序查询,或将A口(或B口)中的数据打入外设;当外设取走数据后,向8255送来确认信号ACK;8255产生中断请求INTR,告诉CPU可以输出下一个数据到8255的A口(或B口)了。5.1.5 8255电路原理图及编程实现图5.1 8255电路原理图8255电路原理图见图5.1。该电路由1片8255组成,8255的数据口,地址,读写线,复位控制线均已接好,片选输入端插孔为8255CS,A,B,C三端口的插孔分别为:

36、PA0PA7,PB0PB7,PC0PC7。测试该电路时,检查复位信号,通过8255并行口实验,程序全速运行,观察片选、读写、总线信号是否正常。8255有4个端口地址,从小到大依次为A口地址、B口地址、C口地址和控制口地址。控制口用来写入8255的工作方式控制字,即实现8255芯片的初始化。在程序中可对C口按位置1或置0,方法是:D 7= 0,D 3 D 2 D 1 =所选择位的二进制编码,D 0 =1或0。在本设计中,8255中的C口我们只用到了PC0PC3以及PC7,PC7与液晶显示的BUSY相连,作为输入口;PC3与液晶显示的REQ相连,作为输出口;PC0PC2则与键盘的KA10KA12相

37、连,作为输出口;PA口控制着液晶显示模块,作为输出口;PB口控制着键盘,作为输入口。这样8255就直接控制了LCD与键盘,CPU通过控制8255间接控制着这两个的操作。5.2 LCD液晶显示模块设计5.2.1 LCD的结构设计及工作原理LCD显示器的原文是Liquid Crystal Display,取每字的第一个字母组成,中文多称液晶平面显示器或液晶显示器。LCD的好处有:与CRT显示器相比,LCD的优点主要包括零辐射、低功耗、散热小、体积小、图像还原精确、字符显示锐利等。LCD有几个基本特点:(1)高亮度:亮度值愈高,画面自然更亮丽,不会朦胧雾雾。亮度的单位为cd/m2,也就是每平方公尺分

38、之烛光。低阶的LCD亮度值,有低到150cd/m2,而高阶的显示器,则可高达250cd/m2。(2)高对比:对比愈高,色彩更鲜艳饱和,且会显得立体。相反的,对比低,颜色显的贫瘠,影像也会变得平板。对比值的差别颇大,有低到100:1,也有高到600:1,甚至更高。(3)宽广的可视范围:可视范围简单的说,指的是在屏幕前画面可以看的清楚的范围。可视范围愈大,自然可以看的愈轻松;愈小,只要观看者稍一变动观看位置,画面可能就会看不清楚了。可视范围的算法是从画面中间,至上、下、左、右四个方向画面清楚的角度范围。数值愈大,范围自然愈广,但四个方向的范围不一定对称。当上下、左右对称时,可以将两边的角度值相加,

39、标示为水平:160;垂直:160;也可能分开标示为左/右:80;上/下:80。某些LCD机种的单一角度,甚至只有4050。(4)快速讯号反应时间:讯号反应是指系统接收键盘或鼠标的指示后,经CPU计算处理,反应至显示器的时间。讯号反应对动画和鼠标移动非常重要,此现象一般而言,只发生在LCD液晶显示器上,CRT传统显像管显示器则无此问题。讯号反应时间愈快,作业处理愈方便。观察的方法之一是将鼠标快速移动(亦即鼠标不断下指示给系统,系统则不断将讯号反应给显示器),在一般低阶的LCD显示器上,光标在快速移动时,过程中会消失不见,直到鼠标定位,不再移动后一小段时间,才会再度出现;而在一般速度动作时,移动过

40、程亦会清楚的看到鼠标移动痕迹。而VE500的超快讯号反应时间快达16ms(毫秒),则让光标移动无时差,移动过程清楚易见,不带来作业困扰。LCD的工作原理就是利用液晶的物理特性:通电时排列变得有序,使光线容易通过;不通电时排列混乱,阻止光线通过,说简单点就是让液晶如闸门般地阻隔或让光线穿透。 5.2.2 点阵式LCD的特点点阵式LCD显示电路是在系统板上外挂的正式液晶显示模块,模块的数据线、状态、控制线都通过插孔引出,可直接与系统相连。OCMJ的中文模块系列液晶显示器内含GB 2312 16*16点阵国标一级简体汉字和ASC8*8(半高)及8*16(全高)点阵英文字库。用户输入区位码或ASCMA

41、码即可实现文本显示,也可用作一般的点阵图形显示器之用。它提供位点阵和字节点阵两种图形显示功能,用户可在指定的屏幕位置上以点为单位或以字节为单位进行图形显示。完全兼容一般的点阵模块。OCMJ中文模块系列液晶显示器可以实现汉字、ASC码、点阵图形和变化曲线的同屏显示,并可以通过字节点阵图形方式造字。本系列模块具有上/下/左/右移动当前显示屏幕及清除屏幕的命令的功能。OCMJ中文模块所有的设置初始化工作都是在上电时自动完成的,实现了“即插即用”。同时保留了一条专用的复位线,可对工作中的模块进行软件或者硬件强制复位。5.2.3 LCD硬件接口协议LCD的硬件接口协议为请求/应答(REQ/BUSY)握手

42、方式。应答 BUSY高电平(BUSY=1)表示OCMJ忙于内部处理,不能接受用户命令;BUSY低电平(BUSY=0)表示OCMJ空闲,等待接受用户的命令。发送命令到OCMJ可在BUSY=0后的任意时刻开始,先把用户命令的当前字节放到数据线上,接着发高电平REQ信号(REQ=1)通知OCMJ请求处理当前数据线上的命令或数据。OCMJ模块在收到外部的REQ高电平信号后立即读取数据线上的命令或数据,同时将应答线BUSY变为高电平,表明模块已经收到并正在忙于对此数据的内部处理,此时,用户对模块的写操作已经完成。用户可以撤消数据线上的信号并可作模块显示以外的其他工作,也可不断地查询应答线BUSY是否为低

43、(BUSY=0?),如果BUSY=0,表明模块对用户的写操作已经执行完毕,可以再送下一个数据。如果向模块发出一个完整的显示汉字的命令,包括坐标及汉字代码在内共需5个字节,模块在接收到最后一个字节后才开始执行整个命令的内部操作,因此,最后一个字节的应答BUSY高电平(BUSY=1)持续的时间较长。5.2.4 LCD引脚设计及功能HK:液晶控制 DI:液晶数据SK:液晶时钟VSS:逻辑电源地VCC:逻辑电源正LCD液晶显示连接电路如图5.2所示。图5.2 LCD液晶显示模块与8031的硬件连接原理图LCD液晶显示模块不同引脚具有不同的功能,表5.1清晰的表示了各引脚的功能。表5.1 液晶显示模块引

44、脚特性表引脚符号功能1VDD+5V2VSS接地3VLCD驱动LCD,一般将此脚接地4RES复位5E1读写使能信号 (Master)6E2 读写使能信号 (Slave)7R/W读/写信号: “1” :读 “0” :写8A0暂存器选择: “0” 写指令寄存器“1” 针对数据寄存器进行读、写操作9D0数据线10D111D212D313D414D515D616D717ALCD阳极18KLCD阴极5.2.5LCD与8255连接电路图图 LCD液晶显示连接图LCD液晶显示连接图见图5.3。从图中可以看出,8255的A口与LCD的数据线直接相连,作为输出口,C口只用到了PC3和PC7,分别作为输出和输入口。

45、这样,CPU就通过8255控制了LCD液晶显示模块。5.2.6 汉字显示原理在LCD显示中,本设计还增添了汉字显示的功能,实现了在LCD液晶屏幕上显示“请输入密码”的中文字样的功能,这也用到了汉字显示的一些设计,才能得以实现。根据液晶显示屏的控制指令及时序可知,只要在对模块写入数据的同时保证模块指令操作延时足够,就可以不检查模块状态,达到直接控制的目的。点阵液晶显示屏的一个点对应存储器中的一位,置位则显示,清除则不显示,因此只要控制相应的数据位就可控制液晶显示屏的显示。该液晶显示器采用1616点阵汉字,液晶显示器显示一个1616点阵需要送进32个字节,因此必须将其送入两缓冲区中的相对列中。每一

46、种商品都事先规定好在液晶显示屏上的显示位置,因为该液晶显示器共可显示两行汉字,每行汉字占两页,所以显示每一行汉字时,先根据每个汉字的编号确定其入口地址,然后分别读取它们的前16个字节在上半页显示,再分别读取这些汉字的后16个字节在下半页显示,这样即可把一行汉字全部显示出来。5.2.7 字库的建立画一个16行16列的方格,根据标准汉字字库所提供的汉字点阵字模在方格上分别画出各点阵,是1则置1,是0则置0,构造出汉字的字形,然后按SED1520的汉字字模排列顺序依次读出转化后的字模,这就是我们所用的液晶显示模块所需要调用的汉字字模形式。按上述方法提取系统中所需要的汉字字模,建立由多个汉字组成的汉字

47、库、多个数字组成的数字库,将这两个字库写入程序中,并存放在单片机的EPROM中,以备点阵式液晶显示器显示调用。5.2.8 汉字显示的处理流程图 汉字处理流程图见图5.4。图 汉字处理流程图5.2.9 LCD液晶显示流程图 LCD显示实验流程图见图5.5。开始初始化查表读数据BUSY为0? N Y数 据 输 出R E Q 置 位BUSY为1? N YR E Q 复 位 数据读完? N Y结 束 图5.5 LCD显示实验流程图5.2.10 LCD液晶显示的调试硬件接口电路焊接完成后,需用万用表检查应用系统的各部件线路、元器件安装是否正确。特别是电源部分,其中电源不能接错,要防止电源两输入端短路,电

48、源极性不可接反。5.3 键盘扫描设计与实现5.3.1 键盘概述及工作原理键盘是一组按键的集合,它是最常用的单片机输入设备。操作人员可以通过键盘输入数据或命令,实现简单的人-机通信。按键是一种常开型按扭开关。平时(常态时),按键的两个触点处于断开状态,按下键时它们才闭合(短路)。键盘分编码键盘和非编码键盘。键盘上闭合键的识别由专用的硬件译码器实现,并产生键编号或键值才称为编码键盘,如BCD码键盘、ASC码键盘等;靠软件识别的称为非编码键盘。通过键盘,可以将字母、数字、标点符号等输入到计算机中,从而向计算机发出命令,输入中西文字和数据。键盘的功能就是及时发现被按下的键,并将该按钮所对应的代码送入计

49、算机,用于发现有无按键按下。区分按键位置的是按键扫描电路,产生按键对应代码的是编码电路,将代码送入计算机的是接口电路。依据按键代码生成的原理,可以把计算机键盘分为编码键盘和非编码键盘。编码键盘的每一个按键的代码都是由键盘直接产生并送入计算机的。这种键盘响应速度快,但它以复杂的硬件结构为代价,其复杂性随着按键功能的增加而增加。而且,按键的代码是固定的,不易修改和扩充。 非编码键盘的代码生成是由键盘和PC机软件共同完成的。键盘本身使用较为简单的硬件来识别被按下的按键的位置,向PC机提供的是该按键的位置码(中间代码),然后由系统软件把这些中间代码转换成规定的编码。这种键盘响应速度不如编码键盘快,但它

50、可通过软件为按键重新定义其编码,为扩充键盘功能提供了极大的方便,因而得到广泛的使用。5.3.2 键盘电路图本系统使用的是非编码键盘,键盘电路见图5.6。图5.6 键盘电路图5.3.3 键盘接口电路扫描码以串行方式传输给系统板上的键盘接口电路,两者通过一个5芯插头座互相连接。PC机中键盘接口电路主要由单片机8042组成,8042芯片内有2KB ROM和128B RAM,还有2个8位的I/O端口。2KB ROM中存放的是键盘管理程序,128B RAM作为数据缓存器使用。PC机启动后,8024在键盘管理程序的控制下独立于CPU工作。CPU通过I/O指令随时可以对8042进行读/写操作。本设计中的键盘

51、是通过8255来控制的,因此,键盘是与8255相连接的。键盘的RL10RL17接在8255的PB0PB7;键盘的KA10KA12接8255的PC0PC2。图5.7 键盘与8255连接电路图8255与键盘连接电路图见图5.7。由图可知,键盘8255的B口与键盘相连,作为输入,C口用了PC0PC2作为输出与键盘的KA键相连接,通过8255的B口和部分C口,CPU实现了对键盘的控制。5.3.4 行列式键盘原理电路实现每一水平线(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通。利用这种行列矩阵结构只需4条行线和3条列线,即可组成具有4*3个按键的键盘。在这种行列矩阵式编码键盘的单片机系统

52、中,键盘处理程序首先执行等待按键并确认有无键按下的程序段, 当确认有按键按下后,下一步就要识别是哪一个按键被按下。本设计采用逐行扫描查询法。矩阵式键盘扫描方式工作原理是在行线上有上挂电阻连接电源,因此无键按下时,各行线均为高电平。当采用列线输出低电平时,有键按下相应行线上出现低电平。根据此原理,CPU对整个键盘进行扫描。所谓扫描即CPU不断对列线逐列置低电平,然后检查行线输入状态,确定按键情况。若无键按下时,行线与列线断开,行线上全是高电平或全为“1”。例如,当输出列线PA0为“0”,读到行线PCO为“0”时,则判断是0号键按下;若输出PA1为“0”,读到PC1为“0”,则是1号键按下,以此类

53、推。扫描全部键盘时间很短,仅十几微秒,而按键时间一次至少几十毫秒,所以只要有键按下,都能被扫描到。5.3.5 键盘的调试首先判别键盘中有无键按下,由单片机I/O口向键盘送(输出)全扫描字,然后读入(输入)列线状态来判断。方法是:向行线输出全扫描字00H,把全部行线置为低电平,然后将列线的电平状态读入累加器A中。如果有按键按下,总会有一根列线电平被拉至低电平,从而使列输入不全为1。判断键盘中哪一个键被按下是通过将行线逐行置低电平后,检查列输入状态实现的。方法是:依次给行线送低电平,然后查所有列线状态,如果全为1,则所按下的键不在此列;如果不全为一,则所按下的键必在此行,而且是在与零电平列线相交的交点上的那个键。键盘上的每个键都有一个键值。键值赋值的最直接办法是将行、列线按二进制顺序排列,当某一键按下时,键盘扫描程序执行到该行置零电平,若读出各列状态为非全1,这时的行、列数据组合成键值,程序流程图见图5.8。图5.8 判断有无键按下流程

温馨提示

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

评论

0/150

提交评论