微机原理及应用第九章接口芯片.doc_第1页
微机原理及应用第九章接口芯片.doc_第2页
微机原理及应用第九章接口芯片.doc_第3页
微机原理及应用第九章接口芯片.doc_第4页
微机原理及应用第九章接口芯片.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

微机原理第九章 可编程通用接口芯片 9.1 接口芯片的功能及分类一: 接口芯片的功能1: 寻址功能 A: 芯片有片内地址线 1): 对芯片写控制字, 设置芯片功能 2): CPU与芯片寄存器间交换信息 B: 芯片有片选控制线 /CS 1): CPU地址线经译码产生片选控制线 /CS 2): /CS, 片内地址线确定片内寄存器地址值的唯一性2: 信息交换功能 A: 数据, 状态, 控制信息的交换特点 B: 数据, 状态, 控制信息的传送方向 二: 接口芯片的分类 1: 按用途分类A: 通用接口芯片 1): 74LS373, 74LS245 2): 8255AB: 专用接口芯片 1): DMA接口芯片8237A 2): 中断接口芯片8259A 2: 按控制方式分A: 不可编程控制芯片功能 74LS373, 74LS245B: 可编程控制芯片功能 8255A, 8259A, 8253A 9.2 可编程并行接口芯片8255A一: 8255A的基本功能 1: 可编程控制并口的输入, 输出功能 2: 并口作输入或输出可控 3: 多并口通道使用的灵活性二: 8255A的内部结构(337页) 1: 8255A与外设的接口 A: 8位双向A口 PA0 PA7 B: 8位双向B口 PB0 PB7 C: 8位双向C口 PC0 PC7 注: 8255A的C口使用灵活, 也是掌握8255A的重点 2: 8255A与CPU的接口 A: 8位数据线D0 D7 (接数据总线DB的低8位) B: 芯片寻址控制线 1): 片内寄存器寻址线A0, A1(两线四址) 2): 片选控制线 /CS (由地址译码产生) 注: PC/XT中, 地址为60H 63H C: 读写控制线 /RD, /WR D: 复位控制线RESET 3: 内部逻辑 A: 工作方式由CPU向8255A写控制命令字获得 B: A口, B口, C口可读写操作 C: A口, B口, C口具有组态特点 1): A组 PA0 PA7和PC4 PC7 2): B组 PB0 PB7和PC0 PC3 注: C口应用的灵活性 D: 8255A操作地址(339页表9.1) 1): 写控制字地址 A1= 1, A0 = 1 注: 该地址仅有写操作 2): A口读写地址 A1 = 0, A0 = 0 3): B口读写地址 A1 = 0, A0 = 1 4): C口读写地址 A1 = 1, A0 = 0三: 8255A的引脚特性 1: DIP40封装2: 引脚信息流的方向四: 8255A的控制命令字1: 控制命令字的写操作地址 A: A0 = 1, A1 = 1 B: PC/XT为63H 2: 控制命令字的形式 A: 工作方式控制字 B: C口置/复位控制字 注: 怎样操作同地址写入不同的控制字 3: 一址两字识别位 (在写入的控制字中) A: 若b7 = 1, 写入工作方式控制字 B: 若b7 = 0, 写入C口置/复位控制字 4: 工作方式控制字的格式b7 b6b5b4b3b2b1b0 1 A: 识别位b7 = 1 B: A口操作 1): 工作方式定义 b6, b5 = 00 方式0, 基本输入/输出 b6, b5 = 01 方式1, 选通输入/输出 b6, b5 = 1x 方式2, 双向数据传送 2): 方式0, 方式1的输入, 输出选择 b4 = 0 输出 b4 = 1 输入 C: B口操作 1): 工作方式定义 b2 = 0 方式0, 基本输入/输出 b2 = 1 方式1, 选通输入/输出 2): 输入, 输出选择 b1 = 0 输出 b1 = 1 输入 D: C口操作 1): b3 = 0 PC4 PC7 作输出 b3 = 1 PC4 PC7 作输入 2): b0 = 0 PC1 PC3 作输出 b0 = 1 PC1 PC3 作输入 注: A口有三种工作方式定义, B口仅有二种工作方式定义, C口无工作方式定义, 但分为上下半字节定义 5: C口置/复位控制字格式b7 b6b5b4b3b2b1b0 0 A: 识别位 b7 = 0B: C口位选择编码 b3 b2 b1 0 0 0 PC0 0 0 1 PC1 0 1 0 PC2 0 1 1 PC3 1 0 0 PC4 1 0 1 PC5 1 1 0 PC6 1 1 1 PC7 C: C口输出状态b0 = 0 C口输出低电平b0 = 1 C口输出高电平 D: b4, b5, b6位无意义 例设8255A的A口工作于方式1输入, B口工作于方式0输出, 置PC4 = 1, (8255A的操作地址为60H 63H) 解: 工作方式控制字b7 b6b5b4b3b2b1b0 1 011000X = B0HC口置/复位控制字b7 b6b5b4b3b2b1b0 0 XXX1001 = 09H MOV AL, 0B0H OUT 63H, AL ; 写方式控制字 MOV AL, 09H OUT 63H, AL ; 写置/复位控制字五: 8255A的工作方式 A口有三种工作方式 方式0, 方式1, 方式2 B口有二种工作方式 方式0, 方式1 C口无工作方式选择, 仅工作于方式0 1: 方式0 基本输入输出 A: 功能 1): 可提供三个8位输入通道或三个输出通道PA0 PA7, PB0 PB7, PC0 PC7 2): 可提供二个8位输入/输出通道及二个4位输入/输出通道 PA0 PA7, PB0 PB7, PC0 PC3, PC4 PC7 3): 根据方式控制字, 有16种输入/输出组合 B: 电特性 1): 作输出用, 各口有锁存功能 2): 作输入用, 各口无锁存功能 C: 应用 1): 程序控制下的无条件传送方式 A口, B口, C口均传送数据信息 2): 程序控制下的有条件传送方式(查询方式)A口, B口传送数据信息, C口传送状态及控制信息2: 方式1 选通输入输出 A: 功能 1): A口, B口作8位数据输入或数据输出 2): C口特定位为A, B口服务, 具有组态特点 B: 电特性 1): 作输出用, A, B口有锁存功能 2): 作输入用, A, B口有缓冲功能 C: 应用 1): 程序控制下的有条件传送方式(查询方式) A, B口传送数据信息, C口特定位传送状态及控制信息 2): 中断传送方式 C口特定位可发中断请求信号3: 方式2 双向输入输出 A: 功能 1): A口具有双向数据传送功能 2): C口特定位的组合应用 B: 电特性 A口具有双向锁存和缓冲特性 C: 应用 1): 程序控制下的有条件传送方式(查询方式) A口双向传送数据信息, C口特定位传送状态及控制信息 2): 中断传送方式 C口特定位可发中断请求信号 A口方式1输入 1: 方式控制字1011X 注: C口PC6,PC7不为特定位, 故可作输入输出用 2: C口特定位的作用 A: PC4 /STBA 外设输入数据锁存到A口的控制信号, 输入, 低有效 B: PC5 IBFAA口己锁存好外设输入数据的状态信号, 输出, 高有效注: 查询方式下查此状态信号是否为高 C: PC3 INTRA8255A向CPU发中断请求信号, 输出, 高有效注: 中断方式下中断请求信号为高有效, 一般经8259A到CPU 3: INTRA的中断允许及中断屏蔽 A: INTRA信号产生逻辑电路 B: 公式 PC3 = PC5 & INTEA1): 若输入数据已锁存, PC5 = H2): 若INTEA = L, 则PC3 = L, 中断屏蔽3): 若INTEA = H, 则PC3 = H, 中断允许 C: INTEA电平的获得1): 对PC4进行置/复位方式操作0XXX10000XXX10012): 中断屏蔽置/复位控制字 3): 中断允许置/复位控制字 4: 工作时序(347页, 图9.13) A: 外设准备好数据, 外设 8255A 发/STB = L B: 8255A锁存好数据, 8255A 外设 发IBF = H若置PC4 = H, 8255A CPU 发INTR = H C: 若状态正确, CPU对8255A进行读操作若有断请求, 响应, CPU执行中断服务程序 B口方式1输入 1: 方式控制字1X11 注: C口PC6,PC7不为特定位, 故可作输入输出用 2: C口特定位的作用 A: PC2 /STBB 外设输入数据锁存到B口的控制信号, 输入, 低有效 B: PC1 IBFBB口己锁存好外设输入数据的状态信号, 输出, 高有效注: 查询方式下查此状态信号是否为高 C: PC0 INTRB8255A向CPU发中断请求信号, 输出, 高有效注: 中断方式下中断请求信号为高有效, 一般经8259到CPU 3: INTRB的中断允许及中断屏蔽 A: INTRB信号产生逻辑电路 B: 公式 PC0 = PC1 & INTEB1): 若输入数据已锁存, PC1 = H2): 若INTEB = L, 则PC0 = L, 中断屏蔽3): 若INTEB = H, 则PC0 = H, 中断允许 C: INTEB电平的获得1): 对PC2进行置/复位方式操作0XXX01000XXX01012): 中断屏蔽置/复位控制字 3): 中断允许置/复位控制字 A口方式1输出 1: 方式控制字1010X 注: C口PC4, PC5不为特定位, 故可作输入输出用 2: C口特定位的作用 A: PC7 /OBFA CPU 将数据写入A口后, 输出低电平, 告诉外设数据己准备好 B: PC6 /ACKA外设从A口收到数据后, 输出低电平有效状态信号注: 查询方式下查此状态信号是否为低 C: PC3 INTRA8255A向CPU发中断请求信号, 输出, 高有效注: 中断方式下中断请求信号为高有效, 一般经8259到CPU 3: INTRA的中断允许及中断屏蔽 A: INTRA信号产生逻辑电路 B: 公式 PC3 = PC7 & INTEA1): 要执行写数据中断服务程序, 则PC7 = H2): 若INTEA = L, 则PC3 = L, 中断屏蔽3): 若INTEA = H, 则PC3 = H, 中断允许 C: INTEA电平的获得1): 对PC6进行置/复位方式操作0XXX11000XXX11012): 中断屏蔽置/复位控制字 3): 中断允许置/复位控制字 4: 查询方式工作时序(347页, 图9.14) A: CPU向8255A写数据后 8255A 外设 发/OBF = L B: 外设收到数据后 外设 8255A 发ACK = H C: CPU查ACK状态, 继续写数据过程5: 中断方式工作时序(347页, 图9.14)A: CPU执行中断服务程序, 向8255A写数据 8255A 外设 发/OBF = LB: 外设收到数据后 外设 8255A 发ACK = H, 此时/OBF = HC: 若中断允许, 外设经8255A向CPU发中断请求D: 若CPU有中断响应响, 从复上述过程 B口方式1输出 1: 方式控制字1X10 注: C口PC4, PC5不为特定位, 故可作输入输出用 2: C口特定位的作用 A: PC1 /OBFB CPU 将数据写入B口后, 输出低电平, 告诉外设数据己准备好 B: PC2 /ACKB外设从B口收到数据后, 输出低电平有效状态信号注: 查询方式下查此状态信号是否为低 C: PC0 INTRB8255A向CPU发中断请求信号, 输出, 高有效注: 中断方式下中断请求信号为高有效, 一般经8259到CPU 3: INTRB的中断允许及中断屏蔽 A: INTRA信号产生逻辑电路 B: 公式 PC0 = PC1 & INTEB1): 要执行写数据中断服务程序, 则PC1 = H2): 若INTEB = L, 则PC0 = L, 中断屏蔽3): 若INTEB = H, 则PC0 = H, 中断允许 C: INTEB电平的获得1): 对PC2进行置/复位方式操作0XXX01000XXX01012): 中断屏蔽置/复位控制字 3): 中断允许置/复位控制字 注: A口方式1输入使用C口位PC3, PC4, PC5A口方式1输出使用C口位PC3, PC6, PC7B口方式1输入, 输出均用C口位PC0, PC1, PC2, 为什么 A口方式2双向数据传送1: 方式控制字11XXXX 注: A口工作于方式2时, b4位值无意义 2: C口特定位的作用 A: 输入时同A口方式1输入 B: 输出时同A口方式1输出 3: 中断允许与中断屏蔽 A: 输入中断方式同A口方式1输入 B: 输出中断方式同A口方式1输出 C: 输入, 输出中断方式由或门完成l 例9.1(348页) 8255A用作A/D, D/A接口 1: 电路原理图 (348页图9.16) 2: 通道选用 A: A口工作于方式1输入, 用于A/D变换的数据输入接口 B: B口工作于方式0输出, 用于D/A变换的数据输出接口 C: C口为A口服务 3: I/O接口控制方式 A: 输入(A口) 采用查询方式 B: 输出(B口) 采用无条件程控方式 C: C口为位操作, 1): 位输出控制信息 2): 位输入状态信息 4: 8255A对A/D芯片的控制 A: PC7 = H, 启动A/D变换PC7 = L, 停止A/D变换 B: PC4(/STBA) = L, A/D变换后的数据送A口锁存C: PC5(IBFA) = H, A口己锁存A/D变换后的数据 D: 测试状态信息PC5 = H, 下一步完成读A/D数据 5: 8255A对D/A芯片的控制 由于B口工作于方式0输出, 为直接数据输出CPU 8255A(B口) D/A变换芯片 外设(扬声器) 6: 程序设计(8255A地址为300H 303H) A: 写工作方式控制字1011000XA口方式1输入 B6,B5,B4 = 011B口方式0输出 B2,B1 = 00C口PC7输出 B3 = 0 MOV AL, 1011000XB MOV DX, 303H OUT DX, AL B: 完成A/D变换过程 1): 启动A/D, 置PC7 = H MOV DX, 303H MOV AL, 0XXX1111B OUT DX, AL 2): 停止A/D, 清PC7 = L MOV AL, 0XXX1110B OUT DX, AL C: 查询PC5, 完成数据读操作 MOV DX, 302H ; C口R/W地址为302HAG: IN AL, DX TEST AL, 00100000B ; 测PC5位是否为0 JZ AG ; 为0, 循环查询, 为1进入下式 MOV DX, 300H ; A口R/W地址为300H IN AL, DX D: 完成B口数据写操作 MOV DX, 301H ; B口R/W地址为301H OUT DX, AL 9.4 可编程计数器/定时器8253 一: 8253的基本功能及工作原理 1: 8253的基本功能A: 定时功能 输出状态根据定时值改变 B: 计数功能 可对输入波形进行分频输出 2: 8253的工作原理 A: 设定8253内部计数器初值 B: 8253内部计数器从外部获得计数脉冲信号 C: 在计数脉冲作用下, 内部计数器减1计数 D: 根据8253内部计数器工作方式获得波形输出 二: 8253的内部结构 1: 8253与CPU的接口 A: 8 位数据线 D0 D7 B: 寻址控制线 A0, A0, /CS C: 读写控制线 /RD, /WR 2: 8253与外设的接口 A: 三个独立的计数器/定时器 B: 计数器/定时器输入线 1): 时钟输入 CLK 2): 输入门控 GATE C: 计数器/定时器输出线 输出信号 OUT 3: 8253的寄存器 A: 控制寄存器 CPU对8253写入控制字, 编程改变8253的功能 B: 初始值寄存器 CPU对8253写入计数初值, 使8253获得定时量 C: 状态寄存器 CPU从状态寄存器中读入8253的状态 注: 上述三个寄存器可编程 D: 计数器 为16位计数器, 完成减1操作 E: 计数输出寄存器 根据计数状态产生输出波形 注: 上述二个寄存器不可编程 4: 8253的读写地址 A: 工作方式/计数器选择控制字地址 A1 = 1, A0 = 1 B: 计数器0的R/W地址 A1 =0, A0 = 0 C: 计数器1的R/W地址 A1 = 0, A0 = 1 D: 计数器2的R/W地址 A1 = 1, A0 = 0三: 8253外部输入, 输出线特性 1: CLK 时钟输入 A: 时钟来源 1): 来源于计算机系统内部周期时钟 2): 来源于计算机系统外部非周期脉冲 注: 对定时器, CLK必为周期信号对计数器, CLK可不为周期信号 B: 触发方式为边沿触发 2: GATE 门控输入 GATE = H 允许计数, GATE = L 禁止计数 3: OUT 波形输出 可编程定义波形输出方式 A: 电平输出 B: 周期波形输出 C: 脉冲输出 四: 8253的工作方式/计数器选择控制字b7b6b5b4b3b2b1b0 1: 计数器选择位 b7 b6 0 0 计数器00 1 计数器11 X 计数器22: 工作方式选择位 b3 b2 b1 0 0 0 方式0 0 0 1 方式1 0 1 0 方式2 0 1 1 方式3 1 0 0 方式4 1 0 1 方式5 1 1 0 无用 1 1 1 无用3: 计数器进制选择位 b0 0 二进制计数1 十进制计数(BCD)4: 计数器值读写入方式选择位 b5 b4 0 0 锁定计数器值 0 1 仅R/W计数器低8位 1 0 仅R/W计数器高8位 1 1 顺序R/W计数器低8位, 高8位 注: 8253计数器为16位计数器, 而数据线仅有8位, 当写入方式控制字时, 计数器清0, 置计数器初值时, 若仅有高或低8位有不为0的值时, 可只写8位, 若16值不为0, 则顺序写入低8位, 高8位, 即解决16位计数器与8位数据线的矛盾 设8253的口地址为40H 43H, 完成写控制字及置初值程序段例A8253工作为计数器0, 方式0, 初值为4, 二进制计数0001000010HMOV AL, 10HOUT 43H. ALMOV AL, 04HOUT 40H, AL例B8253工作为 计数器1,方式3,初值为4020H,十进制计数0 1110111 77H MOV AL, 77H OUT 43H, AL MOV AL, 20H OUT 41H, AL MOV AL, 40H OUT 41H, AL例C8253工作为 计数器2,方式3,初值为4000H,十进制计数1 0100111 A7H MOV AL, 0A7H OUT 43H, AL MOV AL, 40H OUT 42H, AL五: 8253的工作方式l 注: A: 写入控制字时, 初始值寄存器清零B: 计数器CE比初始值寄存器CR延时一个时钟周期C: 计数器CE为减1计数D: CLK与GATE在时序上进行配合 1: 方式0 计数结束产生中断输出(软件控制) A: OUT输出1): 写控制字时, OUT输出状态不定2): 写CR初值时, OUT = L3): CE = 0时, OUT = H B: GATE门控1): GATE = L CE不工作, 有延时作用2): GATE = H CE减1计数 2: 方式1 重复触发的单稳输出(硬件控制) A: 写控制字时, OUT输出状态不定 B: 写CR初值时, OUT = H C: GATE输入上升沿脉冲时, 启动计数器, 且OUT = L D: 计数器为0时, OUT = H 注: 一般情况下, OUT保持高电平(单稳), 当外部从GATE端输入触发脉冲后, OUT改变为低电平, 其维持时间由计数值确定 E: GATE的影响 1): 当OUT = H时, GATE触发改变OUT的状态, 即从H L 2): 当OUT = L时, GATE触发使CE从初值开始计数, 即延时 3: 方式2 分频器(软件控制) A: 写控制字时, OUT输出状态不定 B: 写CR初值时, OUT = H, CE工作 C: CE = 0时, OUT = L D: 一个时钟后, OUT = H, CE工作 注: 重

温馨提示

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

评论

0/150

提交评论