第3章GPIO应用_第1页
第3章GPIO应用_第2页
第3章GPIO应用_第3页
第3章GPIO应用_第4页
第3章GPIO应用_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

1、3 Sept. 2008Confidential三、三、GPIO应用应用3 Sept. 2008Confidential目标目标: :通过本章的学习,学员应掌握如下知识通过本章的学习,学员应掌握如下知识 1) 1) 数码管显示数码管显示2) 2) 键盘应用键盘应用3 3)LCDLCD应用应用时间:时间:4 学时学时教学方法:讲授教学方法:讲授PPT3 Sept. 2008Confidential键盘和显示器是单片机应用系统中常用的输入输出装置。LED数码显示器是常用的显示器之一,下面介绍并行口设计LED数码显示电路和键盘电路的方法。 3.1 LED数码显示器 LED数码管结构原理a b dpc

2、om共阴LEDa f b g e c d dp g f com a b c d com e dpa b dpcom共阳LED3 Sept. 2008ConfidentialLED数码管由7个显示段和1个小数点组成。7个段构成一个“8”字轮廓,可显示09和一些特殊字符。7个段和1个小数点对应8个发光二极管,发光二极管的阴极或阳极连成一个公共点,因此有共阴或共阳两种连接。a b dpcom共阴LEDa f b g e c d dp g f com a b c d com e dpa b dpcom共阳LED3.1 LED数码显示器 3 Sept. 2008ConfidentialCOM P1.01

3、.7 a f b g e c d dpab dpD7 D6 D5 D4 D3 D2 D1 D0dp g f e d c b a注意:字形码与注意:字形码与I/OI/O线的具线的具体连接相关。体连接相关。当LED字段引脚(adp)与I/O线连接后,每个显示字形对应一个字形码。COMagdp3.1 LED数码显示器 3 Sept. 2008Confidential对于N位LED显示器来讲,有N根位选线(COM脚)和8N根段选线(adp脚)。位选线用来控制显示位的亮灭,段选线控制字符选择。多位LED显示器有两种工作方式:静态显示和动态显示。每位LED段选线与一个8位I/O口相连,所有位选线并联接地(

4、共阴)或接+5V(共阳)。字符显示在刷新前可保持不变,编程容易,管理简单。占用I/O资源较多,N位LED需8N根 I/O线。 a b dpCOMa f b g e c d dp a b dpCOM a b dpCOMLED接口电路及显示方式静态显示3.1 LED数码显示器 3 Sept. 2008ConfidentialP0.4P0.5P0.6P0.1P0.2P0.3COMdpCOMhbbdpCOMa f b g e c d dpaaba各位LED的段选线并联与一个8位I/O口相连,而各自位选线另用I/O线控制。每位只能轮流点亮,分时显示字符。每位点亮间隔(扫描时间)必须小于20ms,才能保证

5、看上去不闪烁。占用I/O资源较少,N位LED只需8+N根I/O线。动态显示3.1 LED数码显示器 3 Sept. 2008Confidential在ROM中建立字形码表。查表找出对应字符的字形码。输出字形码到显示端口。显示程序设计要点3.1 LED数码显示器 3 Sept. 2008Confidential显示字符段 符 号(共阴为例)十六进制代码dpgfedcba共阴共阳0123456789ABCDEFHP000000000000000001001111101111011111100011101111101111101000101011111111101101101101111000110

6、1111111110100001111100111100100011011011111101011113FH06H5BH4FH66H6DH7DH07H7FH6FH77H7CH39H5EH79H71H76HF3HC0F9A4B0999282F880908883C6A1868EFFBF3.1 LED数码显示器 3 Sept. 2008Confidential3.1 LED数码显示器 3 Sept. 2008Confidential按键电路的基本概念键盘中使用的按键一般都是常开结构键。键的操作不可避免的存在机械抖动,抖动时间510ms左右单单片片机机 P1.0+5VK抖动时间抖动时间10ms开关动作

7、时间开关动作时间100ms“ 1 ”“ 0 ”10ms键盘接口及处理程序3.2 键盘电路 3 Sept. 2008Confidential延时等待10ms 仍有按键信号?Y 有按键信号?NYN键盘处理 按键释放?NY消除抖动的解决办法:采用软件延时。键抖动会造成CPU误读(实际按一次,误以为按了多次),为确保CPU的读键准确,需要消除抖动。3.2 键盘电路 3 Sept. 2008ConfidentialP1.0P1.1P1.7+5v 键盘结构每个按键单独占有一根I/O线。特点:配置灵活、编程简单;但按键多时,I/O线占用多。独立式键盘3.2 键盘电路 3 Sept. 2008Confiden

8、tial用I/O线组成行、列结构,按键设置在行列的交点上。特点:按键多时,节省I/O线,但编程复杂。判键原理(行线作输出,列线作输入)行列式(矩阵式)键盘判具体哪个键按下:行线依次送0,某列有按键,列线为0,某列无按键,列线为1。所按的键一定是在行、列线同为0的相交点上, 此法称行扫描。先判键盘中有无键按下:行线输出全0(全扫描字),读列线状态,列线全1说明无键按下,列线有0定有键按下。3.2 键盘电路 3 Sept. 2008Confidential键值:每个键都可以根据行、列数据组合得到一个对应的值,该值称为键值(位置码) 。图中16个键的键值依此是:01110111、01111011、0

