IO接口电路及其扩展.pptVIP

  • 8
  • 0
  • 约6.49千字
  • 约 52页
  • 2019-12-02 发布于湖北
  • 举报
* 方式1输出联络信号功能 :输出缓冲器满指示信号,输出,低电平有效。此信号由8255A发送给外设,当CPU将数据写入数据端口时,该信号变为低电平,用于通知外设读取数据端口中的数据。 :应答信号,输入,低电平有效。该信号由外设发送给8255A,作为对 信号的响应信号,表示输出的数据已经被外设接收,同时清除 信号。 INTR:中断请求信号,输出,高电平有效,用于请求以中断方式传送数据。 * 设8255A的A口工作在方式0,数据输出,B口工作在方式1,数据输入,编写初始化程序(设8255A的端口地址为FF80H~FF83H)。 例1 分析: 8255初始化就是向控制寄存器写入工作方式控制字和C口置位/复位控制字。另外,C口置位/复位控制字的写入只是对C口指定位输出状态起作用,对A口和B口的工作方式没有影响,因此只有需要在初始化时指定C口某一位的输出电平时,才写入C口置位/复位控制字。两个控制字公用一个端口地址,由控制字的最高位作为区分这两个控制字的标志位。 MOV DPTR,#FF83H MOV A, MOV @DPTR,A * 例2 MOV DPTR,#FF83H MOV A, MOV @DPTR,A MOV A, MOV @DPTR,A 在上题的基础上将8255A的C口中PC0设置为高电平输出,PC5设置为低电平输出,编写初始化程序 。 * 8255的扩展电路如下图7所示,对8255各口作如下设置:A口方式0输入,B口方式1输出,C口高位部分为输出,低位部分为输入。试完成对8255的初始化编程。 例3 * 应用举例1 下图为某MCS-51应用系统的3位LED 8段共阳极静态显示器的接口电路,(1)写出显示字符“3”、“8”、“5”的段码,注意:段码的最低位为“a” 段,段码的最高位为“dp” 段(2)已知8255的PA口、PB口和PC口的地址分别为FF7CH、FF7DH、FF7EH。请编写出使3位LED共阳极显示器从左至右显示“3.85”的程序段。 * 具体要求: ? 6个LED采用共阳极连接 ??79H~7EH分别存放6位显示器的显示数据(0~9) ??8255的A口接LED显示器位控 ????8255的B口接LED显示器段控 应用举例2 * 分析:8255的A口、B口、C口、控制寄存器的地址分别为7FFCH、7FFDH、7FFEH、7FFFH。工作方式控制字为80H。 * ?????? 编写程序 MOV DPTR,#7FFFH ? ? MOV R0, #79H ? ? MOV A,#80H ? ? MOVX @DPTR, A ;写控制字 ? MOV R3, #0FEH ? ? MOV A, R3 ? LD: MOV DPTR, #7FFCH ? ? MOVX @DPTR, A ;最左边灯亮 ? INC DPTR ;指向B口 ? MOV A, @R0 ;取显示数据 ? ADD A, #13H ? ? MOVC A, @A+PC ;查数据编码 ? MOVX @DPTR, A ;写B口 ? ACALL DELAY ;延时 ? INC R0 ? m_Mian SEGMENT CODE RSG m_Main * ? MOV A, R3 ? ? ? ? RL A ? ? MOV R3, A ? ? AJMP LD ? LEDTAB: DB 3FH ? ? DB 06H ? ? DB 5BH ? ? DB 4FH ? ? DB 66H ? ? DB 6DH ? ? DB 7DH ? ? DB 07H ? ? DB 7FH ? DELAY: MOV R7, #02H ? ? MOV R6, #FFH ? LOOP: DJNZ R6, LOOP ? ? DJNZ R7, DELAY ? * 8253的内部结构 * 8253的引脚功能 * 8253内部可分为6个模块,每个模块的功能如下: 1. 数据总线缓冲器及数据总线D0~D7

文档评论(0)

1亿VIP精品文档

相关文档