预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共34页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

单片机原理及应用第讲利用扩展口1、存储器的扩展2、I/O端口的扩展1)I/O接口的作用2)I/O端口的编址I/O端口:简称I/O口,指具有端口地址的寄存器或缓冲器I/O端口编址两种方式:独立编址与统一编址。3)扩展I/O口的方法:1)利用常用的外围I/O接口芯片8255A,81552)74LS系列的TTL电路也可以作为MCS-51的扩展I/O口,如74LS244、74LS273等。3)利用串行口来扩展并行I/O口利用8255A扩展I/O口D7~D0:三态双向数据线,与单片机数据总线连接2.内部结构(1)端口A、B、C(2)A组和B组控制电路8255A端口工作状态选择工作方式选择控制字及C口置位/复位控制字C口上半部分(PC7~PC4)随A口称为A组2.C口按位置位/复位控制字1.方式0例假设8255A的控制字寄存器地址为FF7FH,编程令A口和C口的高4位工作在方式0输出,B口和C口的低4位工作于方式0输入。据传送,C口用作A口和B口的联络线,以中断方式传例如:从A口读入一组开关状态,向C端口输出数字量,控制一组指示灯的亮、灭。(1)实现和不同外设的速度匹配(3)方式2:双向传送(仅A口有)。MOVA,#83H;INTEA:中断允许,由PC6控制。PB7~PB0:B口输入/输出线。(2)任一个端口都可以设定为输入或输出。INTR*:中断请求信号。图中8255A各端口寄存器的地址为:MOVDPTR,#0FF7FH;例假设8255A的控制字寄存器地址为FF7FH,编程令A口ACK*:外设的响应信号,外设将数据取走。读端口C:C口数据→数据总线MOVDPTR,#0FF7FH;(3)改变信号的性质和电平:数据型数据和状态、命令型数据之间的转换;(2)A组和B组控制电路I/O寄存器地址空间和存储器地址空间分开编址,但写端口A:总线数据→A口(3)改变信号的性质和电平:数据型数据和状态、命令型数据之间的转换;PA口、PB口选通方式操作时的状态控制信号。其中A口可工作于方式0、1、和2,而B口只能工作在INTEA:中断允许,由PC6控制。TTL电平和其他类型的电平之间的转换向单片机发中断请求。例假设8255A的控制字寄存器地址为FF7FH,编程令A口PB7~PB0:B口输入/输出线。例如:从A口读入一组开关状态,向C端口输出数字量,控制一组指示灯的亮、灭。8255A端口工作状态选择2.方式1STB*:选通输入,是由输入外设送来的输入信号。IBF:输入缓冲器满,高电平有效。表示数据已送入8255A的输入锁存器,它由STB*信号的下降沿置位,由信号的上升沿使其复位(2)方式1输出OBF*:输出缓冲器满信号,8255A给外设的联络信号,外设可以将数据取走。感谢观看