您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 微机原理12输入输出接口CH7-2概要
7.1概述7.2CPU与外设数据传送的方式7.3可编程计数器/定时器82537.4串行通讯和串行接口7.5并行接口7.6DMA控制器82377.7D/A和A/D转换技术第七章输入/输出接口7.4串行通讯和串行接口•串行通信基础•可编程串行通信接口8250•可编程串行通信接口8251一、串行通信基础串行通信的概念所谓串行通讯是指外设和计算机间使用一根数据信号线一位一位地传输数据,每一位数据都占据一个固定的时间长度。“串行”是指外设与接口电路之间的信息传送方式,CPU与接口之间仍按并行方式工作。串行通信的概念信息传输的检错和纠错•串行数据在传输过程中,由于干扰可能引起信息的出错如何发现传输中的错误,叫检错。发现错误后,如何消除错误,叫纠错•最简单的检错方法是奇偶校验,即在传送字符的各位之外,再传送1位奇/偶校验位。可采用奇校验或偶校验。奇校验:所有传送的数位(含字符的各数位和校验位)中,1的个数为奇数偶校验:所有传送的数位(含字符的各数位和校验位)中,1的个数为偶数信息传输的检错和纠错奇偶校验能够检测出1位误码,但是不能纠错。串行数据传输方式全双工方式通讯双方能同时进行发送和接收操作串行数据传输方式半双工方式只有1根数据线传送数据信号,要求通讯双方的发送和接收由电子开关切换。单工方式只允许数据按照一个固定的方向传送传输速率在串行通讯中,用波特率来描述数据的传输速率波特率,即每秒钟传送的二进制位数,简写为bps接收时钟/发送时钟是波特率的倍数,称为波特率因子。例如波特率因子为32,则32个时钟脉冲移位1次。例:波特率=9600bps,波特率因子=16,则接收时钟和发送时钟频率=9600×16=153600Hz信号的调制和解调数字信号的频带宽,而普通通信线路频带较窄,如电话线频带范围仅300~3400Hz所以采用普通通信线路进行远程数据通信时,需要在发送端用调制器(Modulator)把数字信号转换为模拟信号,模拟信号经通信线路传送到接收方,接收方再以解调器(Demodulator),把模拟信号变为数字信号。大多数情况下,调制器和解调器合在一个装置中,称为调制解调器——Modem在通讯中,Modem起着传输信号的作用,是一种数据通讯设备,简称DCE接收设备和发送设备称为数据终端设备,简称DTE。信号的调制和解调串行通信的类型串行通讯可以分为两种类型:同步通讯、异步通讯异步通讯一个字符一个字符地传输,每个字符一位一位地传输,传输一个字符时,以起始位开始,然后传输字符本身的各位,接着传输校验位,最后以停止位结束该字符的传输。一次传输的起始位、字符各位、校验位、停止位构成一组完整的信息,称为帧(Frame)帧与帧之间可有任意个空闲位异步通讯异步通讯可以采用正逻辑或负逻辑异步通讯的信息格式起始位逻辑01位数据位逻辑0或15位、6位、7位、8位校验位逻辑0或11位或无停止位逻辑11位、1.5位或2位空闲位逻辑1任意数量异步通讯例:传送8位数据45H(0100,0101B),奇校验,1个停止位,则信号线上的波形为同步通讯靠同步字符完成收发双方同步多个字符成组传送,在每组信息的开始,加上同步字符,字符组和同步字符以及需要的其他字符构成一个信息帧同步字符字符1字符2……字符n校验字符数据块串行通信的接口标准在串行通信中,DTE和DCE之间的连接要符合接口标准计算机通信中使用最普遍的是RS-232C标准PC机上的COM1、COM2接口,就是RS-232C接口,使用9针和25针连接器串行通信的接口标准串行通信的接口标准TDX发送RDX接收SG信号地DSRDCE准备好DTRDTE(即微机接口电路,如8250/8251)准备好RTSDTE请求DCE发送CTSDCE允许DTE发送,该信号是对RTS信号的回答。DCD数据载波检出当本地DCE收到对方的DCE设备送来的载波信号时,使DCD有效,通知DTE准备接收,并且由DCE将接收到的载波信号解调为数字信号,经RXD线送给DTE。RI振铃信号当DCE收到交换机送来的振铃呼叫信号时,使该信号有效,通知DTE已被呼叫。串行通信的接口标准RS-232-C采用负逻辑,且信号电平与TTL不兼容串行接口芯片8250、8251均使用TTL电平,应使用电平转换电路与RS-232C连接器连接。MC1488:TTL电平→RS232电平(用于发送方)MC1489:TTL电平←RS232电平(用于接收方)串行通信的接口标准串行通信的接口标准采用Modem(DCE)和电话网通信时的信号连接串行通信的接口标准采用专用线通讯时的信号连接串行通信的接口标准无Modem的标准连接串行通信的接口标准无Modem的最简连接串行通信的接口标准无Modem时,最大通讯距离的计算:RS-232C标准规定:当误码率小于4%时,要求导线的电容值应小于2500PF。普通导线的电容值约为170PF/M。则允许距离L=2500PF/(170PF/M)=15M二、可编程串行异步通信接口82508250芯片引脚定义和功能P.2528250INTRPT8259OUT2#IRQ4CPUINTINTR8250中断请求信号与CPU的连接二、可编程串行异步通信接口82508250芯片的内部结构和寻址方式P.2548250内部控制状态寄存器的功能P.2558250内部控制状态寄存器的功能除数寄存器8250使用1.8432MHz的基准时钟输入信号,通过内部分频产生发送时钟频率和接收时钟频率。波特率因子固定为16,所以16*波特率=1843200/分频系数分频系数即为除数除数=1843200/(16*波特率)8250通信编程P.257P.2608250应用举例三、可编程串行通信接口8251通过编程,可以实现异步通讯协议或面向字符的同步通讯协议,波特率:同步方式下:0-64Kbps;异步方式下:0-19.2Kbps。同步方式下,每字符为5,6,7,8位,能自动检测同步字符,自动添加奇偶校验。异步方式下,每字符可为5,6,7,8位,自动增加起始位、停止位和校验位。8251的结构模式寄存器:决定工作于同步或异步模式以及接收和发送的字符格式同步字符寄存器:存放同步模式下的同步字符8251的引脚信号C/D#:该信号一般连至地址线A0,用于选择控制端口/数据端口。数据输入输出寄存器合用一个端口,控制寄存器与状态寄存器合用一个端口。TxE:通知CPU发送移位寄存器空。此时,在状态寄存器的TxE位置1。CPU可以查询TxE信号或状态寄存器的TxE位TxRDY:告诉CPU,8251已准备好发送,CPU可以为其提供需要发送的字符RxRDY:通知CPU,8251已从外部设备收到一个字符,等待CPU读取。CPU可以查询该信号,或把该信号作为中断请求信号。SYNDET:同步检测信号,只用于同步方式TXC、RXC:8251没有内置的波特率发生器,必须由外部产生建立波特率的时钟信号,TXC、RXC通常与8253连接8251的引脚信号8251的命令字与初始化编程模式寄存器的格式8251的命令字与初始化编程控制寄存器与状态寄存器的格式8251的命令字与初始化编程8251与CPU的数据交换查询方式/中断方式采用查询方式,在数据交换前应读取状态寄存器。状态寄存器D0=1,CPU可以向8251数据端口写入数据,完成串行数据的发送状态寄存器D1=1,CPU可以从8251数据端口读出数据,完成一帧数据的接收8251的命令字与初始化编程流程8251编程示例例:编写8251异步模式下的接收和发送程序,完成256个字符的发送和接收,设端口地址:208H,209H,波特率因子16,1起始位,1停止位,无奇偶校验,每字符8位。MOVDX,209HMOVAL,40H;复位命令。OUTDX,ALMOVAL,01001110B;模式字MOVDX,ALMOVAL,0011,0111B;控制字OUTDX,ALMOVCX,256;发送256字节NEXT:MOVDX209HINAL,DX;状态字ANDAL,01H;TXRDY?JZNEXTMOVAL,CLMOVDX,208HOUTDX,AL;发送LOOPNEXT发送程序接收程序接收256字节,放在buf中DatasegmentbufDB256dup(?)Dataends┆MOVDX,209HMOVAL,40H;复位OUTDX,ALMOVAL,0100,1110B;模式字OUTDX,ALMOVAL,0011,0111B;控制字OUTDX,ALMOVCX,256;接收256字节MOVSI,0NEXT:MOVDX,209HINAL,DX;状态字ANDAL,02H;RXRDY?JZNEXTMOVDX,208HINAL,DX;接收1字符MOVbuf[SI],ALINCSILOOPNEXT7.5并行接口•并行接口的特点•可编程并行通信接口芯片8255一、并行接口的特点并行接口是在多根数据线上,以字节/字为单位与I/O设备交换数据二、可编程并行通信接口芯片82558255芯片引脚定义与功能P.2448255寻址方式P.2468255没有状态寄存器8255的控制字方式选择控制字端口C置位/复位控制字P.248注意:C口控制字虽然是对端口C操作,但应写入到控制口地址,而不是写入到C数据口8255的控制字编程举例:设A、B、C数据口地址分别位60H、61H、62H、控制口端口地址63H1:A口方式0,输出、B口方式0,输入,C口高4位输出,C口低4位入MOVAL,10000011BOUT63H,AL2:PC7置1,PC3置0MOVDX,63HMOVAL,0000,1111B;PC7置1OUTDX,ALMOVAL,0000,0110B;PC3置0OUTDX,AL8255的工作方式0P.2468255作为打印机接口,工作于方式0程序设计:设PA、PB、PC口地址分别为0D0H、0D2H、0D4H控制口地址:0D6HMOVAL,81H;OUT0D6H,ALMOVAL,0DH;①PC6置1,0DH=0000,1101OUT0D6H,ALLPST:INAL,0D4H;读PC口ANDAL,04D;②打印机忙否(PC2=BUSY=?)JNZLPST;PC2=1,打印机忙,等待MOVAL,CLOUT0D0H,AL;③CL中的字符送PA口MOVAL,0CHOUT0D6H,AL;④置PC6=0,即=0;00001100=0CHINCALOUT0D6H,AL;置PC6=1,即=1,00001101=0DH┆8255的工作方式1——选通输入输出方式P.247主程序:MAIN:MOVAL,0A0H;方式选择控制字OUT0C6H,ALMOVAL,01H;OUT0C6H,ALCLI;替换中断向量前关中断MOVAH,25H;替换中断向量的典型方式MOVAL,0BH;IR3的类型码为0BHMOVDX,OFFSETROUTINTRPUSHDSMOVAX,SEGROUTINTRMOVDS,AXINT21HPOPDSMOVAL,0DH;PA方式1输出,“置PC6=1的操作”OUT0C6H,AL;使8255允许中断(INTEA=1)STI;CPU开中断┆假设:A口地址0C0HB口地址0C2HC口地址0C4H控制口0C6H中断处理程序ROUTINTR:MOVAL,[DI];DI为打印字符缓冲区地址OUT0C0H,ALMOVAL,00H;置PC0=0OUT0C6H,ALINCAL;置PC0=1┆IRET8255的工作方式2——选通双向传输方式P.249
本文标题:微机原理12输入输出接口CH7-2概要
链接地址:https://www.777doc.com/doc-4820104 .html