基本IO接口技术——微机第七章笔记
基本I/O接口技术——微机第七章笔记
文章目录
- 基本I/O接口技术——微机第七章笔记
- 前言
- MindMap
- 并行通信和串行通信
- 通信
- 基本方法
- 并行通信
- 优点
- 串行通信
- 特点
- 并行接口概述
- 硬件结构(典型)
- 8255A
- 工作原理
- 结构和功能
- 数据端口
- 端口地址
- 控制字
- 方式选择控制字
- 置位复位控制字
- 状态字
- 工作方式
- 方式0——基本输入输出方式
- 方式1——选通输入/输出方式
- 输入
- 输出
- 方式2——双向总线方式(仅A口)
- C口状态字
- 可编程定时/计数器 8253
- 一、外部引线级内部结构
- 二、计数启动方式
- 编程结构
- 控制字
- 8253 控制字格式
- 工作过程
- 三、工作方式
- 方式0 计数结束中断
- 方式1 单稳态触发器
- 方式2 频率发生器
- 方式3 方波发生器
- 方式4 软件触发选通
- 方式5 硬件触发选通
- 四、8253的应用
- 初始化程序流程
- 后话
前言
明天考试,速通!
这一章主要是一些并行接口知识点,涉及到8255、8253还有一些串行接口。
MindMap
并行通信和串行通信
通信
指计算机与外设、计算机与计算机之间的 信息交换
。
基本方法
并行通信
和 串行通信
。
并行通信
就是将数据的各位 同时
在 多根并行传输线上进行传输。
优点
传输速度快,适用于数据传输率较高、传输距离较短的场合。
串行通信
和并行相反,将数据的各位按 时间顺序
依次在一根传输线上传输。
特点
传输速度慢、远程、费用低,适用于长距离、中低速的通信。
并行接口概述
并行接口连接CPU 与 并行外设
,实现两者间的 并行通信
。
硬件结构(典型)
- 锁存或缓冲的数据端口。
- 与CPU、外设进行数据交换所必须的
控制
和状态
信号。 - 端口译码电路。
- 控制电路。
8255A
引脚结构图
具有三个 8位并行端口, 40个引脚。
工作原理
结构和功能
数据端口
有3个 8位
I/O端口(A、B、C),24根I/O线和外设交换数据或通信,C口分两个 4位口。
A、B口用为8位数据I/O口,C可8位,也可两个4位,还常用于配合A口和B口,作为 控制信号
输出、或作为 状态信号
输入。
端口地址
控制字
方式选择控制字
定义 各端口的工作方式。
三种方式:
- 方式0——基本输入输出
- 方式1——选通输入输出
- 方式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 控制字格式
工作过程
- 设置8253的工作方式
- 设置计数初值到初值寄存器
- 第一个CLK 下降沿信号使初值寄存器的内容置入计数寄存器
- 以后每来一个CLK信号,计数寄存器减1
- 减到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接口技术——微机第七章笔记相关推荐
- 计算机通过io接口对什么实现控制器,《微机原理与接口技术》第6章 微计算机IO接口基础.ppt...
<微机原理与接口技术>第6章 微计算机IO接口基础.ppt 第6章 微计算机IO接口基础 2.间接I/O端口寻址方式 (1) 输入指令格式: IN AL, DX 或 IN AX, DX 指 ...
- 《微机原理及接口技术》第05章在线测试
<微机原理及接口技术>第05章在线测试 <微机原理及接口技术>第05章在线测试 剩余时间: 59:56 答题须知:1.本卷满分20分. 2.答完题后, ...
- 《微机原理及接口技术》第04章在线测试
<微机原理及接口技术>第04章在线测试 <微机原理及接口技术>第04章在线测试 剩余时间: 59:55 答题须知:1.本卷满分20分. 2.答完题后, ...
- 《微机原理及接口技术》第03章在线测试
<微机原理及接口技术>第03章在线测试 <微机原理及接口技术>第03章在线测试 剩余时间: 59:53 答题须知:1.本卷满分20分. 2.答完题后, ...
- 《微机原理及接口技术》第08章在线测试
<微机原理及接口技术>第08章在线测试 <微机原理及接口技术>第08章在线测试 剩余时间: 59:54 答题须知:1.本卷满分20分. 2.答完题后, ...
- 《微机原理及接口技术》第07章在线测试
<微机原理及接口技术>第07章在线测试 <微机原理及接口技术>第07章在线测试 剩余时间: 59:55 答题须知:1.本卷满分20分. 2.答完题后, ...
- 郑州大学微型计算机原理与接口技术,《微机原理及接口技术》第01章在线测试...
<微机原理及接口技术>第01章在线测试 剩余时间: 58:45 答题须知:1.本卷满分20分. 2.答完题后,请一定要单击下面的"交卷"按钮交卷,否则无法记录本试卷的成 ...
- 南邮微型计算机实验,南邮 微机原理 微型计算机与接口技术 微机原理实验.doc...
南邮 微机原理 微型计算机与接口技术 微机原理实验.doc (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 ;FILEMENT:E ...
- 《程序设计技术》第七章例程
<程序设计技术>例程 <程序设计技术>第一章 C语言与程序设计(例程) <程序设计技术>第二章 C语言基础知识(例程) <程序设计技术>第三章 程序控制 ...
最新文章
- 吴恩达深度学习ppt_【深度学习】吴恩达谈深度学习:数据科学家需要知道这些...
- 计算机辅助建筑设计亚洲学会,清华大学
- Python-OpenCV——亮度和对比度
- #pragma使用分析
- 你真的会玩SQL吗?Case也疯狂
- Java中Web程序修改配置文件不重启服务器的方法
- MFC图像增强之图像普通平滑、高斯平滑、Laplacian、Sobel、Prewitt锐化
- cv2.error: opencv(4.4.0)_【从零学习OpenCV 4】图像金字塔
- brighthouse mysql_MySQL 数据库中的数据页合并-爱可生
- 数据结构—平衡二叉树
- 什么是 开发环境、测试环境、生产环境、UAT环境、仿真环境
- 好工具推荐系列:Github客户端GitHub Desktop使用方法
- 关于stdafx.h的错误
- 仅为0.9兆 谷歌金山词霸1.5版本正式发布
- 泛函分析 04.03 有界线性算子 - 一致有界原则
- NSA网络武器被公开,面对突发性的高危漏洞事件,我们应该如何应对?
- 独家对话 RT-Thread 创始人熊谱翔:国产操作系统厚积而薄发 | 人物志
- pymol 分离蛋白与小分子保存;pymol分离蛋白多聚体亚基;pymol对接位点交互图展示;去除杂原子
- Go 切片(slice)使用
- 解决win10笔记本睡眠后无法唤醒甚至自动关机的问题