教学课件PPT MCS51单片机IO接口技术.ppt
《教学课件PPT MCS51单片机IO接口技术.ppt》由会员分享,可在线阅读,更多相关《教学课件PPT MCS51单片机IO接口技术.ppt(60页珍藏版)》请在三一办公上搜索。
1、第九章 MCS-51单片机I/O接口技术,MCS-51单片机具有四个并行8位I/O口(即P0,P1,P2,P3),原理上这四个I/O口均可用做双向并行I/O接口,但在实际应用中,可提供给用户使用的I/O口只有P1口。在单片机的I/O口线不够用的情况下,可以借助外部器件对I/O口进行扩展。可资选用的器件很多,方案也有多种。访问扩展I/O口的方法与访问数据存储器完全相同,使用相 同的指令,所有扩展的I/O口与片外数据存储器统一编址。,9.1 可编程并行I/O接口芯片扩展,9.2 MCS-51单片机与键盘的接口技术,9.3 MCS-51单片机与显示器的接口技术,9.1 可编程并行I/O接口芯片扩展,
2、可编程I/O接口芯片的特点:适应多种功能需求,使用灵活,可扩展多个并行I/O口,可以编程设定为输入或输出口,应用非常广泛。1可编程并行口8255A芯片,Intel 8255A芯片是通用可编程并行接口电路,广泛应用于单片机扩展并行I/O口。它具有3个8位并行口PA,PB和PC,一个8位的数据口D0D7,PC口分高4位和低4位。高4位可与PA口合为一组(A组),低4位可与PB口合为一组(B组),PC口可按位置位/复位。40条引脚,DIP封装。,8255A引脚信号图,(1)A口、B口和C口。A口、B口和C口均为8位I/O数据口,但结构上略有差别。A口由一个8位的数据输出缓冲/锁存器和一个8位的数据输
3、入缓冲/锁存器组成。B口由一个8位的数据输出缓冲/锁存器和一个8位的数据输入缓冲器组成。三个端口都可以和外设相连,分别传送外设的输入/输出数据或控制信息。(2)A、B组控制电路。这是两组根据CPU的命令字控制8255工作方式的电路。A组控制A口及C口的高4位,B组控制B口及C口的低4位。(3)数据缓冲器。这是一个双向三态8位的驱动口,用于和单片机的数据总线相连,传送数据或控制信息。(4)读/写控制逻辑。这部分电路接收MCS-51送来的读/写命令和选口地址,用于控制8255的操作。,分三部分:总线接口部分;内部逻辑部分;外设接口部分,(1)总线接口部分/CS 片选线A1、A0 端口选择线(选片内
4、四个端口寄存器)/RD 读信号线/WR 写信号线,(2)内部逻辑部分PAPC7 PC4PBPC3 PC0,(3)外设接口部分可由编程决定三个端口的功能 输出 输入 其它A口 8位锁存/缓冲 8位锁存/缓冲 双向B口 8位锁存/缓冲 8位缓冲C口 8位锁存/缓冲 8位缓冲 可分成两组分别作A 口、B口的控制/联络线,二、8255A的工作方式及方式选择1、8255A的工作方式(1)方式0 基本输入/输出方式 A口、B口、C口均有此方式,无需选通,是单片机 与外部设备之间的直接数据通道,适用于无条件传 送随时准备好的外设,如键盘、显示器等。(2)方式1 选通输入/输出方式 PA口、PB口作为数据输入
5、/输出口,PC口专为PA口,PB口作选通联络信号线,适用于查 询或中断方式的数据传送。,(3)方式2 双向数据输入/输出方式 仅PA口有此方式。PC3 PC7此时作联络线,PB口可以是方式0;也可以是方式1(PC0 PC1作联络线)。,2、8255A的方式控制字 用编程方法向8255A的控制口写控制字,可决定它的工作 方式。,(1)工作方式控制字,(2)PC口置位/复位控制字,“0”标志位。D6、D5、D4 不使用位。D3、D2、D1 位选择位,000 111 分别对应PC7 PC0。D0 位状态位,1 置位,0 复位。,三、单片机和8255A的连接及应用,单片机 8255A A0 A0 A1
6、 A1 A15 A2中任一线/CS P0 D7 D0/RD/RD/WR/WR RST RESET,上图中,地址线连接采用线选法。8255A的地址分布:A15 A14 A13A8 A7A1 A0 0 0 0 0 0 0 0 0000HPA 0 1 0001HPB 1 0 0002HPC 1 1 0003H控制口 或 0 1 1 1 1 0 0 7FFCHPA 0 1 7FFDHPB 1 0 7FFEHPC 1 1 7FFFH控制 口,未用地址线为0,未用地址线为1,例、设单片机8031与微型打印机之间的数据传送采用查询方式。要求将存放在8031单片机内RAM中以30H为首地址的64个连续单元中的
7、内容打印输出,试编程。,P2.7 P0 8031 ALE/RD/WR RST/EA,74LS3731D 8D 2Q 1QG/OC,/CS 8255A PA0PA7A1A0 PC0 PC7D0 D7/RD/WRRESET,微型打印机DB0DB7BUSY/STB,8,8,8,解:因为PC0连接BUSY,所以,PC3 PC0为输入 又因PC7连接/STB,所以PC7 PC4为输出,/STB=/DATA STROBE数据选通信号。作用是通知打印机,8255A要给它传数据。PA口输出,PB口未用。故 8255A的控制字可设为:1 0 0 0 0 0 0 1B=81H 假设未用到地址线均为 1,则:,PA
8、口地址:7FFCH PB口地址:7FFDH PC口地址:7FFEH 控制口:7FFFH,程序:ORG 1000HPRINT:MOV DPTR,#7FFFH;控制口地址 MOV A,#81H;控制字 MOVX DPTR,A;写入控制字 MOV R1,#30H;数据指针 MOV R2,#40H;64个数,NEXT:MOV DPTR,#7FFEH;PC口地址 MOV A,#80H;使PC7为高电平 MOVX DPTR,A;输出/STB为高电平,不准备送数 WAIT:MOVX A,DPTR;查询打印机状态 JB ACC.0,WAIT;若PC0即BUSY=1忙,则等待 MOV DPTR,#7FFCH;若
9、BUSY=0空闲,则指向PA口 MOV A,R1 MOVX DPTR,A;输出数据 MOV DPTR,#7FFEH;指向PC口 MOV A,#00H MOVX DPTR,A;/STB信号置低,通知打印机数据输出。,ACALL PDELAY;调延时子程序 INC R1 DJNZ R2,NEXT;判断打印输出完成否?SJMP$PDELAY:(延时程序略)END,9.2 MCS-51单片机与键盘的接口技术,一、概述键盘:单片机系统中完成控制参数输入及修改的基本输入设备,是人工干预系统的重要手段。各种按键或开关。键盘的分类:按编码方式可分为编码键盘与非编码键盘。按键盘连接方式可分为独立连接式键盘与矩阵
10、连接式键盘。1独立连接式键盘 每键相互独立,各自与一条I/O线相连,CPU可直接读取该I/O线的高/低电平状态。其优点是硬件、软件结构简单,判键速度快,使用方便;缺点是占I/O口线多。适用场合:多用于设置控制键、功能键。适用于键数较少的场合。,2.矩阵连接式键盘 键按矩阵排列,各键处于矩阵行/列的结点处,CPU通过对连在行(列)的I/O线送已知电平的信号,然后读取列(行)线的状态信息。逐线扫描,得出键码。其特点是键多时占用I/O口线少,硬件资源利用合理,但判键速度慢。适用场合:多用于设置数字键,适用于键数多的场合。,二、使用键盘时必须解决的问题,(1)开关状态的可靠输入。必须消除键抖动。可以采
11、用硬件和软件两种方法,硬件方法就是在按键输入通道上添加去抖动电路;软件方法则采用延迟1020ms,键盘的抖动时间一般为510ms,抖动现象会引起CPU对一次键操作进行多次处理,从而可能产生错误。,(2)键盘状态的监测方法中断方式还是查询方式。(3)键盘编码方法。(4)键盘控制程序的编制。,三、键盘接口 功能:对键盘上所按下的键进行识别。分类:(1)编码键盘:采用专用的编码/译码器件,被按下的键由该器件译码输出相应的键码/键值。其特点是增加了硬件开销,编码固定,但编程简单。适用于规模大的键盘。(2)非编码键盘:采用软件编/译码的方式,通过扫描,对每个被按下的键判别输出相应的键码/键值。其特点是不
12、增加硬件开销,编码灵活,但编程较复杂,占CPU时间。适用于小规模的键盘,特别是单片机系统键盘。,1键盘接口的工作原理 对于矩阵式键盘,如图所示,键盘的行线X0X3通过电阻接+5V,当键盘上没有键闭合时,所有的扫描线和回送线都断开,无论扫描线处于何种状态,回送线都呈高电平。当键盘上某一键闭合时,则该键所对应的扫描线和回送线被短路,可以确定,变为低电平的回送线与扫描线相交处的键闭合。,CPU对键盘扫描的方式:程序控制的随机方式(CPU空闲时扫描键盘)、定时控制方式(定时扫描键盘)、中断方式。CPU对键盘上闭合键的键号确定方法:根据扫描线和回送线的状态计算求得,或根据行线和列线的状态查表求得。,2键
13、输入程序的设计方法(1)判断键盘上是否有键闭合;(2)消除键的机械抖动;(3)确定闭合键的物理位置;(4)得到闭合键的编号;(5)确保CPU对键的一次闭合只做一次处理,3键盘接口方式(1)独立式键盘接口(静态方式)例题 在MCS-51 单片机系统中,设计一个含8个按键的独立式键盘。,解:在MCS-51中,含8个按键的独立式键盘的线路连接如图所示,8个按键经上拉电阻拉高后分别接到MCS-51单片机P1口的8条I/O线上(P1.0P1.7)。,主程序如下:ORG 0000HLJMP MAINORG 0003H;外部中断0中断服务入口地址LJMP INT;转中断服务ORG 0100H MAIN:SE
14、TB 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
15、,KEY 1;查询1号键 JNB ACC.0,KEY 0;查询0号键 OUT:RETI KEY 7:;7号键处理程序 KEY 71:MOV A,P1;再读P1口各引脚 JNB ACC.7,FUNC71;确认键是否释放 RETI KEY 6:;其他键处理程序 D20ms:略;20ms延时子程序 END,(2)矩阵式键盘接口行反转法,矩阵式键盘按键识别方法有行反转法和扫描法等。行反转法需要两个双向I/O口分别接行、列线。步骤如下:(1)由行线输出全“1”,读入列线,判有无键按下。(2)若有键按下,再将读入的列线值输出,读入行线的值。(3)第一步读进的列线值与第二步读进的行线值运算,从而得到代表此键
16、的唯一的特征值。行反转法因输入与输出线反过来用而得名。优点是判键速度快,两次即可。例题 请为8051微处理器设计一个由4行4列键阵构成的键盘。解:44矩阵键盘的线路连接如下页图所示。其中P2口的低4位作为输出线。P1口的低4位作为输入线,输入线通过74LS21进行逻辑相与后作为8051的一个外部中断源输入。当有键按下时就将引起中断。中断服务程序要对所按的键进行判别。,(1)查询闭合键的位置子程序KEYR KEYR子程序用以确定每组线中哪一位为0,是否有多个0。在调用前,应将读某组线的数据存入累加器A中。KEYR子程序返回时,某组线中0的位置(03)保存在R3中。按键闭合引起中断后,执行中断服务
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件PPT MCS51单片机IO接口技术 教学 课件 PPT MCS51 单片机 IO 接口 技术
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-2347453.html