基本I/O接口技术——微机第七章笔记

文章目录

  • 基本I/O接口技术——微机第七章笔记
    • 前言
    • MindMap
    • 并行通信和串行通信
      • 通信
        • 基本方法
      • 并行通信
        • 优点
      • 串行通信
        • 特点
    • 并行接口概述
      • 硬件结构(典型)
    • 8255A
      • 工作原理
        • 结构和功能
          • 数据端口
          • 端口地址
      • 控制字
        • 方式选择控制字
        • 置位复位控制字
      • 状态字
      • 工作方式
        • 方式0——基本输入输出方式
        • 方式1——选通输入/输出方式
          • 输入
          • 输出
        • 方式2——双向总线方式(仅A口)
        • C口状态字
    • 可编程定时/计数器 8253
      • 一、外部引线级内部结构
      • 二、计数启动方式
        • 编程结构
        • 控制字
        • 8253 控制字格式
        • 工作过程
      • 三、工作方式
        • 方式0 计数结束中断
        • 方式1 单稳态触发器
        • 方式2 频率发生器
        • 方式3 方波发生器
        • 方式4 软件触发选通
        • 方式5 硬件触发选通
      • 四、8253的应用
        • 初始化程序流程
    • 后话

前言

明天考试,速通!

这一章主要是一些并行接口知识点,涉及到8255、8253还有一些串行接口。

MindMap

并行通信和串行通信

通信

指计算机与外设、计算机与计算机之间的 信息交换

基本方法

并行通信串行通信

并行通信

就是将数据的各位 同时 在 多根并行传输线上进行传输。

优点

传输速度快,适用于数据传输率较高、传输距离较短的场合。

串行通信

和并行相反,将数据的各位按 时间顺序 依次在一根传输线上传输。

特点

传输速度慢、远程、费用低,适用于长距离、中低速的通信。

并行接口概述

并行接口连接CPU 与 并行外设,实现两者间的 并行通信

硬件结构(典型)

  1. 锁存或缓冲的数据端口。
  2. 与CPU、外设进行数据交换所必须的 控制状态信号。
  3. 端口译码电路。
  4. 控制电路。

8255A

引脚结构图

具有三个 8位并行端口, 40个引脚。

工作原理

结构和功能

数据端口

38位 I/O端口(A、B、C),24根I/O线和外设交换数据或通信,C口分两个 4位口。

A、B口用为8位数据I/O口,C可8位,也可两个4位,还常用于配合A口和B口,作为 控制信号输出、或作为 状态信号 输入。

端口地址

控制字

方式选择控制字

定义 各端口的工作方式。

三种方式:

  1. 方式0——基本输入输出
  2. 方式1——选通输入输出
  3. 方式2——双向总线I/O方式

置位复位控制字

对C端口的 任一进行置位或者复位操作。

端口C常用于 控制应答信号,我们可以对其进行复位和置位,通过对控制口进行写入 按位置位/复位控制字。

状态字

工作方式

前面提到,8255A有三种工作方式,在方式1和方式2时,C口用于A口/B口的联络信号,用IN指令可以读取C口的状态。

方式0——基本输入输出方式

适用于不需应答信号的简单I/O场合。

输出有锁存,输入无锁存。

方式1——选通输入/输出方式

输入

输入或输出都通过 应答信号实现,这是A/B用作数据口,C的部分用于 握手信号线中断请求线

数据口的输入、输出都可以锁存。

PC35和PC02分别用于A口和B口的状态和控制线,PC6~7用作IO线。

STB-数据选通输入信号,低电平有效,由外设输入;

IBF-输入缓冲器满信号,高电平有效,由8255A输出的状态信号,表示输入锁存器已满,向外设指明不能再送入数据。

INTEA: Interrupt Enable,中断允许信号,设置中断允许或屏蔽中断的信号。INTE没有外部引出端,由软件对C口某位进行置0或置1的操作实现。对A口,中断允许端是PC4,对B口,是PC2。置1允许中断,置0屏蔽中断。

