《第16讲 键盘及显示器接口.pptx》由会员分享,可在线阅读,更多相关《第16讲 键盘及显示器接口.pptx(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机系统的扩展单片机系统的扩展 一、存储器的扩展一、存储器的扩展 二、二、I/O端口的扩展端口的扩展8155引脚图1234567891011121314158155PB6IO/MPB7PC3PC016171819202122232425262728293031323334353637383940PC2VCCWRRDCEPC5RESETPC4TIMER OUTALEAD0AD1AD2AD3AD4AD5AD6AD7VSSPA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PC1TIMER IN 2 2)用)用74LSTTL74LSTTL电路扩展并行电路扩展并行I/
2、OI/O口口 利用利用74LS27374LS273和和74LS24474LS244,将,将P0P0口扩展成简单的输入、口扩展成简单的输入、输出口的电路。输出口的电路。 74LS27374LS273输出端接输出端接8 8个个LEDLED发光二极管,以显示发光二极管,以显示8 8个按个按钮开关状态,某位低电平时二极管发光。钮开关状态,某位低电平时二极管发光。 74LS24474LS244是缓冲驱动器,扩展输入口,接是缓冲驱动器,扩展输入口,接8 8个按钮开个按钮开关。关。 74ls273:是带有清除端的是带有清除端的8D触发器,只有触发器,只有在清除端保持高电平时,才具有锁存功在清除端保持高电平时
3、,才具有锁存功能,锁存控制端为能,锁存控制端为11脚脚CLK,采用上升,采用上升沿锁存。沿锁存。 CPU 的的ALE信号必须经过反相信号必须经过反相器反相之后才能与器反相之后才能与74LS273的控制端的控制端CLK 端相连。端相连。 MOVX DPTR,AMOVX DPTR,A ;A A中数据送输出口中数据送输出口SJMP LP SJMP LP ;反复连续执行反复连续执行编写程序把按钮开关状态通过图中的发编写程序把按钮开关状态通过图中的发光二极管显示出来。程序如下:光二极管显示出来。程序如下:DDIS:DDIS:MOV DPTR,#0FEFFH MOV DPTR,#0FEFFH ;输入口地址
4、输入口地址DPTRDPTRLP:LP:MOVX A,DPTR MOVX A,DPTR ;按钮开关状态读入按钮开关状态读入A A 3 3)用)用MCS-51MCS-51的串行口扩展并行口的串行口扩展并行口 用用74LS16574LS165扩展并行输入口扩展并行输入口串行口控制寄存器串行口控制寄存器SCONSCON 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H (98H) SM0 SM1 SM2 REN TB8 RB8 TI RI 例:例: 从从1616位扩展口读入位扩展口读入5 5组数据(每组二个字节),组数据(每组二个字节),节并把它们转存到内部节并把它们转存到内部RAM 2
5、0HRAM 20H开始的单元中。开始的单元中。MOV R7,#05H MOV R7,#05H ;设置读入组数设置读入组数MOV R0,#20H MOV R0,#20H ;设置内部设置内部RAMRAM数据区首址数据区首址START: CLR P1.0START: CLR P1.0;并行置入数据,并行置入数据,S/LS/L* *=0=0 SETB P1.0 SETB P1.0;允许串行移位,允许串行移位,S/LS/L* *=1=1 MOV R1,#02H MOV R1,#02H;设置每组字节数,即外扩设置每组字节数,即外扩 ;74LS16574LS165的个数的个数RXDATA: MOV SCON
6、,#10H RXDATA: MOV SCON,#10H ;设串口方式设串口方式0 0,允许接收,启动,允许接收,启动WAIT: JNB RI,WAIT WAIT: JNB RI,WAIT ;未接收完一帧,循环等待未接收完一帧,循环等待CLR RICLR RI ;清;清RIRI标志,准备下次接收标志,准备下次接收MOV A,SBUFMOV A,SBUF;读入数据读入数据MOV R0,AMOV R0,A;送至送至RAMRAM缓冲区缓冲区INC R0INC R0;指向下一个地址指向下一个地址DJNZ R1,RXDATA DJNZ R1,RXDATA ;未读完一组数据,继续未读完一组数据,继续DJNZ
7、 R7,STARTDJNZ R7,START;5 5组数据未读完重新并行置入组数据未读完重新并行置入 ;对数据进行处理;对数据进行处理用用74LS16474LS164扩展并行输出口扩展并行输出口. .74LS16474LS164:8 8位串入并出移位寄存器。位串入并出移位寄存器。下图是利用下图是利用74LS16474LS164扩展二个扩展二个8 8位并行输出口的接位并行输出口的接口电路。口电路。例例 编写将内部编写将内部RAMRAM单元单元30H30H、31H31H的内容经串行口的内容经串行口 由由74LS16474LS164并行输出子程序。并行输出子程序。START: MOV R7,#02H
8、START: MOV R7,#02H;设置要发送的字节个数设置要发送的字节个数 MOV R0,#30HMOV R0,#30H;设置地址指针设置地址指针 MOV SCON,#00H MOV SCON,#00H ;设置串行口为方式设置串行口为方式0 0SEND:SEND: MOV A,R0 MOV A,R0 MOV SBUF,A MOV SBUF,A ;启动串行口发送过程启动串行口发送过程WAIT:WAIT: JNB TI,WAIT JNB TI,WAIT ;1 1帧数据未发完,循环等待帧数据未发完,循环等待 CLR TICLR TI INC R0 INC R0 ;取下一个数取下一个数 DJNZ
9、R7,SENDDJNZ R7,SEND ;未完,发完从子程序返回未完,发完从子程序返回 键盘接口 键盘实际上是由排列成矩阵形式的一系键盘实际上是由排列成矩阵形式的一系列按键开关组成的,它是单片机系统中列按键开关组成的,它是单片机系统中最常用的人机联系的一种输入设备。用最常用的人机联系的一种输入设备。用户通过键盘可以向户通过键盘可以向CPU输入数据、地址输入数据、地址和命令。和命令。 键盘按其结构形式可分为编码式键盘和键盘按其结构形式可分为编码式键盘和非编码式键盘两大类。非编码式键盘两大类。 单片机系统中普遍使用非编码式键盘。单片机系统中普遍使用非编码式键盘。这类键盘应主要解决以下几个问题:这类
10、键盘应主要解决以下几个问题: (1)键的识别键的识别; (2)如何消除键的抖动如何消除键的抖动; (3)键的保护。键的保护。 在以上几个问题中,最主要的是键的识在以上几个问题中,最主要的是键的识别。别。 非编码式键盘的结构与工作原理非编码式键盘的结构与工作原理 1.非编码式键盘的结构非编码式键盘的结构0123106759841114 151312+5VX3X2X1X0Y3Y0Y2Y1 2.非编码式键盘的工作原理非编码式键盘的工作原理非编码式键盘识别闭合键通常有两种方法:非编码式键盘识别闭合键通常有两种方法:一种称为行扫描法一种称为行扫描法,另一种称为线反转法。另一种称为线反转法。 行扫描法行扫
11、描法: 所谓行扫描法所谓行扫描法,就是通过行线发出低电平就是通过行线发出低电平信号信号,如果该行线所连接的键没有按下的如果该行线所连接的键没有按下的话话,则列线所连接的输出端口得到的是全则列线所连接的输出端口得到的是全“1”信号信号;如果有键按下的话如果有键按下的话,则得到的则得到的是非全是非全“1”信号。信号。 3.如何消除键的抖动如何消除键的抖动 由于按键为机械开关结构由于按键为机械开关结构,因此机械触点因此机械触点的弹性及电压突跳等原因的弹性及电压突跳等原因,往往在触点闭往往在触点闭合或断开合或断开的瞬间会出现电压抖动。的瞬间会出现电压抖动。 软件去抖:调用延迟子程序软件去抖:调用延迟子
12、程序 硬件去抖:加锁存器硬件去抖:加锁存器 4.键的保护键的保护 键的保护问题指的是当有双键或多键的保护问题指的是当有双键或多键同时按下时会出现什么问题以及如何键同时按下时会出现什么问题以及如何加以解决。一旦出现这样情况加以解决。一旦出现这样情况,一般作为一般作为废键处理。废键处理。键盘接口举例 键盘扫描的程序(采用查询方法)键盘扫描的程序(采用查询方法) KS:MOVDPTR,#7FFFH;键扫描程序键扫描程序CLRP1.0;先扫描第先扫描第1行行MOVX A,DPTR;读入按键状态读入按键状态MOV37H,A;暂存按键状态暂存按键状态CPLA;JZKSK1;07号键没有键操作,则跳号键没有
13、键操作,则跳LCALLDL20;07号键有操作,则延时去抖号键有操作,则延时去抖MOVX A,DPTR;再读键状态再读键状态XRLA,37H;和延时前的状态一样吗?和延时前的状态一样吗?JZKS1;一样,则转去查询键号一样,则转去查询键号KSK1:SETBP1.0;开始扫描第开始扫描第2行行CLRP1.1MOVX A,DPTR;读入按键状态读入按键状态MOV37H,A;暂存按键状态暂存按键状态CPLAJZKSK2;8F号键没有键操作,则跳号键没有键操作,则跳LCALLDL20;8F号键有操作,则延时去抖号键有操作,则延时去抖MOVXA,DPTR;再读键状态再读键状态XRL A,37H;和延时前
14、的状态一样吗?和延时前的状态一样吗?JZKS1;一样,则转去查询键号一样,则转去查询键号 KSK2: AJMPKS9;8F键也不存在操作则跳键也不存在操作则跳 KS1:MOVXA,DPTR;再读按键状态;再读按键状态CPL AJNZ KS1;按键没有松开,则等待松开;按键没有松开,则等待松开MOVA,37H;查询有键操作的键号;查询有键操作的键号JBACC.0,KS2;不是第不是第1个键,则跳个键,则跳MOV37H,#00H;赋键初值赋键初值AJMPKS10 KS2: JBACC.1,KS3;不是第;不是第2个键,则跳个键,则跳 MOV37H,#01H;赋键初值;赋键初值 AJMPKS10 K
15、S9: SETB ACC.7 AJMP KS11 KS10 : MOV A,37H ANL A,#07H JNB P1.0 KS11 SETB ACC.3 KS11: ORL P1,#03H MOV 37H,A RET LED数码显示器接口数码显示器接口 1. LED数码显示器的结构数码显示器的结构 LED数码显示器是一种由数码显示器是一种由LED发光二发光二极管组合显示字符的显示器件。它使用极管组合显示字符的显示器件。它使用了了8个个LED发光二极管发光二极管,其中其中7个用于显示个用于显示字符字符,1个用于显示小数点个用于显示小数点,故通常称之为故通常称之为7段段(也有称作也有称作8段段)
16、发光二极管数码显示器。发光二极管数码显示器。7段LED数码显示器 LED数码显示器有两种连接方法:数码显示器有两种连接方法:(1)共阳极接法。共阳极接法。 把发光二极管的阳极连在一起构成公共阳把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接极,使用时公共阳极接+5V,每个发光二每个发光二极管的阴极通过电阻与输入端相连。极管的阴极通过电阻与输入端相连。 (2)共阴极接法。共阴极接法。 把发光二极管的阴极连在一起构成公共把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。阴极,使用时公共阴极接地。每个发光每个发光二极管的阳极通过电阻与输入端相连。二极管的阳极通过电阻与输入端相连。
17、2. LED数码显示器的显示段码数码显示器的显示段码 为了显示字符为了显示字符,要为要为LED显示器提供显示显示器提供显示段码段码(或称字形代码或称字形代码),组成一个,组成一个“8”字字形字符的形字符的7段段,再加上再加上1个小数点位个小数点位,共计共计8段段,因此提供给因此提供给LED显示器的显示段码为显示器的显示段码为1个字节。各段码位的对应关系如下:个字节。各段码位的对应关系如下: 段码位D7 D6D5D4D3D2D1D0 显示段dpgfedcba七段码七段码LED显示器字型码表显示器字型码表 LED数码显示器的接口方法与接口电路数码显示器的接口方法与接口电路1.LED数码显示器的接口
18、方法数码显示器的接口方法单片机与单片机与LED数码显示器有以硬件为主以数码显示器有以硬件为主以软件为主的两种接口方法。软件为主的两种接口方法。 1)以硬件为主的接口方法以硬件为主的接口方法 以硬件为主的LED显示器接口电路 2)以软件为主的接口方法以软件为主的接口方法 这种接口方法的电路,它是以软件查表这种接口方法的电路,它是以软件查表代替硬件译码代替硬件译码,不但省去了译码器不但省去了译码器,而且还而且还能显示更多的字符。但是驱能显示更多的字符。但是驱动器是必不动器是必不可少的可少的,因为仅靠接口提供不了较大的电因为仅靠接口提供不了较大的电流供流供LED显示器使用。显示器使用。 以软件为主的
19、LED显示器接口电路 LED数码显示器的显示方法数码显示器的显示方法 对于多位数码显示器来说对于多位数码显示器来说,为了简化线路、为了简化线路、降低成本降低成本,往往采用以软件为主的接口方法往往采用以软件为主的接口方法,即不使用专门的硬件译码器即不使用专门的硬件译码器,而采用软件程而采用软件程序进行译码。序进行译码。 如前所述如前所述,由于各位数码管的显示段码是互由于各位数码管的显示段码是互相并联的相并联的,因此在同一时刻只能显示同一种因此在同一时刻只能显示同一种字符。对于这种接口电路来说字符。对于这种接口电路来说,其其显示方法显示方法有静态显示和动态显示两种。有静态显示和动态显示两种。 1.
20、静态显示静态显示 所谓静态显示所谓静态显示,就是在同一时刻只显示就是在同一时刻只显示1种种字符字符,或者说被显示的字符在同一时刻是或者说被显示的字符在同一时刻是稳定不变的。其显示方法比较简单稳定不变的。其显示方法比较简单,只要只要将显示段码送至段码口将显示段码送至段码口,并把位控字送至并把位控字送至位控口即可。位控口即可。 2.动态显示动态显示 如果要在同一时刻显示不同的字符如果要在同一时刻显示不同的字符,从电从电路上看路上看,这是办不到的。因此只能利用人这是办不到的。因此只能利用人眼对视觉的残留效应眼对视觉的残留效应,采用动态扫描显示采用动态扫描显示的方法的方法,逐个地循环点亮各位数码管逐个地循环点亮各位数码管,每位每位显示显示1ms左右,使人看起来就好象在同时左右,使人看起来就好象在同时显示不同的字符一样。显示不同的字符一样。 LED数码显示器的接口电路数码显示器的接口电路