9、1111101、01111110、01111110,键值用来区分每个按键。键号:用户人为的对每个键所编的位置序号称为键号。图中16个键的键号依此是:0、1、2、3、F,键号与键值在使用上并不矛盾,彼此对应,程序可以转换,但使用键号为程序散转提供了方便。3.2 键盘电路 3 Sept. 2008Confidential下图中,用LPC2124的并行口P1接44矩阵键盘,以P1.0P1.3作输出线,以P1.4P1.7作输入线,键盘扫描程序的流程如下页图所示。3.2 键盘电路 3 Sept. 2008ConfidentialY返回键编码读P1.4P1.7值置行扫描初值扫描位从P1口输出P1口的高四位

10、和低四位组合得键编码扫到最后一行?NN(有键按下)N开始P1.0P1.3输出0延时去抖动P1.4P1.7全为1?P1.4P1.7全为1?YYY(无键按下)3.2 键盘电路 3 Sept. 2008Confidential对前页键盘的程序流程图说明如下:当P1.0P1.3输出0时,如无键按下,P1.4P1.7的输入值均为“1”,如果其中有一个不是 “1”,说明有键按下,再使P1.0P1.3逐个输出零(行扫描),检查P1.4P1.7的输入值有 无零,从而查出是哪行哪列的键按下。在判按键时,按键有抖动,可采用延时后再重读以跳过抖动时段。3.2 键盘电路 3 Sept. 2008Confidentia

11、l扫描键盘处理程序的任务是:确定有无键按下;判哪一个键按下, 键的功能是什么;还要消除按键在闭合或断开时的抖动。两个并行口中,一个输出扫描码, 使按键逐行动态接地(称行扫描),另一个并行口输入按键状态(称回馈信号,键盘的列值), 由行扫描值和回馈信号共同形成键编码而识别按键。键盘扫描编程总结3.2 键盘电路 3 Sept. 2008Confidential3.2 键盘电路 3 Sept. 2008Confidential3.2 键盘电路 3 Sept. 2008Confidential3.2 键盘电路 3 Sept. 2008Confidential3.2 键盘电路 3 Sept. 2008C

12、onfidential3.2 键盘电路 3 Sept. 2008Confidential3.2 键盘电路 3 Sept. 2008ConfidentialLCD基本原理液晶显示器(LCD,Liquid Crystal Display)是一种低成本、低功耗的器件,可显示文字和图像。在嵌入式系统中极为常见,因为嵌入式系统没有像台式系统那样配备标准的显示器。LCD基本原理:入射光线首先通过一个偏极化板(类似玻璃片),接着遇到液晶材料,如果激活液晶材料的部分区域(可通过上电激活),则水晶分子排列整齐,光线可透过液晶材料。最后通过液晶材料的光线会遇到两种情形:碰到一面镜子而反射回来,因此激活部分的区域比

13、其它区域亮,这是反射式LCD;碰到黑色表面,光线被吸收,因此激活部分比其它区域暗(黑色表面在激活区域下面),这是吸收式LCD。3.3 LCD显示 3 Sept. 2008ConfidentialLCD编程原理 在嵌入式系统应用中,如果微控制器本身带有液晶驱动控制功能,则可以直接对点阵式液晶显示屏进行连接控制;如果微控制器本身没有液晶驱动控制功能,则需要外扩液晶驱动板来连接液晶显示屏,或者使用点阵式图形液晶显示模块。 由于点阵式液晶显示屏的引脚较多,生产厂家通常会将液晶显示屏和驱动电路装配在一起,形成液晶模块,即LCM。液晶模块在很大程度上方便了用户的使用,用户只要将其与微控制器连接,即可进行图

14、形的显示输出控制。MCULCD控制LCD屏3.3 LCD显示 3 Sept. 2008ConfidentialLCD分类 按显示分: 字符LCD 点阵LCD 按颜色分: 单色屏 4级灰度屏、8级灰度屏、16级灰度屏、64级灰度屏、256级灰度屏 16色屏、256色伪彩色屏、TFT真彩色屏3.3 LCD显示 3 Sept. 2008Confidential液晶本身不发光,背光灯+晶体透明控制来实现信息显示。LCDLEDCRT3.3 LCD显示 3 Sept. 2008Confidential字符型液晶显示模块是一类专门用于显示字母,数字,符号等的点阵式液晶显示模块 3.3 LCD显示 1、字符型

15、LCD模块3 Sept. 2008Confidential控制信号数据线(传输数据/指令)3.3 LCD显示 3 Sept. 2008Confidential具有简单而功能较强的指令集,可实现字符移动,闪烁等显示功能 16路行驱动器和80路列驱动器,具驱动有16*80点阵LCD能力 每个字符需要8行* 5列个点阵,所以最多能同时显示2行*16列的字符控器显示原理3.3 LCD显示 3 Sept. 2008Confidential内藏的字符发生存储器(CGROM)已经存储了160个不同的点阵字符液晶显示模块在显示“A”时,我们只需将ASCII码0 x41写入DDRAM即可显示时模块把地址0 x4