INTRA: 8255向CPU申请中断,高有效,请求CPU中断。
INTR为高有3个条件: 1) STB为高,即数据已打入8255; 2) IBF为高,即8255已收到数据;3) INTE(中断请求允许)为高,即8255允许以中断方式应答。
INTRA为高,通知CPU可以取8255A口中的数。

输出

PC3、PC6和PC7作A口的应答信号,PC0、PC1和PC2作B口的应答信号。余下的PC4和PC5可作输入或输出线。

OBF-输出缓冲器满信号,输出,低电平有效。表示CPU已输出数据到指定端口。

ACK-外设的回答信号,低电平有效,由外设送给8255A。表示CPU送到指定端口的数据已被外设接受。

INTE-中断允许信号。

INTR-中断请求信号,高电平有效。

方式2——双向总线方式(仅A口)

这时PA7~PA0作为双向数据总线,PC3 PC7用作A口的联络控制信号。PC2PC0可用作B口的应答信号线,或作I/O线。

INTRA-中断请求信号,高电平有效.

OBFA-输出缓冲器满,低电平有效.

ACKA-外设响应信号,低电平有效.

IBFA-输入缓冲器满信号,高电平有效.

STBA-选通输入信号,低电平有效.

C口状态字

在方式1和2时,C口产生与外设的联络信号,此时读取C口的内容,可检查或测试外设的状态。

来段8255的汇编助兴

MOV DX, 1023H           ; set control port address
MOV AL, 1001X000B       ; set function control word
OUT DX, AL
MOV AL, 0               ; line light port PC0, set low
OUT DX, ALMOV DX, 1021H           ; port B address
MOV AL, 80H             ; pb7
OUT DX, AL              ; open controlA:
MOV DX, 1020H           ; port A address
IN AL, DX               ; get data
CMP AL, 0               ; if PA0~PA7 have one is hight, it impress have abnormal
JZ A                    ; keep monitorMOV CX, 3               ; set loop times
MOV DX, 1022H           ; port C addressB:
MOV AL, 1
OUT DX, AL              ; alarm lamp light on
CALL DELAY
MOV AL, 0
OUT DX, AL              ; alarm lamp light off
CALL DELAY
LOOP B
JMP A                   ; keep monitor

可编程定时/计数器 8253

8253 是一种 硬件定时/计数器芯片

一、外部引线级内部结构

3个16位的定时/计数器(通道)
24引脚双列直插式
最高计数频率2.6MHz
TTL电平兼容
单电源+5V供电

通道选择

二、计数启动方式

程序指令启动(软启动)外部电路信号启动(硬件启动)两种过程。

编程结构

控制字

8253 控制字格式

工作过程

  1. 设置8253的工作方式
  2. 设置计数初值到初值寄存器
  3. 第一个CLK 下降沿信号使初值寄存器的内容置入计数寄存器
  4. 以后每来一个CLK信号,计数寄存器减1
  5. 减到0时,OUT端输出一特殊波形的信号
    注:以上计数过程中还受到GATE信号的控制

三、工作方式

控制字的D1~D3其实就是 工作方式的选择,有如下6种工作方式:

方式0——计数结束中断
方式1——可重复触发的单稳态触发器
方式2——频率发生器
方式3——方波发生器
方式4——软件触发选通
方式5——硬件触发选通

方式0 计数结束中断

软件启动,不自动重复计数。装入控制字后OUT端变低电平,计数结束OUT输出高电平。

计数过程中,GATE端应保持高电平。GATE信号变低,则暂停计数,直到GATE恢复。OUT端输出是一个约(N+1)TCLK宽度的负脉冲。计数过程中可随时修改初值重新开始计数。

方式1 单稳态触发器

硬件启动,不自动重复计数。装入控制字后OUT端变高电平。计数开始OUT端变为低电平,计数结束后又变高。

