ch06-1 微型计算机输入和输出技术
- 格式:pdf
- 大小:1.62 MB
- 文档页数:45
第6章微型计算机输入和输出技术数字逻辑电路基础逻辑电路的两种类型(1)组合逻辑电路——由基本逻辑门电路构成基本门电路:与门、或门、非门(反相器)典型组合逻辑电路:译码器、加法器(2)时序逻辑电路时序逻辑电路与组合逻辑电路的不同在于,它的输出不仅与当前的输入状态有关,而且还与前一时刻的电路整体有关,因此时序逻辑电路需要对前一时刻的状态进行记忆典型时序逻辑电路:触发器、寄存器◆逻辑门的表示方法✓三种方式:电路符号、逻辑表达式、真值表✓与门(AND )•电路符号•逻辑表达式F=A·B•真值表111001010000F B A 用图表表示逻辑关系或门(OR )•电路符号•逻辑表达式F=A+B•真值表111101110000F B A非门(NOT )•电路符号•逻辑表达式F=A•真值表110F A与非门(NAND )•电路符号•逻辑表达式F=A·B•真值表11101110100F B A或非门(NOR )•电路符号•逻辑表达式F=A+B•真值表11001010100F B A异或门(XOR )•电路符号•逻辑表达式F=A ⊕B•真值表11101110000F B A◆译码器✓74LS138•3-8译码器•有3个输入变量,23=8个输出变量•逻辑符号引脚功能:G 2A 、G 2B 、G 1:译码控制端C 、B 、A :选择输入端Y 0~Y 7:译码输出端•功能表(真值表)0:低电平1:高电平X :任意1 1 1 1 1 1 1 1X X X1 X X1 1 1 1 1 1 1 1X X X X 1 X 1 1 1 1 1 1 1 1X X X X X 0 1 1 11 1 01 0 11 0 00 1 10 1 00 0 10 0 0C B A 0 1 1 1 1 1 1 11 0 1 1 1 1 1 11 1 0 1 1 1 1 11 1 1 0 1 1 1 11 1 1 1 0 1 1 11 1 1 1 1 0 1 11 1 1 1 1 1 0 11 1 1 1 1 1 1 0 Y 7 Y 6 Y 5Y 4Y 3Y 2Y 1 Y 0输出0 0 10 0 10 0 10 0 10 0 1G 2A G 2B G 10 0 10 0 10 0 1输入G 2A 、G 2B =0G 1=1,译码器为工作状态译码输出Y 0~Y 7取决于译码输入A 、B 、C◆电平触发器✓电平触发器又称D 触发器、D 锁存器✓在时钟信号C 的作用下,输出端Q 跟随输入端D 的变化✓电路符号✓真值表Q nQ n×0111 1001Q n+1Q n+1D C 若无触发信号C ,则输出保持不变,所以称触发器具有记忆功能◆寄存器✓寄存器由一组触发器组成✓由n位触发器构成的寄存器称为n位寄存器✓可以存储n位二进制信息✓4位寄存器第6章微型计算机输入和输出技术6.1 I/O接口概述6.1.1 I/O接口的功能6.1.2 I/O接口的组成6.1.3 端口的编址方式6.1.4 接口的分类6.2 I/O接口读写技术6.2.1 IN/OUT指令6.2.2 端口的组成6.2.3 I/O接口地址译码6.2.4 端口的读写控制主机:CPU 、主存储器,计算机系统还需要输入输出设备与外界交换数据,I/O 设备或外部设备。
6.1 I/O 接口概述常见外设:键盘、鼠标显示器、打印机磁盘、光盘I/O 设备的数据格式、工作速度、驱动方式等方面均有差别,不能通过系统总线直接与主机相连,必须通过I/O 接口电路与主机相连输入/输出接口:完成微处理器与外部设备间数据通信(即输入/输出)任务的接口。
包括:硬件接口电路和软件接口程序。
微处理器、微型计算机和微型计算机系统微处理器(CPU )存储器I/O 接口系统总线微型计算机(主机)外设系统软件应用软件微型计算机系统硬件系统软件系统6.1.1 I/O接口的功能◆地址译码和设备选择——CPU通过地址总线送出地址信息,I/O接口接收地址信息,进行译码,产生设备选择信号选中设备◆数据缓冲与锁存——主机与外设的工作速度差异很大,通过I/O接口中的数据缓冲器完成数据暂存,实现外设和主机的速度匹配对输入数据缓冲,对输出数据锁存,即输入缓冲、输出锁存◆传递主机控制命令、存放外设状态信息——主机了解外设状态信息,发出控制信号。
I/O接口中的命令/状态寄存器,存放控制命令、状态信息。
◆数据格式的转换——如串并格式转换(硬盘接口)、模数转换(声音适配器)◆增大驱动能力、提供工作电平——外设的电平与主机不同,电平转换◆时序控制、对外设进行中断管理6.1.2 I/O接口的组成☐三种信息:数据信息、状态信息、控制(命令)信息☐接口包含多个寄存器,能够被CPU直接访问的寄存器称为端口 存放数据信息的寄存器,称为数据端口,可分为数据输入端口和数据输出端口存放控制命令的寄存器,称为控制端口;存放状态信息的寄存器,称为状态端口接口包含多个端口:数据端口、状态端口、控制端口每个端口都有确定的端口地址,所以每个接口对应有一组端口地址统一编址独立编址6.1.3 端口的编址方式内存需分配地址,I/O 端口也需分配地址,以便CPU 访问CPU 与存储器交换信息,需通过AB 访问内存单元;与外设交换信息,需通过AB 访问I/O 端口如何实现对内存单元和I/O 端口的访问,取决于内存单元与I/O 端口的地址分配,即内存单元和I/O 端口的编址方式1. 存储器与I/O 接口统一编址•方法:将I/O 端口与存储单元同等看待,统一编址I/O 端口n I/O 端口0……存储器空间I/O 空间00000HFFFFFH•优点可用指令访问I/O 接口读/写逻辑简单•缺点占用内存空间•用于MCS-51系统2. 存储器与I/O 接口独立编址•方法:将I/O 端口与存储器地址分开,各自独立编址I/O 端口n I/O 端口0……存储器空间I/O 空间00000H FFFFFH•优点不占用内存空间专用I/O 指令,程序可读性好•缺点I/O 指令类型少,灵活性差控制线增加,硬件电路复杂0000H FFFFH 低端地址重叠•用于80×86系统注:使用系统地址总线的低16位最多可以访问64K 个端口。
•解决方法:用不同的控制线访问M:用MEMR 、MEMW访问I/O:用IOR 、IOW注:嵌入式计算机通常采用统一编址方式,通用计算机通常采用独立编址方式。
Intel 80x86系列计算机的端口地址分配6.1.4 I/O接口的分类按数据传送的格式:并行接口和串行接口按主机访问外设的控制方式:程序查询接口、程序中断接口、DMA接口以及通道控制器按功能选择的灵活性来分:可编程接口和不可编程接口按使用范围:通用接口和专用接口6.2 I/O 接口的读写技术微处理器访问I/O 接口,包括:读取和写入。
通过专门的IN、OUT指令:1)IN指令用于读取端口中的信息,OUT指令用于向端口中写入新的信息2)CPU执行IN、OUT指令时,通过系统总线发出地址信息、控制信息和数据信息,I/O 接口根据这些信息选中相应的端口,将数据送出(针对IN指令)或将数据写入端口(针对OUT指令)。
6.2.1 I/O指令(1) IN (input) 输入指令(2) OUT (output) 输出指令IN或OUT指令可以提供8位或16位数据传输,取决于外设端口宽度CPU与I/O设备通信,只能用累加器(AL或AX)接受或发送数据8086:20位地址总线,低16位地址总线,可寻址I/O端口216=65536前256个I/O端口,可在指令中直接给出端口号(直接寻址)(00~FFH, 8位地址)当端口号≥256,将端口号预先存放到DX寄存器中,再使用IN/OUT (0000~FFFFH, 16位地址) (间接寻址) 端口号或DX中的内容是端口地址,但指令传送的是端口中的数据(1) IN 输入指令说明:Port 直接给出8位端口地址,端口地址范围为00H~FFHDX 间接指明16位端口地址,端口地址范围为0000H~FFFFH操作:AL/AX ←(Port)从端口地址为xxH 的外设端口读入8位或16位数据到AL/AX AL/AX ←(DX)以DX 内容为端口地址, 从该外设端口读入8位或16位数据格式2 :IN AL, DX (8位, 字节)IN AX, DX (16位, 字)格式1 ( Port 为00~FFH ):IN AL, Port (8位, 字节)IN AX, Port (16位, 字)(2) OUT 输出指令格式1 ( Port为00~FFH ):OUT Port, AL (8位,字节)OUT Port, AX (16位,字)格式2:OUT DX, AL (字节)OUT DX, AX (字)操作:(Port) ←(AL)/(AX)从AL或AX输出8位或16位数据到外设端口(DX) ←(AL)/(AX)从AL或AX输出8位或16位数据到(DX指出的)外设端口说明:Port直接给出8位端口地址,端口地址范围为00H~FFHDX间接指明16位端口地址,端口地址范围为0000H~FFFFH从AL 输出8位数据-->端口地址为32H 的外设端口从AX 输出16位数据-->端口地址为32H 的外设端口从AL 输出8位数据-->端口地址为1400H 的外设端口从AX 输出16位数据-->端口地址为1400H 的外设端口IN 指令示例IN AL, 20H ;IN AX, 48H ;MOV AX, 48H ;MOV DX, 03FCH;IN AL, DX ;IN AX, DX ;MOV AX, DX;OUT 指令示例OUT 32H, AL ;OUT 32H, AX ;MOV DX, 1400H;MOV AL, 86H;OUT DX, AL ;MOV AX, 1280H;OUT DX, AX ;从端口地址为20H 的外设端口输入8位数据-->AL 从端口地址为48H 的外设端口输入16位数据-->AX 从端口地址为03FCH 的外设端口输入8位数据-->AL 从端口地址为03FCH 的外设端口输入16位数据-->AX 端口号或DX 中的内容是端口地址,但指令传送的是端口中的数据例:IN AX, 28H;MOV DATA_WORD, AX;将端口28H中的16位数据经过AX寄存器传送到存储单元DATA_WORD中。
例:MOV AL, 86H;OUT 5, AL;从AL寄存器输出8位数据(86H)到5号端口。
6.2.2 端口的组成端口的作用就是存放信息输入端口:信息只能被cpu读取(对端口执行IN指令)输出端口:信息只能被cpu写入(对端口执行OUT指令)端口中必不可少的部件输入端口:三态缓冲器:完成端口与系统数据总线间隔离,输入缓冲锁存器:锁存输入设备传来的数据(可省略)输出端口:锁存器:系统数据总线上传来的数据被锁存到锁存器的输出端1. 输入端口的组成输入设备CPU注:输入端口起缓冲作用,被选中的端口才能将信息送上数据总线,避免冲突。