16、1中的点阵字符图形显示出来,就能看到数字“A”。3.3 LCD显示 3 Sept. 2008Confidential3.3 LCD显示 3 Sept. 2008Confidential3.3 LCD显示 3 Sept. 2008Confidential初始化LCD显示屏首先确定显示位置(通过写指令完成),接着写显示的数据(写数据完成)在与lcd打交道的过程中要检查lcd是否繁忙,即读lcd的状态(读指令完成)如果要读lcd屏上某个位置的内容,还要通过读数据来查看.如何显示一个A呢?3.3 LCD显示 3 Sept. 2008Confidential3.3 LCD显示 3 Sept. 2008C

17、onfidential3.3 LCD显示 3 Sept. 2008Confidential3.3 LCD显示 3 Sept. 2008Confidential3.3 LCD显示 3 Sept. 2008Confidential写LCD时序(包括读数据或者命令)3.3 LCD显示 3 Sept. 2008Confidential3.3 LCD显示 3 Sept. 2008Confidential读LCD时序(包括读数据或者命令)3.3 LCD显示 3 Sept. 2008Confidential3.3 LCD显示 3 Sept. 2008Confidential3.3 LCD显示 3 Sept.

18、 2008Confidential3.3 LCD显示 3 Sept. 2008Confidential名称:LcdInit功能:初始化LCD名称:CheckBusy功能:检查总线是否忙名称:WriteCMD功能:写命令函数名称:WriteData功能:写数据函数名称: set_xy()功能:设置显示位置,调用WriteCMD通常显示环节由如下几个程序构成3.3 LCD显示 3 Sept. 2008Confidential3.3 LCD显示 思考:如何让LCD液晶显示屏显示一座宝殿的图形? 一个字型或图形为8bytes的资料,而且每一个资料的7,6,5元位是无效位,因为它是5*7的点阵,要将图形

19、转为二进制码,你必需将图形分解成8个图形,分别将每个图形用二进制代码表示,如图:DDRAM的地址08H的图形代码为:04H,04H,0EH,1FH,1FH,1FH,0AH3 Sept. 2008Confidential1脚:CS1=0, 选中左屏2脚:CS2=0, 选中右屏6脚:DI(RS):指令L/数据H7脚:RW:读H/写L8脚:E:使能信号9脚到16脚:DB0-DB7,数据线(传输指令或者数据)P0.11P0.12GNDVCCP0.13P0.14P0.15P0.16P0.17P0.18P0.19P0.20P0.21P0.22P0.23VCCCS11CS22GND3VCC4V05DI6R/

20、W7E8DB09DB110DB211DB312DB413DB514DB615DB716RST17-Vout18LCD2LGM12641BS1R点阵128*64大屏LCD模块3.3 LCD显示 3 Sept. 2008ConfidentialLCD控制器具有简单而功能较强的指令集,可实现字符移动,闪烁等显示功能,降低了软件编程的难度。LCD内部组成LCD编程原理3.3 LCD显示 3 Sept. 2008Confidential12864点阵LCD,采用两片HD61202作为列驱动器,同时使用一片HD61203作为行驱动器的液晶模块左右屏选择3.3 LCD显示 3 Sept. 2008Confi

21、dential读时序(进行读操作之前,必须有一次空读操作 )3.3 LCD显示 3 Sept. 2008Confidential写时序3.3 LCD显示 3 Sept. 2008Confidential3.3 LCD显示 3 Sept. 2008ConfidentialLCD控制和显示相关的命令集在相关的芯片手册中提供,编程人员在进行LCD初始化时,需要将相关的命令字送入到LCD中。注:L 表示0; H 表示1; X 表示无关位。LCD编程原理3.3 LCD显示 命令RS为低(0)RW为低(0)数据位3 Sept. 2008Confidential1脚:CS1=0,选中左屏2脚:CS2=0,选

22、中右屏6脚:DI(RS):指令L/数据H7脚:RW:读H/写L8脚:E:使能信号9脚到16脚:DB0-DB7,数据线(传输指令或者数据)128x64 LCD显示屏页面0页面1页面7每次只能改写某个页面的1列数据3.3 LCD显示 点阵128*64大屏LCD模块3 Sept. 2008Confidential整个lcd为128列*64行点阵128列中前64列对应左屏(由CS1选择)/后64列对应右屏(由CS2选择)每屏分为8页,64列管理,每页8行。编程时显示坐标需要确定X(页坐标)和Y(列坐标)行坐标只用来选择显示的起始行注:该图以左半屏为例(64行*64列)LCD结构3.3 LCD显示 3 Sept. 2008ConfidentialLCD采用纵向取模,字节倒序的形式如“连”由32

温馨提示

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

评论

0/150

提交评论