键盘显示接口扩展学习教案.pptx
上传人:王子****青蛙 上传时间:2024-09-13 格式:PPTX 页数:86 大小:5.5MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

键盘显示接口扩展学习教案.pptx

键盘显示接口扩展学习教案.pptx

预览

免费试读已结束,剩余 76 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

键盘(jiànpán)显示接口扩展键盘电路分为独立式按键和行列式键盘两种。独立式按键:是直接用I/O口线构成的单个按键电路,每个独立式按键单独占有一根I/O口线,每一根I/O口线上按键的工作状态不会影响其它I/O口线的工作状态。这种方式电路简单,软件也简单,但占用I/O资源多。行列式键盘:是将按键排成“行”和“列”的矩阵形式,配合软件编程,产生按键的编码。这种形式电路极为简单,占用I/O资源少,因此(yīncǐ)被广泛的应用于微机、单片机的硬件系统中。独立式按键(ànjiàn)1.独立式按键接口(jiēkǒu)结构2.独立式按键的软件结构下面是查询方式的键盘程序。K0~K7为功能程序入口地址标号,其地址间隔应能容纳JMP指令字节(zìjié),PROM0~PROM7分别为每个按键的功能程序。设I/O为P1口。JNBACC.2,K2;检测2号键是否(shìfǒu)按下,按下转JNBACC.3,K3;检测3号键是否(shìfǒu)按下,按下转JNBACC.4,K4;检测4号键是否(shìfǒu)按下,按下转JNBACC.5,K5;检测5号键是否(shìfǒu)按下,按下转JNBACC.6,K6;检测6号键是否(shìfǒu)按下,按下转JNBACC.7,K7;检测7号键是否(shìfǒu)按下,按下转JMPSTART;无键按下返回,再顺次检测K0:LJMPPROM0K1:LJMPPROM1K7:LJIMPPROM7PROM0:………………………;0号键功能程序………………………JMPSTART;0号键功能程序执行完返回PROM1:………………………;0号键功能程序………………………JMPSTART;1号键功能程序执行完返回………………………;7号键功能程序PROM7:………………………JMPSTART;7号键功能程序执行完返回4.1按键、键盘(jiànpán)及其接口键盘接口和键输入软件(ruǎnjiàn)中应解决的几个问题1.消除键抖动图4.3消除键抖动(dǒudòng)电路软件(ruǎnjiàn)去抖动方法2.键编码(biānmǎ)及键值图5.4行列式键盘(jiànpán)的编码与键值(2)顺序排列键编码。如图5.4(b)所示。这种方法,键值的形成(xíngchéng)要根据I/O线的状态作相应处理。键码可按下式形成(xíngchéng):键码=行首键码+列号行列式键盘行列式键盘又叫矩阵式键盘。用I/O口线组成行、列结构,按键设置在行列的交点上。例如4×4的行列结构可组成16个键的键盘。因此,在按键数量较多时,可以节省I/O口线。1.行列式键盘的接口行列式键盘的接口方法有许多,例如直接接口于单片机的I/O口上;利用扩展的并行I/O接口;用串行口扩展并行I/O口接口;利用一种可编程的键盘、显示接口芯片8279进行接口等。其中(qízhōng),利用扩展的并行I/O接口方法方便灵活,在单片机应用系统中比较常用。图5.68155扩展I/O口组成(zǔchénɡ)的行列式键盘2.键盘工作原理按键设置在行、列线的交点(jiāodiǎn)上,行、列线分别连接到按键开关的两端。行线通过上拉电阻接+5V,被箝位在高电平状态。1)查询工作方式键盘中有无键按下是由列线送入全扫描字,读入行线状态来判别的。其方法是:PA口输出00H,即所有列线置成低电平,然后将行线电平状态读入累加器A中。如果有键按下,总会有一根行线电平被拉至低电平,从而使行输入状态不全为"1"。键盘中哪一个键按下是由列线逐列置低电平后,检查行输入状态,称为逐列扫描。其方法是:从PA0开始,依次输出"0",置对应的列线为低电平,然后从PC口读入行线状态,如果全为"1",则所按下之键不在此列;如果不全为"1",则所按下的键必在此列,而且是与0电平行线相交的交点(jiāodiǎn)上的那个键。为求取键码,在逐列扫描时,可用计数器记录下当前扫描列的列号,然后用行线值为"0"的行首键码加列号的办法计算。/8155扩展(kuòzhǎn)I/O口组成的行列式键盘KS1:MOVDPTR,#7F01H;DPTR指向8155PA口MOVA,#00H;全扫描字→AMOVX@DPTR,A;全扫描字送8155PA口INCDPTR;DPTR指向8155PC口INCDPTRMOVXA,@DPTR;读入PC口行状态CPLA;变正逻辑,以高电平表示(biǎoshì)有键按下ANLA,#0FH;屏蔽高4位,只保留低4位;行线值RET;出口状态:(A)≠0时有键按下键盘扫描(sǎomiáo)子程序如下:SCANKEY:ACALLKS1;调用判断有无键按下子程序JZSCANKEY;无键按下返回.LK1:ACALLT