门控信号GATE端的跳变触发计数,可重复触发。若下一次GATE上升沿提前到达,则OUT端负脉冲拉宽为两次计数过程之和。计数过程中写入新初值不影响本次计数。

方式2 频率发生器

软、硬件启动,自动重复计数。装入控制字后OUT端变高电平,计数到最后一个CLK时OUT输出负脉冲,并连续重复此过程。

GATE为计数的控制信号:GATE变低计数停止,再变高时的下一个CLK下降沿,从初值开始重新计数。
每个计数周期结束时(减到1时),OUT端输出一个TCLK宽度的负脉冲。
计数过程自动重复进行。
计数过程中修改初值不影响本轮计数过程。

方式3 方波发生器

软、硬件启动,自动重复计数。装入控制字后OUT端变高电平,然后OUT连续输出对称方波:前 N/2或(N+1)/2 个CLK,OUT为高,后N/2或(N-1)/2 个CLK, OUT为低。

OUT输出方波,前半周期为高,后半周期为低。
计数过程中修改初值不影响本半周期计数过程。
GATE可以作为计数的控制信号:GATE变低计数停止,再变高时的下一个CLK下降沿,从初值开始重新计数。

方式4 软件触发选通

软件启动,不自动重复计数。装入控制字后输出端变高电平,计数结束输出一个CLK宽度的负脉冲。

计数过程中,GATE端应保持高电平。
每写入一次初值,计数一个周期,然后停止计数。
每个计数周期结束时(减到0时),OUT端输出一个TCLK宽度的负脉冲。
计数过程中修改初值不影响本轮计数过程。

方式5 硬件触发选通

硬件启动,不自动重复计数。OUT端波形与方式4相同。

写入初值时,GATE端应保持低电平。
GATE每出现一次正脉冲,计数一个周期,然后停止计数。
每个计数周期结束时(减到0时),OUT端输出一个TCLK宽度的负脉冲。
计数过程中修改初值不影响本轮计数过程。

四、8253的应用

分三部分:连接系统、设置工作方式、置计数初值。后面两个就是编程了。

初始化程序流程

CNT0:
MOV DX, 0123H       ; set control port address
MOV AL, 34H         ; set word funtion is 2
OUT DX, AL
MOV DX, 01020H      ; counting channel 0
MOV AX, 20000
OUT DX, AL          ; clock frequency
MOV AL, AH
OUT DX, AL

这个我也没懂,随便看看吧

MOV DX, 3E3H        ; set control port address
MOV AL, 00110110B   ; chanel 0, function 3
OUT DX, AL
MOV DX, 3E0H        ; chanel 0 port address
MOV AX, 20000       ; 2MHz
OUT DX, AL
MOV AL, AH
OUT DX, ALXOR AL, AL
MOV DX, 3E5H
OUT DX, AL          ; set 0 let cp goto
MOV DX, 3E4H        ; trisate gateNEXT:
IN AL, DX
AND AL, 01H
JZ NEXTMOV DX, 3E5H
MOV AL, 2
OUT DX, ALGOON:
MOV AH, 1
INT 16H
JZ GOON
XOR AL, AL
OUT DX, AL
MOV AH, 4C
INT 21H

后话

其他的,像串行接口和并行异步这些不是重点,所以不写了。

