第一章 概述
1.1系统总线包括那三总线
地址总线,控制总线,数据总线
1.2接口的地位
微处理器CPU与外部设备之间的连接电路称为输入/输出接口电路,简称I/O接口。
是CPU与外界进行信息交换的中转站。实现人机交互和各种形式的数据输入/输出。
1.3计算机I/O接口的概念和基本功能
微处理器CPU与外部设备之间的连接电路称为输入/输出接口电路,简称I/O接口。
功能:1.执行CPU命令的功能 2.返回外设状态的功能
3.数据锁存/缓冲的功能 4.信号转换功能
5.设备选择功能 6.数据宽度与数据格式转换的功能
1.4接口包含三类常用端口及特点
数据口,状态口,命令口 特点?
1.5 I/O地址译码方法
1.6 I/O地址译码作用
(自编)访问接口电路中指定的寄存器端口
1.7微型计算机与外设之间的信息交换有4种方式
第十章 I/O端口译码技术
10.1端口的概念,种类,作用
概念:I/O接口电路中能被CPU直接访问的寄存器。
端口地址=芯片地址(高位地址)+片内地址
种类:硬件端口(串行端口,并行端口),网络端口(RJ-45,Serial),软件端口
作用:CPU可以通过这些端口发送命令、读取状态和传送数据。对端口进行 R/W操作。
一个端口只能写入或读出一种信息,但是也可能几种信息共用一个端口。
10.2 8086系统的编制方式
10.2.1地址空间
AB20条,空间为2^20=1MB
地址范围:00000H~FFFFFH
10.2.2数据存储格式
1)物理地址
2)以字节为基本单位存储信息
3)两个相邻的字节定义为一个字。每一个字的低字节存放在低地址中,高字节存放在高地址中,并以低字节的地址作为字地址。
10.2.3内存地址变换(分段管理)
1)8086是16位体系结构,可以同时产生16位二进制码。直接管理64K个内存单元地址编码
2)8086需要管理1M内存。 需要1M个内存单元地址编码
10.3 I/O端口地址分配
10.3.1系统板上的I/O接口芯片
可编程的大规模集成电路
例:定时器/计数器、中断控制器、并行接口
端口地址:前256个端口(000~0FFH) 8位地址
10.3.2扩展槽上的I/O接口控制卡
由若干个集成电路按一定的逻辑功能组成的接口部件
例:图形卡、声卡、网卡
端口地址:后768个端口(100~3FFH) 16位地址
10.4接口控制语言(应用,理解)
10.5译码电路的概念,在接口中的作用
10.6常用的译码方法理解
第十一章 定时/计数技术
11.1定时与计数的原理
11.2可编程计数器/定时器的基本工作原理
11.2.1引脚信号的作用
CLK脉冲——时钟信号
GATE——控制输入端
OUT——输出端
初值寄存器CR——计数的初值(可通过程序设定)
计数执行单元CE——执行计数操作,CPU不能访问
计数输出锁存器OL——CPU从中读当前计数值
控制寄存器——决定工作方式
11.3 8254有3个计数器,初值
三个独立的16位计数器(0#~2#通道)00,01,10 11(控制寄存器)
11.4 8254有6种工作方式(特点,如输出波形)
11.5 8254编程应用(重点是方式2,3)
11.5.1初值的计算
11.5.2控制字的位置
11.5.3端口地址的范围和规律
11.5.4计数器独立,联合工作下的编程
第十三章 并行接口
13.1并行接口与串行接口的区别
并口多用于传送距离短,数据量大,速度高的实时传输场合;
并行接口:在多条传输线上同时传输多位数据
串行接口:利用单条传输线,将多位数据按照先后顺序逐位进行传输
串口: 协议简单,可靠,成本低,速度高。
并口:多线干扰,速度高时难同步,错误率高。
13.2 8255有3个端口,每个端口的特点
13.2.1分组
三个端口分为两组进行控制:
A组—A口(PA7~PA0)、C口高4位(PC7~PC4)
B组—C口低4位(PC3~PC0)、B口(PB7~PB0)
13.2.2什么类型的接口
每个端口可编程设定为输入端口或输出端口,并可设定为不同的工作方式。
13.2.3可以工作在什么方式下
每个端口可编程设定为输入端口或输出端口,并可设定为不同的工作方式。
端口C可作为一个独立的端口使用,但常常是配合A口和B口工作,为这两个端口的输入输出操作提供联络信号。
方式0 无条件传送(外设始终做好了准备)
方式1 应答发式传送(查询、中断)
方式2 双向应答发式传送(查询、中断)
A端口:3种方式中的任一种;
B端口:方式0和方式1;
C瑞口:通常作为控制信号使用,配合A端口和B端口的工作。号。
13.3 8255读写控制部件几个信号与操作的关系
*CS,A1,A0,*RD,*WR
13.4应用(输入,输出)
13.4.1 C口按位置位命令字
C口按位置位/复位控制字:是CPU写到8255A控制寄存器中的字。
在方式1和方式2时要用到这个控制字。
利用C口的按位置位/复位功能,可以通过C口的某一根数据输出线输出一脉冲或电平,作为外设的选通、门控、复位等控制信号。
此控制字只对C口有效。
该控制字紧跟在方式控制字后定义。
它被写入控制口,不是写入C口。
13.4.2方式0
第八章 中断技术
8.1中断方式下数据I/O的过程
1.中断请求
2.终端识别及中断判优
3.中断响应
4.中断处理(服务)
5.终端返回
8.2中断类型
8.3中断号,中断向量与中断向量表
8.3.1大小
16位微处理器支持256个中断号。编号为0~255号。
8.3.2概念
中断号——由中断源提供中断类型号,CPU根据类型号确定中断源。
中断向量——中断服务程序的入口地址。
每个中断服务程序都有一个唯一确定的入口地址。CS:IP(共占4个字节地址)
中断向量表——系统中所有的中断向量集中起来放到存储器的某一区域内。
8.3.3原理
8.3.4计算
步骤:
a. 由中断向量号计算中断向量地址,方法为中断向量地址(首地址)=中断类型号×4。
b.将中断向量中的偏移地址装入中断向量地址起始的两个低字节中。
c.将中断向量中的段基址装入中断向量地址起始的两个高字节中。
8.4 8259
中断系统中的硬件中断需使用中断控制器8259A协助CPU进行中断处理
8.4.1每片有8级优先级控制权
8.4.2级联,优先级方式(主从片)
通过级连可扩展至64级优先权控
普通全嵌套方式:同一级的中断请求不能中断同级中断。并且IR7~IR0的优先级顺序是IR0最高,IR7最低。
特殊全嵌套方式:与全嵌套方式基本相同,不同之处在于该方式不但响应比本级高的中断申请,而且响应同级的中断申请。
在级连方式中,往往有一个主片,其他为从片。从片的INT端接到主片的IRi端。因而当前正在执行的某一中断服务程序是由某一从片IRi端。这时该从片上比IRi级别高的中断提出请求,从片予以响应,向主片发INT信号,但主片分不出来,只将它们视为同一级别。若普通全嵌套方式,则主片不响应,只有特殊全嵌套方式,主片才响应。
系统中若只有单片8259A时,通常采用普通全嵌套方式。系统中有多片8259A级联时,主片必须采用特殊全嵌套方式,从片可采用全嵌套方式。
固定优先级:
指各中断源的优先级由IRi引脚编号确定,优先级是固定的。
(1)普通全嵌套方式
在该方式下,IR7~IR0的优先级顺序是IR0最高,IR7最低。且一个中断被响应,只有比它更高优先级的中断请求才会被响应。
(2)特殊全嵌套方式
与全嵌套方式基本相同,不同之处在于该方式不但响应比本级高的中断申请,而且响应同级的中断申请。
该方式一般用于8259A的级连方式。
循环优先级 :
指当某个中断源受到中断服务后,它的优先权就自动降为最低,而优先级较其低一级的升为最高。
(1)优先权普通循环方式
该方式下,8259A总是自动规定:初始时,IR0有最高优先权,IR7最低。
(2)优先权特殊循环方式
该方式下,由用户编程决定初始时的最低优先级。如规定IR5最低,则相应的最高优先权为IR6,依次为IR7,IR0,IR1,IR2,IR3,IR4,IR5。
8.4.3中断类型码的生成,两个INTA作用
8.4.4三个重要寄存器的意义
1.中断请求寄存器(IRR)
该寄存器8位(D0~D7)对应于连接在IR0~IR7线上的外设所产生的中断请求哪一根输入线有请求,哪位就置"1"。它具有锁存功能,其内容可用OCW3命令读出。
2.中断屏蔽寄存器(IMR)
寄存器8位(D0~D7)对应8级中断屏蔽。哪一级中断被屏蔽,哪位就写1。
屏蔽操作由屏蔽命令OCW1执行。 IMR可很方便地读和写。
3. ISR寄存器
寄存了正在服务的IRi中断源和被挂起的(尚未服务完)所有IRi中断源。
8.4.5中断屏蔽方式
(1)普通屏蔽方式
方法是:将中断屏蔽字写入IMR,若某位写入“1”,则禁止相应的IR申请中断,若写入“0”,则开放相应的中断源。
当CPU执行主程序时,不希望某几个中断源申请中断。
在执行某一中断服务程序时,不希望比该中断源级别更高的中断源申请中断。
(2)特殊屏蔽方式
在执行某一中断服务程序时,仅对本级中断进行屏蔽,允许接受级别较低的中断请求。设置特殊屏蔽方式后,对正在响应的某级中断,编程使IMR对应位置1,就会同时使ISR的对应位复位。这样,不只屏蔽了当前正在处理的本级中断,而且开放了较低级的中断请求。
8.4.6命令字
ICW3级联控制命令字
SP/EN接高电平为主控,接低电平为从控,主控和从控的CAS0-2相互连接。
例:主控8259第IR3、IR6上联了从控。
主控:ICW3=01001000B,
从控A:ICW3=00000011B;
从控B:ICW3=00000110B
第十五章 A/D D/A analog digital
15.1 A/D与D/A转换接口的功能
D/A转换器的功能是把二进制数字量电信号转换为与其数值成正比的模拟量电信号。
指标:
1.分辨率,指输入数字量发生单位数码变化时,所对应输出模拟量(电压或电流)
的变化量
2.精度,表明了模拟输出实际值与理想值之间的偏差。绝对精度,相对精度
3.建立时间,从数字输入端发生变化开始,到模拟输出稳定在额定值的±1/2 LSB时所需的时间
ADC作用:将模拟量转换为数字量。
指标:
1.分辨率,指A/D转换器能分辨的最小模拟输入量。通常用能转换成的数字量
的位数来表示,如8位、10位、12位、16位等。位数越高,分辨率越高。
2.精度,绝对精度,相对精度
3.转换时间,转换时间是A/D转换完成一次所需的时间。
4.量程,量程是指所能转换的输入电压范围
15.2 DAC0832的特点
15.2.1三种工作方式
(1)双缓冲方式
MOV DX,200H ;DAC0832 的输入锁存器的地址为200H
OUT DX,AL ;AL中数据DATA送输入寄存器
MOV DX,201H ;DAC0832 的DAC锁存器的地址为201H
OUT DX,AL ;数据DATA写入DAC锁存器并转换
可在输出的同时,采集下一个数据,提高了转换速度;
可实现多通道D/A的同步转换输出。
(2)单缓冲方式
MOV DX,200H ;设DAC0832的地址为200H
OUT DX,AL ;AL内数据送DAC转换
只需一次写操作,就开始转换,提高了D/A的数据吞吐量。适合在不要求多片D/A同时输出时。
(3)直通方式
MOV DX, 200H ; 8255的A口地址为200H
OUT DX,AL ;AL 中数据送A 口锁存并转换
输出随输入的变化随时转换。
15.2.2应用
例:让DAC0832输出三角波,DAC端口地址300H。
设输出初始值0
L1: MOV AL, 0;
UP: MOV DX, 300H
OUT DX, AL
输出数值递增
INC AL ;
CALL DELAY
输出是否为0?
AND AL, AL
JNZ UP
设输出数值为0-1=255,递减
DOWN: DEC AL
OUT DX, AL
CALL DELAY
输出是否为0?
AND AL, AL
JNZ DOWN
LOOP L1
例:让DAC0832输出锯齿波,DAC端口地址300H
设输出初始值0
TRG: MOV DX, 200H
MOV AL, 0
TN: OUT DX, AL
输出数值递增
INC AL
JMP TN
函数发生器
只要往D/A转换器写入按规律变化的数据,即可在输出端获得正弦波、三角波、锯齿波、方波、阶梯波、梯形波等函数波形。
直流电机的转速控制
用不同的数值产生不同的电压,控制电机的转速
其他需要用电压/电流来进行控制的场合
15.3 ADC0809
15.3.1 Start,OE,EOC引脚的应用
START:启动信号,上升沿使片内所有寄存器清零,下降沿启动A/D转换;
OE:输出允许,此引脚为高电平有效,当有效时,芯片内部三态数据输出锁存缓冲器被打开,转换结果送到D7~D0;
EOC:转换结束,转换开始后,此引脚变为低电平,转换一结束,此引脚变为高电平;
15.3.2模拟通道选择
例:编程实现ADC0809如下应用:
CPU选IN3输入端进行数模转换(通过8255的B口),
8255的A口接收ADC0809转换结果,
ADC0809 与CPU之间传送数据采用查询方式
8255端口地址范围:308H~311H
A/D转换的程序如下:
ORG 1000H
START:
MOV AL, 98H ; 8255A初始化,方式0,A口输入,B口输出
MOV DX, 311H ;8255A控制字端口地址
OUT DX, AL ;送8255A方式字
MOV AL, 0BH ;选IN3输入端和地址锁存信号
MOV DX, 309H ;8255A的B口地址
OUT DX, AL ;送IN3通道地址
MOV AL, 1BH ;START←PB4 = 1
OUT DX, AL ;启动A/D转换
MOV AL, 0BH
OUT DX, AL ;START←PB4 = 0
TEST:
MOV DX, 310H ;8255A的C口地址
IN AL, DX ;读C口状态
AND AL, 10H ;检测EOC状态
JZ TEST ;如果未转换完,再测试;转换完则继续
MOV DX, 309H ;8255A的B口地址
MOV AL, 20H
OUT DX, AL ;OE←PB5 = 1
MOV DL, 308H ;8255A的A口地址
IN AL, DX ;读转换结果
HLT ;
15.3.3输出数据有哪几种传送方式
延时等待法:软件延时等待足够长的时间( >转换时间 )。此时不用EOC信号,CPU效率最低。
中断法:把EOC作为中断请求信号。在中断服务程序中读入转换结果,效率较高。
查询法:软件查询EOC信号的状态。
15.3.4工作流程
根据时序图,ADC0809的工作过程如下:
② 把通道地址送到ADDA~ADDC上,选择模拟输入;
② 在通道地址信号有效期间,ALE上的上升沿该地址锁存到内部地址锁存器;
③ START引脚上的下降沿启动A/D变换;
④ 变换开始后,EOC引脚呈现低电平, EOC重新变为高电平时表示转换结束;
⑤ OE信号打开输出锁存器的三态门送出结果 。
第十四章 串行接口
14.1数据通信设备DCE、数据终端设备DTC
调制解调器MODEM
调制器(Modulator)把数字信号转换为模拟信号,送到通信链路上去;
解调器(Demodulator)再把从通信链路上收到的模拟信号转换成数字信号。
大多数情况下,通信是双向的,调制器和解调器合在一个装置中。
14.2串行通信的数据传送方向
14.3波特率与传输速度的关系
数据信号传输速率(DCE与DTC之间)
比特率:每秒钟传输的二进制数据的位(bit)数, 单位为bps
电信号传输速率(DCE与DCE之间)
波特率:每秒传输的波特数(电信号变化的速度),反映单位时间内真正传输的数据量
最常用的标准波特率是140 ,300,600,1200,2400 4800,9600和19200b/s。
CRT终端:9600波特,点阵打印机:2400波特
在采用调制解调器的载波传输系统中,两者间的关系为:
C=B·lo g2n
其中:
C——数据信号传输速率(bps);
B——调制速率(baud);
n——调制信号数或线路状态数,它是2的整数倍。
14.4两种传输方式及各自特点
14.5串行通信的数据格式(传输率、传输字符数转换的计算)
异步:
同步:
14.6同步字符通信、异步字符通信的区别,传输速度比较
异步串行通信:在通信数据流中,以字符为单位发送数据;字符间异步(随机出现),字符内各位间同步。通信的可靠性高。传输效率低。
同步串行通信:在通信数据流中,以数据块为单位发送数据;字符间同步,字符内各位间都同步。①一次传送是一个数据块,传输效率提高了。②采用了一些传输控制字,增加了通信控制能力和校验能力。
14.7串行接口芯片825lA 功能和特征
8251A是通用同步异步接收发送器USART(Univesal Synchronous Asynchronous Receiver and Transmitter),适合作异步起止式数据格式和同步面向字符数据格式的接口,其功能很强。8251A的命令和状态字:一个方式命令字,一个工作命令字,一个状态字。
(1)可用于同步和异步传送、接收。
(2)同步5 – 8bit/字符,内同步或外同步,可自动插入同步字符(只能面向字符)。
(3)异步:5一8bit/字符,时钟速率为通信波特率的1,16,64倍。可产生1,1.5或2位的停止位。
(4)可自动产生、检测和处理中止字符。
(5)波特率:0-19.2kbps(异步)0-64kbps(同步)。
(6)完全双工、双缓冲发送/接收器。
(7)错误检测:具有奇偶错、溢出和帧错误等检测能力。
(8)全部输入/输出与TTL兼容,十5V供电,28只引脚。
14.8波特率因子
发/收时钟脉冲与波特率之间的关系,可用下式表示:
Txc=Baud X Factor
例如:要求传输速率为1200Baud。
当选择Factor= 1个/位时 发/收时钟频率=(1200位/秒)X(1个/位)= 1.2kHz
当选择Factor= 16个/位时 发/收时钟频率=(1200位/秒)x (16个/位)=19.2kHz
当选择Factor = 64个/位时 发/收时钟频率=(1200位/秒)x (64个/位)= 76. 8kHz
可以看出,在波特因子选定的情况下,也可利用改变发/收时钟频率来控制串行通信的波特率。
14.9 8251与Modem、CPU的连接串行接口标准RS-232C (不使用联络信号的3线相连方式)
第七章 DMA控制器
7.1基本概念和原理
存储器直接存取方式,数据不通过CPU而直接写入或从存储器读出。
传输过程分为:申请阶段、响应阶段、数据传输阶段、传输结束阶段。
7.2 DMA控制器的用途
工作方式:
单字节传送方式:每次DMA操作只传送一个字节
块传送方式(组传输方式):每次DMA操作连续传送一组数据
请求传送方式:类似于块传送方式,只是当外设发来的,DREQ无效时,暂停DMA操作,有效时继续
级联传送方式:这种方式可以扩展系统中的DMA通道数量
有两种工作状态,分为主动态(取代CPU,获取系统总线的控制权,向存储器和外设发号施令)和被动态(接受CPU的控制)。
第六章 存储器
6.1半导体存储器分类
6.2典型芯片分类、缩写
(SRAM)六管静态存储电路 (DRAM)单管动态存储电路,
6.3字扩展、位扩展、字位扩展应用(根据存储容量分析需要地址线、数据线根数)
字扩展:地址空间的扩展。芯片每个单元中的字长满足,但单元数不满足
扩展原则:每个芯片的地址线、数据线、控制线并联,仅片选端分别引出,以实现每个芯片占据不同的地址范围
位扩展:存储器的存储容量等于:
单元数×每单元的位数
当构成内存的存储器芯片的字长小于内存单元的字长时,就要进行位扩展,使每个单元的字长满足要求
将每片的地址线、控制线并联,数据线分别引出
字位扩展:根据内存容量及芯片容量确定所需存储芯片数
进行位扩展以满足字长要求
进行字扩展以满足容量要求
若已有存储芯片的容量为L×K,要构成容量为M ×N的存储器,需要的芯片数为:
(M / L) ×(N / K)
人机接口
LED显示器接口
七段LED显示器
基本的半导体数码管是由七个条状发光二极管芯片按图所示排列而成,可实现0~9的数字和字符显示,具体结构有“反射罩式”、“条形七段式”及“单片集成式多位数字式”等。LED有共阴极连接和共阳极连接两种,如图所示。
LED连接的线路不同,其编码也不同,如图所示电路的LED编码如表所示。
已知8255A的控制口地址为236H,LED采用共阳级接法。字型信息接在PB口,字位信息接在PA口,使用8255A作为接口芯片,在两块LED上显示自己的学号。要求画出完整的线路连接图并设计相应的程序(8255A相应控制字为80H)