MCS51单片机的交互通道配置与接口80183课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《MCS51单片机的交互通道配置与接口80183课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MCS51 单片机 交互 通道 配置 接口 80183 课件
- 资源描述:
-
1、第第6 6章章 MCS-51 MCS-51单片机的交互通道单片机的交互通道配置与接口配置与接口主要内容:从工程应用角度介绍了MCS-51单片机的交互通道配置与接口,主要包括人机界面中的键盘、显示器、微型打印机等。介绍了多种实用方案和设计技巧。重点在于系统概念的形成、各种接口设计方案和设计技巧的掌握,熟悉各种交互设备。难点在于使用动态方法进行键盘和显示的硬件及软件设计。人机界面人机界面:是指人与计算机系统进行信息交互的接口,包括信息的输入和输出。6.1 MCS-516.1 MCS-51单片机与键盘的接口技术单片机与键盘的接口技术 键盘:键盘:单片机系统中完成控制参数输入及修改的基本输入设备,是人
2、工干预系统的重要手段。键盘的分类:键盘的分类:按编码方式可分为编码键盘与非编码键盘。按键组连接方式可分为独立连接式键盘与矩阵连接式键盘。6.1.1 6.1.1 概述概述 键盘输入的主要对象:键盘输入的主要对象:各种按键或开关。1 1独立连接式键盘独立连接式键盘 每键相互独立,各自与一条I/O线相连,CPU可直接读取该I/O线的高/低电平状态。其优点是硬件、软件结构简单,判键速度快,使用方便;缺点是占I/O口线多。适用场合:适用场合:多用于设置控制键、功能键。适用于键数少的场合。独立连接式键盘连接图如右图所示。当没有键被按下时,所有的数据输入线都为高电平;当有任意一个键被按下时,与之相连的数据输
3、入线将变为低电平;通过相应指令,可以判断是否有键按下。2.2.矩阵连接式键盘矩阵连接式键盘 键按矩阵排列,各键处于矩阵行/列的结点处,CPU通过对连在行(列)的I/O线送已知电平的信号,然后读取列(行)线的状态信息。逐线扫描,得出键码。其特点是键多时占用I/O口线少,硬件资源利用合理,但判键速度慢。适用场合:适用场合:多用于设置数字键,适用于键数多的场合。4行4列矩阵式键盘连接图如右图所示。这种键盘适合采取动态扫描的方式进行识别。扫描方式:扫描方式:低电平扫描(回送线必须被上拉为高电平)、高电平扫描(回送线需被下拉为低电平)。右图中给出了低电平扫描的电路。3.3.薄膜开关薄膜开关特点:特点:不
4、需要进行导线与开关间的焊接,结构简单、体积小、防尘、防水、防有害气体侵蚀、寿命长、可靠性高。应用:应用:与按键式键盘类似,多个薄膜开关也可按照独立式或矩阵式设计内部电路,其原理与普通键盘相同。按键开关去抖动问题按键开关去抖动问题*键盘的抖动时间一般为键盘的抖动时间一般为5 510ms10ms,抖动现象会引起,抖动现象会引起CPUCPU对一次键操作进行多次处理,从而可能产生错误。对一次键操作进行多次处理,从而可能产生错误。硬件去抖动硬件去抖动 消除抖动不良后果的方法:消除抖动不良后果的方法:其中其中RCRC滤波电路去抖动电路简单实用,效果较好。滤波电路去抖动电路简单实用,效果较好。软件去抖动软件
5、去抖动 检测到按键按下后,执行延时检测到按键按下后,执行延时10ms10ms子程序后再确认该键子程序后再确认该键是否确实按下,消除抖动影响。是否确实按下,消除抖动影响。(1)开关状态的可靠输入。必须消除键抖动。可以采用硬件和软件两种方法,硬件方法就是在按键输入通道上添加去抖动电路;软件方法则采用延迟1020ms (2)键盘状态的监测方法中断方式还是查询方式。(3)键盘编码方法。(4)键盘控制程序的编制。6.1.3 6.1.3 键盘接口键盘接口 功能:功能:对键盘上所按下的键进行识别。分类:分类:(1)编码键盘:采用专用的编码/译码器件,被按下的键由该器件译码输出相应的键码/键值。其特点是增加了
6、硬件开销,编码固定,但编程简单。适用于规模大的键盘。6.1.2 6.1.2 使用键盘时必须解决的问题使用键盘时必须解决的问题 (2)非编码键盘:采用软件编/译码的方式,通过扫描,对每个被按下的键判别输出相应的键码/键值。其特点是不增加硬件开销,编码灵活,但编程较复杂,占CPU时间。适用于小规模的键盘,特别是单片机系统。键盘。1 1键盘接口的工作原理键盘接口的工作原理 对于矩阵式键盘,如上页图所示,键盘的行线X0X3通过电阻接+5V,当键盘上没有键闭合时,所有的扫描线和回送线都断开,无论扫描线处于何种状态,回送线都呈高电平。当键盘上某一键闭合时,则该键所对应的扫描线和回送线被短路,可以确定,变为
7、低电平的回送线与扫描线相交处的键闭合。CPUCPU对键盘扫描的方式:对键盘扫描的方式:程序控制的随机方式(CPU空闲时扫描键盘)、定时控制方式(定时扫描键盘)、中断方式。CPU对键盘上闭合键的键号确定方法:对键盘上闭合键的键号确定方法:根据扫描线和回送线的状态计算求得,或根据行线和列线的状态查表求得。2 2键输入程序的设计方法键输入程序的设计方法 (1)判断键盘上是否有键闭合;(2)消除键的机械抖动;(3)确定闭合键的物理位置;(4)得到闭合键的编号;(5)确保CPU对键的一次闭合只做一次处理3 3键盘接口方式键盘接口方式(1)独立式键盘接口(静态方式)特点:特点:结构简单,每个按键接单片机的
8、一条I/O线,通过对输入线的查询,可以识别每个按键的状态。例题例题 在MCS-51 单片机系统中,设计一个含8个按键的独立式键盘。解解:在MCS-51中,含8个按键的独立式键盘的线路连接如下页图所示,8个按键经上拉电阻拉高后分别接到MCS-51单片机P1口的8条I/O线上(P1.0P1.7)。在无键按下的情况下,P1.0P1.7线上输入均为高电平。当有键按下时,与被按键相连的I/O线将得到低电平输入,其他位按键的输入线上仍维持高电平输入。P1口8条I/O线经与非门74LS30实现逻辑与非后,再经过1个非门74LS04进行信号变换,然后接至MCS-51的 引脚上,可通过中断的方式处理键盘。在中断
9、服务程序中,先延时20 ms消除键抖动,再对各键进行查询,找到所按键,并转到相应的处理程序中去。0INT 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号键 INT0:RETI KEY 7:;7号键处理程序 KEY 71:MOV A,P1;再读P1口各引脚 JNB ACC.7,FUNC71;
10、确认键是否释放 RETI KEY 6:;其他键处理程序 D20:;20ms延时子程序 END 主程序如下:主程序如下:ORG 0000HLJMP MAINORG 0003H;外部中断0中断服务入口地址LJMP INT;转中断服务ORG 0100H MAIN:SETB EA;开总中断允许SETB EX0;开INT0中断SETB IT0;下降沿有效中断服务程序清单如下:INTI CALL D20;延时去抖动MOV P1,#0FFH;P1口送全1值(准双向口原因)MOV A,P1;读P1口各引脚 CJNE A,#0FFH,CLOSE;验证是否确实有键闭合 AJMP INT0;无键按下(按键时间过短)
11、则退;出中断(2)矩阵式键盘接口行反转法 矩阵式键盘按键识别方法有行反转法和扫描法等。行反转法需要两个双向I/O口分别接行、列线。步骤如下:(1)由行线输出全“0”,读入列线,判有无键按下。(2)若有键按下,再将读入的列列线输出,读进行线的值。(3)第一步读进的列线值与第二步读进的行线值运算,从而得到代表此键的唯一的特征值。行反转法因输入与输出线反过来用而得名。优点是判键速度快,两次即可。例题例题 请为8051微处理器设计一个由4行4列键阵构成的键盘。解:解:44矩阵键盘的线路连接如下页图所示。其中P2口的低4位作为输出线。P1口的低4位作为输入线,输入线通过74LS21进行逻辑相与后作为80
12、51的一个外部中断源输入。当有键按下时就将引起中断。中断服务程序要对所按的键进行判别。(1)查询闭合键的位置子程序查询闭合键的位置子程序KEYR KEYR子程序用以确定每组线中哪一位为0,是否有多个0。在调用前,应将读某组线的数据存入累加器A中。KEYR子程序返回时,某组线中0的位置(03)保存在R3中。按键闭合引起中断后,执行中断服务程序。表2-5 工作寄存器组选择控制表KEYR子程序如下:子程序如下:KEYR:CJNE A,#0FEH,TESTP11;测试P1.0MOV R3,#0 ;P1.0=0,说明被按键的输入线为P1.0LJMP FINISH;返回 TESTP11:CJNE A,#0
13、FDH,TESTP12;测试P1.1MOV R3,#1LJMP FINISH TESTP12:CJNE A,#0FBH,TESTP13;测试P1.2MOV R3,#2LJMP FINISH TESTP13:CJNE A,#0F7H,FINISH;测试P1.3MOV R3,#3 FINISH:RET (2)中断服务程序 中断服务程序开始部分应利用软件延时消除键抖动,然后再对所按的键做出处理。中断服务程序如下:中断服务程序如下:ORG 1000H INT11:LCALL DELAY;延时去抖动MOV A,P1;读输入线ANL A,#0FH;判断是否有键闭合CJNE A,#0FH,TEST;有键闭合
14、,转判断按键程序RETI;无键闭合,返回 TEST:MOV B,A;暂存LCALL KEYR;调用读取子程序MOV 40H,R3;暂存在40H单元MOV P2,#0FFH;输出线写1MOV P1,B;输入线写入数据MOV A,P2;读输出线LCALL KEYR;调用读取子程序XCH A,R3SWAP AORL 40H,A;得按键特征值RETI 中断程序结束后,键的特征值存放在40H单元中。此键的输出线号位于40H单元的高4位,其输入线号位于低4位。此后,根据40H单元的内容去查表,得到相应键的代码,可进行显示或其他处理。(3)去抖动的延时子程序DELAY 利用CPU的空闲方式,通过定时器T1实
15、现延时,T1必须预先置初值,以得到需要的延迟时间。设晶振频率为6MHz,欲延时20ms,定时时间为:(216TC)6/12=20103s,初值:TC=25536=63C0H。程序如下:程序如下:DELAY:MOV TOMD,#11H;方式1定时MOV TL1,#0C0H;定时器1定时初值MOV TH1,#63HSETB EA;开中断SETB ET1;开定时器1中断SETB PT1;定时器1为高级中断(因被键盘中断调用)SETB TR1;启动定时器ORL PCON,#1;启动空闲方式,实际CPU在此处等待CLR TR1 ;以下四条指令只有在延时后,定时器被唤醒,才能执行CLR PT1CLR ET
16、1RETEND(4)通过串行口扩展键盘接口 MCS-51系列单片机的串行口与串/并转换芯片配合(如串入并出芯片74LS164)可以扩展键盘。例题例题 利用MCS-51的串行口与串/并转换芯片配合,扩展2行8列的键盘接口,键号为015。要求给出其硬件连接和键盘查询子程序。解解:串口与串/并转换芯片配合扩展键盘的线路连接如下图所示。其中,P1.0和P1.1作为行线。键盘的编码为:P1.0线上的8个键分别为00H+(00H07H),P1.1线上的8个键分别为08H+(00H07H)。扫描线(00H07H)的具体值存放在R4中。程序采取查询方式读取键号,并且考虑了键的抖动问题。DLY1是延时子程序。程
17、序如下:程序如下:ORG 1000H SERKEY:MOV SCON,#00H;设置串行口 MOV A,#00H ;键盘初始化,送00H到列线上 LCALL VARTO ;发送数据 CHK:JNB P1.0,CHK0;检查是否有键按下 JNB P1.1,CHK0;检查是否有键按下 AJMP CHK;无键按下,继续查找 CHK0:LCALL DLY1;调用10ms延时子程序,去抖 JNB P1.0,CHEN;确实有键按下,转CHEN JNB P1.1,CHEN AJMP CHK;无键按下,继续查找 CHEN:MOV R2,#0FEH;首列扫描字送R2,查键号,最低位为0 MOV R4,#00H
18、;首列偏移值送R4 CHKN:MOV A,R2;发送列扫描字 LCALL VARTO JB P1.0,CH1;检查P1.0有无键按下;若无,转CH1 MOV A,#0;第一行首列值送A,00H+(R4)AJMP CKEY;转求键号 CH1:JB P1.1,NEXT;检查P1.1有无键按下;若无,转NEXT MOV A,#8H;第二行首列值送A CKEY:ADD A,R4;求键号,并入栈保护 RET NEXT:INC R4;指向下一列 MOV A,R2;取出原扫描字 JNB ACC.7,KEND;是否已检查完8列?RL A;8列未完,指向下一列 MOV R2,A;列扫描字送R2 AJMP CHK
19、N;8列未完,检查下一列 KEND:AJMP SERKEY;8列查完,未查到有键按下,等待 VARTO:MOV SBUF,A;发送A中数据 JNB TI,$;发送等待 CLR TI;清除 RET DLY1:;延时10ms子程序(略)END;结束6.2 MCS-516.2 MCS-51单片机与显示器的接口技术单片机与显示器的接口技术 显示器用于实现单片机应用系统中的数据输出和状态的反馈。单片机系统中常用的显示器有发光二极管、七段数码显示器、液晶显示器等。6.2.1 LED6.2.1 LED显示器及其接口显示器及其接口 发光二极管简称LED(Light Emitting Diode)。LED显示器
20、从外观可分为“8”字形的七段数码管、米字形数码管、点阵块、矩形平面显示器、数字笔划显示器等。1 1七段七段LEDLED数码显示器数码显示器 七段LED数码管显示器能够显示十进制或十六进制数字及某些简单字符。但控制简单,使用方便,在单片机系统中应用较多。其结构如下页图所示。上图中的ag七个笔划(段)及小数点dp均为发光二极管。数码管显示器根据公共端的连接方式,可以分为共阴极数码管(将所有发光二极管的阴极连在一起)和共阳极数码管(将所有发光二极管的阳极连在一起)。单片机系统扩展LED数码管时多用共阳LED。共阳数码管每个段笔画是用低电平(“0”)点亮的,要求驱动功率很小;而共阴数码管段笔画是用高电
21、平(“0”)点亮的,要求驱动功率较大。通常每个段笔画要串一个数百欧姆的降压电阻。2 2LEDLED点阵模块显示器点阵模块显示器 LED点阵模块显示器是指由发光二极管排成一个mn的点阵,每个发光二极管构成点阵中的一个点。这种显示器显示的字形逼真,能显示的字符比较多,但控制比较复杂。适用于显示汉字、图形和表格,广泛应用于公共场合的信息发布。七段LED字形码如下表所示。3.LED3.LED的驱动接口的驱动接口 LED工作时需要一定的工作电流,才能正常发光。单个LED实际上是一个压降为1.21.5V的发光二极管,流过LED的电流大小决定了它的发光强度,R为限流电阻。适当减小限流电阻可以增加LED的工作
22、电流,使LED的显示效果更好。但工作电流过大,会对驱动器件、LED造成损害。通常每个段笔画要串一个数百欧姆的降压电阻。下图为单个LED的驱动接口电路。4 4LEDLED数码管的显示与驱动数码管的显示与驱动 LED数码管显示器的工作方式:静态和动态两种显示方式。(1 1)静态显示方式)静态显示方式 静态显示方式的各数码管在显示过程中持续得到送显信号,与各数码管接口的I/O口线是专用的。其特点是显示稳定,无闪烁,用元器件多,占I/O线多,无须扫描。系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,节省CPU时间,提高CPU的工作效率,编程简单。例题例题 利用在8051串行口扩展多
展开阅读全文