版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、内容回顾内容回顾n微机与接口微机与接口l微机的硬件结构、8086/8088引脚和系统总线构成。n微机接口概述微机接口概述l微机接口的概念、功能和分类。n微机接口的组成微机接口的组成l硬件组成、驱动软件的组成。nCPU与与I/O接口间的数据交换方式接口间的数据交换方式l程序控制、中断、DMA、通道、外围处理机。n接口电路的分析与设计方法接口电路的分析与设计方法l分析两侧、信号转换、芯片选型、驱动设计。1I/O端口地址译码3I/O端口地址分配22 第二章第二章 I/O端口地址译码技术端口地址译码技术I/O端口编址1n基本概念基本概念l接口内部包含一个或多个CPU可进行读写的寄存器,这些寄存器称为I
2、/O端口。数据端口数据端口、状态端口状态端口和控制端口控制端口。lCPU对外设的各种操作,最终都归结为对接口中各端口的读/写操作,而不是直接对外设进行操作。l为了区分不同的端口,需为每个端口分配一个地址编号地址编号,称为I/O端口地址端口地址。l由于CPU地址总线既连接到存储器又连接到I/O端口,因此,需要一种机制来区分区分和寻址寻址要操作的内存单元或I/O端口,这种机制称为编址方式编址方式。l常用的两种I/O编址方式:I/O端口与内存统一编址统一编址;I/O端口与内存独立编址独立编址。 2.1 I/O端口编址端口编址 3l基本内容基本内容I/O端口与内存单元统一进行地址分配统一进行地址分配,
3、使用统一的指令统一的指令访问I/O端口或者内存单元。又称存储器映射编址方式存储器映射编址方式。Motorola公司的68系列、Apple系列微机即是统一编址。(1) I/O端口与内存统一编址端口与内存统一编址4l优点优点把I/O端口当做存储单元来看待,可使用访存指令来访问I/O端口,故无需专门的无需专门的 I/O 指令指令。访存指令种类多访存指令种类多,功能全,可为访问外设提供方便。I/O控制信号可与存储器的控制器信号共用,应用方便。I/O端口数目几乎不受限制。l缺点缺点I/O端口与内存单元共同统一的地址空间,相对减少了减少了内存可用的地址范围。从指令形式上不易区分不易区分访存还是访问外设,程
4、序可读性低。访存指令比专用I/O指令长指令长,译码较为复杂,执行速度较慢。5l基本内容基本内容I/O端口与内存单元有各自独立的地址空间各自独立的地址空间,访问I/O端口使用专门的专门的I/O指令指令。又称I/O映射编址方式。8086/8088 CPU、IBM-PC系列系列和Z80系列机采用独立编址。(2) I/O端口与内存独立编址端口与内存独立编址6l优点优点I/O端口与内存空间相对独立,I/O端口单独编址,不占用内存不占用内存空间。由于使用了专门的I/O指令,指令简短指令简短,译码简单,速度快。I/O指令与访存指令区别明显指令区别明显,程序可读性强。l缺点缺点专用的I/O指令增加了指令系统的
5、复杂性指令系统的复杂性,且指令类型少,功能弱,程序设计灵活性差。CPU需提供I/O读写与存储器读写2套控制信号套控制信号,增加了控制逻辑的复杂性。7l指令类型指令类型IN:从I/O端口读入数据到微处理器的累加器中。OUT:将微处理器累加器中的数据写入到I/O端口。注意:数据只在累加器(注意:数据只在累加器(AX或或AL)和端口间进行传递)和端口间进行传递。原则:传输字节数据字节数据时使用AL;传输字数据字数据时使用AX。l寻址方式寻址方式直接寻址直接寻址:当端口地址 0FFH时,采用直接寻址,即在指令中直接写明端口地址。(也可用间接寻址方式)间接寻址间接寻址:当端口地址 0FFH时,采用间接寻
6、址,使用DX存放端口地址。(3) 独立编址下的独立编址下的I/O指令指令8l直接寻址指令格式直接寻址指令格式 输入:IN AL/AX, port ; port是8位地址,0FFH 输出:OUT port, AL/AX9IN AL, 2CH ; 从2CH端口读入 ? 到AL中IN AX, 5BH ; 从5BH端口读入 ? 到AX中OUT 61H, AL ; 将AL中的 ? 写入到61H端口中OUT 1DH, AX ; 将AX中的 ? 写入到1DH端口中l间接寻址指令格式间接寻址指令格式 输入:MOV DX, port ; port是16位地址,0FFH IN AL/AX, DX 输出:MOV D
7、X, port OUT DX, AL/AX10判断下列指令格式是否正确。判断下列指令格式是否正确。 (1) 从218H端口读入一个字数据。 IN AL,218H (2) 将一个字节的数据写入到 254 端口。 OUT 254H, AX11MOV DX, 218HIN AL, DXMOV DX, 254HOUT DX, AXOUT 254, AL 或OUT 0FEH, ALl标准标准C(头文件(头文件dos.h)inportb(int port)。outportb(int port, unsigned char value)inportw, outportw。lVC+(头文件(头文件conio.
8、h)int _inp(unsigned short port);int _outp(unsigned short port, int datatype);(4) 高级语言下的输入输出操作高级语言下的输入输出操作【补充补充】12l高级语言编程举例高级语言编程举例利用 inportb() 函数从端口2F0H读取一个字节的数据,并显示在屏幕上。main() unsigned char c; c=inportb(0 x2f0); printf(“%xn”, c);将数据0 x55输出到360H端口。main() outportb(0 x360, 0 x55); 13I/O端口地址译码3I/O端口地址分
9、配214 内容概要内容概要I/O端口编址1l 统一编址l 独立编址l 独立编址下的I/O指令l 高级语言的输入输出操作(1) I/O端口地址线端口地址线l80 x86系列PC采用独立编址方式,I/O地址线有16根,对应64K空间。l实际微机主板上仅使用A9A0 10根地址线,共1024个端口,地址范围为000H03FFH。l根据其复杂程度和应用形式,PC系列微机中I/O接口硬件电路可分为2类:系统板上的系统板上的 I/O 接口芯片接口芯片:大多是可编程大规模集成电路,如定时/计数器,中断控制器,DMA控制器,并口等。扩展槽上的扩展槽上的 I/O 接口控制卡接口控制卡:如图形卡、声卡等。 2.2
10、 I/O端口地址分配端口地址分配 15(2) 系统板上的系统板上的I/O接口芯片端口地址分配接口芯片端口地址分配16I/O接口名称接口名称PC/XTPC/ATDMA控制器10000 001FH0000 001FHDMA控制器200C0 00DFHDMA页面寄存器0080 0083H0080 009FH中断控制器10020 0021H0020 0021H中断控制器200A0 00BFH定时器0040 0043H0040 005FH并行接口芯片0060 0063H键盘控制器0060 006FHRT/CMOS RAM0070 007FHNMI屏蔽寄存器00A0H 00BFH协处理器00F0 00FF
11、H(3) 扩展槽上的扩展槽上的I/O接口控制卡端口地址分配接口控制卡端口地址分配17I/O接口名称接口名称PC/XTPC/AT硬驱控制卡0320 032FH01F0 01FFH游戏控制卡0200 020FH0200 020FH扩展器/接收器0210 021FH并行口控制卡10370 037FH0370 037FH并行口控制卡20270 027FH0270 027FH串行口控制卡103F8 03FFH03F8 03FFH串行口控制卡202F0 02FFH02F0 02FFH原型插件板(用户可用)0300 031FH0300 031FH同步通信卡103A0 03AFH03A0 03AFH同步通信卡
12、20380 038FH0380 038FH单显DMA03B0 03BFH03B0 03BFH彩显CGA03D0 03DFH03D0 03DFH彩显EGA/VGA03C0 03CFH03C0 03CFH软驱控制卡03F0 03F7H03F0 03F7H允许用户使用允许用户使用原型插件板原型插件板(用户可用用户可用)0300 031FH0300 031FHl系统配置占用了的端口地址不能使用。l计算机厂家声明保留的地址不能使用。l用户可使用30031FH的地址。但为了避免与其它用户开发的接口卡发生冲突,最好采用DIP开关进行地址设置。 (4) I/O端口地址选用原则端口地址选用原则18可通过可通过“
13、附件附件”“系统信息系统信息”“硬件资源硬件资源”“I/O”选项来查看选项来查看 I/O 端口的地址分配状况端口的地址分配状况I/O端口地址译码3I/O端口地址分配219 内容概要内容概要I/O端口编址1l I/O端口地址线l 系统板系统板上的I/O接口芯片端口地址分配l 扩展槽扩展槽上的I/O接口控制卡端口地址分配l I/O端口地址选用原则(1) 基本概念与原理基本概念与原理l基本概念基本概念 当执行I/O指令时,CPU首先在总线上发出要访问的端口地址和必要的控制信号,然后通过一个转换电路转换电路将这些信号转换为相应的I/O端口选通信号。这个转换过程转换过程就是I/O端口地址译码,完整这个过
14、程的转换电路称为I/O端口地址译码电路。l译码信号译码信号译码的实质译码的实质:对地址线和控制信号进行逻辑组合逻辑组合,产生相应的选通信号 ,低电平有效。参与译码的主要信号参与译码的主要信号:地址信号线A9A0,控制信号 , ,(非DMA传送)。 2.3 I/O端口地址译码端口地址译码20CSIORIOWAENl原理原理把地址线分为高低两部分,分别用于片间寻址和片内寻址。片间寻址片间寻址:高位地址线与CPU的控制信号相结合,经译码电路产生I/O接口芯片的片选信号 ,实现片间寻址。通常都由接口芯片外部外部的译码电路来完成。片内寻址片内寻址:低位地址线不参加片间寻址译码,而是直接连接到I/O接口芯
15、片,实现芯片内部的片内端口寻址。通常由接口芯片内部内部的地址译码电路来完成。用于片内寻址的低位地址线条数低位地址线条数取决于接口内端口的数目。一般地,低位地址线数 = 。 例:一个接口内部有3个端口,A9A8A7A6A5A4A3A2A1A0。21CS2log ()端口数22l译码方式译码方式按照地址译码电路采用的元器件元器件,分为:门电路译码专用译码器译码开关式译码可编程逻辑器件译码按照译码电路的形式形式,分为:固定式译码可选式译码23 特点特点:接口中的端口地址固定地址固定,不能修改。一般接口卡中大多采用该形式。单端口地址译码接口中只有一个端口地址。多采用与、或、非门等基本门电路门电路来实现
16、。多端口地址译码系统中有多个接口芯片,或有多个端口(连续范围)。多采用集成的译码器集成的译码器来实现,如74LS138,74LS154等。24 (2) I/O端口地址的固定式译码端口地址的固定式译码l门电路译码门电路译码常用的逻辑门符号与门或门非门常用的门电路集成芯片74LS04:反相器(6门集成)74LS08:与门(4门集成)74LS20:4输入与非门(2门集成)74LS30:8输入与非门(1门集成)74LS32:2输入或门(4门集成)25【例2-1】单端口单端口地址为2F8H的只读只读端口译码电路。26采用标准集成电路的电路形式。27【例2-2】分析该译码电路的功能。28l 可进行读/写操
17、作、端口地址为2F8H的译码电路l IOR有效时从端口读数据;IOW有效时向端口写数据【例2-3】某接口芯片内部有4个端口,地址范围为2F0H 2F3H。请使用门电路为其设计一个端口地址译码电路。 分析:分析:地址范围为2F0H 2F3H,故CPU访问该接口芯片时,地址线上的信号为:可用A1A0作为端口选择;将高位地址线A9 A2 和AEN信号组合起来,用门电路产生一个低有效的接口芯片片选信号CS。29地址线0 0 A9 A8 A7 A6 A5 A4A3 A2 A1 A0值0 0 1 01 1 1 10 0 x xxx = 00, 01, 10, 11, 对应4个端口30l译码器译码译码器译码
18、多端口时(有多个接口芯片,或接口芯片有多个端口)常采用专用译码器译码。常用的译码器74LS138:3-8译码器74LS139:双2-4译码器74LS154:4-16译码器31n74LS138译码器工作原理译码器工作原理32Y0Y7ABCG2BG2AG11514131211109712345674LS138n74LS139译码器工作原理译码器工作原理33n74LS154译码器工作原理译码器工作原理34【例2-4】已知并行接口芯片8255A有4个端口,片选信号CS 低电平有效。试用74LS138设计一个译码电路,使该芯片的4个端口地址为2F0H 2F3H。 分析:分析:4个端口,可用低位地址A1A
19、0进行片内译码片内译码,而高位地址A9A2和AEN则用于片选。为使4个端口的地址为2F0H 2F3H,地址线为:35地址地址A9A8A7A6A5A4A3A2A1A0AEN2F0H101111000002F3H10111100110GGG2BG2AC B A36【例2-5】设计一个译码电路,要求产生2A8H2AFH共8个端口的选通信号。 分析:分析:多端口,采用译码器实现。可选用74LS138译码器输出8个信号。地址范围为2A8H 2AFH,故地址线为:37地址地址A9A8A7A6A5A4A3A2A1A0AEN2A8H101010100002AFH10101011110C B AG2BG2AG2
20、BG2BGGGG38【例2-6】请设计一个系统板上接口芯片系统板上接口芯片的I/O端口地址译码电路,并且让每个接口芯片内部的端口数目为32个。 分析:分析:每个接口芯片内部的端口数目为32个,故可用低5位地址A4A0进行片内寻址片内寻址。系统板上的接口芯片,其端口地址分配范围为0000FFH,故仅用低8位地址译码即可,A9A8= 00。系统板上有8253、8259、8237、8255 等接口芯片,可用其余的地址线A7A5通过74LS138译码器进行片选。访问系统板I/O接口芯片时,CPU控制总线,即非非DMA操作操作,且为I/O访问访问,故 和 可参与译码。 控制G端。39AENAENIO/M
21、1AENIO/MAEN40倒推分析l A4A0可用于片内寻址。l A9A8= 00,可用于控制74LS138的 G2A 和 G2B 端。G端由组合信号 AEN控制(非DMA操作,且为I/O操作)。l A7A5 可用于对8253、8255等进行片选,作为C, B, A输入。41地址线A9A8A7A6A5A4A3A2A1A0地址范围地址范围823700000 xxxxx000 01FH825900001xxxxx020 03FH825300010 xxxxx040 05FH825500100 xxxxx060 07FH结论:结论:通过倒推分析,每个接口内部有32个端口,各接口芯片的地址范围同表2.
22、2一致。译码电路总的地址范围总的地址范围为0000FFH(后续的自行分析),同系统板的地址范围一致。【例2-7】已知某微机系统硬件如下图。编程实现:当端口2中最高位为1时,从端口1中读数。A2A1A0选择端口07。 42分析:分析:要使接口芯片的CS信号有效,3-8译码器的Y0 端须有效。此时A8A6A4 = 000,A9A7A5A3 = 1111。访问内部端口2时,A2A1A0 = 010,故端口2的地址为:访问内部端口1时,A2A1A0 = 001,故端口2的地址为:43地址线A9A8A7A6A5A4A3A2A1A0地址端口端口210101010102AAH地址线A9A8A7A6A5A4A3A2A1A0地址端口端口110101010012A9H已知端口1和端口2的地址,可根据题意编写程序如下:44 MOV DX,2AAH;读端口2数据L1:IN AL,DX TEST AL,10000000B ;判断端口2的最高位是否为1 JZ L1 MOV DX,2A9H;从端口1读取数据 IN AL,DX l特点:接口中的端口地址具有一定的可变性可变性。可根据要求改变端口地址,而无需修改硬件电路无需修改硬件电路。l当用户要求接口卡的端口地址能够适应不同的地址场合,或为系统以后扩充留有余地时,可用此方式。l常用的实现方法比较器地址开关跳线器45
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 20262025年养老服务管理师资格认证考试试题及答案解析
- 2026年医院医疗质量与安全管理和持续改进方案
- 2026年药学部处方管理办法培训考核试题(附答案)
- 2026年煤矿安全检查工题库带答案
- 2026年护士执业资格《基础护理学》测试卷专项训练
- 2026年传染病报告与管理规范考试试题及答案
- 2026年殡葬火化考试试题及答案
- 2025年新能源汽车充电设施运维安全知识测试试卷
- 办公室日常安全课件
- 办公室汇报课件
- 2026宜宾市属国有企业人力资源中心宜宾天原科创设计有限公司公开招聘考试备考题库及答案解析
- 老年髋部骨折诊疗与管理指南2026年版
- 2026年重庆丰都县社区工作者招聘考试【结构化面试题库+高分答题模板】(含考官评分要点)
- 统编版九年级上册 道德与法治 第二单元《进入新时代》单元检测试卷(含答案)
- 2026江西九江长途汽车运输集团有限公司劳动合同制员工招聘4人考试模拟试题及答案解析
- 2026福汽集团审计稽核部招聘2人考试模拟试题及答案解析
- 四上2-8《呵护我们的器官》教学课件
- 新生儿PICC置管与维护技术
- CSCO肾癌诊疗指南2026
- 2025四川简阳农商行社会招聘笔试历年典型考题及考点剖析附带答案详解
- 2.2.1 中国的气候 课件(共37张)地理商务星球版(2024)八年级上册
评论
0/150
提交评论