基本IO接口技术——微机第七章笔记相关推荐

  1. 计算机通过io接口对什么实现控制器,《微机原理与接口技术》第6章 微计算机IO接口基础.ppt...

    <微机原理与接口技术>第6章 微计算机IO接口基础.ppt 第6章 微计算机IO接口基础 2.间接I/O端口寻址方式 (1) 输入指令格式: IN AL, DX 或 IN AX, DX 指 ...

  2. 《微机原理及接口技术》第05章在线测试

    <微机原理及接口技术>第05章在线测试  <微机原理及接口技术>第05章在线测试 剩余时间: 59:56  答题须知:1.本卷满分20分.            2.答完题后, ...

  3. 《微机原理及接口技术》第04章在线测试

    <微机原理及接口技术>第04章在线测试  <微机原理及接口技术>第04章在线测试 剩余时间: 59:55  答题须知:1.本卷满分20分.            2.答完题后, ...

  4. 《微机原理及接口技术》第03章在线测试

    <微机原理及接口技术>第03章在线测试  <微机原理及接口技术>第03章在线测试 剩余时间: 59:53  答题须知:1.本卷满分20分.            2.答完题后, ...

  5. 《微机原理及接口技术》第08章在线测试

    <微机原理及接口技术>第08章在线测试  <微机原理及接口技术>第08章在线测试 剩余时间: 59:54  答题须知:1.本卷满分20分.            2.答完题后, ...

  6. 《微机原理及接口技术》第07章在线测试

    <微机原理及接口技术>第07章在线测试  <微机原理及接口技术>第07章在线测试 剩余时间: 59:55  答题须知:1.本卷满分20分.            2.答完题后, ...

  7. 郑州大学微型计算机原理与接口技术,《微机原理及接口技术》第01章在线测试...

    <微机原理及接口技术>第01章在线测试 剩余时间: 58:45 答题须知:1.本卷满分20分. 2.答完题后,请一定要单击下面的"交卷"按钮交卷,否则无法记录本试卷的成 ...

  8. 南邮微型计算机实验,南邮 微机原理 微型计算机与接口技术 微机原理实验.doc...

    南邮 微机原理 微型计算机与接口技术 微机原理实验.doc (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分  ;FILEMENT:E ...

  9. 《程序设计技术》第七章例程

    <程序设计技术>例程 <程序设计技术>第一章 C语言与程序设计(例程) <程序设计技术>第二章 C语言基础知识(例程) <程序设计技术>第三章 程序控制 ...

最新文章

  1. 吴恩达深度学习ppt_【深度学习】吴恩达谈深度学习:数据科学家需要知道这些...
  2. 计算机辅助建筑设计亚洲学会,清华大学
  3. Python-OpenCV——亮度和对比度
  4. #pragma使用分析
  5. 你真的会玩SQL吗?Case也疯狂
  6. Java中Web程序修改配置文件不重启服务器的方法
  7. MFC图像增强之图像普通平滑、高斯平滑、Laplacian、Sobel、Prewitt锐化
  8. cv2.error: opencv(4.4.0)_【从零学习OpenCV 4】图像金字塔
  9. brighthouse mysql_MySQL 数据库中的数据页合并-爱可生
  10. 数据结构—平衡二叉树
  11. 什么是 开发环境、测试环境、生产环境、UAT环境、仿真环境
  12. 好工具推荐系列:Github客户端GitHub Desktop使用方法
  13. 关于stdafx.h的错误
  14. 仅为0.9兆 谷歌金山词霸1.5版本正式发布
  15. 泛函分析 04.03 有界线性算子 - 一致有界原则
  16. NSA网络武器被公开,面对突发性的高危漏洞事件,我们应该如何应对?
  17. 独家对话 RT-Thread 创始人熊谱翔:国产操作系统厚积而薄发 | 人物志
  18. pymol 分离蛋白与小分子保存;pymol分离蛋白多聚体亚基;pymol对接位点交互图展示;去除杂原子
  19. Go 切片(slice)使用
  20. 解决win10笔记本睡眠后无法唤醒甚至自动关机的问题

热门文章

  1. typora修改主题和字体
  2. 爆款的抖音账号都是如何进行产品定位的
  3. 【第98题】JAVA高级技术-网络编程17(简易聊天室12:实现客户端一对一聊天)
  4. Spring Boot(三):RestTemplate提交表单数据的三种方法
  5. Archlinux 安装、美化、软件入门(四)
  6. UOS其他分区及移动硬盘带锁问题处理
  7. 倒置的方法//c++
  8. win10常用dos命令
  9. 芝诺悖论:一个跑得最快的人永远追不上跑得最慢的人
  10. Python疫情数据分析+数据可视化展示