用输钱的方法玩时时彩;主机是什么概念

主机与外设之间实现数据的输入输出的基本方式有__,___和__。_百度知道
主机与外设之间实现数据的输入输出的基本方式有__,___和__。
我有更好的答案
程序直接控制传送方式
程序中断控制方式
存贮器直接存取方式1. 写出指令,将一个字节输出到端口25H。2. 写出指令,将一个字从端口1000H输入。3. 写出指令,分两次将1000从端口1000H输出,先输出低字节,后输出高字节。4. 下列指令经汇编后各是几个字节的指令?IN
0CH, ALIN
AX5. 编写一段指令序列,功能是轮流交替地测试分别属于两个设备的两个状态寄存器。当测知某个状态寄存器的位0是1,则从这个状态寄存器对应的设备读入数据。每读入一个字节对这个状态寄存器进行一次测试。如果测得位3为1,则停止这个设备的读入,再进入轮流测试状态。假设两个状态寄存器的端口地址分别是300H和308H,两个输入数据端口分别是302H和30AH,输入数据存入数据存贮器,开始地址分别是BUFF1和BUFF2。6.当采用
输入操作情况下,除非计算机等待数据,否则无法传送数据给计算机。
程序查询方式;
DMA方式7.在微型机接口中,设备地址选片的方法有哪几种?如何选用?8. Intel 80x86CPU可以访问的I/O空间有:A)
1KB9. 8086 CPU 有
条地址总线,可形成
的存贮器地址空间,可寻址范围为
③地址总线中的
条线可用于I/O寻址,形成
的输入输出地址空间,地址范围为
⑥PC机中用了
条地址线进行I/O操作,其地址空间为
,可寻址范围为
。10.存贮器的每个字节单元占存贮器地址空间的一个地址;相应的,输入输出端口占
地址空间的
。11.实现主机与外设之间同步需要解决的基本问题有二,一为
。12.主机与外设之间实现数据的输入输出的基本方式有
。13.对于微机而言,任何新增的外部设备,最终总是要通过
与主机相接。14.在主机板外开发一些新的外设接口逻辑,这些接口逻辑的一侧应与
相接,另一侧与
相接。 15.I/O接口的含义,从硬件来说,包括
;从软件来说,可以理解为
。16.对于用户而言,接口设计的任务就是开发出
。17.需要靠在程序中排入I/O指令完成的数据输入输出方式有
(B)无条件程序直接传送
(C)程序查询控制式
(D)中断方式 18.系统总线是通过
与外设的接口逻辑相连接的,所有
是并联的。 19.8086CPU用
指令从端口读入数据,用OUT指令
。20.在下列指令中,能使80x86CPU对I/O端口进行读/写访问的是:
串操作指令
输入/输出指令
MOV指令21.在IBM PC机接口开发中用到某一大规模集成电路芯片,其内部占16个I/O端口地址,分配占用300~30FH,请设计一个片选信号CS形成电路。22.IBM
PC系统中,如果AEN信号未参加I/O端口地址译码,将出现什么问题?在没有DMA的某微机系统中,是否存在一样的问题?23. 利用三态门(74LS244)作为输入接口,接口地址规定为04E5H,试画出其与8086最小系统总线的连接图。24. 利用三态门输出的锁存器(74LS244)作为输出接口,接口地址规定为E504H,试画出其与8086最大系统总线的连接图。若上题中输入接口的bit 4和bit 7同时为0时将DATA为首地址的十个内存数据连续由输出接口输出;若不满足条件则等待,试编写相应的程序段。25.什么是中断?PC机中有那些种类的中断?借助中断机制可实现哪些操作功能?26.中断向量表的功能是什么?详述CPU利用中断向量表转入中断服务程序的过程。27.简述实模式下可屏蔽中断的中断响应过程?28.如果利用中断方式传输数据,数据是如何传输的?中断结构起了什么作用?29. 根据中断过程的要求设计的一个中断系统,大致需要考虑哪些问题?30. 类型14H的中断向量(即中断服务程序的32位入口地址)存在存储器的哪些单元里?31.给定(SP)=0100, (SS)=0300, (PSW)=0240,以及存储单元的内容(0, (0,在段地址为0900及偏移地址为00A0的单元中有一条中断指令INT 8,试问执行INT 8指令后,SP、SS、IP、PSW的内容是什么?栈顶的三个字是什么?32. 8259初始化编程是如何开始的?顺序如何?33. 设某微机系统要管理64级中断,问组成该中断机构时需
64片34. 完全嵌套的优先级排序方式的规则是什么?用哪些操作命令且在什么时候设置命令能保证这种优先级排序规则实现?35. 如设备D1、D2、D3、D4、D5按完全嵌套优先级排列规则。设备D1的优先级最高,D5最低。若中断请求的次序如下所示,试给出各设备的中断处理程序的次序。假设所有的中断处理程序开始后就有STI指令,并在中断返回之前发出结束命令
(1)设备3和4同时发出中断请求
(2)在设备3的中断处理程序完成之前,设备2发出中断请求
(3)在设备4的中断处理程序完成之后,设备5发出中断请求
(4)以上所有中断处理程序完成并返回主程序后,设备1、3、5同时发出中断请求在设备3的中断处理程序完成之前,设备2发出中断请求36.初始化时设置为非自动结束方式,那么在中断服务程序将结束时必须设置什么操作命令?如果不设置这种命令会发生什么现象?37.初始化时设置为自动结束方式,那么中断嵌套的深度可否控制?38.中断服务程序结束时,用RETF指令代替IRET指令能否返回主程序?这样做存在什么问题?
39.总结一下,在哪些情况下需用CLI指令关中断?在哪些情况下需用STI指令开中断?40. 按中断源处于CPU内部还是外部,中断可分为外部中断和
两类,前者又分为
。41. 一次程序中断大致可分为: (1)
等过程。42. 采用DMA方式传送数据时,每传送一个数据就要占用
一个指令周期;
一个机器周期;
一个存储周期;
一个总线周期43. DMA方式数据传送与程序控制数据传送相比较,有何不同之处?44. 通道程序是由
通道控制字(或称通道指令);C)
通道状态字45. 在以DMA方式传送数据的过程中,由于没有破坏
的内容,所以一旦数据传送完毕,主机可以立即返回原程序。46.如果认为CPU等待设备的状态信号是处于非工作状态(即踏步等待),那么,在下面几种主机与设备数据传送方式中,
主机与设备是串行工作的,
主机与设备是并行工作的,
主程序与外围设备是并行运行的
程序查询方式;
中断方式;C)
DMA方式47.系统总线的发展过程是:从
系统总线开始,经历了
总线,又发展为
总线。48. RS-232接口是
接口,它通常用对
之间的连接,AS-232标准规定采用
逻辑,其逻辑 “1”电平在
的范围内,逻辑 “0”电平在
的范围之内49.比较8253的方式0与方式4、方式1与方式5有什么区别?50.IBM
PC/XT系统中8253的计数器0用于产生实时时钟中断请求信号,中断服务程序如教材第369页程序所示。请问8253的计数器0被初始化为什么状态?51.如50题所述,实时时钟中断服务程序中有INT
1CH 指令为用户提供一个出入口,请你编一程序利用这一出入口在屏幕上每隔大约1s更新并显示时间。52.通过8253的计数器0产生中断请求信号,欲在可设最大初值范围内延长产生中断的时间,无效的方法是:A) 初始化时使CR0尽量大;B) 在OUT0变高之前重置初值;C) 在OUT0变高之前在GATE0加一触发信号;D) 降低加在CLK0端的信号频率53.已知某可编程接口芯片中计数器的口地址为40H,计数频率为2MHz,该芯片的控制字为8位二进制数,控制字寄存器的口地址为43H,计数器达到0值的输出信号用作中断请求信号,执行下列程序后,中断请求信号的周期是
AL54.若8253芯片可利用8086的外设接口地址D0D0H~D0DFH,试画出电路连接图,加到8253上的时钟信号为2MHz:
(1)若利用计数器0,1,2分别产生下列三种信号:
周期为10us的对称方波②
每1s产生一个负脉冲③
10s后产生一个负脉冲 ;每种情况下,试说明8253如何连接并编写包括初始化在内的程序。
(2)若希望利用8086通过接口控制GATE,当CPU使GATE有效开始,20us后在计数器0的OUT端产生一个正脉冲,试设计完成此要求的硬件和软件。55.说明8254的六种工作方式?若加到8254上的时钟频率为0.5MHz,则一个计数器的最长定时时间是多少?若要求10分钟产生一次定时中断,试提出解决方案。56.在IBM PC系统中根据下列不同条件设计接口逻辑,均利用8253,都完成对外部脉冲信号测重复频率的功能。(1)被测脉冲信号的重复频率在10~1000Hz范围内。(2)被测脉冲信号的重复频率在0.5~1.5Hz范围内。(3)被测脉冲信号重复频率在10~100Hz范围内。(4)被测是间歇脉冲信号,每次有信号时有100个脉冲,重复频率为0.8~1.2MHz间歇频率大约每秒15次,要求测有信号时的脉冲重复频率。57 判断题
(1)8254芯片不接入扩充槽的系统总线。
(2)IN DST,SRC 指令中,SRC的寻址方式为寄存器方式,DST的寻址方式有直接和间接两种。(3)从地址为0FEH的端口读一字节的指令可以是IN AL,0FEH;也可以是
AL,DX(4)向地址为0FE2H的端口输出一字的指令与3)题类似,只是其目的操作数而非源操作数有两种寻址方式。(5)IN 和OUT指令将影响ZF位。(6)程序中断方式输入输出的含义是利用CPU响应内中断的能力,用IN和OUT 指令(即程序)来实现数据的输入输出。(7)系统总线是主机板与外界之间的直接界面,任何一个外设均可直接“挂”到该总线上。(8)占用多个I/O端口的大规模集成电路的地址译码器的设计类似于存贮器的地址译码器设计,只是地址范围小得多,控制信号有所不同。(9)主机与键盘之间有一条线专用于传送从键盘到主机的串行键扫描码,不能反向传送。
(10)一个中断类型号乘以4,就是该中断服务程序的入口地址。[参考答案]3.
AX,1000MOV
DX,1000HOUT
说明:此题若手工将1000化为十六进制数,则多此一举。6.
答:有线选法和译码两种,在实际设计时,究竟采用那种方法,要根据系统的规模大小来确定。一般来说,系统规模大的要用译码方法来选片,这样可以增加芯片数量。例如,三根地址线采用线选法只能选三片,而采用译码法就可以接八片,但需要增加译码器。译码器设计又分为全地址译码和部分地址译码,在系统规模允许下,部分地址译码可以简化电路,节省组件。9.
00000H ~ FFFFFH
~ 3FFH11.外设与主机之间的联络及响应处理方式
多外设管理方式12.程序直接控制传送方式
程序中断控制方式
存贮器直接存取方式15.主机板上的接口逻辑
具体外设的接口逻辑 接口的软件和软件的接口17.B
D20.C22.答:在PC机中,有用于主机与外设之间数据传送的DMA控制逻辑,若在开发外设接口逻辑时,未将用于分辨DMA操作和I/O操作的信号AEN以低电平有效(I/O操作)加入地址译码器,就会在其它设备与存贮器之间进行DMA传输,或利用DMA机构进行动态存贮器刷新时,在这个I/O端口地址译码器的输出端可能输出不应有的有效选择信号。而这个端口并不是DMA传输涉及的端口。为避免这种误操作,此时应将AEN加入I/O端口地址译码。但在不含DMA的微机系统中,不存在这个问题。26.中断向量表是用于存放中断服务程序入口地址的。每一种中断都有一中断类型号,CPU得到此中断类型号,将之乘以4,即查到中断向量表的一个地址,从这个地址开始的连续四个单元中存的就是这种中断的中断服务程序入口地址,将前两个单元中的偏移地址装入IP,后两个单元的段地址装入CS,CPU 就转去执行中断服务程序了。29. 答:(1) 设立必要的中断源,确定它们提出的中断请求的方式.(2) 根据急迫程度的不同,规定好中断源的优先级别,以确定当几个中断源同时请求时,处理机能有一个先后响应次序.(3) 当处理机响应中断后,需要把被中断程序的现场,断点保存起来,以便中断处理结束后能返回原程序.(4) 中断服务程序设计.(5) 恢复现场,返回原程序.33. C38.能返回,但存在的问题是未能弹出中断前压栈的PSW,无法恢复至中断前的计算机状态。40.内部中断
可屏蔽中断
非可屏蔽中断44.
B46. (1)
C48. (1) 以串形方式进行传输的标准
(2) CRT终端
(3) 调制解调器
(5) -5V 至 -15V
(6) +5V 至 +15V52. C55. (1)
I57.(1)
采纳率:25%
为您推荐:
其他类似问题
您可能关注的内容
外设的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。电脑软硬件应用网_电脑从入门到精通
当有人问笔者在使用什么输入法来打字时,笔者会告诉他们是拼音输入法,而并非五笔。好多年前,那时作为一个纯粹南方人的笔者刚进京不久,大家知道,带着两广式普通话在当时,与北方人的交流是多么的不易。于是笔者决...
好多人换过SSD硬盘后短期内速度提升很快,可是过几个月发现速度变
用户名无法登陆到系统,提示User Profile Service服务未能登录,无
笔记本电脑开机键盘数字灯总是亮着的关闭技巧分享给大家。很多用户
大家一定遇到过开机点不亮显示器,电脑不能启动,电脑启动不了,风
下面来看一篇关于WordPress 自定义文章列表列的实例,这个功能在wp
相信对于ps的使用大家并不陌生,今天文章就给大家介绍使用ps制作双
IfModule mpm_prefork_module LIS)(X]? StartServers 5 6DM$g=/ Mi
问: 50M宽带用多少M的无线路由器? 今天刚办了一个50M的宽带,宽
问题描述: 怎么设置excel公式计算司龄工资,满半年50,满一年100
AV1是全新的图片格式,由开放媒体联盟推出,其能把图片压缩至28KB
正在载入,请稍候...
点击:76 好评:0
点击:70 好评:0
点击:111 好评:0
点击:139 好评:0
点击:115 好评:0
点击:165 好评:0
点击:138 好评:0
点击:155 好评:0我常玩快三,但我发现我手机开号和电脑不同这是什么回事,手机输几千了_百度知道
我常玩快三,但我发现我手机开号和电脑不同这是什么回事,手机输几千了
我有更好的答案
人品问题很大,其次是手机该换了
这个快三福彩是不是统一开码呀
什么娱乐啊?
是双色球网
支付宝里的快三
你赚了没?
没有赚钱,我复试都没中,
那些都是骗人的
我去福利彩中心对照,电脑开码都不一样
但双色球开号一样呀!就是快三开号不一样的
电脑控制,哪号没人买出哪号
就不是私人游戏吗?
我还以为是统一系统
亏亏亏,我都不明白
网上,赌,博,都是骗人的多
那就是用电脑被
我就是不知道,可能坑爹的呀!买这个号就不开,不买的号就开是不是不连接网上统一开码网
做任务请无视我好的谢谢- -
其他2条回答
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。当前位置: >>
第九章 输入输出方法及常用的接口电路
第 九 章输入/输出方法及常用的接口电路1 主机以外的设备称为外部设备,又称为输入/输出设备, 即I/O设备 主机与外部设备交换信息的缓冲电路称为I/O接口电路, 又称为I/O接口或简称接口主机接口外部 设备主机与外部设备之间进行输入/ 输出的方法2 第一节 接口技术的基本概念一、 接口的概念和功能 二、 接口电路的典型结构3 一、 接口的概念和功能1、接口和接口技术2、为什么要用接口电路?4 1、接口和接口技术接口 :指CPU、存储器、外设之间通过总线进行连接的电路部分,是CPU与外设进行信息交换的中转站。接口技术 :是研究CPU如何与外部设备进行最佳耦合与匹配,实现双方高效、可靠地交换信息的一门技术,是软件、硬件结合的体现,是微机应用的关键。5 地址总线 ABCPU存 储 器I/O 接 口输 入 设 备I/O 接 口输 出 设 备 数据总线 DB 控制总线 CB微型计算机的结构示意图6 2、为什么要用接口电路?外设是用来实现人机交互的一些机电设备。 外设处理信息的类型、速度、通信方式与CPU不匹配, 不能直接挂在总线上,必须通过接口和系统相连C PU 接口作用 模 /数 转 换 ( A / D ) 信息类型 数字量 数 /模 转 换 ( D / A ) 三态缓冲、锁存 工作速度 通信方式 快 并行 并 /串 转 换 三态缓冲、锁存 并行7外设 模拟量 数字量 慢 串行解决传送方式 串 /并 转 换 二、接口电路的典型结构AB 地址 译码 数据 缓冲 I/O端口1C PDB外I/O端口2UCB控制 电路I/O端口3设?从编程角度看,接口内部主要包括一个或多个 CPU可以进行读/写操作的寄存器,又称为I/O端口。 ?各I/O端口由端口地址区分。8 ABC地址 译码 数据 缓冲 控制 电路 (状态端口)
(数据端口)
(控制端口)外PUDBCB设?按存放信息的不同,I/O端口可分为三种类型 数据端口:用于存放CPU与外设间传送的数据信息 状态端口:用于暂存外设的状态信息 控制端口:用于存放CPU对外设或接口的控制信息,控制外设或接口的工作方式。9 ABC地址 译码 数据 缓冲 控制 电路I/O端口1外I/O端口2PUDBCBI/O端口3设?CPU对外设输入/输出的控制,是通过对接口电路中各I/O 端口的读/写操作完成。10 第二节 I/O端口的编址和译码一、I/O端口的编址方式二、8088的输入/输出指令和时序三、I/O端口的译码11 一、I/O端口的编址方式1、端口与存储器分别独立编址2、端口与存储器统一编址12 1、端口与存储器分别独立编址 (I/O映射方式)例 Intel的80X86系列、Z80系列特点:? 端口与存储器分别独立编址 端口不占用内存空间 ? 设有专门的 I/O指令对端口进行读写, 对内存操作的指令不能用于I/O端口内 存 空 间例MOV IN[ 10H ], AL 对内存操作 10H, AL 对端口操作I/O 空 间13 2、端口与存储器统一编址 (存储器映射方式)例 motorola的M6800系列日立H8S单片机系列特点:内 存 空 间I/O 空 间? I/O端口相当于内存的一部分, 使内存容量减小 ? 对I/O端口的读/写与对存储器的读/写相同, 所有可对内存操作的指令对I/O端口均可使用,? 指令系统中不专设I/O指令。14 二 、8088的输入/输出指令和时序1. 输入指令IN 2. 输出指令OUT 3. 输入/输出指令时序15 输入/输出指令实现I/O端口与CPU之间的数据传送AB 地址 译码 数据 缓冲 控制 电路I/O端口1C外I/O端口2PUDBCBI/O端口3设16 8088CPU采用I/O端口与存储器分别独立编址可寻址220= 1M个内存单元 内存范围00000 ~FFFFFh 内存单元的地址有5种寻址 可寻址216= 64 K个I/O端口 I/O端口范围0000 ~ FFFFH内 存 空 间I/O端口的地址由一个8位二进制数直接寻址 或DX寄存器间接寻址I/O 空 间17 1. 输入指令IN格式 IN IN IN IN A L , p ort A X , p ort AL, DX AX, DX 执行操作 (A L ) ← (p o r t 端 口 )(A L ) ← (p o r t 端 口 ) (A H ) ← (p o r t+ 1 端 口 )(A L ) ← ((D X )端 口 )(A L ) ← ((D X )端 口 ) (A H ) ← ((D X )+ 1 端 口 )port 为数字形式的端口地址, 大小为0~255 或0~FFH18 例(1)INAL,28H若 (28H端口) = B 执行后 (AL) = (28H端口) = 0AFH(2) IN AX,28H 若 (28H端口)= B (29H端口)= B 执行后 (AL) = (28H端口) = 0AFH (AH) = (29H端口) = 50H(3) MOV DX, 300H IN AL,DX 若 (300H端口)= 69H 执行后 (AL) = (300H端口) = 69H19 2. 输出指令OUT格式 OUT OUT OUT OUT p o r t, A L p o r t, A X DX, AL DX, AX 执行操作 (p o r t 端 口 ) ← (A L )(p o r t 端 口 ) ← (A L ) (p o r t+ 1 端 口 ) ← (A H )((D X )端 口 ) ← (A L )((D X )端 口 ) ← (A L )((D X )+ 1 端 口 ) ← (A H )port 为数字形式的端口地址, 大小为0~255 或0~FFH20 例(1) OUT 21H, AL 若(AL)= B 执行后: (21H端口) = 0CCH(2) MOV DX , 21BH OUT DX, AL 若(AL)= B 执行后: (21BH端口)= (AL) = 0A6H21 输入/输出指令(IN、OUT)特点:(1)累加器AL、AX的专用指令对输入指令IN ,目的操作数只能为AL, 或AXIN IN IN AL, 21H AX, DX BX, 21H对输出指令OUT ,源操作数只能为AL, 或AXOUT OUT 20H, AL DX, AXOUTDX, CX22 (2)端口地址可由直接方式或间接方式给出?当端口号在0~FFH,即0~255时, 可在指令中直接指定端口号 例 IN AL, 21H OUT 20H, AL ? 当端口号&FFH,即&255时, 需把端口号放在DX寄存器中, DX是一个16位寄存器,范围在0~FFFFh之间。例 ININAL, 218H AL, DX×例OUT 219H, AL×MOV DX, 218HMOV DX, 219HOUT DX, AL23 当端口号在0~FFH,即0~255时,可在指令中直接指定端口号,称长格式指令 当端口号&FFH,即&255时,需把端口号放在DX寄存器中,称短格式指令原因是使用直接端口方式的指令机器码相对长例指令 IN OUT IN OUTAL, 20H, AL, DX,21H AL DX AL机器码 E421 ; 两个字节 E620 EC ; 一个字节 EE24 (3)可进行字节或字传送由指令中AL或AX的类型决定IN IN IN INAL, 20H AX, 20H AL, DX AX, DX;字节传送 ;字传送 ;字节传送 ;字传送OUT OUT OUT OUT20H, AL 20H, AX DX, AL DX, AX;字节传送 ;字传送 ;字节传送 ;字传送(4)注意端口地址与端口内容的区别IN AL, 21H OUT DX, AL 不等于(AL) ← 21H 不等于 (DX) ← (AL)25 3. 输入/输出指令时序 当CPU执行IN 指令时, 进入I/O端口读周期 当CPU执行OUT指令时,进入I/O端口写周期掌握 (1)在最小模式下,I/O端口的读、写周期。(2)IBM PC/XT 总线上I/O端口的读、写周期。26 (1)在最小模式下,I/O端口的读、写周期与读、写存储器的过程相似,不同之处: 1.IO/M变高,CPU操作I/O端口。 2.端口的地址信号出现在A15~A0上, A19~A16全为低电平。27 ?8088CPU最小模式下, I/O端口读周期时序T1 T2 T3 T4CLKIO/MA19~A16 /S6~S3 A15~A8 AD7~AD0 ALE RD DT/RA7 ~ A0D7 ~ D0DENGND A14 A13 A12 A11 A10 A9 A8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND8088VCC A15 A16/S3 A17/S4 A18/S5 A19/S6 SSO MN/MX RD HOLD HLDA WR IO/M DT/R DEN ALE INTA TEST READY RESET28 ? 8088CPU最小模式下, I/O端口写周期时序T1 T2 T3 T4CLKIO/MA19~A16 /S6~S3 A15~A8 AD7~AD0 ALE WR DT/R DENA7 ~ A0 D7 ~ D0GND A14 A13 A12 A11 A10 A9 A8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND8088VCC A15 A16/S3 A17/S4 A18/S5 A19/S6 SSO MN/MX RD HOLD HLDA WR IO/M DT/R DEN ALE INTA TEST READY RESET29 ? IBM PC/XT 总线上I/O端口读周期当CPU 执行 IN 指令时,进入I/O端口读周期, 从指定的端口读入数据到CPU中。 ABCP UDB地址 译码 数据 缓冲 控制 电路I/O端口1外I/O端口2CBI/O端口3设30 第三节 CPU与外设间的数据传送方式CPU与外设的工作速度不一致,如何使两者高效、可靠地进行数据传送,是本节讨论的问题。31 有以下几种传送方式:一、 无条件传送方式二、 条件传送方式(查询方式)三、 中断传送方式四、 DMA传送方式( Direct Memory Access )32 概述1、无条件传送(CPU与外设同步工作):外部控制过程各种动作时间是固定的,而且是已知的。 2、查询方式(CPU与外设不同步工作): 传送前,先查询外设状态,准备好才传送,否则CPU处于 等待状态。3、中断方式:外设与CPU处于并行工作,一旦外设准备好,外设向CPU 发中断申请,条件具备,CPU暂停原程序执行,响应中断,外 设与CPU串行工作。 4、DMA方式(高速I/O及成组交换数据): CPU不干预,由硬件实现存储器与外设之间交换数据,称 直接存取存储器。 33 一、无条件传送方式 (同步传送方式)? 实现方法CPU不查询外设工作状态, 与外设速度的匹配通过在软件上延时完成, 在程序中直接用I/O指令,完成与外设的数据传送? 特点1. 适用于外设动作时间已知,在CPU与外设进行数据传送 时,外设保证已准备好的情况。 2. 软硬件十分简单。34 例 1 无条件输入接口PC 总 线 D7 ~ D0 数据 线三 态 缓冲器输入 设备A15 地址线 ~ A0IOR地址 200H 译码 0 与 0 0 非接口电路,即硬件上保证: 只在CPU执行从200H端口输入数据时, 三态门处于工作状态,使输入设备的数据送上总线侧, 而CPU执行其它指令时, 三态门均处于高阻状态, 使输入设备的数据线与总线侧断开35 无条件输入编程:从端口200H读入100个字节到内存缓冲区buffer中。 、、、 MOV AX, SEG buffer MOV DS, AX ;取缓冲区 ;延时子程 LEA DI,首地址 delay PROC MOV CX, 100 ;传送个数 PUSH MOV DX, 200H ;端口地址 next: ;延时等待 MOV IN AL, DX ;读入数据 cc: LOOP CALL delay POP MOV [DI], AL ;送缓冲区 RET INC DI ;修改指针 delay ENDP LOOP next 、、、CX CX, 80H cc CX36 例2无条件输出 : 编程控制系统板上扬声器发声。 7 6 5 4 3 2 1 0扬声器控制电路图:0 1 与 门 放 大 器 扬 声 器61H 端口控制其它外设8253发声原理:向扬声器发送一串脉冲信号, 推动扬声器内纸盆振动,发出声音 脉冲的频率,控制音高; 脉冲的个数,控制音长 T 个数37 7 6 5 4 3 2 1 0扬声器控制电路图:0 1 与 门 放 大 器 扬 声 器61H 端口控制其它外设8253编程方法: 1. 使61H端口的0位输出0,控制8253输出1。 2. 使61H端口的1位按所需频率交替输出0和1,产生所需的声音。38 发声程序:code SEGMENT ASSUME CS:code start: MOV BX, 3000H MOV DX, 6000H IN AL, 61H AND AL, b sound: XOR AL, b OUT 61H, AL MOV CX, DX delay: LOOP delay DEC BX JNZ sound MOV AH, 4CH INT 21H code ENDS END start控制其它外设61H 端口0 8253 1 与门放 大 器扬 声 器;控制脉冲个数 ;控制脉冲周期 ;读入61H端口数据 ;D0为0,8253 输出1; 61H端口的D1交替为0和1;延时 ;控制脉冲数T 个数39 二、条件传送方式(查询传送方式)?实现方法:在与外设进行传送数据前,CPU先查询外设状态,当外设准备好后,才执行I/O指令,实现数据传送?特点:1. CPU通过不断查询外设状态,实现与外设的速度匹配 2. CPU的工作效率低40 ?查询传送方式,编程流程:从状态端口读入状态信息N 外设准备好否? Y从数据端口传送一个数据41 例1查询方式输入假设 外设的状态端口为21C H, 其中: D4=1时,表示外设数据准备好 外设的数据端口为218 H。 实现从外设读入50H个字节到内存缓冲区buffer中。 地址线 地址 译码 数据 缓冲 控制 电路C数据线21CH端口 状态端口 218H端口 数据端口P控制线输 入 设 备U42 查询方式输入接口 PC总线A15 地址线 ~ A0 D7 ~ D0IOR数据 端口 & 地址 译码 218HMOV DX, 218H IN AL, DX状态端口 D4=1 表示外设准备好数 据 线三态 缓冲器锁 存 器状态 端口 21CH 地址 译码D4三态 缓冲器RQ DSTB输 入 设 备+5vIOR&ask:MOV DX, 21CH IN AL, DX TEST AL, B JZD4=0,继续查询43 编程从外设读入50H个字节到内存缓冲区buffer中从21CH状态端口 读入外设状态信息 D4=1, 外设准备好否?NY从218H数据端口 读入一个字节数据 50H个数据传送结束?N44Y 查询方式输入程序段:、、、 MOV AX, SEG buffer MOV DS, AX LEA DI, buffer MOV CX, 50H next: MOV DX, 21CH ask: IN AL, DX TEST AL, B JZ ask MOV DX, 218H IN AL, DX MOV [DI], AL INC DI LOOP next 、、、 ;取缓冲区首地址;传送个数 ;从状态端口读入状态信息 ;检测D4位 ;D4=0,继续查询 ;从数据端口读入数据 ;送缓冲区 ;修改缓冲区指针 ;传送下一个45 例2查询方式输出假设 外设的状态端口为21C H, 其中D0 = 0时,表示外设准备好 外设的数据端口为219 H。 编程将缓冲区buffer的80H个字节输出到外设。 地址线 地址 译码 数据 缓冲 控制 电路C数据线21CH端口 状态端口 219H端口 数据端口P控制线输 出 外 设U46 查询方式输出接口IOWPC 总 线数据 A15 地址线 端口 ~ 地址 A0 译码 219HD7 ~ D0 数 据 线MOV DX, 219H OUT DX, AL&状态端口 D0 = 0 表示外设准备好锁 存 器RACK状态 端口 地址 译码 IORD0 三 态 缓冲器21CH&+5vD输 出 设 备QMOV DX, 21CH Ask: IN AL, DX TEST AL,01h JNZ ask47 编程将缓冲区buffer的80H个字节输出到外设从21CH状态端口 读入外设状态信息 D0=0, 外设准备好否?NY将一字节数据送至 219H数据端口80H个数据传送结束?N48Y 查询方式输出程序段:、、、 MOV AX, SEG buffer MOV DS, AX LEA SI, buffer MOV CX, 80H next: MOV DX, 21CH ask: IN AL, DX TEST AL, B JNZ ask MOV AL, [SI] MOV DX, 219H OUT DX, AL INC SI LOOP next、、、49;取缓冲区首地址;传送个数;从状态端口读入状态信息 ;检测D0位 ;D0≠0,继续查询 ;从缓冲区取数;从数据端口输出数据 ;修改缓冲区指针 ;输出下一个 三、中断传送方式? 实现方法:1. 当外设准备好,向CPU发出中断请求2. CPU在满足响应中断的条件下,发出中断响应信号;3. CPU暂停当前的程序,转去执行中断服务程序,完成与外设的数据传送; 4. CPU从中断服务程序返回,继续执行被中断的程序50 中断方式下 CPU执行程序流程外 设发申请 中断服务程序发申请 中断服务程序51 使用中断方式时:? CPU与外设并行工作:外设准备数据,CPU执行程序, CPU与外设并行工作;? CPU与外设是串行工作。一旦外设准备就绪,外设向CPU发中断申请, CPU暂停原程序执行,响应中断,进行数据传输。 此时,CPU与外设是串行工作。52 ? 中断传送方式的特点:1. CPU和外设大部分时间处在并行工作状态,只在CPU响应外设的中断申请后, 进入数据传送的过程CPU与外设是串行工作.2. 中断传送方式提高了CPU的效率。53 中断方式 输入接口:数据 输入输入设备选通锁存器 Q 中断 D 请求 +5V三 态 缓 冲 器D7~D0地址总线 端口 译码 &RDINTA& 中断 屏蔽 触发器 &QINTR某位未屏蔽, 中断屏蔽触发器 Z‘0’,Q=054 (1)当外设数据准备好,外设向接口电路发出选通信号:将数据打入锁存器;同时将中断请求触发器Z“1”, (2)若此时,中断请求屏蔽触发器Z“0”,允许本接口发出中断,接口电路向CPU发出中断请求信号: INTR=1; (3)CPU在运行程序时不断访问INTR,若查到INTR=1信号,且CPU内部中断允许标志IF=1,则CPU在现行指令执行完后, 暂停程序的执行,向接口电路发出中断响应信号 INTA (4)外设把中断类型号送上数据总线; (4?N)=(IP),(4?N+2)=(CS) (5)CPU转入中断服务程序,执行INT指令,读入数据; 清除中断请求标志。当中断处理完后,返回原程序。55. 四、DMA 传送方式(直接存储器存取方式)? 实现方法:1. 由专用接口芯片DMA控制器(称DMAC) 控制传送过程,2. 当外设需传送数据时,通过 DMAC向CPU发出总线请求;3. CPU发出总线响应信号,释放总线; 4. DMAC接管总线,控制外设、内存之间直接数据传送。56 DMA 传送方式过程CPU总线 请求 总线 响应内存外设DMAC57 ?DMA传送方式的特点1. 外设和内存之间,直接进行数据传送, 不通过CPU,传送效率高。 适用于在内存与高速外设、或两个高速外设之间 进行大批量数据传送。 2. 电路结构复杂,硬件开销较大。58 ? DMA控制器功能? 接收接口往DMA控制器发出DMA请求信号后,DMA控制器能向CPU发出总线请求信号HOLD(高电平)。 ? 当CPU向DMA发出响应信号HLDA(高电平)以后, DMA能接管对总线的控制,进入DMA方式。 ? 能向地址总线发出内存地址信息,对其进行寻址及修改地址指针。? 能向存储器或外设发 RD , WR 命令。 ? 能决定传送字节数,并判断DMA传送是否结束。 ? DMA过程结束,能向CPU发出DMA结束信号,HOLD变低,将总线控 制权还给CPU,CPU恢复正常工作。59 ?DMA控制器工作原理DMA控制器 数据 端口 状态/控制 端口 地址寄存器 HOLD 存 储 器Ready计数器控制/状态 寄存器 DMA请求HLDACPU数据 缓冲 寄存器DMA 请求 触发器DMA响应输入设备60 DMA控制器工作原理(以输入为例)? 当外设输入数据准备好,外设向DMA发出一个选通信号,将数据送数据 端口;向DMA发出请求。DMA控制器向CPU发出总线请求信号(HOLD)高电平。? CPU在现行总线周期结束后响应,向DMA发出响应信号(HLDA)高电平; ? CPU放弃对总线控制,DMA控制器接管三总线,接口将数据送上数据总线,并撤消DMA请求;? 内存收到数据以后,给DMA一个回答,于是DMA修改地址指针,改变传 送字节数。检查传送是否结束。若没有结束,下次接口准备好数据,再进行一次新的传输;?当计数值计为0,DMA传输过程便告结束。 DMA控制器撤消总线请求(HOLD变低),在下一个时钟周期上升沿使总线响应HLDA变低,DMA释放总线,CPU取得总线控制权。61 DMA控制器工作原理(续)HLDA发存储器地址 修改地址 指针 传送数据传送结束? Y DMA结束N62 DMA控制器工作原理(续)用DMA方式进行输出过程与输入过程类似, 只是在DMA控制器发出回答信号后接着发出 的是I/O写信号和存储器读信号,数据传 送方向与输入相反而已。63 五、接口技术的现状1.用简单的逻辑电路2.用可编程集成接口芯片3.用多功能的芯片组64 1. 用简单的逻辑电路采用简单的逻辑部件完成接口电路 特点:原理清楚,但实际用得少。 例 查询输入接口65 简单的逻辑电路:例3PC总线A15 地址线 ~ A0D7 ~ D0查询输入接口IOR数据 端口 & 地址 译码 218HMOV DX, 218H IN AL, DX状态端口 D4=1 表示外设准备好数 据 线三态 缓冲器锁 存 器状态 端口 21CH 地址 译码D4三态 缓冲器RQDSTB输 入 设 备+5v66IOR&MOV DX, 21CH IN AL, DX 2. 用可编程集成接口芯片将完成某一功能的接口电路集成在一个芯片上, 通过对接口芯片编程,设Z接口芯片的工作状态。特点:1. 体积小、功能强、可靠性高 2. 通常是专门为配合微机系统中的各种适配器设计, 不必增加或增加很少的电路,就可直接与总线连接, 使用方便。 3. 应用时,应掌握芯片的工作原理、外部特性、编程方法 。67 接口芯片举例:并行接口芯片 串行接口芯片 8255A、8155A、Z80-PIO 8251A、8250、Z80-SIO定时/计数器中断控制器 DMA控制器 键盘控制器 CRT控制器 硬盘控制器 D/A转换器 A/D转换器、Z80-CTCA、Z80-DMA 、 DAC0832 ADC080968 例 用可编程并行接口芯片8255A做打印机的接口。PC总线D0 ~ D7 IOR IOWA0 A1并行接口8255A 数据线 D0 ~ D7 RD WR A0 A1PA0 ~ PA7 PC0数据线打STROBE印BUSYPC4机A2 ~ A9片选 译码CS查询方式接线图69 PC总线D0 ~ D7 IOR IOWA0 A1并行接口8255A 数据线 D0 ~ D7 RD WR A0 A1 PA0 ~ PA7 PC7 数据线打STROBE印ACKPC6PC3机A2 ~ A9 IRQ3片选 译码CS中断方式接线图70 3. 用多功能的芯片组将完成多个功能的接口电路集成在一个芯片上,通过编程,设Z控制字,改变接口芯片的工作状态。例82206集成外设控制器,内部包含:2个8237DMA控制器1个8254定时/计数器 以及其他接口芯片2个8259A中断控制器1个MC 146818实时电路特点:可靠性更高、功能更强71 ? 将主板上的外围芯片集成在一组(2~4片)超大规模集成芯片 上,构成芯片组。? 芯片组是主板的关键部件,通常固定在主板上, 不象CPU、内存条或其他插卡等可进行简单的替换和升级。? 芯片组提供主板的核心逻辑,影响主板的性能和功能,决定主板所支持的CPU 类型、内存类型、总线类型、总线速度等关键技术配Z72 73 550MHz Pentium IIIL1 Cache550MHzL2 Cache处理机总线 100MHz显 示 器显卡AGP 北桥 66MHz 440BX100MHz内存条 PCI 插槽 硬盘 光驱PCI 总线 33MHz USBCMOS & RTC南桥 PIIX4EIDE1 IDE2ISA总线 8MHz软驱 COM1ISA插槽 硬件实验箱键盘鼠标ROM BIOS超级I/OCOM2 LPT1MODEM打印机74 六、接口技术的发展趋势? 集成化 ? 多功能化 ? 标准化 ? 智能化75 第五节 并行输入/输出接口一、并行接口的基本概念(一)并行通信和串行通信 (二)并行接口概述二、可编程并行接口8255A(一)8255A引脚、编程结构 (二)8255A的控制字 (三)8255A的工作方式 (四)8255A的应用举例76 一、并行接口的基本概念(一)并行通信和串行通信 (二)并行接口概述77 (一)并行通信和串行通信 ? 通信指计算机与外设、计算机与计算机间的信息交换。 ? 通信的基本方法: 并行通信和串行通信78 ? 并行通信将数据的各位同时在多根并行传输线上进行传输。D0 D1 D2 D3 D4 D5 D6 D70 1 0 1 0 1 1 0源D0 D1 D2 D3 D4 D5 D6 D7目 的数据的各位同时由源地到达目的地 →多根数据线 → 距离短、远程费用高快并行通信适于短距离、高速通信79 ? 串行通信将数据的各位按时间顺序依次在一根传输线上传输。源 TDRD目 的数据的各位依次由源地到达目的地 → 慢数据线少 → 远程, 费用低串行通信适于长距离、中低速通信80 (二)并行接口概述? 并行接口连接CPU与并行外设,实现 两者间的并行通信,在信息传送过程中,起到输出锁存或输入缓冲的作用。 ? 并行接口的典型硬件结构包括: 1、一个或一个以上具有锁存或缓冲的数据端口2、与CPU进行数据交换所必须的控制和状态信号3、与外设进行数据交换所必须的控制和状态信号 4、端口译码电路 5、控制电路81 二、可编程并行接口8255A(一) 8255A的引脚、编程结构 (二) 8255A三种工作方式 (三) 8255A的控制字 (四) 8255A的应用举例82 (一)8255A引脚、编程结构 Intel系列的8位并行接口芯片PA3 PA2 PA1 PA0 RD CS GND A1 A0 PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 PB0 PB1 PB2 PA4 PA5 PA6 PA7 WR RESET D0 D1 D2 D3 D4 D5 D6 D7 Vcc PB7 PB6 PB5 PB4 PB383通用性强,使用灵活可用程序设Z改变芯片的工作方式 是一种典型的可编程并行接口芯片8255A40个引脚,双列直插式 总线reset D7 ~ D0IOR IOW A9 ~ A2 A1 A0 RESET8255A端口A数据 缓冲器D7~PA7 ~ PA0 PC7 ~ PC0D0 RD WR外端口C读写 控制 片内 译码片选 译码CS A1 A0端口B 控制口 DPB7 ~ PB0 +5V GND设84 1. 数据端口 A、B、C? 每个端口8位,通过编程设定其为输入口或输出口 ? 可用来和外设传送信息reset D7 ~ D0 IOR IOW A9 ~ A2 A1 A0RESETD7~端口A数据 缓冲器PA7 ~ PA0PC7 ~ PC0 PB7 ~ PB0 +5V GND85D0 RD WR 片选 译码 CS A1 A0外端口C读写 控制 片内 译码端口B 控制口 D设总线8255A ? 端口A有 3 种工作方式( 方式 0、方式 1、方式 2) 对外 8 根引脚 PA7 ~ PA0reset D7 ~ D0 IOR IOW A9 ~ A2 A1 A0RESETD7~端口A数据 缓冲器PA7 ~ PA0PC7 ~ PC0 PB7 ~ PB0 +5V GND86D0 RD WR 片选 译码 CS A1 A0外端口C读写 控制 片内 译码端口B 控制口 D设总线8255A ?端口B有 2 种工作方式:方式 0、方式 1 对外 8 根引脚 PB7 ~ PB0reset D7 ~ D0 IOR IOW A9 ~ A2 A1 A0RESETD7~端口A数据 缓冲器PA7 ~ PA0PC7 ~ PC0 PB7 ~ PB0 +5V GND87D0 RD WR 片选 译码 CS A1 A0外端口C读写 控制 片内 译码端口B 控制口 D设总线8255A ?端口C对外引脚PC0 ~ PC7reset D7 ~ D0 IOR IOW A9 ~ A2 A1 A0RESET D7~端口A数据 缓冲器PA7 ~ PA0 PC7 ~ PC0 PB7 ~ PB0 +5V GND88D0 RD WR 片选 译码 CS A1 A0外端口C读写 控制 片内 译码端口B 控制口 D设总线8255A ① 当端口 A 在方式 1 或方式 2、端口 B 在方式 1 时, 端口 C 的某些位用于传送联络信号, 以适应CPU与外设间的各种数据传送方式的要求, 如查询传送的应答信号、中断传送的中断申请信号等; ② C口未被用作联络信号的其它位可工作在方式 0下。reset D7 ~ D0 IOR IOW A9 ~ A2 A1 A0 RESET D7~端口A数据 缓冲器PA7 ~ PA0 PC7 ~ PC0 PB7 ~ PB0 +5V GND89D0RD WR 片选 译码 CS A1 A0外端口C读写 控制 片内 译码端口B设控制口 D 2. 控制端口D (A组和B组控制电路) ?8位端口,无对外引脚 ?控制端口的内容决定A口、B口、C口的工作状态(输 入或输出)和工作方式(方式 0、1、2), 起控制作 用。resetD7 ~ D0 IOR IOW A9 ~ A2 A1 A0 RESET D7~端口A数据 缓冲器PA7 ~ PA0 PC7 ~ PC0D0 RD WR外端口C读写 控制片内 译码片选 译码CS A1 A0端口B 控制口 DPB7 ~ PB0 +5V GND设90 3. 数据总线缓冲器(引脚D0~D7)? 由1个8位双向三态缓冲器构成 ? 8255A内各端口通过数据缓冲器与系统总线相连。 ? CPU与端口A、B、C间传送的数据,以及CPU写入控制端口D中的控制 字均通过数据缓冲器传送。resetD7 ~ D0 IOR IOW A9 ~ A2 A1 A0RESET D7~端口A数据 缓冲器PA7 ~ PA0 PC7 ~ PC0D0 RD WR外端口C读写 控制片内 译码片选 译码CS A1 A0端口B 控制口 DPB7 ~ PB0 +5V GND设91 4. 读写控制电路 (引脚CS、 RD、 WR) ? 控制数据总线缓冲器的状态。 ?数据总线缓冲器有3种状态:输入、输出、高阻态reset D7 ~ D0 IOR IOW A9 ~ A2 A1 A0RESETD7~端口A数据 缓冲器PA7 ~ PA0PC7 ~ PC0 PB7 ~ PB0 +5V GND92D0 RD WR 片选 译码外端口C读写 控制 片内 译码CSA1 A0端口B 控制口 D设 CS 0 0 1 × ×RD 0 1 × 1 0RESET D7 ~ D0 RD WRWR 1 0 × 1 0数据总线缓冲器状态 D 7~D 0 ← 内 部 数 据 总 线 D 7~D 0 → 内 部 数 据 总 线 三态 , 处于断开状态resetD7 ~ D0 IOR IOW A9 ~ A2 A1 A0PA7端口A数据 缓冲器PA0 PC7 PC0 PB7外端口C片选 译码CS A1 A0读写 控制 片内 译码端口B 控制口 DPB0设93+5V GND 5. 片内译码电路(引脚A1、 A0)选择被操作的端口reset D7 ~ D0 IOR IOW A9 ~ A2 A1 A0 RESET D7~端口A数据 缓冲器PA7 ~ PA0D0RD WR 片选 译码端口C读写 控制 片内 译码PC7 ~ PC0PB7 ~ PB0 +5V GND外CSA1 A0端口B 控制口 D设94 A1A0选中端口 端口 A 端口 B 端口 C 控制端口 D0 0 1 10 1 0 1resetD7 ~ D0 IOR IOW A9 ~ A2 A1 A0RESET D7 ~ D0 RD WRPA7端口A数据 缓冲器PA0 PC7 PC0 PB7外端口C片选 译码CS A1 A0读写 控制 片内 译码端口B 控制口 DPB0设95+5V GND 由CS、A1、A0、RD、WR引脚的不同组合, 实现各种不同的功能。CS 0 0 0 0 0 0 0 0 1 ? ? A1 0 0 1 1 0 0 1 1 ? ? ? ? A0 0 1 0 1 0 1 0 1 ? ? ? ? RD 0 0 0 0 1 1 1 1 ? ? 1 WR 1 1 1 1 0 0 0 0 ? ? 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?96? ? ? A ? ? ? ? ? ? ? ? B ? ? ? ? ? ? ? ? C ? ? ? ? ? ? ¨? ? ? ? ??? ? ? ? D ? ? ? ? ? ? ? A ? ? ? ? ? ? ? ? B ? ? ? ? ? ? ? ? C ? ? ? ? ? ? ? ? D ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ÷? ? ? (二)8255A的工作方式1. 三种工作方式 2. 方式0 3. 方式14. 方式297 1. 三种工作方式?在8255A内部硬件结构中: A口和B口之间没有硬件关系, 即可分别作为独立的输入或输出端口; C口和A口,C口和B口之间有硬件联系,通过向控制口设Z控制字可以改变这种联系。98 总线reset D7 ~ D0 IOR IOW A9 ~ A2 A1 A0 RESET D7~8255A端口A数据 缓冲器PA7 ~ PA0 PC7 ~ PC0D0 RD WR外端口C读写 控制片内 译码片选 译码CS A1 A0端口BPB7 ~ PB0+5V GND设控制口 D99 ? 根据A口和C口、B口和C口之间硬件关系的不同,可以有三种不同的工作方式,分别称为方式 0、方式 1、方式 2。 A口或B口工作在方式 0:与C口之间没有硬件联系。A口或B口工作在方式 1:C口的其中3根引脚作为端口与外设的联络信号。 A口工作在方式 2: C口的其中5根引脚作为端口与外设的联络信号。100 ? 2. 方式0(基本输入输出方式)? A口工作在方式 0 时,A口和C口之间没有硬件联系? B口工作在方式 0 时,B口和C口之间没有硬件联系resetD7 ~ D0 IOR IOW A9 ~ A2 A1 A0 RESET D7~端口A数据 缓冲器PA7 ~ PA0 PC7 ~ PC0D0 RD WR外端口C读写 控制片内 译码片选 译码CS A1 A0端口BPB7 ~ PB0设控制口 D+5V GND 101 ?工作在方式 0 的端口,为单向传送端口, 输 入或输出C 作为输入口相当于普通的三态门C 作为输出口相当于普通的锁存器 ? CPU可利用工作在方式 0 的端口,直 接 对 端口进行读写操作,实现CPU与外设间的数 据传送。102 3. 方式1(选通输入输出方式)? A口工作在方式1时,C口的某3根引脚作为A口的联络信号。 B口工作在方式1时,C口的某3根引脚作为B口的联络信号。reset D7 ~ D0 IOR IOW A9 ~ A2 A1 A0 RESET D7~端口A数据 缓冲器PA7 ~ PA0D0RD WR 片选 译码端口C读写 控制 片内 译码PC7 ~ PC0PB7 ~ PB0 +5V GND外CSA1 A0端口B 控制口 D设103 ?工作在方式 1 的端口,为单向传送端口。? 在方式 1 下,C口作为A口、B口联络信号的引脚,其动作关系在芯片设计和制造时已固定,不由用户自己安排,也不能通过编程改变。104 PA 7 ~PA 0PB 7 ~PB 0INTEAPC 4PC 5STB aINTEBPC 2 PC 1STBbIBFAIBFBPC 3 RDINTRA I/OPC 0INTRBPC 6, 7RDA通道方式1引脚配ZB通道方式1引脚配Z方式1输入105 STB:选通输入信号,低电平有效。为外设送入8255A的输入信号,其 有效时,8255A端口接收由外设送入的一个8位数据,利用STB的上升 沿把数据锁存入8255A A口/B口输入缓冲器中。 IBF:输入缓冲器满信号,高电平有效。为8255A当输入缓冲器装有数 据时,送给外设的应答信号。高电平有效时,表示外设提供的数据已 送入输入缓冲器,CPU没有取走前,外设不应再送入新数据。为低电 平时,外设可送入新数据至8255A的 A口/B口。 8255A利用STB的上升 沿使INTRZ1向CPU申请中断,或提供查询标志。当CPU读数据,执行 输入操作,产生RD低电平时,该有效信号撤销中断请求(INTR=0), 再利用RD上升沿使IBF变为低电平,告知外设可送入新数据。 INTR:中断请求信号,高电平有效。用于向CPU申请中断,当方式1输 入时,当IBF=1,INTE=1,利用STB的上升沿使INTRZ1向CPU申请中断, 当CPU响应中断,在中断服务程序中,CPU执行输入操作时,利用RD上 升沿使IBF变为低电平,撤销中断请求。 INTEA、INTEB:A、B口中断允许信号。由C口的PC4和PC2的Z位/复位 控制,为1时,中断允许。方式1输入106 tSTSTBIBFtSIB tSIT tRIBINTR IOR tPH 从外设输入 PA 7~PA 0 (PB 7~PB 0) tPStRIT方式1输入时序107 PA7 ~PA0 INTE A PC7 PC6 OBFa ACKa INTE BPB7 ~PB0PC 1 PC 2OBFb ACKbPC3 WR PC4 PC5INTR a I/O WRPC0INTR bA通道方式1引脚配ZB通道方式1引脚配Z方式1输出108 ACK:外设响应信号,低电平有效。当外设已知输出缓冲器有数据, 则外设可输入此信号给8255A,ACK低电平有效期将输入数据送至外设 数据线,利用上升沿把信号锁存入外设中,ACK低电平使OBF变高电平, 告知外设,CPU还没有送出新的数据至输出缓冲器中。OBF:输出缓冲器满信号,低电平有效。有效时,表示CPU已经把数据 输出至指定端口的缓冲器中,外设可将数据取走。当外设将数据取走 后,OBF变为高电平,CPU可输出新数据至缓冲器,当CPU对此端口执 行输出操作时,利用IOW的上升沿使OBF变为低电平,告知外设可取数 据。INTR:中断请求信号,高电平有效。用于向CPU申请中断,当外设将 数据取走后,利用ACK的上升沿使INTRZ1,向CPU申请中断,当CPU响 应中断,在中断服务程序中,CPU执行向端口输出新数据(WR=0)后, OBF变为低电平,撤销中断请求。 INTEA、INTEB:A、B口中断允许信号。由C口的PC6和PC2的Z位/复位 控制,为1时,中断允许。方式1输出109 ACKOBFINTR IOW向外设输出 PA 7~PA 0 (PB 7~PB 0)方式1输出时序110 4.方式2 (双向传送方式)? 端口工作在方式 2时,C口的某5根引脚作为端口的联络信号 ? 8255A 只有A口可以工作在方式 2 下。reset D7 ~ D0 IOR IOW A9 ~ A2 A1 A0 RESET D7~端口A数据 缓冲器PA7 ~ PA0D0RD WR 片选 译码端口C读写 控制 片内 译码PC7 ~ PC0PB7 ~ PB0 +5V GND外CSA1 A0端口B 控制口 D设111 ? 与方式0和方式1不同的是: ? 工作在方式 2 的端口,为双向传送端口, ? 既可输入又可输出。reset D7 ~ D0 IOR IOW A9 ~ A2 A1 A0 RESET D7~端口A数据 缓冲器PA7 ~ PA0D0RD WR 片选 译码端口C读写 控制 片内 译码PC7 ~ PC0PB7 ~ PB0 +5V GND外CSA1 A0端口B 控制口 D设112 工作在方式2时,C口有5根引脚作为A口的联络信号, 是方式1下A口输入、输出联络信号的组合。D7~D0 PA7~PA0 与 门 INTEA1 PC4 PC4 PC5 INTEA2 PC6RDSTBA IBFA与 WR 门PC6 PC7PC3ACKA OBFA INTRA或门方式2下的时序为方式1输入/输出两者的组合 (略)。113 (三)8255A的控制字? 1.方式控制字? 2. C口按位Z位/复位控制字114 ? 8255A控制口D的内容对数据端口A、B、C起控制作用,故称为8255A的控制字。reset D7 ~ D0 IOR IOW A9 ~ A2 A1 A0 RESET D7~端口A数据 缓冲器PA7 ~ PA0D0 RD WR 片选 译码端口C读写 控制 片内 译码PC7 ~ PC0PB7 ~ PB0 +5V GND外CSA1 A0端口B 控制口 D设115 ? 通过编程向控制口写入不同的控制字,可灵活的改变端口A、B、C的工作状态和工作方式。? 8255A有两种控制字,由写入内容的D7位区分:D7=1,方式控制字设定A口、B口、C口的工作状态和工作方式。工作状态:输入或输出工作方式:方式 0、方式 1、方式 2D7=0 ,C口按位Z位/复位控制字使C口中的某一位为1(Z位)或0(复位)。116 1. 方式控制字设定A口、B口、C口的工作状态和工作方式。 工作状态:输入或输出 工作方式:方式 0、方式 1、方式 2reset D7 ~ D0 IOR IOW A9 ~ A2 A1 A0 RESET D7~端口A数据 缓冲器PA7 ~ PA0D0RD WR 片选 译码端口C读写 控制 片内 译码PC7 ~ PC0PB7 ~ PB0 +5V GND外CSA1 A0端口B 控制口 D设117 方 式 控 制 字 各 位 含 义D7 1D6D5D4D3D2D1D00 输出 PC3~PC0 1 输入 B口 0 输出 1 输入B口工作方式 PC7~PC4 A口 0 输出 1 输入 00 方式0 A口工作方式 01 方式1 1x 方式2 特征位,D7=1表示是方式控制字 0 输出 1 输入 0 方式0 1 方式1118 D7D6D5D4D3D2D1D01 1=置1任意0有效位选择 000 0 001 1 010 2 011 3 100 4 101 5 110 6 111 70 0=置0端口C按位Z1/Z0控制字119 例假设8255A 控制端口的地址为203h, 编程设Z控制字,使A口方式0输出; B口方式0输入D7 1 D6 0 D5 0 D4 0 D3 1/0 D2 0 D1 1 D0 1/0分析:特征位A口 方式 0A口 PC7~PC4 B口 B口 PC3~PC0 I/O 方式 0 输入 I/O 输出由于对 C口无要求,控制C口的相应位D3, D0可为任意值,假设取0 所以, 方式控制字为 B, 即82H 设Z控制字的程序段如下: MOV DX,203ZDX为控制口地址MOVOUTAL,82hDX, AL;Z控制字于AL中;将控制字写入控制口120 ?与方式 0、方式 1的单向传送不同,工作在方式 2下的端 口,具有双向传送功能。D7 1 D6 1 D5 X D4 XA口 I/OD3 1/0D2 1/0D1 1/0D0 1/0特征位A口 工作方式B口 PC3~PC0 PC7~PC4 B口 I/O I/O 工作方式 I/O? A口工作在方式 2 下,C口未做联络信号的3条引脚,可作为B口在方式1下的联络线,也可和B口一样工作在方式0下。 由方式控制字决定其输入/输出。121 第六节 8253可编程定时计数器一、概述 二、8253定时计数器122 一、概述?实现定时和计数有两种方法: 硬件定时和软件定时?软件定时:是利用CPU每执行一条指令都需要几个 固定的指令周期的原理,运用软件编程的方式进 行定时。 ?硬件定时:是利用专门的定时电路实现精确定时。 这种定时方式又可分为简单硬件定时和利用可编 程接口芯片实现定时。123 二、8253定时计数器数 据 总 线 D 7- D 0 计 数 器 0 号 内 RD WR A0 A1 部 读 /写 逻 辑 数 据 总 控 制 字 寄 存 器 线 计 数 器 2 号 计 数 器 1 号 CLK1 GA T E 1 O UT1 CLK2 GA T E 2 O UT2 CLK0 GA T E 0 O UT08 缓冲器CS8253的结构框图124 数据线控制线D0 D1 D2 D3 D4 D5 D6 D7 RD WR A0 A1 CS Vcc8 6 5 4 3 2 1 22 23 19 2 21 24 12 9 11 10CLK0 GATE 0 OUT0计数器 0号825315 14 13CLK1 计数器 GATE 1 1号 OUT1电源线地18 16 17CLK2 计数器 GATE 2 2号 OUT28253的引脚配Z125 8253一共有3个独立的16位计数器。每个计数器有 两个输入信号:一是时钟信号CLK,若CLK的频率是 由精确的时钟脉冲提供,则计数器作为定时器用;若 CLK是由外部事件的输入脉冲,则作为计数器使用。 另一个是门控信号GATE,是控制计数器启停的外部信 号,每个计数器还有一个输出信号OUT,当计数/定时 到时,OUT输出一个规定的波形信号。 8253计数器投入工作前应进行初始化编程:首先 CPU用输出指令给控制寄存器送方式控制字,然后再 用输出指令向计数寄存器(CR)预Z计数/定时初值, 再由计数单元(CE)进行减1计数。当计数单元的内容 减至0,表示计数/定时到,OUT端输出信号。 8253最大计数初值为0000H126 A1A0编码与8253内部寄存器的对应关系8253寄存器寻址CS RD WR A1 A0寄存器选择和操作 写入0通道计数寄存器 写入1通道计数寄存器0 01 10 00 0 1 0 00 1 1 0 100 0 011 0 000 1 11 0写入2通道计数寄存器写入控制寄存器 读0通道锁存器 读1通道锁存器00 11 0读2通道锁存器127 8253的方式控制字D7 D6 D5 D4 D3 D2 D1 D0读写操作 00=锁定当前计数值0=二进制1=十进制工作方式选择 000=方式 0 001=方式 1 010=方式 2 011=方式 3 100=方式 4 101=方式 5读写方式设定位01=读/写计数器低8位 10=读/写计数器高8位 11=先读/写计数器低8位 再读/写计数器高8位通道控制字寻址位 00=通道 0 控制寄存器01=通道 1 控制寄存器 10=通道 2 控制寄存器11=不用决定本控制字属于哪个计数器128 8253的工作方式及举例本节以下各例均设8253占用端口地址40H-43H。 方式0----计数结束产生中断方式 CPU写入控制字后,OUT变为低电平,写入计数初值 后立即开始计数,当计数单元CE的内容减为零时,表 示计数到,OUT信号变为高电平,并一直保持到重新写入控制字或重新写入新的计数值为止。该计数方式只计一遍。OUT信号可作为计数结束的状态信号向 CPU请求中断或供CPU查询用。计数过程中GATE保持高电平,变低电平暂停计数。129 (设计数初值为3 )CLKGATE (允许计数高电平) WR OUT 0 GATE’ OUT’0 3 2 2 1 0 写CW 写计数值 2 130方式0的时序图130 例:设8253计数器通道0工作于方式0,用8位二 进制计数,其计数值为50,二-十进制,则它的 初始化程序段如下: MOV AL,11H ; OUT 43H,AL ; MOV AL,50 ; OUT 40H,AL ; 设置控制字 写入控制字寄存器 设置计数初值 写入计数初值寄存器131 方式1--外触发的单稳脉冲方式在该方式下,由门控信号上升沿启动计数, 在整个计数过程中,OUT维持为低电平。CPU写 入控制字后,OUT变为高电平,继续写入计数初 值后,仍不启动计数,只有当GATE上升沿后的 下一个CLK信号的下降沿到时,OUT变为低电平, 同时启动计数,直到计数到0,OUT才变为高电 平,输出负脉冲的宽度由计数值决定。 该方式的启动计数工作周期仅一次,若再加一门 控信号正脉冲,将重新装入计数初值至CE启动 计数。132 CLK WRCWLSBGATEOUT1 GATE’ OUT’1 3 3开始计数 2 1 02 不停计数13210重新开始计数方式1的时序图133 例:设计数器通道1工作于方式1,按二进制计 数,计数初值为40H,它的初始化程序段为:MOV OUT MOVAL,62H 43H,AL AL,40H;工作方式控制字;送计数初值OUT41H,AL134 方式2--计数分频工作方式(频率发生器)CPU写入控制字后,OUT变为高电平,若计 数初值为N,初值装入CE即启动计数,以CLK信号 的频率进行减1计数。当减到1时,OUT输出一个 宽度为一个CLK脉冲周期的负脉冲,然后OUT端恢 复成高电平后,计数器又开始重新计数。OUT输 出信号的频率为CLK信号频率的1/N,即为N次分 频。该方式下正常计数GATE为高电平。计数期间 若变为低电平,计数暂停,重新变高电平,8253 自动重装初值,从头开始计数。135 CLK WR GA T E 2 O UT2 高电平 1 3 GA T E 2 ’ O U T 2’ 3 3 2 1 2 1 3 2 1 CW LSB自动重复计数 禁止计数重新开始计数方式2的时序图136 例:设8253计数器0工作于方式2,按二进制计数, 计数初值为0304H。 MOV AL,B ;设控制字,通道0,先读/写低8位OUT 43H,AL;再读写高8位,方式2,二进制MOV AL,04HOUT 40H,AL;送计数值低字节MOV AL,03HOUT 40H,AL ;送计数值高字节137 方式3--方波发生器工作方式工作在此方式下,在计数过程中其输出 前一半时间为高电平,后一半时间为低电平, 为方波输出,输出是周期性的,其输出周期 是Z入计数值N*CLK脉冲周期。该方式下正 常计数GATE为高电平。为低电平,停止计数。 当N为奇数时,(N+1)/2个CLK周期为 高电平,(N-1)/2个CLK周期为低电平,输 出波形不对称。138 CLK WR GA T E 3 O UT3 (N = 奇 数 ) O U T 3’ (N = 偶 数 ) 4 3 2 1 4 高电平 1 5 4 3 2 1 5( 0) 4 3 CW LSB自动重复计数 3 2 1方式3的时序图139 例:设8253计数器2工作在方式3,按二-十进制计数, 计数初值为4,则它的初始化程序段如下:MOVAL,B;计数器2,只读/写低8位,工作方式3,二-十进制OUT MOV OUT 43H,AL; AL,4 ; 42H,AL;140控制字送控制字寄存器 送计数初值 方式4--软件触发选通方式当方式控制字Z入后,OUT为高电平。当 写入计数初值后立即开始计数。当计数到0后, OUT输出为低电平,持续一个CLK脉冲周期后 再恢复成高电平,计数器停止计数,为一次 性计数,只有CPU再次将计数初值写入CR才会 启动另一次计数过程。该方式下正常计数 GATE为高电平。若为低电平,停止计数。141 CLK WR GATE4 OUT4 ’ 高电平 1 3 2 1 0 CW LSB方式4的时序图142 例:设8253计数器1工作于方式4,按二进制 计数,计数初值为3,则初始化程序段为: MOV AL,058H ;设置控制字寄存器 OUT 43H,AL MOV AL,3 OUT 41H,AL ;送控制字 ;置计数初值 ;送计数初值143 方式5--硬件触发选通方式在写入控制字及Z入初值后并不能启动 计数,而只有在门控信号GATE的上升沿到 来之后才开始计数。OUT输出信号在GATE 输入之前一直保持高电平,直到计数到 0,OUT输出变低。经过一个CLK脉冲周期, 输出恢复为高电平,停止计数。只有当下次 门控脉冲信号加入时,才触发启动计数。144 CLK WR CW LSBGATE5 OUT5 GATE5’ OUT5’开始计数 4 3 不停计数 2 1 14324321重新开始计数方式5时序图145 6种工作方式的比较(主要是GATE信号作用和输出波形)工作 方式 GATE引脚输入状态所起的作用 低电平 下降沿 上升沿 禁止 计数 暂停 计数 置入初值后,由WR上升沿开始计数,由 GATE的上升沿继续计数 OUT引脚 输出状态 计数过程中输出低电平。计数 至0输出高电平(单次) 输出宽度为n个CLK的低电平 (单次) 输出周期为n个CLK、宽度为 1个CLK的负脉冲(重复波形) 输出周期为n个CLK的方波 (重复波形)高电平 允许计 数0 1 2 3不影响 不影响 置入初值后,由GATE的上升沿触发开始记 不影响 计数 计数 数,或重新开始计数 计数 禁止 计数 禁止 计数 停止 计数 停止 计数 置入初值后,由写信号WR的上升沿开始计 数, 由GATE的上升沿重新开始计数 允许 计数置入初值后,由写信号WR的上升沿开始计 允许 数,由GATE的上升沿重新开始计数 计数45禁止 计数停止 计数置入初值后,由写信号WR的上升沿开始计 数,由GATE的上升沿重新开始计数允许 计数计数至0,输出宽度为1个 CLK的负脉冲(单次)计数至0,输出宽度为1个 CLK的负脉冲(单次) 146不影响 不影响 置入初值后,由GATE的上升沿触发开始计 不影响 计数 计数 数或重新开始计数 计数 例:设8253的通道1工作于方式5,按二进制计数, 计数初值为4000H,则它的初始化程序段为: MOV AL,B ;通道1,只读写高字OUT 43H,ALMOV AL,40H节,方式5,二进制计数OUT 41H,AL;送计数初值147 8253的读操作(1)直接读操作 读之前先停止计数。 (2)锁存后读计数值 读之前先送计数值锁存命令。148 PC/XT机中8253的应用(1)计数器0:用于产生实时时钟信号 (2)计数器1:用于产生动态存储器刷新的 地址更新信号 (3)计数器2:产生扬声器的发音驱动信号149 第七节串行通信接口?150 一、串行通信概述 ?1. 概述? 串行通讯是指数据一位一位地顺序传送,只占用一条传 输线。在计算机系统中,通过专用的通讯接口, 将并行数 据转换为串行数据。 ?151 串行通讯可以节省传输线。在数据位数较 多,传输距离较长的情况下,这个优点更为突出。 ? 随着大规模集成电路技术的发展, 通用的 可编程的同步/异步接口芯片种类越来越多。 常用的有Intel的8251A、 Motorola的ACIA、 Zilog的SIO等。152 2. 串行通讯中的基本技术?(1)数据传送方向 在串行通讯中,数据通常在两个站(如A和B)之间进行双向 传送。这种传送根据需要又分为单工、半双工和全双工传送。 ①单工传送 单工传送方式是指在通讯时,只能由一方发送数据, 一 方接收数据的通讯方式,如图(a)所示。? ②半双工传送半双工传送方式是指在通讯时,双方都能接收或发送,但 不能同时接收和发送的通讯方式。在这种传送方式中,通讯双 方只能轮流地进行发送和接收,即A站发,B站接收;或B站发 送,A站接收。如图(b)所示。153 A 单工 通信 发送 器B接收 器(a ) A 发送 器 接收 器 半双 工通 信 B 发送 器 接收 器(b ) A 全双 工通 信 发送 器 接收 器 接收 器 发送 器 B(c )数据传送方式?(a) 单工; (b) 半双工; (c)全双工154 ③ 全双工传送全双工传送方式是指可以同时在两个站之间进行发送和 接收的通讯方式。全双工需要两条传输线。图(c)表示了这种 传送方式。 ? 3. 信号的调制和解调。调制解调器(Modem)是计算机在远程通讯中必须采用的一 种辅助的外部设备。 ?计算机通讯是一种数字信号的通讯,数字信号通讯要求 传送的频带是很宽的,而计算机在远程通讯时,通常通过电话 线传送,电话线不可能有这样宽的频带。如果用数字信号直接 通讯,那么经过电话线传送,信号便会产生畸变。???155 因此,在发送端,必须采用调制器把数字信号转换为模 拟信号;而在接收端,又必须用解调器检测从发送端送来的 模拟信号,再把它转换成为数字信号。 由此可知:调制解 调器在发送端相当于D/A转换器,而在接收端则相当于A/D 转换器。 ??156 4. 波特率(Boud Rate):波特率是指每秒传输字符的位数。 假如数据传送速率是120字符/秒,而每一个字符格式规定 包含 10 个数据位(起始位、 停止位和8个数据位),则这时 传送的波特率为: ? 10×120=1200(位/秒)=1200(波特)? 每个数据位的传送时间Td为波特率的倒数: ? Td =1/ 833 s=0.833 ms? 波特率是指传送代码的速率,这与传送数据的速率有所区 别。因为每个数据只占8位,所以,数据的传送速率为8×120 =960(波特)? 异步通讯的传送速率一般为50~9600波特,常用于计算机 到CRT终端及字符打印机之间的通讯等。 ?157 5. 串行通讯的基本方式?串行通讯可分为异步通讯和同步通讯两种方式。 ? (1)异步通讯:在异步通讯中,CPU与外部设备之间有规定 字符格式。 字符格式即字符的编码形式及规定。如规定每个串行字符由四个部分组成:1个起始位、5~8个数据位、1个奇偶校 验位以及1~2个停止位。 ?图示出了这种串行字符编码格式。起始位后面,紧跟着 要传送字符的最低位,每个字符的结束,是一个高电平的停 止位。起始位至停止位构成一帧。158 相邻两个字符之间的间隔可以是任意长度的,以便使它有能力处理实时的串行数据。 两个相邻字符之间的 位叫空闲位。而下一个字符的开始,必然以高电平变成低电平的起始位的下降沿作为标志。159 字符 起始 位 1 0 数据 位 校验 位 停止 位 1 1 空闲 位 1 1 0字符0 /1 0 /1 0 /1 0 /1 0 /1 0 /1 0 /1 0 /10 /1 0 /1低位高位异步串行通信格式160 (2)同步传送 在异步传送中,每一个字符都用起始位和停止位作为字 符开始和结束的标志,占用了一些时间,因此在数据块传送 时,为了提高速度,就要设法去掉这些标志. 同步传送。以数据块(帧)为基本信息单位传送。在数 据块开始处,要用同步字符来指明。 同步传送速度高于异步传送速度,但它要求由时钟来实 现发送端及接收端之间的同步,所以,硬件电路比较复杂。 通常用于计算机之间的通讯,或计算机到CRT等外设之间的 通讯。161 (1)面向字符的同步通信? 规定10个特定字符:定义开始、结尾及过程的控制信息 称为控制字符?数据透明: 为区分控制字符与数据字符定义转义字符DEL SYN SYN
数 据 块 ETB/ETX 000011 校 验 块(2)面向比特的同步通信(SDLC/HDLC数据格式)开始场地址场 控制场信息场校验场结束场8位?8位&=0位16位0位插入与删除技术: 发送信息时: 发送时连续5个“1”插入一个“0” 接收时连续5个“1”删除一个“0”162 6.串行通信的接口标准1)RS-232C接口标准 (1)RS-232C标准的信号线 ? 信号线的定义 ? 信号线的使用 (2)RS-232C的电器特性 (3)EIA电平与TTL电平的转换 (4)RS-232C的机械特性 ? 连接器 ? 电缆长度 2)RS-422A接口标准 3)RS-485接口标准163 RS-232C引脚的定义? DB-25型连接器外形13132525 2514 13 1414125 脚 D 型 插 座25 脚 D 型 插 头164 用于异步通信RS-232C的引脚定义165 RS-232C用于异步通信各信号的作用 及对应的引脚功能? ? ? ? ? 1.保护地线(引脚1) 2.信号地线(引脚7) 3.请求发送(引脚4)、清除发送(引脚5) 4.数据设备就绪(引脚6) 5.数据终端就绪(引脚20)166 ? ? ? ? ?6.载波检测(引脚8) 7.振铃指示(引脚22) 8.数据信号速率选择(引脚23) 9.发送数据引脚(引脚2) 10. 接收数据(引脚3)167 RS-232C信号转换标准RS-232信号标准名称 电压范围 逻辑表示MARK SPACE-24V~-3V +3V~+24V1 0168 RS-232C在微机系统中的应用SG 数 据 PC TD 机 (1 ) RD SG DTE TD 终 PC RD 机 (2 ) 备 端 设 RT S CT S DTR D SR DCD RI RT S CT S DTR D SR DCD RI DTE TD SG TD RD 数 据 终 端 设 备RD SG( a)( b)169 二、可编程串行通信接口8251A?1. 8251A的特点和内部结构?Intel 8251A是可编程的串行通信接口芯片, 它的主要特 点如下: ? ① 可用于串行异步通信,也可用于串行同步通信。 ? ② 对于异步通信,可设定停止位为1位、1位半或2位,数据 位可在5--8位之间选择。 ③ 对于同步通信,可设为单同步、双同步或者外同步,同 步字符可由用户自己设定。 ? ④ 异步通信的时钟频率可设为波特率的1倍、16倍或64倍。 ?170 ⑤ 可以设定奇偶校验的方式,也可以不校验。校验位的插 入、检出及检错都由芯片本身完成。 ? ⑥ 在异步通信时,波特率的可选范围为0~19.2千波特; 在同步通信时,波特率的可选范围为0~64千波特。 ? ⑦ 提供与外部设备特别是调制解调器的联络信号,便于直 接和通信线路相连接。 ? ⑧ 接收、发送数据分别有各自的缓冲器,可以进行全双工 通信。 ?8251A各组成模块的功能及有关引脚如下: ?171 D 7 ~ D0状态 缓冲 器发 送 /命 令 缓冲 器接收 缓冲 器R E SE T C/D CL K RD WR CS DTR DSR RT S CT S 调制 解 调器 控制 接收 器及 接收 控制 读 /写 控制 逻辑 发送 器及 发送 控制TXD T X RD Y TXE TXCRX D RX RD Y SYNDE T RX C8251A的结构框图172 (1)I/O缓冲器这是三态双向的缓冲器,引脚D0~D7是8251A和CPU接口 的三态双向数据总线,用于向CPU传递命令、数据或状态信息。 与CPU互相交换的数据和控制字就存放在这个区域,共有三个 缓冲器。 ① 接收缓冲器:串行口收到的数据变成并行字符后,存放在 这里,以供CPU读取。 ? ② 发送/命令缓冲器:这是一个分时使用的双功能缓冲器, CPU送来的并行数据存放在这里,准备由串行口向外发送。另 外,CPU送来的命令字也存放在这里,以指挥串行接口的工作。 由于命令一输入就马上执行,不必长期存放,所以不会影响 存放发送数据。173 ③ 状态缓冲器:存放8251A内部的工作状态,供CPU查询。 ? (2)读/写控制逻辑 本模块功能是接收CPU的控制信号, 控制数据传送方向。 ?(3)接收器及接收控制接收器的功能是从RXD引脚接收串行数据,按指定的方式装配成 并行数据。 ? (4)发送器及发送控制 这个模块的功能是从CPU接收并行数据,自动地加上适当的成帧 信号后转换成串行数据从TXD引脚发送出去。 ? (5)调制解调控制器该模块提供和调制解调器的联络信号。 ?174 2. 8251A的外部引脚?8251A是一个采用NMOS工艺制造的28脚双列直插式封装的 组件, 其外部引脚如图所示。 ?(1)与CPU接口的引脚。?D7~D0: 数据线。 ?CLK: 时钟信号输入线,用于产生8251A内部时序。CLK的 周期为0.42~1.35 μs。CLK的频率至少应是接收、发送时钟的30倍(对同步方式) 或4.5倍(对异步方式)。? RESET:复位信号输入线,高电平有效。复位后8251A处于 空闲状态直至被初始化编程。 ?175 D2 D3 RXD GND D4 D5 D6 D7 TXC WR CS C/D RD RXRDY1 2 3 4 5 6 7 8 9 10 11 12 13 14 8251A28 27 26 25 24 23 22 21 20 19 18 17 16 15D1 D0 V CC RXC DTR RTS DSR RESET CLK TXD TXEMPT CTS SYNDET/BD TXRDY8251A的外部引脚176 CS: 片选信号输入线, 低电平有效。 仅当CS为低电平时,CPU才能对8251A操作。 ?C / D:信息类型信号输入线。为0时传输的是数据,为1时传输的是控制字或状态信息。 ? ? ? ?RD: 读选通信号输入线, 低电平有效。 ? : 写选通信号输入线, 低电平有效。 ?WR177 178 (2) 与外设或调制解调器接口的引脚RXRDY: 接收准备好状态输入线,高电平有效。当接收器 接到一个字符并准备送给CPU时,RXRDY为1;当字符被 CPU读取后RXRDY恢复为0。RXRDY可作为8251A向CPU申 请接收中断的请求源。 ? SYNDET/BD:同步状态输出线或者外同步信号输入线。 此线仅对同步方式有意义。 ?TXRDY:发送准备好状态输出线, 高电平有效。当发送寄 存器空闲且允许发送( C T S 脚电平为低、命令字中TXEN位 为1)时,TXRDY为高电平。当CPU给8251A写入一个字符 后TXRDY恢复为低电平。TXRDY可作为8251A向CPU申请发送中断的请求源。179 TXEMPT : 发 送 缓 冲 器 空 闲 状 态 输 出 线 。 高 电 平 有 效 , TXEMPT=1 , 表 示 发 送 缓 冲 器 中 没 有 要 发 送 的 字 符 , 当 CPU将要发送的数据写入8251A后,TXEMPT自动复位。 ?? RXD:串行数据输入线,高电平表示数字1,低电平表示数 字0。 ? : 接收器时钟输入线。它控制接收器接收字符的速率, 在上升沿采集串行数据输入线。 R X C 的频率应等于波特率 (同步方式)或等于波特率的1倍、16倍或64倍(异步方 式)。 ?RXC ?: 发送器时钟输入线,在 T X C 的下降沿数据由8251A 移位输出。对 T X C 频率的要求同 R X C 。TXD:发送数据输出线。CPU并行输入给8251A的数据从这 个引脚串行发送出去。 ? 180? TXC ??T R : 数据终端准备好状态输出线,低电平有效。当8251A D 命令字位D1为1时, T R 有效, 用于向调制解调器表示数据终 D 端已准备好。 ??S R : 数据设备准备好状态输入线, 低电平有效。 当调制 D 解调器准备好时, D S R 有效,用于向8251A表示Modem(或DCE)已准备就绪。CPU可通过读取状态寄存器的D7位检测 该信号。 ?181 R T S : 请求发送信号输出线, 低电平有效。 当8251A命 令字位D5为1时,? S 有效,请求调制解调器作好发送准备 RT(建立载波)。 ?? C T S : 清除发送(允许传送)信号输入线, 低电平有 效。 当调制解调器作好送数准备时, C T S 有效,作为对 8251A的? T S 信号的响应。 ? R 如果8251A不使用调制解调器而直接和外界通讯,一般 应将 D S R 、 ?T S 脚接地。 C接收器的工作过程:在异步方式中,当接收器接收到有效的起始位后, 便接 收数据位、奇偶校验位和停止位。然后将数据送入寄存器, 此时RXRDY输出高电平,表示已收到一字符,CPU可以来 读取。 ?182 在 同 步 方 式 中 , 若 程 序 设 定 8251A 为 外 同 步 接 收 , 则SYNDET/BD脚用于输入外同步信号,SYNDET/BD脚上的电 平正跳变启动接收数据。若程序设定8251A内同步接收,则 8251A先搜索同步字(同步字事先由程序装在同步字符寄存器 中)。 每当RXD线上收到一位信息就移入接收寄存器并和同 步字符寄存器内容比较,若不等则再收一位再比较,直到两者 相等。 此时SYNDET/BD输出高电平,表示己搜索到同步字, 接下来便把接收到的数据逐个地装入接收数据寄存器。发送器的工作过程: 在异步方式中,发送器在数据前加上起始位,并根据程序的设定在数据后加上校验位和停止位,然后作 为一帧信息从TXD脚逐位发送数据。183 在同步方式中,发送器先送同步字符,然后逐位地发送数据。若CPU没有及时把数据写入发送缓冲器,则8251A用同 步字符填充,直至CPU写入新的数据。 ?3. 8251A的控制字寄存器和状态字寄存器?8251A内除具有可读可写的数据寄存器外,还具有只可写的控制字寄存器和只可读的状态寄存器,(1)控制字寄存器 控制字寄存器寄存方式控制字和命令控制字。 ? ① 方式控制字184 方式控制字确定8251A的通讯方式(同步/异步)、校验方式(奇校验、偶校验、不校验)、数据位数(5、6、7或8位)及波特率参数等。方式控制字应在复位后写入,只需写入一次。 ② 命令控制字 命令控制字使8251A处于规定的状态以准备发送或接收数据。 命令控制字在写入方式控制字后写入,用于控制8251A的工作, 可以多次写入。 方式控制字和命令控制字本身无特征标志,也没有独立的端口地址,8251A是根据写入先后次序来区分这两者的:先写入者为方式控制字,后写入者为命令控制字。所以CPU在对8251A 初始化编程时必须按一定的先后顺序写入方式控制字和命令控 制字。185 D7D6D5D4D3D2D1D0方式 及波 特率 Y00: 同步* 01: 异步* 10: 异步* 11 : 异步* 00: 5 01: 6 10: 7 11 : 81 1 16 64同步方式N 数 据 位 数 校 验 方 式*0 : 内同步 01 : 双 同步字 11 : 单同步字00 : 无效 01 : 1位停止位 10 1位半 : 11 : 2位*0 : 不校验 01: 奇校验 11 : 偶校验方式控制字的格式186 D7 END6 IRD5 RTSD4 ERD3D2D1D0SBRK RXE DTR TXEN进入搜索方式 1:进行SYNC搜索 内部复位 1: 8251A复位 请求发送 1:迫使RTS输出0 出错复位 1:复位错误标志发送允许 1:允许 0 :禁止 数据终端准备好 1 :迫使DTR输出0 接收允许 1:允许 0 :禁止 发送断点字符 1:迫使TXD为0命令控制字的格式187 ?(2)状态寄存器状态寄存器存放8251A的状态信息,供CPU查 询,状态字各位的意义如图所示。DSR: 数据设备准备好标志。 其状态同 D S R 脚。?SYNDET: 同步标志。?FE:异步通讯帧出错标志。为1表示未检测到字符末尾的有效 停止位,但FE错并不禁止8251A工作。FE标志由命令控制字中 的ER位清除。 ?188 D7D6D5 FED4 OED3 PED2 TXED1 RXRDYD0 TXRDY 同引脚定义DSR SYNDET奇偶校验错 溢出错帧格式出错状态字格式189 OE:溢出标志。接收器内的字符尚未被CPU读走时又有新的字符装入,则OE置1,此时原来的字符丢失,但并不禁止 8251A工作,OE标志由命令控制字中的ER位清除。 ? PE:奇偶错标志。奇偶错时PE置1,但此时并不禁止8251A工 作,PE标志由命令控制字中的ER位清除。 ? TXE:发送缓冲器空标志。 其状态同TXE脚。? RXRDY:接收准备好标志。 其状态同RXRDY脚。? TXRDY:发送准备好标志。 含义同TXRDY引脚。只要发送 缓冲器空,就置位该位。而引脚TXRDY除发送缓冲器空外,还要满足TXE=1, CTS=0才置位。190 4. 8251A的初始化编程?像所有的可编程器件一样,8251A在使用前也要进行初 始化。初始化在8251A处于复位状态时开始。其过程为:首先 输入方式控制字,以决定通信方式、数据位数、校验方式等 若是同步通信方式则紧接着输入一个或两个同步字符,若是异步方式则这一步可省略,最后送入命令控制字,就可以开始发送或接收数据了。初始化过程的信息全部写入控制端口 特征是 C/D=1,即地址线A0=1的地址。 ?由于各个控制字没有特征位,所以写入的顺序不能出错,否则就会张冠李戴,达不到初始化的目的。191 例:要求8251A:① 异步工作方式,波特率系数为64(即数据传送速率是时 钟频率的1/64),采用偶校验,总字符长度为10(1位起始位, 8位数据,1位停止位)。 ?② 允许接收和发送,使错误位全部复位。 ?③ 查询8251A状态字,当接收准备就绪时,则从8251A输 入数据,否则等待。 ?初始化程序: ?MOV DX, 301H MOV AL, B OUT DX, AL MOV AL, B OUT DX, AL ; 8251A控制口地址? ; 方式控制字? ; 送方式控制字? ; 操作命令字? ;送操作控制字?192 WAIT: IN AL, DX AND AL, 02H ?; 读入状态字? ; 检查RXRDY=1??JZ WAIT ; RXRDY≠1,接收未准备就绪,等待 IN AL, DX?5. 8251A应用举例?当8251A与CPU连接时, 至少要占用两个端口地址, 即控 制端口(C/ D =1)和数据端口(C/D =0)。在使用8251A时需要一个外部时钟源提供 R X C 、T?C 和 X CLK信号。?X C 和?T X C 由波特率以及时钟频率与波特率的 R 倍率决定。 CLK则在 R X C ( T X C )频率的基础上增高若干 倍。 ??193 8251A与CPU通常采用查询或中断方式交换数据。若采用 中断方式,两个状态信号TXRDY和RXRDY通过一个非门接 到CPU的外中断输入。 其余的? D 、 W R 、 RESET都是 R 同名端相连。 ? 在编程时,对8251A初始化,输入命令字后就可进行数据 传送。在得到中断申请后,通过调用状态字来检测是接收申 请(RXRDY=1)还是发送申请(TXRDY=1),然后转至相 应的程序模块。? 例 用8251A为8086CPU与CRT终端设计一串行通信接口。 假设 8251A控制端口地址为301H,数据端口地址为300H。 要求:? ① 异步方式传送, 数据格式为1位停止位, 8位数据位, 奇校验; ? 194 ② 波特率因子为16;? ③ CPU用查询方式将显示缓冲区的字符“GOOD”送CRT显示。显示缓冲区在数据段, 首地址为2000H。 ?解:① 硬件连接。 8086CPU与CRT终端接口连接如图 所示。当地址锁存信 号ALE有效时, 将CPU送来的地址锁存,地址译码器对输入 地址A1 ~A9 进行译码,其输出接到8251A的片选端。地址A0用于选择8251A的数据端口或控制端口。波特率发生器按规定 给8251A提供发送和接收时钟。电平变换电路将8251A送出的 TTL电平变成RS-232C电平以便和CRT连接。195 8086D 0 ~D 78251A D 0 ~D 7 地址 TXD RXD CS GND C/D DSR CTS WR R CLK TXC RXC 波特率 发生器 CRT 终端地址 A D 0 ~A D 1 5 锁存 器 ALE WR RD CLK A0译码 器8086CPU与CRT终端接口196 ② 软件设计。 程序如下:? DATA SEGMENTDISBUF DB 47H, 4FH, 4FH, 44H, ODH, 0AH COUNT DB $-DISBUF? DATA ENDS? ;GOOD字符的ASCII码MAIN : MOV DX, 301HMOV AL, B; 8215A控制口地址?; 工作方式选择字197 OUT DX, AL MOV AL, B OUT DX, AL MOV CX, COUNT?? ; 操作命令字? ?MOV BX, OFFSET DISBUF ; 显示缓冲区首址WAIT: MOV DX, 301H?IN AL, DX? TEST AL, 80H? JZ WAIT?198 MOV DX, 300H? MOV AL, [BX]?OUT DX, AL?INC BX?DEC CX? JNZ WAIT? HLT?199 第八节、可编程DMA控制器8237200 减 1 电路 CS RESET READY CLK EOP IO R IO W MEMR MEMW AEN ADSTB 逻辑 (1 6 位 ) (1 6 位 ) 控制 和 16 位 总 线 读缓冲器 基地址 寄存器 基字计数 寄存器 线 定时 暂时字计数器 (1 6 位 )加 1 /减 1 电 路 暂时地址寄存器 (1 6 位 )A 0~ A 7 A 8~ A 15I/O 缓 冲 器A 0~ A 316 位 总 读 /写 缓 冲 器 当前字计 数寄存 器输出缓 冲 器 A 4~ A 7当前地址 寄存器命 (1 6 控令 制(1 6 位 ) 位) 写缓冲器 命令寄存器 (8 位 )读缓冲器D 0~ D 1 I/O 缓 冲 器 D B 0~ D B 7HRQ HLDA DREQ0 ~DREQ 3 DACK0 ~DACK3 优先 权 控制 逻辑 请求寄存 器 (1 位 ) 屏蔽寄存 器 (1 位 ) 读 /写 工作方式 寄存器 (1 6 位 ) 状态 寄存器 (8 位 ) 暂存 寄存器 (8 位 )8237的结构框图201 8237的引脚配Z1 IO R IO W ME MR ME MW NC R E AD Y HLDA AD S T B AE N HRQ CS CLK RESET D AC K 2 D AC K 3 DREQ3 DREQ2 DREQ1 DREQ0 GN D 20 21 40 A7 A6 A5 A4 EOP A3 A2 A18237A0 Vc c DB0 DB1 DB2 DB3 DB4 D AC K 0 D AC K 1 DB5 DB6 DB7202 1、8237A的结构8237A中四个通道每个通道都有一个基地址寄存 器(16位)、基字节计数寄存器(16位)、当前地址 寄存器(16位)和当前字节计数寄存器(16位),并 有一个6位的模式寄存器以控制不同的工作方式。 其包含了三个基本控制逻辑块: 时序控制逻辑块:产生DMA请求、DMA传送、DMA结束 等信号。 程序命令控制块:确定DMA服务的类型。 优先权编码逻辑:优先权编码203 8237的内部寄存器名称 基地址寄存器 基字节计数寄存器 当前地址寄存器 当前字节计数寄存器 地址暂存器 字节计数寄存器 命令寄存器 工作方式寄存器 屏蔽寄存器 请求寄存器 状态寄存器 暂存寄存器 位数 16 16 16 16 16 16 8 6 4 4 8 8 数量 4 4 4 4 1 1 1 4 1 1 1 1 CPU访问方式 只写 只写 可读可写 可读可写 不能访问 不能访问 只写 只写 只写 只写 只读 只读204 8237A-5端口地址、读/写操作区分表端口地址DMA+0 DMA+1通道0#读操作(IOR) 写操作(IOW)读当前地址寄存器 读当前字节寄存器 写基/当前地址寄存器 写基/当前字节寄存器DMA+2DMA+3 DMA+4 DMA+51#2#读当前地址寄存器 读当前字节寄存器读当前地址寄存器 读当前字节寄存器写基/当前地址寄存器 写基/当前字节寄存器写基/当前地址寄存器 写基/当前字节寄存器DMA+6DMA+7 DMA+8 DMA+93#读当前地址寄存器 读当前字节寄存器读状态寄存器写基/当前地址寄存器 写基/当前字节寄存器写命令寄存器 写请求寄存器DMA+ADMA+B DMA+C DMA+D 读暂存寄存器写单个通道寄存器写工作方式寄存器 清除先/后触发器 主清除(芯片复位)DMA+EDMA+F清除屏蔽寄存器写全部屏蔽寄存器205 2、作用:实现外设直接与存储器之间的数据传送3、主要功能: ? 一个芯片中有四个独立的DMA通道。? 每个通道的DMA请求都分别允许和禁止。 ? 每个通道的DMA请求有不同的优先权,优先权可固定,也 可旋转。 ? 每个通道一次传送数据最大长度为64KB,可在存储器的两 个区域进行传送。 ? 8237A的DMA传送有四种方式。 ? 有一个结束处理的输入信号EOP,允许外界以此结束DMA 传送并重新初始化。206 4、8237的工作方式及编程控制字固定优先级别:通道0的请求优先级别最高; 通道3的请求优先级别最低。8237循环优先权的变化207 8237的工作方式(1)单字节传输方式 (2)数据块传输方式 (3)请求传输方式 (4)级联传输方式208 (1)单字节传输方式在该方式下,每次仅传送一个字节数据。 传送后,字节数寄存器减1,地址寄存器加1 或减1。HRQ(总线请求输出信号)变为无效, 8237释放总线,控制权返回CPU。当前字节 数寄存器从初始值减到0,还要再传送一个 字节,又从0减到0FFFFH时,才发出有效EOP 信号,结束DMA传输过程。209 (2)数据块传输方式在该方式下,一旦8237控制总线就将始终 占用总线,连续传送字节数据直到字节数寄存 器减到0再减到0FFFFH时产生EOP信号为止。若 需提前结束DMA传送也可由外部输入低电平有 效的EOP信号强迫终止DMA传送,总线控制才交 还给CPU。该方式最大可传送64KB的数据块, 而且送DREQ只需维持到DACK有效,在传送期间 就不再检测DREQ引脚信号。当数据块传送结束, 则终止操作或重新初始化。210 (3)请求传输方式类似于块传输方式,不同之处在于每传 送一个字节后,8237都将采样检测DREQ信号 是否有效。若DREQ变为无效状态则放弃传输, 一直到DREQ变为有效后又可开始从放弃的那 一点开始DMA传输。当由于外设提供的DREQ信 号变为无效状态而放弃DMA传送时,8237释放 总线,CPU可以接着操作。211 (4)级联传输方式为了扩展DMA通道数,可以把一片8237 芯片(主)和几片8237(从)进行级联,其 连接方法是将8237芯片的HRQ和HLDA端分别 接到主8237某一个通道的DREQ和DACK端,主 8237芯片的HRQ和HLDA端再和CPU相连。212 主8237DREQ0 HRQ从8237HRQCPUHLDADACK0HLDADREQ1HRQDACK1HLDA第一级第二级两级DMA的级联方式213 在前三种工作方式下,DMA传送有三种类型: DMA读:数据由存储器传送到外设 DMA写:外设输入数据到存储器 校验: 用于检验8237A芯片内部的读写数据功能是否正常 对存储器到存储器的传送:用两个通道。通道0的地址寄 存器编程为源区地址;通道1的地址寄存器编程为目的区 地址;字节数寄存器编程为传送的字节数。 操作过程: 软件DREQ启动 DMA:源区向CPU发HRQ 临时寄存器CPU响应:HLDA 目的区214 8237的几个特殊操作自动预Z:出现EOP时自动将基地址、字节数装 入当前寄存器,但该通道屏蔽位不能Z位。 压缩时序:为获得较高的数据吞吐量,将每次传 送时间由正常的3个时钟周期压缩到2个时钟周期。215 D7D6D5D4D3D2D1D000―请求传送方式 01―单次传送方式 10―成组传送方式 11―级联方式 0―选择地址加1 1―选择地址减1 0―禁止自动预置 1―允许自动预置00―选通道0 01―选通道1 10―选通道2 11―选通道3 00―校验(M M) 01―写传送I/O M 10―读传送M I/O 11―无效 D7,D6都为1时,D3,D2无意义工

我要回帖

更多关于 玩老虎机输钱太多想死 的文章

 

随机推荐