MCS-51与键盘显示器的接口

上传人:xuey****n398 文档编号:245079717 上传时间:2024-10-07 格式:PPT 页数:25 大小:462KB
返回 下载 相关 举报
MCS-51与键盘显示器的接口_第1页
第1页 / 共25页
MCS-51与键盘显示器的接口_第2页
第2页 / 共25页
MCS-51与键盘显示器的接口_第3页
第3页 / 共25页
点击查看更多>>
资源描述
Cliquez pour modifier le style du titre,Cliquez pour modifier les styles du texte du masque,Deuxime niveau,Troisime niveau,Quatrime niveau,Cinquime niveau,*,*,单片机原理与应用,主讲,:,郑宇,第,9,章,MCS-51,单片机的人机交互通道(显示、键盘)配置与接口,主要内容:,从工程应用角度介绍了,MCS-51,单片机的交互通道配置与接口,主要包括人机界面中的键盘、显示器等。介绍了多种实用方案和设计技巧。,重点,在于系统概念的形成、各种接口设计方案和设计技巧的掌握,熟悉各种交互设备。,难点,在于使用动态方法进行键盘和显示的硬件及软件设计。,人机界面,:,是指人与计算机系统进行信息交互的接口,包括信息的输入和输出,。,9.1 MCS-51,单片机与键盘的接口技术,键盘:,单片机系统中完成控制参数输入及修改的基本输入设备,是人工干预系统的重要手段。,键盘的分类:,按,编码方式可分为编码键盘与非编码键盘。按键组连接方式可分为独立连接式键盘与矩阵连接式键盘。,9.1.1,概述,键盘输入的主要对象:,各种按键或开关。,1,独立连接式键盘,每键相互独立,各自与一条,I/O,线相连,,CPU,可直接读取该,I/O,线的高,/,低电平状态。其,优点,是硬件、软件结构简单,判键速度快,使用方便;,缺点,是占,I/O,口线多。,适用场合,:,多用于设置控制键、功能键。适用于键数较少的场合。,独立连接式键盘连接图如右图所示。当没有键被按下时,所有的数据输入线都为高电平;当有任意一个键被按下时,与之相连的数据输入线将变为低电平;通过相应指令,可以判断是否有键按下。,2.,矩阵连接式键盘,键按矩阵排列,各键处于矩阵行,/,列的结点处,CPU,通过对连在行,(,列,),的,I/O,线送已知电平的信号,然后读取列,(,行,),线的状态信息。逐线扫描,得出键码。其特点是键多时占用,I/O,口线少,硬件资源利用合理,但判键速度慢。,适用场合:,多用于设置数字键,适用于键数多的场合。,4,行,4,列矩阵式键盘连接图如右图所示。这种键盘适合采取动态扫描的方式进行识别。,扫描方式:,低电平扫描(回送线必须被上拉为高电平)、高电平扫描(回送线需被下拉为低电平)。右图中给出了低电平扫描的电路。,3.,薄膜开关,特点:,不需要进行导线与开关间的焊接,结构简单、体积小、防尘、防水、防有害气体侵蚀、寿命长、可靠性高。,应用:,与按键式键盘类似,多个薄膜开关也可按照独立式或矩阵式设计内部电路,其原理与普通键盘相同。,(,1,)开关状态的可靠输入。必须消除键抖动。可以采用硬件和软件两种方法,硬件方法就是在按键输入通道上添加去抖动电路;软件方法则采用延迟,10,20ms,(,2,)键盘状态的监测方法,中断方式还是查询方式。,(,3,)键盘编码方法。,(,4,)键盘控制程序的编制。,9.1.3,键盘接口,功能:,对键盘上所按下的键进行识别。,分类:,(,1,),编码键盘:,采用专用的编码,/,译码器件,被按下的键由该器,件译码输出相应的键码,/,键值。其特点是增加了硬件开销,编码固定,但编程简单。适用于规模大的键盘。,9.1.2,使用键盘时必须解决的问题,(,2,),非编码键盘:,采用软件编,/,译码的方式,通过扫描,对每个被按下的键判别输出相应的键码,/,键值。其特点是不增加硬件开销,编码灵活,但编程较复杂,占,CPU,时间。适用于小规模的键盘,特别是单片机系统。键盘。,1,键盘接口的工作原理,对于矩阵式键盘,如上页图所示,键盘的行线,X0,X3,通过电阻接,+5V,,当键盘上没有键闭合时,所有的扫描线和回送线都断开,无论扫描线处于何种状态,回送线都呈高电平。当键盘上某一键闭合时,则该键所对应的扫描线和回送线被短路,可以确定,变为低电平的回送线与扫描线相交处的键闭合。,CPU,对键盘扫描的方式:,程序控制的随机方式(,CPU,空闲时扫描键盘)、定时控制方式(定时扫描键盘)、中断方式。,CPU,对键盘上闭合键的键号确定方法:,根据扫描线和回送线的状态计算求得,或根据行线和列线的状态查表求得。,2,键输入程序的设计方法,(,1,)判断键盘上是否有键闭合;,(,2,)消除键的机械抖动;,(,3,)确定闭合键的物理位置;,(,4,)得到闭合键的编号;,(,5,)确保,CPU,对键的一次闭合只做一次处理,3,键盘接口方式,(,1,)独立式键盘接口(静态方式),特点:,结构简单,每个按键接单片机的一条,I/O,线,通过对输入线的查询,可以识别每个按键的状态。,例题,在,MCS-51,单片机系统中,设计一个含,8,个按键的独立式键盘。,解,:,在,MCS-51,中,含,8,个按键的独立式键盘的线路连接如下页图所示,,8,个按键经上拉电阻拉高后分别接到,MCS-51,单片机,P1,口的,8,条,I/O,线上(,P1.0,P1.7,)。,在无键按下的情况下,,P1.0,P1.7,线上输入均为高电平。当有键按下时,与被按键相连的,I/O,线将得到低电平输入,其他位按键的输入线上仍维持高电平输入。,P1,口,8,条,I/O,线经与非门,74LS30,实现逻辑与非后,再经过,1,个非门,74LS04,进行信号变换,然后接至,MCS-51,的,INT0,引脚上,可通过中断的方式处理键盘。在中断服务程序中,先延时,20 ms,消除键抖动,再对各键进行查询,找到所按键,并转到相应的处理程序中去。,主程序如下:,ORG 0000H,LJMP MAIN,ORG 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;,验证是否确实有键闭合,AJMP OUT;,无键按下,CLOSE:JNB ACC.7,KEY 7;,查询,7,号键,JNB ACC.6,KEY 6;,查询,6,号键,JNB ACC.5,KEY5;,查询,5,号键,JNB ACC.4,KEY4;,查询,4,号键,JNB ACC.3,KEY 3;,查询,3,号键,JNB ACC.2,KEY 2;,查询,2,号键,JNB ACC.1,KEY 1;,查询,1,号键,JNB ACC.0,,,KEY 0;,查询,0,号键,OUT:LJMP INTRET,KEY 7:;7,号键处理程序,KEY71:MOV A,P1;,再读,P1,口各引脚,JNB ACC.7,KEY71;,确认键是否释放,LJMP INTRET,KEY6:;,其他键处理程序,KEY0,:,.,.,INTRET:RETI,D20ms:,略,;20ms,延时子程序,END,(,2,)矩阵式键盘接口,行反转法,矩阵式键盘按键识别方法有行反转法和扫描法等。行反转法需要两个双向,I/O,口分别接行、列线。步骤如下:,(,1,)由行线输出全“,1”,,读入列线,判有无键按下。,(,2,)若有键按下,再将读入的列线值输出,读入行线的值。,(,3,)第一步读进的列线值与第二步读进的行线值运算,从而得到代表此键的唯一的特征值。,行反转法因输入与输出线反过来用而得名。优点是判键速度快,两次即可。,例题,请为,8051,微处理器设计一个由,4,行,4,列键阵构成的键盘。,解:,44,矩阵键盘的线路连接如下页图所示。其中,P2,口的低,4,位作为输出线。,P1,口的低,4,位作为输入线,输入线通过,74LS21,进行逻辑相与后作为,8051,的一个外部中断源输入。当有键按下时就将引起中断。中断服务程序要对所按的键进行判别。,(,1,),查询闭合键的位置子程序,KEYR,KEYR,子程序用以确定每组线中哪一位为,0,,是否有多个,0,。在调用前,应将读某组线的数据存入累加器,A,中。,KEYR,子程序返回时,某组线中,0,的位置(,0,3,)保存在,R3,中。按键闭合引起中断后,执行中断服务程序。,KEYR,子程序如下:,KEYR:CJNE A,#0EH,TESTP11;,测试,P1.0,MOV R3,#0 ;P1.0=0,,说明被按键的输入线为,P1.0,LJMP FINISH;,返回,TESTP11:CJNE A,#0DH,TESTP12;,测试,P1.1,MOV R3,#1,LJMP FINISH,TESTP12:CJNE A,#0BH,TESTP13;,测试,P1.2,MOV R3,#2,LJMP FINISH,TESTP13:CJNE A,#07H,FINISH;,测试,P1.3,MOV R3,#3,FINISH:RET,(,2,)中断服务程序,中断服务程序开始部分应利用软件延时消除键抖动,然后再对所按的键做出处理。,中断服务程序如下:,ORG 1000H,INT11:LCALL DELAY ;,延时去抖动,MOV A,P1;,读输入线,ANL A,#0FH ;,判断是否有键闭合,CJNE A,#0FH,TEST;,有键闭合,,转判断按键程序,LJMP INTRET;,无键闭合,返回,TEST:MOV B,A;,暂存,LCALL KEYR ;,调用读取子程序,,得到按下的行号,MOV 40H,R3;,行号暂存在,40H,单元,MOV P2,#0FFH;,输出线写,1,MOV P1,B;,输入线写入数据,MOV A,P2;,读输出线,LCALL KEYR;,调用读取子程序,,得按下的列号,XCH A,R3 ;,列号交换到,A,中,SWAP A,;列号交换到,A,的高,4,位,ORL 40H,A;,得按键特征值,高,4,位是列号,低,4,位是行号,INTRET:RETI,(,3,)去抖动的延时子程序,DELAY,利用,CPU,的空闲方式,通过定时器,T1,实现延时,,T1,必须预先置初值,以得到需要的延迟时间。设晶振频率为,6MHz,,欲延时,20ms,,定时时间为:,(,2,16,T,C,),12/6=2010,3,s,,初值:,T,C,=55536=D8F0H,。,程序如下:,DELAY:MOV TOMD,#11H;,方式,1,定时,MOV TL1,#0F0H;,定时器,1,定时初值,MOV TH1,#0D8H,SETB ET1;,开定时器,1,中断,SETB PT1;,定时器,1,为高级中断(因被键盘中断调用),SETB EA;,开中断,SETB TR1;,启动定时器,ORL PCON,,,#1;,启动空闲方式,实际,CPU,在此处等待,CLR TR1 ;,以下四条指令只有在延时后,定时器唤醒,才能执行,CLR PT1,CLR ET1,RET,END,行反转法适用于扩展键阵。而动态扫描法不仅可以扫描键阵,也可以实现显示,应用较广泛。,动态扫描法原理:,采用输出“移动”信号,轮流对各行按键进行检测来实现的。设置行线为输出,列线为输入,当无按键按下时,列输入全为“,1”,。设计时,将某一行输出为“,0”,,读取列线值,若其中某一位为“,0”,,则表明行、列交叉点处的按键被按下,否则无按键按下;继续扫描下一行(将下一行输出为“,0”,),直至全扫描完为止。,例题,用,8155,实现,4,行,8,列的,32,键键盘接口。,解,:,电路如下页图所示,,8155,的,PA,设定为输出口,称其为扫描线。,PC3,PC0,设定为输入口,称其为回送线。,8155,与,MCS-51,单片机的接口略,设,PA,口的端口地址为,7F00H,,,PC,口的端口地址为,7F02H,。,(,3,)矩阵式键盘接口动态扫描法,键值编码形式:,回送线,PC0,PC1,PC2,PC3,上的键值(每条回送线上有,8,个键,顺序从
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!