毕业论文视频终端人机交互界面毕业论文.doc_第1页
毕业论文视频终端人机交互界面毕业论文.doc_第2页
毕业论文视频终端人机交互界面毕业论文.doc_第3页
毕业论文视频终端人机交互界面毕业论文.doc_第4页
毕业论文视频终端人机交互界面毕业论文.doc_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

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

文档简介

毕业论文视频终端人机交互界面毕业论文目 录摘要IAbstractII第1章 绪论11.1 课题背景11.1.1 AVR单片机的发展背景11.1.2 LCD液晶显示的发展背景31.2 课题的研究意义41.3 论文组织5第2章 系统介绍及元器件选型62.1 系统总体介绍62.2 单片机选型62.3 液晶选型102.4 本章小结12第3章 硬件电路设计133.1 整体结构设计133.2 ATmega16最小系统设计133.2.1 ATmega16的复位电路133.2.2 ATmega16的晶振电路153.2.3 键盘译码电路的设计163.3 LCD液晶接口设计173.4 本章小结22第4章 软件设计234.1 软件平台介绍234.2 软件部分整体设计264.3 矩阵键盘程序设计264.4 液晶程序设计274.5 交互窗口设计284.5.1 如何开辟窗口284.5.2 窗口信息控制294.5.3 交互界面仿真结果294.6 本章小结31结论32参考文献33致谢34附录135附录240附录345附录449附录571I第1章 绪论 第1章 绪论1.1 课题背景人机交互接口又称为人机交互界面或人机接口,是计算机科学中新产生的一个学术分科,是应用软件中逐渐显露出其重要性的一个部分。计算机系统可看成由硬件、软件和人构成的一个人机交互系统,而人与软件及外设(包括鼠标、键盘、触摸屏等)交接的部分称为人机交互接口,它是人和仪器之间传递和交换信息的接口。通过人机交互接口,人向计算机发出命令或提供数据等输入信息,这些信息经计算机处理后,又将输出信息通过人机交互接口显示给用户6。1.1.1 AVR单片机的发展背景 单片机技术在近10年取得了飞速的发展。在世界范围内从事单片机开发的有四个区域:一是欧美,开发厂家及其最新单片机系列产品有National Semiconductor的COP8系列单片机;美国SCENIX公司的8位单片机系列;PHILIPS的51系列单片机;美国AMD公司的186系列16位嵌入式微处理器;ST Microelectronics公司的ST62系列单片机;MICROCHIP的PIC系列单片机;MOTOROLA的各个系列单片机以及Infineon technologies的C500和C166系列等。二是日本,TOSHIBA公司开发出了从4位到64位的多系列单片机;日立公司也有从4位到32位的单片机;另外还有FUJITSU Microelectronics的F2MC28L微控制器系列产品;OKIElectronics的MSM80、MSM66、MSM63系列单片机;NEC的75X、78X系列微处理器;爱普生公司的Epson单片机。三是台湾地区,主要有WINBOND公司的W7416、W536、W786、W77等系列微控制器产品;EMC公司的E78系列单片机等;凌阳系列单片机。四是韩国,主要有HYUNDAI microelectronics的GMS800、GMS30系列微控制器;另外还有三星、LG等公司也生产系列单片机。除了以上这四个区域外,还有MCS51系列单片机,TI公司的MSP430系列单片机,Microchip单片机,ATMEL公司的AVR系列单片机等。由此可见单片机发展到今天可以说是种类繁多,性能各异。因此,我们需要根据自己的实际需求来挑选自己所需要的单片机。AVR系列单片机是ATMEL公司挪威设计中心在1997年由A先生和V先生共同研发设计的采用Harvard结构的RISC(Reduced Instruction Set CPU) 精简指令集高速8位单片机。AVR单片机吸取PIC及MCS51等系列单片机的优点,片上系统丰富,具有较高的性价比。AVR单片机的推出,彻底打破了旧的设计格局。它废除了机器周期,抛弃了复杂指令集计算机追求指令完备的做法,采用精简指令集,以字作为指令长度的单位,将内容丰富的操作数与操作码安排在一字之中,取指周期短,又可预取指令,实现流水作业,故可高速执行指令。这种速度上的跃升,是以高可靠性为其后盾的1。AVR单片机具有以下特点和优势:(1)AVR单片机内嵌高质量的Flash程序存储器,擦写方便,支持ISP和IAP,便于产品的开发、调试生产及更新。内嵌长寿命的EEPROM可长时间保存关键数据以避免因断电而丢失。片内的大容量RAM不仅能满足一般场合的应用,而且也可以更有效的支持使用高级语言开发的系统程序,并且部分机型可以像MCS51单片机那样外露总线扩展外部RAM。(2)AVR单片机的I/O线全部带有可以设置的上拉电阻,可单独设定为输入或输出,可设定(初始)高阻输入,驱动能力强等特性,使得I/O口资源更加灵活,功能更加强大,可以充分利用。(3)AVR单片机内部具有多种独立的时钟分频器,分别供UART、IC、SPI使用。其中可与8/16位定时器配合的具有多达10位的预分频器,可通过软件设定分频系数以提供多种档次的定时时间。AVR系列单片机独有的“以定时器/计数器(单)双向计数形成三角波,再与输出比较匹配寄存器配合,生成占空比可变、频率可变、相位可变方波”的设计方法(即脉宽调制输出PWM)令人耳目一新。(4)增强型的高速/异步串口,具有硬件产生校验码、硬件检测和校验、两级接收缓冲、波特率自动调整定位(接收时)、屏蔽数据帧等功能,提高了通信的可靠性,方便了程序的编写,更便于组成分布式网络和实现多机通信系统的复杂应用,串口功能大大超过了MCS51系列单片机的串口功能,加之AVR系列单片机速度快,中断响应时间短,可实现高波特率通信。(5)面向字节的高速硬件串行接口TWI、SPI。TWI与IC接口兼容,从而具备应答ACK信号硬件发送与识别、地址识别、总线仲裁等功能,能实现主/从机的收/发全部四种组合的多机通信。SPI支持主/从机等四种组合的多机通信。(6)AVR单片机带有自动上电复位电路、独立的看门狗电路、低电压检测电路BOD、多个复位源和可设置的启动后延时运行程序,增强了嵌入式系统的可靠性。(7)AVR单片机具有多种省点休眠模式,且可以超宽电压运行,抗干扰能力很强,可降低一般8位单片机中的软件抗干扰设计工作量和硬件的使用量,因此大大降低了成本。由上述优点可以看出,AVR单片机博采了众家之长,又具有自己的独特技术,充分体现了单片机的发展需求,性价比极高,因而可以广泛应用于许多领域。因此,本次的毕业设计我选用了AVR系列单片机2。1.1.2 LCD液晶显示的发展背景早在19世纪末,奥地利植物学家就发现了液晶,即液态的晶体,也就是说一种物质同时具备了液体的流动性和类似于晶体的某种排列特性。在电场的作用下,液晶分子的排列会产生变化,从而可以影响它的光学性质,这种现象就叫作电光效应。利用液晶的电光效应,英国科学家在上世纪制造了第一块液晶显示器即LCD。今天的液晶显示器中广泛采用的是今天的液晶显示器中广泛采用的是定线状液晶,如果我们微观去看它,会发现它特象棉花棒。与传统的CRT相比,LCD不但体积小,厚度薄(14.1英寸的整机厚度可做到只有5厘米),重量轻、耗能少(1到10 微瓦/平方厘米)、工作电压低(1.5到6V)且无辐射,无闪烁并能直接与CMOS集成电路匹配。由于优点众多,LCD从1998年开始进入台式机应用领域7。近几年来LCD点阵式液晶显示器(LCD Liquid Crystal Display)被广泛应用于单片机控制的各种智能仪器、仪表和低功耗电子产品中。它不仅可以显示字符、数字,还可以显示各种图形、曲线及汉字。随着集成电路技术的飞速发展,芯片的规模越来越大,工作频率越来越高。与此同时,芯片的功耗也不断增加,这必然会导致系统成本的增加和可靠性的降低。此外,对于由电池供电的手持设备,过大的功耗会减少电池的使用寿命,降低系统的实用性。因此低功耗设计已成为集成电路设计中最重要的课题之一。在笔记本电脑、移动电话、个人数字助理这类具有液晶显示功能的设备中,系统的总功耗主要来源于显示系统的功耗,而液晶显示器及其控制芯片作为显示系统的核心部件,具有很大的数据交换量,其功耗通常占到了系统总功耗的一半以上,因此设计时应考虑尽量减少其功耗。LCD液晶显示器所具有的最大的优点就是低功耗,另外它还具有零辐射、散热少等许多特点。液晶显示器的显示原理是通过扭转液晶像素中的液晶分子偏转角度而来的背景光而实现还原画面的,其不存在像CRT那样内部具有超高压的元器件,所以不至于出现由于高压导致的X射线超标,而且机器结构电路简单、模块化以及芯片的高度集成化足以把电路工作时候产生的电磁辐射降到最低。这样的设计直接降低了电路的功耗,而且发热量也非常小。液晶显示器虽然在工作的时候可能产生轻微的电磁辐射,但是这很容易通过加入屏蔽电路解决。而CRT显示器由于考虑到散热,不得以而在屏蔽罩上钻孔导致辐射的泄露。由于LCD液晶显示器的众多优点,在此次的毕业设计中选用了LCD作为人机交互接口的显示设备3。1.2 课题的研究意义在传统的仪器仪表中,显示参数往往是采用一些传统的指针式表头或指示灯,即便是比较先进的仪器仪表也至多是用LED或字符型液晶显示器。随着技术的进步、器件成本的下降,在许多场合中,更希望能出现一些图文并茂的界面,这样的设计具有良好的视觉效果和生动的用户界面。液晶显示器作为一种显示器材,以其特有的优势正广泛应用于多种测试仪器设备中。以往的测试控制仪器大都采用LED或笔段式液晶显示屏进行参数设定和结果的显示,其显示的信息量少、形式单一、缺乏良好的人机交互友好性,同时对操作人员要求较高。而液晶显示器(LCD)具有低功耗、体积小、质量轻、超薄和可编程驱动等其他显示设备所无法比拟的优点,不仅可以显示数字、字符,还可以显示各种图形、曲线和汉字,并且可以实现屏幕上下左右的滚动、动画、闪烁、文本特征显示等功能,正日益成为智能仪器仪表和测试设备的首选显示器件。随着科学技术的飞速发展和人们生活水平的提高,普通仪表已显过时,不能充分满足现代生活的需求。现代仪表已日趋数字化、网络化和智能化。微电子技术的发展和工业过程对测控方面要求的加强,使得智能仪表的应用更加广泛、成本更低。AVR系列单片机具有低成本、低功耗、高速度等特点,因而在手持设备中以ATmega16单片机为核心,配接点阵型LCD显示器,是很有发展前景的。1.3 论文组织本文是工作的总结。论文各章的主要内容如下:第一章 简要论述了本课题研究的来源,背景,以及本课题的主要研究意义。第二章 对AVR系列单片机的特点和结构、LCD液晶显示器以及其他相关硬件进行了详细的介绍和比较,并且阐述了硬件器材选型的依据和优劣。第三章 对所需硬件电路进行系统研究和设计,对人机交互接口电路中的各个组件和引脚进行了系统的阐述,以及各功能模块电路的设计,并且详细介绍了整个设计过程。第四章 详细讨论了人机交互接口系统的软件实现方案,包括各个层次的功能组件和实现方法。第五章 总结和展望,对所进行的工作进行总结,并指出今后需要改进和完善的功能。69第2章 系统介绍及元器件选型 第2章 系统介绍及元器件选型2.1 系统总体介绍 本次毕业设计的内容是基于ATmega16单片机的人机交互接口系统设计。它是指人与单片机之间通过输入/输出设备的接口建立联系、交换信息,这些设备包括键盘、显示器等。因此,整套系统是用于手持设备中,整个系统的供电是靠电池来完成的,所以,需要选择的器材要具有低功耗和低成本的特点。所设计的整个人机交互接口系统主要由一个AVR单片机,一个LCD液晶显示器,一个4*4矩阵式键盘和一个16键译码器组成的。AVR单片机用来连接键盘和液晶,它接收键盘通过16键译码器传来的高电平,转换后传递给液晶,使液晶开始显示;4*4矩阵式键盘上的16个按键分别设置为0-9的10个数字键,加减乘除和等号5个运算按键和一个清零键,液晶显示的内容是通过单片机传输的指令,调用单片机内部存储器中的内容来显示。整体工作过程为:矩阵键盘由16个表示不同功能的按键组成,当有人任意按下16个按键中的某个或某几个按键后,键盘通过扫描后确定按下的键位,产生相应的信号,然后将信号传递给AVR单片机,单片机内部根据不同的按键转为不同的处理,然后再传递给液晶控制器。这里主要的三个部分,矩阵键盘和单片机之间以及单片机和液晶之间都是通过I/O口进行连接的。2.2 单片机选型本次毕业设计内容涉及了利用单片机来实现LCD液晶屏的显示,经过比较选择了由ATMEL公司生产的AVR系列单片机。下表(表2-1)是ATMEL公司的AVR单片机几种型号的主要性能参数表。表2-1 AVR系列单片机几种型号的主要性能参数表型号Flash/KBEEPROM/BSRAM/BSPITWIUART8位定时器16位定时器PWMATTINY23132128128无无1114ATmega484256512有有1216ATmega8885121K有有1216ATmega85158512512有无1114ATmega16165121K有有1214ATmega162165121K有无2224ATmega32321K2K有有1214ATmega64642K4K有有2226ATmega1281284K4K有有2226+2型号10位ADC看门狗ISPJTEGDebugWireRTC模拟比较器片内振荡器最大I/O数ATTINY2313无有有无有无有有18ATmega486/8有有有有有有有23ATmega886/8有有有有有有有23ATmega8515无有有有无无有有35ATmega168有有有无有有有20ATmega162无有有有无有有有28ATmega328有有有无有有有32(续表2-1)型号10位ADC看门狗ISPJTEGDebugWireRTC模拟比较器片内振荡器最大I/O数ATmega648有有有无有有有53ATmega1288有有有无有有有53根据设计内容的要求,通过对上表中的几种型号的单片机的主要性能参数做比较后,我选用了ATmega16单片机来实现毕业设计的要求。ATmega16有三种封装方式,分别为40引脚PDIP封装,44引脚TQFP封装,与44引脚MLF封装,本次毕业设计采用40引脚PDIP封装形式。下图(图2-1)是选用的ATmega16单片机PDIP封装形式的引脚图图2-1 ATmega16引脚图 ATmega16的引脚功能介绍:表2-2 ATmega16的引脚功能引脚名称引脚功能说明VCC电源正GND电源地AREFA/D的模拟基准输入引脚AVCCAVCC是端口A与A/D转换器的电源。不使用ADC时,该引脚应直接与VCC连接。用ADC时应通过低通滤波器与VCC连接。端口A(PA7-PA0)端口A做为A/D转换器的模拟输入端。端口A为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。做为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口A处于高阻状态。端口B(PB7-PB0)端口B为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口B处于高阻状态。端口B也可以用作其他不同的特殊功能。端口C(PC7-PC0)端口C为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口C处于高阻状态。如果JTAG接口使能,即使复位出现引脚PC5(TDI)、PC3(TMS)与PC2(TCK)的上拉电阻被激活。端口C也可以用做其他不同的特殊功能。端口D(PD7-PD0)端口D为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口D处于高阻状态。端口D也可以用做其他不同的特殊功能。RESET复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。持续时间小于门限时间的脉冲不能保证可靠复位。XTAL1反向振荡放大器与片内时钟操作电路的输入端XTAL2反向振荡放大器的输出端2.3 液晶选型从选型角度来看,可以将常见的液晶显示器分为:段式(也称8字)液晶、字符型液晶和图形点阵式液晶类。(1)段式液晶常见段式液晶的每字为8段组成,即8字和一点,只能显示数字和部分字母。如果必须显示其他少量字符、汉字或特殊字符,则一般需要从厂家订做,可以将所要显示的字符、汉字或其他符号固化在指定的位置,比如计算器和电子表所用的液晶。(2)字符型液晶顾名思义,字符型液晶是用于显示字符和数字的,对于图形和汉字的显示方式与段式液晶无异。字符型液晶的分辨率一般有8*1、16*1、16*2、16*4、20*2、20*4、40*2、40*4等,其中8(16、20、40)的意义为一行可显示的字符(数字),1(2、4)的意义是指显示行数。(3)图形点阵式液晶图形点阵式液晶又分为TN,STN(DSTN),TFT等几类。这种分类是根据液晶材料和液晶效应。TN类液晶由于它的局限性,只用于生产字符型液晶模块。而STN类液晶模块一般为中小型,既有单色的,也有彩色类的TFT液晶,从小到大都有,而且几乎清一色为真彩色显示模块。除了TFT类液晶外,一般小液晶屏都内置控制器(控制器的概念相当于显示卡上的主控芯片),直接提供MPU接口;而大中型液晶屏,如果想要控制其显示,都需要外加控制器。从色彩上分,LCD显示屏又可分为单色,灰度,彩色三种,价格由低到高,单色LCD的点阵只能显示亮和暗,通常只用于低端的不需要显示图形的场合;带灰度级的LCD常用的有2位4级灰度和4位16级灰度,可以显示简单的带有层次的图形或图像;彩色LCD的色彩以颜色数为标准。彩色LCD分为有源及无源型两种。有源型就是常见的薄膜晶体管TFTLCD,特点是显示清晰,分明,视角大,但价格高。之所以如此,是因为有源LCD更新屏幕的频率较快,而且它屏幕上的每个像素,分别是由一个独立的晶体管控制的(无源就不是)。这样,也导致了有源矩阵LCD的一个缺点,就是这样的显示器要使用相当多的晶体管,造价也就相对较高。无源型就是常见的超扭曲向列型STN(Super Twisted Nematic)LCD,最显著的缺点就是造价高4。根据本次毕业设计要求设计的内容,在此次设计中我选择了小型单色128*64点阵液晶屏OCM12864,它属于STN类液晶,这款液晶的控制器型号为KS0108。虽然小型显示屏的显示效果不太理想,但是系统设计人员可以合理地设计显示内容,充分发挥小型显示屏的图形表达能力,也可以在许多应用场合取得很好的应用效果,达到方便仪器的操作使用、提升仪器产品档次的设计目的。2.4 本章小结 本章结合本次毕业设计的具体需求,针对常见单片机和LCD液晶的特点和结构,对所用的硬件进行了详细的分析和比较,对各类型号单片机及LCD液晶的优劣进行了详细的阐述,说明了选型的依据,为接下来的硬件设计打下基础。第3章 硬件电路设计 第3章 硬件电路设计本次毕业设计是以ATmega16单片机为核心,配接128*64点阵LCD,16个按键分别用于参数设置和功能选择,另外4个按键用作菜单选择,留有其他10个I/O口用作其他的扩展通讯功能,设计的系统要用于手持设备,手持设备的体积相对要小,而且它的供电是要靠电池来完成的。因此,它需要兼顾低功耗和低成本的特点。3.1 整体结构设计 整个ATmega16单片机的人机接口系统的设计主要包括了三个大部分的设计,这三个部分分别是ATmega16单片机部分,液晶(控制器型号是KS0108)部分和4*4矩阵式键盘部分。ATmega16单片机在整个结构中主要是用于连接键盘和液晶控制器,它接收由键盘传来的高电平,再根据不同的键位设置进行不同的处理,传给液晶控制器;液晶主要用于显示,作为输出设备,可以通过对键盘的调节变换显示;键盘为16按键的4*4矩阵式键盘,有10个数字键,加减乘除和等号等功能键,作为输入设备。3.2 ATmega16最小系统设计 3.2.1 ATmega16的复位电路ATmega16有五个复位源(1)内部上电复位电路当电源电压低于上电复位门限电压时,MCU复位,即AVR采取低电平复位。(2)外部复位当引脚RESET的低电平持续时间大于最小脉冲宽度时MCU复位。(3)看门狗复位当看门狗使能并且看门狗定时器溢出时复位。(4)掉电检测复位(BOD)当掉电检测复位功能使能,且电源电压低于掉电检测复位门限时MCU即复位。(5)JTAG AVR复位。复位寄存器为1时MCU复位。ATmega16的复位特性表见表3-1表3-1 ATmega16的复位特性表符号参数条件最小值典型值最大值单位VPOT上电复位门限电压(电压由低到高上升)1.42.3V上电复位门限电压(电压由高到低跌落)1.32.3VVRST门限电压0.1VCC0.9VCCVtRST最小脉冲宽度1.5sVBOT掉电检测复位门限电压BODLEVEL=12.52.73.2VBODLEVEL=03.74.04.2tBOD触发掉电检测复位的低电平的最小持续时间BODLEVEL=12sBODLEVEL=02sVHYST掉电检测器的容限50mV当ATmega16复位后,程序从复位向量处开始执行,然后使程序跳转到用户的程序入口。设计复位电路主要是用于当单片机出现死机或不正常工作等异常情况时,通过复位电路可以使单片机恢复正常工作。ATmega16的复位电路如图3-1所示。图3-1 ATmega16复位电路上图就是ATmega16外部复位电路,电路主要由一个22pF的电容、一个100nH的电感和一个按键组成。这只22pF的电容主要是用来消除干扰和杂波。它可以大大加强ATmega16单片机的抗干扰能力,因而最好在线路中接入。3.2.2 ATmega16的晶振电路 单片机在工作时必须要有一个时钟信号,此时钟信号是通过一个晶振电路提供的,所以,在设计的过程中要有一个晶振电路。晶振振荡电路都是由在一个反相放大器的两端接入晶振,再由两个电容分别接到晶振的两端,每个电容的另一端再接到地,这两个电容串联的容量值就应该等于负载的电容值。一般晶振两端需要的电容接典型值20-33pF,要注意两个电容总是要相等的,这两个电容叫作晶振的负载电容。在本次毕业设计中我选用的这两个电容值均为22pF。ATmega16的晶振电路如图3-2所示。图3-2 ATmega16晶振电路3.2.3 键盘译码电路的设计在仪器及工业控制系统中,需要设计一些专用的键盘,键盘作为人机对话的窗口之一,具有处理信息的能力。目前主要采用两种方式:定时控制方式和中断控制方式。定时控制方式就是每隔一定的时间,CPU对键盘扫描一次,这种方式要占用掉一部分的时间。中断方式则是当键盘输入中断,对键盘进行扫描,以识别是哪一个按键处于闭合状态,并对键的输入信息进行相应的处理。目前广泛采用的是Intel8279通用型可编程的键盘/显示器接口器件。考虑到低成本的因素,本次毕业设计所采用的是一种价廉的CMOS16键译码器MM74C922,它可以与各种单片机直接接口,并且获得令人满意的效果。MM74C922的特点及管脚功能:MM74C922具有如下特点:1.功耗低,电压为3-5V;2.三态门输出,与LPTTL兼容;3.输出锁存按下的最后的键;4.用一个电容器就可以消除键盘抖动;5.两键轮回;6.行具有上拉功能;7.具有芯片内或芯片外时钟;8.最大开关电阻为50K。MM74C922采用18脚双列直插封装(图中VCC和GND引脚未标出),其引脚排列如图3-3所示。图3-3 MM74C922引脚排列图各引脚功能如下:Y1-Y4为行键输入端;X1-X4为列键输入端;OSC为振荡器的外接引线端,可用外部的输入脉冲或电容器;A-B为数据输出端,可与微机直接接口;KBM为键颤屏蔽端;为数据输出允许端,低电平有效;DAV为数据输出有效,高电平有效;VCC为电源端,接3-5V;GND为接地端。3.3 LCD液晶接口设计高档一些的设备人机接口不满足于仅仅使用七段数码管显示数字,而选择使用点阵式液晶屏显示仪器操作的菜单选项进行操作提示。图像显示的应用,当然是显示屏的像素数越多,并且显示屏越大,显示质量越好,若是彩色显示则显示效果会更好。但是点阵式显示的每一个像素,也就是显示的每一个图像的像点,都需要用显示数据控制,对于彩色显示,又要分别控制三基色,需要的显示控制数据量更大。对于8位单片机组成的小型人机交互系统,通常选用单色的小型显示屏来满足基本的字符、汉字和曲线以及图像的显示要求。手机上的彩色显示控制以及多媒体数据的处理任务,就需要ARM单片机才能胜任。为了适应以AVR单片机为中心控制单元的小型人机交互系统设计的需要,在本次毕业设计中选用一种小型单色128*64点阵液晶屏OCM12864.根据系统设计的需要,在成本控制允许的情况下,也可以选用更大点阵的显示屏,例如320*240或640*480等单色屏,AVR单片机的运行速度也可以满足显示静态图形画面的屏幕刷新的时间要求。小型液晶屏现已算不上高技术产品,市场上提供同类产品的厂商较多,大多是由我国的广东、深圳以及台湾的厂家生产,其中台湾产品的价格较高。生产厂家提供给用户的都是将液晶屏和液晶显示驱动电路组合在一起的液晶显示模块,使用同样的显示控制芯片的液晶屏的驱动方式是一样的,所以这里介绍的接口电路设计也可适用于许多不同生产厂家的同类产品,只是要注意不同厂家产品定义的模块接口引脚排布可能不同。OCM12864-3型液晶显示模块是128*64点阵型液晶显示模块,可显示各种字符以及图形,可与CPU直接接口,采用KS0108控制芯片。如图3-4所示。图3-4 LCD及控制器引脚排列图KS0108控制芯片引脚功能如表3-2所示。表3-2 KS0108引脚功能表引脚编号信号名称类型功能说明1IN片选信号,低电平时选择左半屏2IN片选信号,低电平时选择右半屏3GNDPW-逻辑电源地(续表3-2)引脚编号信号名称类型功能说明4VCCPW+逻辑电源5V0INLCD调整电压,接10K电位器的中端6RSIN数据/指令选择,高电平:数据D0-D7将送入显示RAM;低电平:数据D0-D7将送入指令寄存器执行7R/WIN读/写选择,高电平:读数据;低电平:写数据8EIN读写使能,高电平有效,下降沿锁定数据9DB0I/O数据输入/输出引脚10DB1I/O数据输入/输出引脚11DB2I/O数据输入/输出引脚12DB3I/O数据输入/输出引脚13DB4I/O数据输入/输出引脚14DB5I/O数据输入/输出引脚15DB6I/O数据输入/输出引脚16DB7I/O数据输入/输出引脚17IN复位信号,低电平有效18VoutOUTLCD驱动负电压输出,对地接一个10K电位器液晶显示模块将128*64个像素的点阵分成左右两个64*64的显示区间,每个显示区间由一个64*64=4096位的显存RAM控制,RAM中的每位二进制数控制区间中的一个像素,数据1对应一个像素显示,数据0则对应像素消隐。控制两个显示区间的显存RAM具有自己独立的地址空间,分别由和选通。V0的电压值控制液晶屏显示的对比度,由一个10K电位器在GND和Vout之间调节V0电位。注意有的液晶模块的V0电位是在VCC和GND间调节,需根据生产厂家的使用说明决定电位调节电路的连接。是外部输入信号,用来控制液晶模块复位,返回初始状态。若电路中不使用该功能,则将其接到高电平。接口电路为液晶显示模块正常工作提供适当的外部环境,模块的工作状态和显示内容还要依靠单片机从I/O口输出指令的控制。OCM12864的控制指令描述如下。(1)显示开/关设置R/WRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLHHHHHH/L功能:设置屏幕显示开/关。DB0=H,开显示;DB0=L,关显示。不影响显示RAM(DD RAM)中的内容。(2)设置显示起始行R/WRSDB7DB6DB5-DB0LLHH行地址(0-63)功能:执行该命令后,所设置的行将显示在屏幕的第一行。显示起始行是由Z地址计数器控制的,该命令自动将A0-A5位地址送入Z地址计数器,起始地址可以是0-63范围内任意一行。Z地址计数器具有循环计数功能,用于显示行扫描同步,当扫描完一行后自动加一。依次改变显示起始行的设置,可以实现滚屏的效果。(3)设置页地址R/WRSDB7DB6DB5DB4DB3DB2-DB0LLHLHHH页地址(0-7)功能:执行本指令后,下面的读写操作将在指定页内,直到重新设置。液晶模块的驱动电路将每个64*64点阵显示区间分成8页,每页8行。当选定页地址后,写入显存RAM中的一个二进制字节数据控制一列8行的显示像素。页地址就是DDRAM的行地址,页地址存储在X地址计数器中,DB2-DB0可表示8页,读写数据对页地址没有影响,除本指令可改变页地址外,复位信号()可把页地址计数器内容清零。(4)设置列地址R/WRSDB7DB6DB5-DB0LLLH列地址(0-63)功能:DDRAM的列地址存储在Y地址计数器中,读写数据对列地址有影响,在对DDRAM进行读写操作后,Y地址自动加一。(5)写显示数据R/WRSDB7DB6DB5DB4DB3DB2DB1DB0LHD7D6D5D4D3D2D1D0功能:写数据到DDRAM,DDRAM是存储图形显示数据的,写指令执行后Y地址计数器自动加1。D7-D0位数据为1表示显示(对应像素显示),数据为0表示不显示(对应像素消隐)。写数据到DDRAM前,要先执行“设置页地址”及“设置列地址”命令。对液晶显示图形的控制是通过向显存发送的控制数据的方式来实现的,若要在显示屏的某处显示信息,需要在显存的对应地址写入显示控制数据。(6)读显示数据R/WRSDB7DB6DB5DB4DB3DB2DB1DB0HHD7D6D5D4D3D2D1D0功能:从DDRAM读数据,读指令执行后Y地址计数器自动加1。从DDRAM读数据前要先执行“设置页地址”及“设置列地址”命令。注意当设置列地址后首次读DDRAM中数据时,需连续读操作两次,第二次才为正确数据。读内部状态则不需要此操作。了解了液晶屏的控制方式,就可以进行接口控制程序的设计。点阵液晶显示在人机接口中的主要应用,一是显示汉字、英文字符和数字,二是显示反映系统状态变化的曲线。对于电子词典一类需要显示大量汉字和英文字符的点阵液晶显示,应该选用带字库的液晶模块,根据汉字和英文字符的编码,可直接调用字形点阵,在设定的位置显示。而本次毕业设计无需显示大量的汉字和英文字符,故不需字库。控制点阵液晶屏的显示内容,一是确定显示内容,二是确定显示区域。写数据一次并行传输的8位二进制数,填写一页中的一列,在设计显示汉字、字符或数字的用户显示界面时,应将待显字模安排在与页地址对应的显示区域,这样可以方便编程,既减少程序语句行数,又减少编程的工作量,加快研发速度。3.4 本章小结本章对所需硬件电路进行系统研究和设计,对人机交互接口电路中的各个组件和引脚进行了系统的阐述,以及各功能模块电路的设计,并且详细介绍了整个设计过程。整体硬件电路图见附录5。第4章 软件设计 第4章 软件设计4.1 软件平台介绍Atmel的AVR单片机的集成环境汇编及开发调试软件AVR Studio完全免费,支持汇编,但不支持C编译,因此我们选用HP Info Tech公司的CVAVR(Code Vision AVR的简称)作为本次毕业设计的软件开发环境来进行程序的编写和调试。CVAVR是一款低成本的C语言编译器,同时也是一个开发AVR的IDE(集成开发环境)开发平台。其特点是:代码生成效率高;突出支持位变量访问;直接支持多种外部标准接口器件应用。CVAVR的使用,首先,进入CVAVR界面。图4-1 CVAVR软件主界面下面要新建一个工程:点击File-new,出现以下对话框图4-2 建立工程选项选择Project,表示要新建一个工程(建完工程后再建文件,比如C文件、H文件),输入工程名称后,即建立完毕。图4-3 建立工程路径图示接下来弹出一个对话框,点击ADD按钮,添加源程序。图4-4 添加C程序源文件图示点击C Compiler,这里的选项涉及单片机型号、时钟、存储器类型等设置,选择对应的单片机型号,其余选项可不做改动。图4-5 单片机设置选项图示最后点击Project-Build All,或者按下Ctrl+F9进行编译,显示如下界面,编译完成。图4-6 编译完成界面4.2 软件部分整体设计整体工作过程为:矩阵键盘由16个表示不同功能的按键组成,当有人任意按下16个按键中的某个或某几个按键后,键盘通过扫描后确定按下的键位,产生相应的信号,然后通过16键译码器将信号传递给ATmega16单片机,单片机内部根据不同的按键转为不同的处理,然后再传递给液晶控制器。这里主要的三个部分,矩阵键盘和单片机之间以及单片机和液晶之间都是通过I/O口进行连接的。下图(图4-1)为软件总体流程图。图4-7 软件总体流程图4.3 矩阵键盘程序设计矩阵键盘程序是整个软件设计中的一部分设计。程序部分采用C语言,将检测到的按键信号转换成数字量,显示于LCD显示器上。每个按键都有它的行值和列值,行值和列值的组合就是识别这个按键的编码。矩阵的行线和列线分别通过两并行接口和CPU通信。键盘的一端(列线)通过电阻接VCC,而接地是通过程序输出数字“0”实现的。键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的功能是什么。通过软件查表,查出该键的功能。下图(图4-2)为键盘扫描程序流程图。图4-8 键盘扫描程序流程图4.4 液晶程序设计这段程序主要是对控制器的接口进行初始化,对芯片初始化,设置输入、输出端口。由于本次毕业设计中使用的液晶本身不带字库,要将字转成16*16点阵字模,单片机对于不带字库的液晶硬件进行编程时,需要查询所需显示的汉字字模数据。显示一个汉字,必然要用到汉字的点阵字形信息,也叫做汉字的字模,根据汉字的不同字体,可分为宋体字模、楷体字模、黑体字模等等。汉字的字模是汉字字形的数字化。汉字的字模是这样得出来的:把汉字写在一个同一大小方格组成的方格块内,将方格块分成M行N列共M*N个小格组成点阵,而将汉字离散成网点,汉字的笔画能过某网格,则必有一个离散的点落在该网格内,该网格对应的一位二进制数为1,否则该网格为空,对应的一位二进制数为0,这样每一网格均可对应一位确定的二进制数,把所有网格对应的二进制数组合起来便组成了汉字的字模。一个16*16点阵的汉字总共需要16*16/8=32个字节表示。字模的表示顺序为:先从左到右,再从上到下,也就是先画左上方的8个点,再是右上方的8个点,然后是第二行左边8个点,右边8个点,依此类推,画满16*16个点。本次毕业设计采用的方案是将提取的汉字字模数据作为常量数组存放在程序存储器内。在需要显示汉字时由程序调用相应常量数组即可。4.5 交互窗口设计4.5.1 如何开辟窗口窗口是实现人机交互,并在显示器屏幕上设定的一个或若干个可视区域(一般为矩形)。它的设计任务主要是如何开辟可视区,以及如何在这个可视区内提供人机交互的信息。窗口一般分为两种类型:(1)瓦片式,这种方式是把屏幕分成若干个大小、位置相对固定但互不重迭的子窗口,用户可以通过这些子窗口同时观察几种不同的交互情景。(2)重迭式,这种方式是把同族窗口以嵌套的形式出现,彼此之间可以全部或部分重迭,并能动态生成和消除,以表示不同的交互深度。这两种类型的窗口虽然形式不同,但它们都是由若干个基本的小窗口组成的。因此,借助于液晶LCD的窗口定位和开窗函数,即可在屏幕的任何位置生成不同大小的窗口5。本次毕业设计采用重迭式窗口,重迭式窗口的主要问题涉及被覆盖窗口中的信息如何恢复。为了解决这个问题,一般有两种途径:一种是由用户进程自行恢复,即重新执行一次窗口的程序,优点是减轻了窗口系统本身的管理复杂性和内存开销,但需要一定的重显时间,尤其是在复杂画面显示时更为严重;另一种比较好的方法是基本窗口系统自行恢复,优点是恢复速度快,虽然需要一定的内存开销,但随着计算机内存空间的扩大,这个矛盾将得到缓和,本文采用第二种方法。4.5.2 窗口信息控制由void lcd_get_space_menu_sec(unsigned char start_x,unsigned char start_y,unsigned char end_x,unsigned char end_y)函数来进行二级悬浮菜单的显示,将一个区域清空并画上花边,输入参数起始坐标,结束坐标,坐标之间的区域进行清空。应用程序工作区可以在窗口中留出专用区作为应用程序的运行空间,或者采用屏幕覆盖的方法,当应用程序运行完毕后,再恢复原窗口中被覆盖的内容。为了清楚地标识当前目标,往往用比较醒目的色带或闪烁标志覆盖当前目标。常见的方法是:先保护该目标区的内容于缓冲区中,以备脱离当前状态后予以恢复;然后再把此目标区当作一个小窗口,设置所需的底色,并把目标内容写入该窗口。4.5.3 交互界面仿真结果图4-9 欢迎界面仿真结果图4-10 一级菜单仿真结果图4-11 二级菜单仿真结果图4-12 计算器程序交互界面仿真结果 4.6 本章小结本章详细讨论了人机交互接口系统的软件实现方案,包括各个层次的功能组件和实现方案,对软件仿真环境进行了详细的介绍并对程序进行编写和仿真。参考文献 参考文献1刘海成编著.AVR单片机原理及测控工程应用-基于ATmega48/ATmega16. 北京航空航天大学出版社. 2008:27-65.2吴双力,崔剑,王伯岭编著.AVR-GCC与AVR单片机C语言开发. 北京航空航天大学. 2004:6-50.3周望,吴建宏编著.彩色点阵液晶显示器的应用与探讨. 苏州丝绸工学院. 1999:75-90.4王家力,曾连荪编著.图形点阵LCD显示控制研究. 上海海事大学. 2007:120-137.5王士元编著.C高级实用程序设计. 北京清华大学出版社. 1998:223-225.6李广弟,朱月秀编著.单片机基础. 北京航空航天大学出版社. 2001:45-47.7李维缇,郭强.液晶显示器应用技术. 北京邮电大学出版社. 2000:55-57.8刘守义.单片机应用技术. 西安电子科技大学出版社. 2003:21-24.9朱奕丹,余文烺.单片机控制的点阵图形液晶显示模块的开发. 仪表技术. 2007:89-91.10柯艳明.点阵字符型液晶显示模块与单片机的接口及编程. 福建电脑. 2007:605-612.11 Van Schyndel R G,Tirkel A Z,Osborne C F.A digital watermark. Proc. IEEE Int.Conf.Imag

温馨提示

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

评论

0/150

提交评论