MCS-51单片机IO接口的扩展_第1页
MCS-51单片机IO接口的扩展_第2页
MCS-51单片机IO接口的扩展_第3页
MCS-51单片机IO接口的扩展_第4页
MCS-51单片机IO接口的扩展_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9章MCS-51单片机I/O接口的扩展9.1I/O口扩展概述9.2

扩展可编程并行I/O芯片8255A9.3

扩展可编程RAM/IO芯片8155H9.4

用锁存器缓冲器扩展并行I/O口9.5

用MCS-51的串行口扩展并行口退出9.1I/O口扩展概述8255:PA(8位)、PB(8位)、PC(8位)

命令/状态口8155:命令/状态口、PA(8位)、PB(8位)PC(6位)、14位减法计数器、256字节RAM8253:3个16位定时计数器8279:键盘显示器接口芯片74LS373,377,244,245:锁存器74LS164、CD4094、74LS165、CD40149.2扩展可编程并行I/0芯片8255APA(8位)、PB(8位)、PC(8位)命令/状态口9.2.18255A的结构和工作方式一、8255A的引脚及组成结构二、8255A的工作方式及选择方式选择控制字,有三种工作方式:方式0:基本输入输出方式;方式1:选通输入输出方式;方式2:双向传送方式(仅A口)2.C口按位置位/复位控制字9.2.28031单片机同8255A的接口及应用一、8031单片机与8255A的接口电路如图所示。

PA:FF7CHPB:FF7DHPC:7EH命令/状态:FF7FHA口、B口、C口和控制寄存器单元地址分别为7FFCH、7FFDH、7FFEH和7FFFH。利用8255进行I/O扩展,使端口A、B、C都工作于方式0且均为输出方式,并从端口A输出一个数据,之后将PC3置为1MOVDPTR,#7FFFH;地址指向8255控制口MOVA,#80H;设端口A、B、C设为方式0的输出方式MOVX@DPTR,A;写入控制字MOVDPTR,#7FFCH;地址指向8255端口AMOVA,#00H;输出数据#00H传入累加器AMOVX@DPTR,A;向端口A写入数据MOVDPTR,#7FFFH;地址指向8255控制口MOVA,#07H;设控制字,将PC3口置为1MOVX@DPTR,A;写入控制字例9-3在MCS-51单片机组成的系统中,如果需配接打印机,可用8255A作为接

口芯片。

许多打印机都采用Centronic标准接口,这种标准接口的接口信号说明如下:

DB0-DB7:数据线,单向接收;

/DSTB:数据选通信号,输入;

BUSY:忙信号,输出;

/ACK:应答信号,输出。

MCS-51单片机通过8255A与打印机的接口电路及打印机时序如图。PRINT:MOVR0,#7FH;控制口地址送入R0MOVA,#81H;控制字送入AMOVX@R0,A;控制字送人控制口

MOVR1,#3FH;RAM单元首地址送R1MOVR2,#0FH;R2作计数器用LOOP:MOVA,@R1;RAM单元中内容送AINCR1;指向下一个RAM单元

MOVR0,#7CH;端口A地址送R0MOVX@R0,A;A中内容送端口A,并锁存

MOVR0,#7FH;控制口地址送入R0MOVA,#0EH;PC7的复位控制字送AMOVX@R0,A;PC7=0MOVA,#0FH;R2的置位控制字送AMOVX@R0,A;PC7由0变1LOOP1:MOVR0,#7EH;端口C地址送R0MOVXA,@R0;读入口C的值

ANLA,#01H;检测BUSY状态

JNZLOOP1;BUSY=1跳转LOOP1DJNZR2,LOOP;BUSY=0,未打完循环9.3扩展可编程RAM/IO芯片8155H8155:256BRAM、命令/状态口、

PA(8位)、PB(8位)、PC(6位)、14位减法计数器9.3.18155H的结构和工作方式一、8155H的结构与引脚地址总线:/CE=0

IO//M=0,256字节RAM:00H—FFH

IO//M=1,I/O口。AD2AD1AD0寄存器000命令/状态口001A口(PA0~7)010B口(PB0~7)011C口(PC0~7)100定时器低8位101定时器高6位和操作方式二、8155的I/O口工作方式及选择1.命令寄存器

8155只有一个控制字,命令寄存器决定A口、B口、C口和定时器/计数器的工作方式及功能。其位格式为:PA:决定A口的工作方式。PA=0,A口为输入方式;PA=1,A口为输出方式。PB:决定B口的工作方式。PB=0,B口为输入方式;PB=1,B口为输出方式。PC2、PC1:决定PC口的工作方式。PC2PC1(ALT1)=00,A口、B口为基本输入/输出,C口为基本输入口;PC2PC1(ALT2)=01,A口、B口为基本输入/输出,C口为基本输出口;PC2PC1(ALT3)=10,A口为选通输入/输出口,B口为基本输入/输出口;PC2PC1(ALT4)=11,A口、B口为选通输入/输出口。IEA:A口中断允许位。IEA=1允许A口中断,IEA=0禁止A口中断。IEB:B口中断允许位。IEB=1允许B口中断,IEB=0禁止B口中断。TM2、TM1:定时/计数器命令。TM2TM1=00,空操作,不影响计数器操作;TM2TM1=01,停止计数器计数;TM2TM1=10,定时/计数器长度减为0时停止计数;TM2TM1=11,连续方式,当计数器赋予初值后,立即 启动定时/计数器;若正在计数,则置新的方式和长度,计数结束后按新的方式和新的时间常数计数。2.状态寄存器状态寄存器由7位寄存器组成,其中6位用于表示A口和B口的状态,1位表示定时/计数器的状态。此寄存器为只读寄存器其位格式为:INTRA:A口中断请求位。BFA:A口缓冲器满标志位。INTEA:A口中断允许位。INTRB:B口中断请求位。BFB:B口缓冲器满标志位。INTEB:B口中断允许位。TIMER:定时中断请求位。3.PA寄存器4.PB寄存器5.PC寄存器

四、8155的定时器

其中,T0~T14构成14位计数器。定时/计数器是递减计数器,对输入脉冲计数。当计数器计到0时,可从定时计数器的输出端输出一个脉冲或方波。M2M1决定定时器的输出波形。当:M2M1=00时,定时/计数器的输出波形为单个方波;

M2M1=01时,定时/计数器的输出波形为连续方波;

M2M1=10时,定时/计数器的输出波形为单个脉冲;

M2M1=00时,定时/计数器的输出波形为连续脉冲。9.3.28155H与8031单片机的接口及应用

8031单片机与并行接口8155的接口电路如图所示。对8155地址分配如下:

RAM地址:7E00H-7EFFHI/O口地址:命令/状态寄存器的地址:7F00H PA口的地址:7F01H PB口的地址:7F02H PC口的地址:7F03H

定时器低8位的地址:7F04H

定时器高8位的地址:7F05H设A口定义为基本输入方式,B口定义为基本输出方式,定时器作为方波发生器,对输入脉冲进行24分频。

8155初始化参考程序如下:

MOV DPTR,#7F04H MOV A,#18H;对计数器的低8位赋初值

MOVX@DPTR,A INC DPTRMOVA,#40H;设定定时器为连续方波输出

MOVX@DPTR,A;装入定时器高8位

MOV DPTR,#7F00H MOV A,#0C2H;设定命令控制字,启动定时器

MOVX @DPTR,A9.4用锁存器缓冲器扩展并行I/0口9.4.1用锁存器扩展8位并行输出口74LS377扩展简单输出口的接口电路如下

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论