《MCS-51与键盘显示器的接口.ppt》由会员分享,可在线阅读,更多相关《MCS-51与键盘显示器的接口.ppt(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机原理与应用单片机原理与应用主讲:郑宇第第9 9章章 MCS-51MCS-51单片机的人机交互片机的人机交互通道(通道(显示、示、键盘)配置与接口)配置与接口主要内容:主要内容:从工程应用角度介绍了从工程应用角度介绍了MCS-51单片机的交互通单片机的交互通道配置与接口,主要包括人机界面中的键盘、显示道配置与接口,主要包括人机界面中的键盘、显示器等。介绍了多种实用方案和设计技巧。器等。介绍了多种实用方案和设计技巧。重点重点在于系统概念的形成、各种接口设计方案和设在于系统概念的形成、各种接口设计方案和设计技巧的掌握,熟悉各种交互设备。计技巧的掌握,熟悉各种交互设备。难点难点在于使用动态方法进
2、行键盘和显示的硬件及软在于使用动态方法进行键盘和显示的硬件及软件设计。件设计。人机界面人机界面:是指人与计算机系统进行信息交互的接口,包括信是指人与计算机系统进行信息交互的接口,包括信息的输入和输出息的输入和输出。9.1 MCS-519.1 MCS-51单片机与片机与键盘的接口技的接口技术 键盘:单片机系统中完成控制参数输入及修改的基本输入设备,单片机系统中完成控制参数输入及修改的基本输入设备,是人工干预系统的重要手段。是人工干预系统的重要手段。键盘的分的分类:按按编码方式可分为编码键盘与非编码键盘。按键编码方式可分为编码键盘与非编码键盘。按键组连接方式可分为独立连接式键盘与矩阵连接式键盘。组
3、连接方式可分为独立连接式键盘与矩阵连接式键盘。9.1.1 9.1.1 概述概述 键盘输入的主要入的主要对象:象:各种按键或开关。各种按键或开关。1 1独立独立连接式接式键盘 每每键键相相互互独独立立,各各自自与与一一条条I/O线线相相连连,CPU可可直直接接读读取取该该I/O线线的的高高/低低电电平平状状态态。其其优优点点是是硬硬件件、软软件件结结构构简简单单,判判键速度快,使用方便;键速度快,使用方便;缺点缺点是占是占I/O口线多。口线多。适适用用场合合:多多用用于于设设置置控控制制键键、功功能能键键。适适用用于于键键数数较较少少的的场场合。合。独独立立连连接接式式键键盘盘连连接接图图如如右
4、右图图所所示示。当当没没有有键键被被按按下下时时,所所有有的的数数据据输输入入线线都都为为高高电电平平;当当有有任任意意一一个个键键被被按按下下时时,与与之之相相连连的的数数据据输输入入线线将将变变为为低低电电平平;通通过过相相应应指指令,可以判断是否有键按下。令,可以判断是否有键按下。2.2.矩阵连接式键盘矩阵连接式键盘 键按矩阵排列键按矩阵排列,各键处于矩阵行各键处于矩阵行/列的结点处列的结点处,CPU通过对通过对连在行连在行(列列)的的I/O线送已知电平的信号线送已知电平的信号,然后读取列然后读取列(行行)线的状线的状态信息。逐线扫描态信息。逐线扫描,得出键码。其特点是键多时占用得出键码
5、。其特点是键多时占用I/O口线口线少少,硬件资源利用合理,但判键速度慢。硬件资源利用合理,但判键速度慢。适用场合:适用场合:多用于设置数字键,适用于键数多的场合。多用于设置数字键,适用于键数多的场合。4行行4列列矩矩阵阵式式键键盘盘连连接接图图如如右右图图所所示示。这这种种键键盘盘适适合合采采取动态扫描的方式进行识别。取动态扫描的方式进行识别。扫扫描描方方式式:低低电电平平扫扫描描(回回送送线线必必须须被被上上拉拉为为高高电电平平)、高高电电平平扫扫描描(回回送送线线需需被被下下拉拉为为低低电电平平)。右右图图中中给给出出了了低低电电平扫描的电路。平扫描的电路。3.3.薄膜开关薄膜开关特特点点
6、:不不需需要要进进行行导导线线与与开开关关间间的的焊焊接接,结结构构简简单单、体体积积小小、防尘、防水、防有害气体侵蚀、寿命长、可靠性高。防尘、防水、防有害气体侵蚀、寿命长、可靠性高。应应用用:与与按按键键式式键键盘盘类类似似,多多个个薄薄膜膜开开关关也也可可按按照照独独立立式式或或矩阵式设计内部电路,其原理与普通键盘相同。矩阵式设计内部电路,其原理与普通键盘相同。(1)开开关关状状态态的的可可靠靠输输入入。必必须须消消除除键键抖抖动动。可可以以采采用用硬硬件件和和软软件件两两种种方方法法,硬硬件件方方法法就就是是在在按按键键输输入入通通道道上上添添加加去去抖抖动动电路;软件方法则采用延迟电路
7、;软件方法则采用延迟1020ms(2)键盘状态的监测方法)键盘状态的监测方法中断方式还是查询方式。中断方式还是查询方式。(3)键盘编码方法。)键盘编码方法。(4)键盘控制程序的编制。)键盘控制程序的编制。9.1.3 9.1.3 键盘接口接口 功能:功能:对键盘上所按下的键进行识别。对键盘上所按下的键进行识别。分分类:(1)编码键盘:采用专用的编码/译码器件,被按下的键由该器件译码输出相应的键码件译码输出相应的键码/键值。其特点是增加了硬件开销,键值。其特点是增加了硬件开销,编码固定,但编程简单。适用于规模大的键盘。编码固定,但编程简单。适用于规模大的键盘。9.1.2 9.1.2 使用键盘时必须
8、解决的问题使用键盘时必须解决的问题 (2)非非编码键盘:采用软件编采用软件编/译码的方式,通过扫描,对译码的方式,通过扫描,对每个被按下的键判别输出相应的键码每个被按下的键判别输出相应的键码/键值。其特点是不增加键值。其特点是不增加硬件开销,编码灵活,但编程较复杂,占硬件开销,编码灵活,但编程较复杂,占CPU时间。适用于小时间。适用于小规模的键盘,特别是单片机系统。键盘。规模的键盘,特别是单片机系统。键盘。1 1键盘接口的工作原理接口的工作原理 对对于于矩矩阵阵式式键键盘盘,如如上上页页图图所所示示,键键盘盘的的行行线线X0X3通通过过电电阻阻接接+5V,当当键键盘盘上上没没有有键键闭闭合合时
9、时,所所有有的的扫扫描描线线和和回回送送线线都都断断开开,无无论论扫扫描描线线处处于于何何种种状状态态,回回送送线线都都呈呈高高电电平平。当当键键盘盘上上某某一一键键闭闭合合时时,则则该该键键所所对对应应的的扫扫描描线线和和回回送送线线被被短短路路,可可以以确确定定,变变为为低低电电平平的的回回送送线线与与扫扫描描线线相相交交处处的的键键闭合。闭合。CPUCPU对键盘扫描描的的方方式式:程程序序控控制制的的随随机机方方式式(CPU空空闲闲时时扫扫描键盘)、定时控制方式(定时扫描键盘)、中断方式。描键盘)、定时控制方式(定时扫描键盘)、中断方式。CPU对键盘上上闭合合键的的键号确定方法:号确定方
10、法:根据扫描线和回送线的根据扫描线和回送线的状态计算求得,或根据行线和列线的状态查表求得。状态计算求得,或根据行线和列线的状态查表求得。2 2键输入程序的设计方法键输入程序的设计方法 (1)判断键盘上是否有键闭合;)判断键盘上是否有键闭合;(2)消除键的机械抖动;)消除键的机械抖动;(3)确定闭合键的物理位置;)确定闭合键的物理位置;(4)得到闭合键的编号;)得到闭合键的编号;(5)确保)确保CPU对键的一次闭合只做一次处理对键的一次闭合只做一次处理3 3键盘接口方式键盘接口方式(1 1)独立式键盘接口(静态方式)独立式键盘接口(静态方式)特特点点:结结构构简简单单,每每个个按按键键接接单单片
11、片机机的的一一条条I/O线线,通通过过对对输输入入线的查询,可以识别每个按键的状态。线的查询,可以识别每个按键的状态。例例题题 在在MCS-51 单单片片机机系系统统中中,设设计计一一个个含含8个个按按键键的的独独立立式式键盘。键盘。解解:在在MCS-51中中,含含8个个按按键键的的独独立立式式键键盘盘的的线线路路连连接接如如下下页页图图所所示示,8个个按按键键经经上上拉拉电电阻阻拉拉高高后后分分别别接接到到MCS-51单单片片机机P1口口的的8条条I/O线上(线上(P1.0P1.7)。)。在无键按下的情况下,在无键按下的情况下,P1.0P1.7线上输入均为高电平。线上输入均为高电平。当有键按
12、下时,与被按键相连的当有键按下时,与被按键相连的I/O线将得到低电平输入,其线将得到低电平输入,其他位按键的输入线上仍维持高电平输入。他位按键的输入线上仍维持高电平输入。P1口口8条条I/O线经与非门线经与非门74LS30实现逻辑与非后,再经实现逻辑与非后,再经过过1个非门个非门74LS04进行信号变进行信号变换,然后接至换,然后接至MCS-51的的INT0 引脚上,可通过中断的方式处引脚上,可通过中断的方式处理键盘。在中断服务程序中,理键盘。在中断服务程序中,先延时先延时20 ms消除键抖动,再消除键抖动,再对各键进行查询,找到所按键,对各键进行查询,找到所按键,并转到相应的处理程序中去。并
13、转到相应的处理程序中去。主程序如下:主程序如下:ORG 0000HLJMP MAINORG 0003H;外部中断外部中断0中断服务入口地址中断服务入口地址LJMP INT;转中断服务转中断服务ORG 0100H MAIN:SETB EA;开总中断允许开总中断允许SETB EX0;开开INT0中断中断SETB IT0;下降沿有效下降沿有效中断服务程序清单如下:中断服务程序清单如下:INT:LCALL D20ms ;延时去抖动延时去抖动MOV P1,#0FFH;P1口送全口送全1值值MOV A,P1;读读P1口各引脚口各引脚 CJNE A,#0FFH,CLOSE;验证是否确实有键闭合验证是否确实有
14、键闭合 AJMP OUT;无键按下无键按下 CLOSE:JNBACC.7,KEY7;查询查询7号键号键JNBACC.6,KEY6;查询查询6号键号键JNBACC.5,KEY5;查询查询5号键号键JNBACC.4,KEY4;查询查询4号键号键JNBACC.3,KEY3;查询查询3号键号键JNBACC.2,KEY2;查询查询2号键号键JNBACC.1,KEY1;查询查询1号键号键JNBACC.0,KEY0;查询查询0号键号键OUT:LJMPINTRETKEY7:;7号键处理程序号键处理程序KEY71:MOVA,P1;再读再读P1口各引脚口各引脚JNBACC.7,KEY71;确认键是否释放确认键是否
15、释放LJMPINTRETKEY6:;其他键处理程序其他键处理程序KEY0:.INTRET:RETID20ms:略略;20ms延时子程序延时子程序END(2)矩)矩阵式式键盘接口接口行反行反转法法 矩矩阵阵式式键键盘盘按按键键识识别别方方法法有有行行反反转转法法和和扫扫描描法法等等。行行反反转法需要两个双向转法需要两个双向I/O口分别接行、列线。步骤如下:口分别接行、列线。步骤如下:(1)由行线输出全)由行线输出全“1”,读入列线,判有无键按下。,读入列线,判有无键按下。(2)若有键按下)若有键按下,再将读入的列线值输出再将读入的列线值输出,读入行线的值。读入行线的值。(3)第一步读进的列线值与
16、第二步读进的行线值运算,从而)第一步读进的列线值与第二步读进的行线值运算,从而得到代表此键的唯一的特征值。得到代表此键的唯一的特征值。行反转法因输入与输出线反过来用而得名。优点是判键速行反转法因输入与输出线反过来用而得名。优点是判键速度快,两次即可。度快,两次即可。例例题 请为请为8051微处理器设计一个由微处理器设计一个由4行行4列键阵构成的键盘。列键阵构成的键盘。解:解:44矩阵键盘的线路连接如下页图所示。其中矩阵键盘的线路连接如下页图所示。其中P2口的低口的低4位位作为输出线。作为输出线。P1口的低口的低4位作为输入线,输入线通过位作为输入线,输入线通过74LS21进进行逻辑相与后作为行
17、逻辑相与后作为8051的一个外部中断源输入。当有键按下的一个外部中断源输入。当有键按下时就将引起中断。中断服务程序要对所按的键进行判别。时就将引起中断。中断服务程序要对所按的键进行判别。(1)查询闭合键的位置子程序查询闭合键的位置子程序KEYR KEYR子程序用以确定每组线中哪一位为子程序用以确定每组线中哪一位为0,是否有多个,是否有多个0。在调用前,应将读某组线的数据存入累加器在调用前,应将读某组线的数据存入累加器A中。中。KEYR子程子程序返回时,某组线中序返回时,某组线中0的位置(的位置(03)保存在)保存在R3中。按键闭合中。按键闭合引起中断后,执行中断服务程序。引起中断后,执行中断服
18、务程序。KEYR子程序如下:子程序如下:KEYR:CJNE A,#0EH,TESTP11;测试测试P1.0MOV R3,#0 ;P1.0=0,说明被按键的输入线为,说明被按键的输入线为P1.0LJMP FINISH;返回返回 TESTP11:CJNE A,#0DH,TESTP12;测试测试P1.1MOV R3,#1LJMP FINISH TESTP12:CJNE A,#0BH,TESTP13;测试测试P1.2MOV R3,#2LJMP FINISH TESTP13:CJNE A,#07H,FINISH;测试测试P1.3MOV R3,#3 FINISH:RET (2)中断服务程序 中断服务程序开
19、始部分应利用软件延时消除键抖中断服务程序开始部分应利用软件延时消除键抖动,然后再对所按的键做出处理。动,然后再对所按的键做出处理。中断服务程序如下:中断服务程序如下:ORG 1000H INT11:LCALL DELAY ;延时去抖动延时去抖动 MOV A,P1;读输入线读输入线 ANL A,#0FH ;判断是否有键闭合判断是否有键闭合 CJNE A,#0FH,TEST;有键闭合,有键闭合,转判断按键程序转判断按键程序 LJMP INTRET;无键闭合,返回无键闭合,返回 TEST:MOVB,A;暂存存LCALLKEYR;调用用读取子程序,取子程序,得到按下的行号得到按下的行号MOV40H,R
20、3;行号行号暂存在存在40H单元元MOVP2,#0FFH;输出出线写写1MOVP1,B;输入入线写入数据写入数据MOVA,P2;读输出出线LCALLKEYR;调用用读取子程序,取子程序,得按下的列号得按下的列号XCH A,R3;列号交列号交换到到A中中SWAPA;列号交;列号交换到到A的高的高4位位ORL40H,A;得按得按键特征特征值高高4位是列号,低位是列号,低4位是行号位是行号INTRET:RETI(3)去抖动的延时子程序)去抖动的延时子程序DELAY 利利用用CPU的的空空闲闲方方式式,通通过过定定时时器器T1实实现现延延时时,T1必必须须预预先先置置初初值值,以得到需要的延迟时间。设
21、晶振频率为以得到需要的延迟时间。设晶振频率为6MHz,欲延时,欲延时20ms,定时时间为:,定时时间为:(216TC)12/6=20103s,初值:,初值:TC=55536=D8F0H。程序如下:程序如下:DELAY:MOV TOMD,#11H;方式方式1定时定时MOV TL1,#0F0H;定时器定时器1定时初值定时初值MOV TH1,#0D8HSETB ET1;开定时器开定时器1中断中断SETB PT1;定时器定时器1为高级中断(因被键盘中断调用)为高级中断(因被键盘中断调用)SETB EA;开中断开中断 SETB TR1;启动定时器启动定时器 ORL PCON,#1;启动空闲方式,实际启动
22、空闲方式,实际CPU在此处等待在此处等待CLR TR1 ;以下四条指令只有在延时后,定时器唤醒,才能执行以下四条指令只有在延时后,定时器唤醒,才能执行CLR PT1CLR ET1RETEND 行行反反转转法法适适用用于于扩扩展展键键阵阵。而而动动态态扫扫描描法法不不仅仅可可以以扫扫描描键阵,也可以实现显示,应用较广泛。键阵,也可以实现显示,应用较广泛。动态扫描描法法原原理理:采采用用输输出出“移移动动”信信号号,轮轮流流对对各各行行按按键键进进行行检检测测来来实实现现的的。设设置置行行线线为为输输出出,列列线线为为输输入入,当当无无按按键键按按下下时时,列列输输入入全全为为“1”。设设计计时时
23、,将将某某一一行行输输出出为为“0”,读读取取列列线线值值,若若其其中中某某一一位位为为“0”,则则表表明明行行、列列交交叉叉点点处处的的按按键键被被按按下下,否否则则无无按按键键按按下下;继继续续扫扫描描下下一一行行(将下一行输出为(将下一行输出为“0”),直至全扫描完为止。),直至全扫描完为止。例例题 用8155实现4行8列的32键键盘接口。解解:电电路路如如下下页页图图所所示示,8155的的PA设设定定为为输输出出口口,称称其其为为扫扫描描线线。PC3PC0设设定定为为输输入入口口,称称其其为为回回送送线线。8155与与MCS-51单单片片机机的的接接口口略略,设设PA口口的的端端口口地
24、地址址为为7F00H,PC口口的的端端口口地址为地址为7F02H。(3 3)矩)矩阵式式键盘接口接口动态扫描法描法 键值编码形形式式:回回送送线线PC0,PC1,PC2,PC3上上的的键键值值(每每条条回回送送线线上上有有8个个键键,顺顺序序从从左左到到右右)分分别别为为00H+(00H07H)、08H+(00H07H)、10H+(00H07H)、18H+(00H07H)。其其中中,(00H07H)的的具具体体内内容容由由扫扫描描线线决决定定,存存放放在在R4中。中。(1 1)扫描是否有键按下子程序)扫描是否有键按下子程序KEY1KEY1,回扫线的值存放在,回扫线的值存放在A A中中。程序如下
25、:程序如下:ORG 1000H KEY1:MOV DPTR,#7F00H ;将将PA口地址送口地址送DPTR,PA口作为扫描线口作为扫描线 MOV A,#00H;所有扫描线均为低电平所有扫描线均为低电平 MOVX DPTR,A;PA口向列线输出口向列线输出00H INC DPTR INC DPTR;指向指向PC口口 MOVX A,DPTR ;取回送线状态取回送线状态 CPL A;行线状态取反行线状态取反 ANL A,#0FH;屏蔽屏蔽A的高半字节的高半字节 RET;返回返回(2 2)判判断断是是否否有有键键按按下下子子程程序序KEYKEY,如如果果有有,识识别别按按键键的的键键码码。其中其中D
26、ELAY1DELAY1是延时子程序。是延时子程序。程序如下:程序如下:KEY:ACALLKEY1;检查有键闭合否检查有键闭合否JNZLKEY1;A非非0说明有键按下说明有键按下ACALLDELAY1;执行一次延时子程序(延时执行一次延时子程序(延时6ms)AJMPKEYLKEY1:ACALLDELAY1ACALLDELAY1;有键闭合延时有键闭合延时26ms=12ms以去抖动以去抖动ACALLKEY1;延时以后再检查是否有键闭合延时以后再检查是否有键闭合JNZLKEY2;有键闭合,转有键闭合,转LKEY2ACALLDELAY1;无键闭合,说明是干扰信号,不作处理无键闭合,说明是干扰信号,不作处
27、理AJMPKEY;延时延时6ms后转后转KEY继续等待键入继续等待键入LKEY2:MOVR2,#0FEH;扫描初值送扫描初值送R2,设定,设定PA0为当前扫描线为当前扫描线MOVR4,#00H;回送初值送回送初值送R4LKEY4:MOVDPTR,#7F00H;指向指向PA口口MOVA,R2MOVXDPTR,A;扫描初值送扫描初值送PA口口INCDPTRINCDPTR;指向指向PC口口MOVA,DPTR;取回送线状态取回送线状态JBACC.0,LONE;ACC.0=1,第,第0行无键闭合,转行无键闭合,转LONEMOVA,#00H;装第装第0行行值行行值AJMPLKEYP;转计算键码转计算键码L
28、ONE:JBACC.1,LTWO;ACC.1=1,第,第1行无键闭合,转行无键闭合,转LTWO MOVA,#08H;装第装第1行行值行行值AJMPLKEYP;转计算键码转计算键码LTWO:JBACC.2,LTHR;ACC.2=1,第,第2行无键闭合,转行无键闭合,转LTHRMOVA,#10H;装第装第2行行值行行值AJMPLKEYPLTHR:JBACC.3,NEXT;ACC.3=1,第,第3行无键闭合,转行无键闭合,转NEXTMOVA,#18H;装第装第3行行值行行值LKEYP:ADDA,R4;计算键码计算键码PUSHACC;保存键码保存键码LKEY3:ACALLDELAY1;延时延时6msA
29、CALLKEY1;判断键是否继续闭合,若闭合再延时判断键是否继续闭合,若闭合再延时JNZLKEY3POPACC;若键释放,则键码送若键释放,则键码送ARETNEXT:INCR4;列号加列号加1MOVA,R2JNBACC.7,KND;第第7位为位为0,已扫描到最高列,转,已扫描到最高列,转KNDRLA;循环右移一位循环右移一位MOVR2,AAJMPLKEY4;进行下一列扫描进行下一列扫描KND:AJMPKEY;扫描完毕,开始新的一轮扫描完毕,开始新的一轮DELAY1:;延时子程序,略延时子程序,略END(4 4)通)通过串行口串行口扩展展键盘接口接口 MCS-51系系列列单单片片机机的的串串行行
30、口口与与串串/并并转转换换芯芯片片配配合合(如如串串入入并并出出芯芯片片74LS164)可以扩展键盘。)可以扩展键盘。例例题 利利用用MCS-51的的串串行行口口与与串串/并并转转换换芯芯片片配配合合,扩扩展展2行行8列列的的键键盘盘接接口,键号为口,键号为015。要求给出其硬件连接和键盘查询子程序。要求给出其硬件连接和键盘查询子程序。解解:串口与串串口与串/并转换芯片配合扩展键盘的线路连接如下图所示。并转换芯片配合扩展键盘的线路连接如下图所示。其其中中,P1.0和和P1.1作作为为行行线线。键键盘盘的的编编码码为为:P1.0线线上上的的8个个键键分分别别为为00H+(00H07H),P1.1
31、线线上上的的8个个键键分分别别为为08H+(00H07H)。扫扫描描线线(00H07H)的的具具体体值值存存放放在在R4中。中。程程序序采采取取查查询询方方式式读读取取键键号号,并并且且考考虑虑了了键键的的抖抖动动问问题题。DLY1是延时子程序。是延时子程序。程序如下:程序如下:ORG1000HSERKEY:MOVSCON,#00H;设置串行口设置串行口MOVA,#00H;键盘初始化,送键盘初始化,送00H到列线上到列线上LCALLVARTO;发送数据发送数据CHK:JNBP1.0,CHK0;检查是否有键按下检查是否有键按下JNBP1.1,CHK0;检查是否有键按下检查是否有键按下AJMPCH
32、K;无键按下,继续查找无键按下,继续查找CHK0:LCALLDLY1;调用调用10ms延时子程序,去抖延时子程序,去抖JNBP1.0,CHEN;确实有键按下,转确实有键按下,转CHENJNBP1.1,CHENAJMPCHK;无键按下,继续查找无键按下,继续查找CHEN:MOVR2,#0FEH;首列扫描字送首列扫描字送R2,查键号,最低位为,查键号,最低位为0MOVR4,#00H;首列偏移值送首列偏移值送R4 CHKN:MOVA,R2;发送列扫描字发送列扫描字LCALLVARTOJBP1.0,CH1;检查检查P1.0有无键按下;若无,转有无键按下;若无,转CH1MOVA,#0;第一行首列值送第一
33、行首列值送A,00H+(R4)AJMPCKEY;转求键号转求键号CH1:JBP1.1,NEXT;检查检查P1.1有无键按下;若无,转有无键按下;若无,转NEXTMOVA,#8H;第二行首列值送第二行首列值送ACKEY:ADDA,R4;求键号,并入栈保护求键号,并入栈保护RETNEXT:INCR4;指向下一列指向下一列MOVA,R2;取出原扫描字取出原扫描字JNBACC.7,KEND;是否已检查完是否已检查完8列?列?RLA;8列未完,指向下一列列未完,指向下一列MOVR2,A;列扫描字送列扫描字送R2AJMPCHKN;8列未完,检查下一列列未完,检查下一列KEND:AJMPSERKEY;8列查完,未查到有键按下,等待列查完,未查到有键按下,等待VARTO:MOVSBUF,A;发送发送A中数据中数据JNBTI,$;发送等待发送等待CLRTI;清除清除RETDLY1:(略)(略);延时延时10ms子程序子程序END;结束结束