




已阅读5页,还剩116页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第7章 常用数字接口电路,2,第7章 节 目 录,7.1 并行通信与串行通信7.2 可编程定时/计数器82537.3 可编程并行接口82557.4 可编程串行接口8250,章,3,第7章 作业,章,7.3、7.4、7.11、7.12、7.14,4,7.1.1 并行通信,1、并行通信的特点 以数据字节或字为单位进行传送,速度快,效率高;适合短距离传送;,7.1 并行通信与串行通信,计算机与计算机或计算机与外设之间的信息交换称为通信。分为并行通信与串行通信。并行通信与串行通信是指接口与外设一侧的通信方式。接口与CPU之间都是并行的。,5,2、并行通信的类型 传送方向:输入接口、输出接口数据的形式:单向传送、双向传送接口电路:简单接口、可编程接口信号类型:数字信号、模拟信号,3、PC 并行接口,25针母插座,6,1.串行数据传送方式,每个时间单位仅传送一位(Bit)信息;每个字符(字节)的各位依次传送。,优点:传输线少,成本低,传输距离远,7.1.2 串行通信,7,调制把数字信号承载到载波信号上解调从载波信号中恢复出数字信号,2.调制与解调,远距离通信时需要通过普通电话网络传输要使数字信号在电话网络上传输,需要进行信号变换把数字信号承载到模拟信号上传输,这个模拟信号称为载波信号。,调制解调器:实现调制与解调的设备,8,三种调制方式,ASK (又称为调幅) 用载波信号的不同幅度代表1和0 FSK (又称为调频) 用载波信号的不同频率代表1和0 PSK (又称为调相) 用载波信号的相位变化代表1和0,9,三种调制方式的调制波形图,10,所有串行通信都需要一个时钟信号来作为数据的定时参考。发送器和接收器用时钟来决定何时发送和读取每一位数据。,3.同步通信和异步通信,(1)串行异步通信:一帧字符用起始位和停止位 同步。,11,(2)同步通信:用同步字符完成同步,12,串行通信主要用于远距离数据传输。问题:干扰、衰减、信号畸变解决方法:差错控制技术检测、纠正,4. 数据校验,常用的数据校验方法:(1)奇偶校验 以字符为单位进行校验 发送方使发送的每个字节中1的个数为奇数或偶数;接收方检查收到的每个字节中1的个数是否符合双方的事先约定。 奇偶校验可以检查出一个字节中发生的单个错误。 奇偶校验不能自动纠错,发现错误后需“重传”。,13,(2)循环冗余校验CRC (循环冗余码/多项式编码) 以数据块(帧, Frame)为单位进行校验 编码思想:将数据块构成的位串看成是系数为0或1的多项式 如110001,可表示成多项式 x5 + x4 + 1 数据块构成的多项式除以另一个多项式G(x),得到的余数多项式R(x)就称为CRC码(或称为校验和),而G(x)则称为生成多项式。,CRC校验的检错方式:收发双方约定一个生成多项式G(x)(其最高阶和最低阶系数必须为1),发送方在帧的末尾加上校验和,使带校验和的帧的多项式能被G(x)整除;接收方收到后,用G(x)去除它,若有余数,则传输有错。,14,5.串行通信接口标准RS-232C,(1)信号线少 双工通信时,最少只需三根线。,(2)多种传输速率(波特率) 50、75、110、150、300、600、1200、2400、4800、9600、19200、38400、33.6K、56K等,15,波特率:每秒种传送的数据的位数bps(bit per second)。,3、传输距离远 RS232C电平传输距离为30米左右。 光电隔离20mA电流环传输距离1000米。,4、采用负逻辑 “1” : -5V -15V “0” : +5V +15V,16,17,串行通信接口标准:EIA RS-232C控制信号的定义,18,9芯和25芯D型头,19,串行通信接口标准:RS-232C信号电平标准,20,信号的调制和解调,21,22,节,23,8253可编程计数定时控制器具有3个独立的通道,分别称作计数器0,计数器1及计数器2,最高计数速率为2MHZ 。,7.2 可编程定时计数器8253,8253芯片由数据总线缓冲存储器、读写控制电路、控制字寄存器及3个计数通道组成。,一、8253芯片内部结构,计算机及电子系统中需要定时信号,如系统的日历时钟,动态存储器的刷新,应用系统的定时中断、定时查询与检测等。,24,25,26,1、数据总线缓冲器:D0 - D7,2、读写控制电路:/WR、/RD、/CS、A1、A0,3、通道0 - 通道2:CLK、GATE、OUT, 计数功能: 二进制计数最大0FFFFH BCD码计数最大9999 定时功能:输入固定频率时钟信号,定时系数= 定时时间/时钟周期,27,计数器0、1、2是3个相同的16位减法计数器,它们相互独立,可以分别按各自的方式进行工作。,每个计数器都包括一个16位的初值寄存器、一个计数执行单元和一个输出锁存器。,当装入初值后,计数执行单元开始对输入脉冲CLK进行减1计数,在减到零时,从OUT端输出一个信号。整个过程可以重复进行。 计数器既可按二进制计数,也可按十进制计数。在计数过程中,计数器还受到门控信号GATE的控制。,28,二、计数启动方法,1、软件启动方式,CPU向8253装入初值后,就启动计数。,由于在第二个CLK脉冲的下降沿才真正计数,因此,误差为一个脉冲。,2、硬件启动方式,CPU向8253装入初值后不启动计数,当GATE 信号由低变高后,CLK的第一个脉冲的下降沿才开始计数,故误差为一个周期。,29,三、工作方式,1、方式0又称计数结束中断方式,软启动,(2) 计数器减到0时,OUT端输出高电平。,(3) 计数器初值一次有效,不重复执行。,(4) 更新计数器初值后重新计数。,(1) GATE为高电平触发;低电平时,暂停计数,变高后继续计数。,30,若GATE信号在计数期间变低,则计数暂停,变高后继续计数。,31,2、方式1(可重复触发的单稳态触发器),(2) OUT 的负脉冲宽度为时钟周期的N倍。,(4) 在计数期间GATE变低,不影响计数。 但计数器未到0时,GATE又产生上升沿, 则从初值开始重新计数。,(3) 计数值一次性有效,不重复进行。,(1) GATE 的上升沿触发。,32,3、方式2(频率发生器),(1) GATE 高电平有效。,(2) 在计数器值减到1和0之间,OUT产生一个宽度为一个时钟周期的负脉冲。计数器减到0后,自动装入初值,循环计数,OUT输出一定频率的负脉冲序列。,(3) 计数期间,GATE变低,则停止计数,变高有效后,从初值重新计数。,33,用处:可用做分频器,为原频率的1/N。,启动方式: 当GATE=1时,可软启动。 若GATE=0,则只有当GATE由低 变高时,才开始计数,即为硬启动。,34,4、方式3(方波发生器),(1) GATE 高电平有效。,(2) 计数值N为偶数时,产生周期为N,占空比为1:1的方波,自动循环计数。,(4) 计数期间,GATE变低,则停止计数,变高有效后,从初值重新减1计数。,(3) 计数值N为奇数时,占空比为(N+1)/2 : (N-1)/2。,35,5、方式4(软件触发选通),(1) GATE高电平有效。,(3) 计数期间,若GATE变低,则停止计数,变高有效后,从初值重新减1计数。,(2) 计数值减到0时,OUT发出一个宽度为CLK周期的负脉冲。只产生一次。,36,6、方式5(硬件触发选通),(1) GATE上升沿有效,触发计数。,(2) 计数值减到0时,OUT发出一个宽度为CLK周期的负脉冲。初值自动重复装入。,37,38,四、8253控制字,39,只读写8位数据: 1、只写8位时,默认高8位为0。 2、只读低8位时,不读高8位。,读8253的计数值 1、将计数器当前值锁存在锁存器中 2、读出计数器值,40,FF04H FF07H,41,例72 写出8253的初始化程序。其中,3个CLK频率均为2MHZ。 1、计数器0在定时100s后产生中断请求; 2、计数器1用于产生周期为10 s的对称方波; 3、计数器2每1ms产生一个负脉冲。编写8253的初始化程序。,方法:先确定各个计数器的工作方式,再计算其计数器的初值。,1、计数器0工作在方式0,初值为100 s /0.5 s =200,可以只写低8位,二进制计数。所以控制字为:00010000B=10H,42,2、计数器1工作在方式3,初值为10 s /0.5 s =20,可以只写低8位,二进制计数。所以控制字为:01010110B=56H,3、计数器2工作在方式2,初值为1ms /0.5 s =2000,需要写16位,二进制计数。所以控制字为:10110100B=B4H,43,START: MOV DX,0FF07H MOV AL,10H ;计数器0,只写计数值低8位,方式0,二进制计数 OUT DX,AL MOV AL,56H ;计数器1,只写计数值低8位,方式3,二进制计数 OUT DX,AL MOV AL,0B4H ;计数器2,先写高8位再写低8位,方式2,二进制计数 OUT DX, AL MOV DX,0FF04H MOV AL, 200 ;计数器0计数初值 OUT DX,AL MOV DX,0FF05H MOV AL,20 ;计数器1的初值 OUT DX,AL MOV DX,0FF06H MOV AX,2000 ;计数器2的初值 OUT DX,AL MOV AL,AH OUT DX,AL,44,START: MOV DX,0FF07H ;控制寄存器的端口地址 MOV AL,10H ;计数器0,只写计数值低8位,方式0,二进制计数 OUT DX,AL,MOV DX,0FF04H ;计数器0的端口地址 MOV AL, 200 ;计数器0计数初值 OUT DX,AL,MOV DX,0FF05H ;计数器1的端口地址MOV AL,20 ; 计数器1的初值OUT DX,AL,MOV DX,0FF06H ;计数器2的端口地址MOV AX,2000 ; 计数器2的初值OUT DX,ALMOV AL,AHOUT DX,AL,MOV DX,0FF07H ;控制寄存器的端口地址 MOV AL,56H ;计数器1,只写计数值低8位,方式3,二进制计数OUT DX,AL,MOV DX,0FF07H ;控制寄存器的端口地址 MOV AL,0B4H ;计数器2,先写高8位再写低8位,方式2,二进制计数OUT DX, AL,45,8253实验,设置计数器0、1、2为方式3即方波发生器方式,46,47,CODE SEGMENTASSUME CS:CODEORG 100HSTART:MOV DX,4A6H;计数器0 MOV AX,36H OUT DX,AX MOV DX,4A0H MOV AX,24H OUT DX,AX MOV AX,0F4H OUT DX,AX;计数常数为0F424HMOV DX,4A6H;计数器1MOV AX,76HOUT DX,AXMOV DX,4A2HMOV AX,0AHOUT DX,AXMOV AX,0OUT DX,AX ;计数常数为000AH,MOV DX,4A6H;计数器2MOV AX,0B6HOUT DX,AXMOV DX,4A4HMOV AX,04HOUT DX,AXMOV AX,0OUT DX,AX;计数常数为0004HNEXT:NOP JMP NEXTCODE ENDSEND START,节,48,7.3 可编程并行接口8255,8255A是通用的可编程并行接口芯片,功能强,使用灵活。适合一些并行输入/输出设备的使用。,一、并行输入/输出端口A,B,C 1、 8255A芯片内部包含3个8位端口 端口A:一个8位数据输出锁存缓冲寄存器和一个8位数据输入锁存器; 端口B:一个8位数据输出锁存缓冲寄存器和一个8位数据输入缓冲寄存器; 端口C:包含一个输出锁存缓冲寄存器和一个输入缓冲寄存器。,49,50,51,2、端口C可分成两个4位端口,分别与端口A和端口B配合工作,通常将端口A和端口B定义为输入输出的数据端口,而端口C可作为状态或控制信息的传送端口。,3、端口A与端口C的高4位(PC7-PC4)组成A组; 端口B与端口C的低4位(PC3-PC0)组成B组;,4、8255A包含一个双向的8位数据缓冲存储器,既可以输入,又可以输出数据。, RESET信号:有效时,清除8255所有控制字寄存器内容,并将各端口置为输入方式。,52, A0、A1信号:端口选择信号:,53,8255的读写操作控制,54,55,二、8255芯片的控制字及其工作方式,8255A有三种工作方式:, 方式0:基本输入输出方式 方式1:选通输入输出方式 方式2:双向传送方式,端口A可工作于方式0、方式1、方式2三种方式;,端口B可工作于方式0、方式1两种方式;,端口C可工作于方式0,当端口A、B工作于方式1或2时,分成高4位和低4位,用来传送控制信息。,56,1、8255A控制字,(1)定义工作方式控制字,8255控制字定义,57,例:某系统要求使用8255:A口工作于方式1作输入,B口工作于方式0作输出,C口上半部输入,下半部输出。8255端口地址为60H-63H。,控制字为:1011 1000 B=0B8H 初始化程序为: MOVAL,0B8H OUT63H,AL,58,(2)置位/复位控制字(只对C端口),端口C置位/复位控制字,59,2、工作方式,(1)方式0:简单的输入输出操作方式,60,C口分为两个4位端口,与A、B一起,其输入输出组合有16种。,61,(2)方式1:选通的输入输出方式,A口、B口用来输入输出数据,但C口分成两部分,分别作为A口、B口的控制信号。,输入时,需要使用的控制信号:,62,63,IBF有效时,表示数据已占用该端 口的数据锁存器,是对STB信号的 回答。 CPU从接口读走数据后,缓冲器已 空,外设可继续输入数据。, IBF:输入缓冲器满信号,向外部 输出,高电平有效。,C口的PC5做A端口的IBF信号;C口的PC1做B端口的IBF信号。,64, INTR:中断请求信号,向CPU输出, 高电平有效。,C口的PC3做A端口的INTR信号;C口的PC0做B端口的INTR信号。,65,66,67,输出时,需要使用的控制信号如下:,68,输出时,需要使用的控制信号如下:,69,对于A组,PC6用来接收向端口A输入的ACK信号;对于B组,PC2用来接收向端口B输入的ACK信号。,70,对A组,PC3作为由端口A发出的INTR信号; 对B组,PC0作为由端口B发出的INTR信号。,71,72,端口A和端口B均定义为工作方式1输出,73,方式1工作方式下,端口A和端口B共有4种组合形式:,74,端口A为输入,端口B为输出,75,端口A为输出,端口B为输入,76,77,(3)方式2:双向传送方式,8255A只允许端口A使用方式2,其控制信号由C口的5条线提供,并可向CPU发出中断请求信号。,方式2主要用来实现CPU与外设之间实现双向并行通信。,端口A工作与方式2时,允许端口B工作在方式0或方式1。可以使用C口剩余的线。控制字如下:,78,端口A工作于方式2所需要的5个控制信号分别由端口C的PC7PC3来提供。 如果端口B工作于方式0,那么PC2PC0可用作数据输入输出; 如果端口B工作于方式1,那么PC2PC0用来作端口B的控制信号。,79,端口A方式2需要使用的控制信号:,80,IBF有效时,表示数据已占用该端口的数据锁存器,是对STBA信号的回答。PC5用做输出的IBFA信号。, IBFA:输入缓冲器满信号,向外部输出,高电平有效。,81, INTR中断请求信号。向CPU输出,高电平有效。 PC3用做输出的INTRA信号。 输出时: 当ACKA有效时,OBFA被复位为高电平, INTR输出高电平,向CPU发出输出中断请求。,待CPU响应该中断请求,可在中断服务程序中安排OUT或IN指令输出或读入后续数据。,82,83,0FF00H0FF03H,84,例题1,0FBC0H0FBC3H,85,MOV DX,0FBC3H MOV AL,10000001B OUT DX,AL ;初始化8255A MOV AL,00001101B ;PC6置位 OUT DX,AL MOV CX,COUNT MOV SI,OFFSET DATA GOON:MOV DX,0FBC2H IN AL,DX AND AL,02H JNZ GOON MOV DX,0FBC0H MOV AL,SI OUT DX,AL,MOV DX,0FBC2H MOV AL,0 OUT DX,AL MOV AL,40H OUT DX,AL INC SI LOOP GOON HLT,初始化和控制程序如下:,产生负脉冲,端口A为方式0,输出端口C低4位为输入,高4位为输出,86,1 0 0 0 0 0 0 1,控制字为81H时,端口A为方式0,且为输出。端口端口C低4位为输入,高4位为输出。,87,若使A口工作在方式1下,则可以使用中断方式控制打印。(看教材例7-4),88,例题2,设8255A的地址为40H 43H。,1、扫描法,2、反转法,89,START: MOV AL,10000001B OUT 43H,AL MOV AL,0OUT 40H,ALWAIT1:IN AL,42HAND AL,0FHCMP AL,0FHJE WAIT1MOV AH,ALMOV AL,10001000BOUT 43H,AL MOV AL,AHOUT 42H,ALIN AL,40HAND AL,0F0HOR AL,AH。,反转法,90,START: MOV AL,10000001B OUT 43H,AL MOV AL,0OUT 42H,ALWAIT1:IN AL,42HAND AL,0FHCMP AL,0FHJE WAIT1MOV AH,0EFHSCAN:MOV AL,AHOUT 42H,ALROL AL,1MOV AH,ALIN AL,42HAND AL,0FH,扫描法,CMP AL,0FHJE SCANAND AH,0F0HOR AH,AL。,91,例:在下图8255应用系统中,温度正常时,开关K是打开的,绿色指示灯LD亮,红色指示灯HD灭。温度异常时,开关K闭合,绿色指示灯LD灭,红色指示灯HD亮。请编写程序实现上述功能。,92,分析:1、首先需要确定8255四个端口的地址;2、正确设置8255的控制字:方式0,B口为输入,C口为输出。,A15A14A13A12 A11A10A9A8 A7A6A5A4 A3A2A1A0,X X X X X X X X X1XX XA2A1X,A、B、C、控制口地址为40H、42H、44H、46H,控制字为82H,节,93,7.4 可编程串行通信接口芯片8250,8250为通用异步通信适配器芯片,简称UART。8251为异步/同步通信适配器芯片。,一、8250的引线及功能,94,1. 并行数据I/O及其控制线,D7D0 8位双向三态数据线。,A0, A1和A2 内部寄存器选择。,CSOUT 片选输出。,DDIS 驱动器禁止。,95,2. 串行数据I/O线,SOUT 串行数据输出。,SIN 串行数据输入。,XTAL1 外部时钟输入端。,XTAL2 基准时钟信号输出端。,F工作时钟=F基准时钟除数寄存器=传送波特率16,RCLK 接收时钟输入。,96,3. 和MODEM的握手信号线,97,4.中断请求,复位输入及其他信号线,INTR 中断请求输出。,MR 主复位输入。,98,二、8250的结构及内部寄存器,99,100,101,1、通信线路控制寄存器LCR,A2A1A0 =011,LCR决定串行通信时的数据格式,102,2、线路状态寄存器LSR,A2A1A0=101,LSR存放通信过程中8250接收和发送数据的状态,103,3、发送数据保持寄存器THR4、接收数据缓冲寄存器RBR,D7 D0,CPU来的8位并行数据,发送保持寄存器THR,从低位到高位串行移位到SOUT引脚输出,D7 D0,接收移位寄存器RSR,发送移位寄存器TSR,接收缓冲寄存器RBR,从低位到高位由SIN引脚串行移位进来,8位数据并行进CPU,发送方,接收方,DLAB=0, A2A1A0 =000,104,5、波特率除数锁存器DLR,软件控制的分频器,输出的工作时钟频率为16倍的波特率。,除数寄存器值 = 基准时钟频率(16波特率),INS8250芯片输入的基准时钟频率为1.8432MHz,若波特率为1200b/s,则波特率除数为0060H,先写入低8位60H(DLL),后写入高8位00H(DLH) 。,思考题: 使用INS8250异步传输7位ASCII码,如果需要数据传输速率为240字符/秒,使用1位奇偶校验位和1位停止位,波特率除数锁存器的值是多少?,DLAB=1, A2A1A0 =001(高8位)和000(低8位),105,6、中断允许寄存器IER,DLAB=0, A2A1A0 =001,106,7、中断识别寄存器IIR,A2A1A0 =010(读),低高,107,108,8、MODEM控制寄存器MCR,A2A1A0 =100,109,9、MODEM状态寄存器MSR,A2A1A0 =110,当前状态,变化情况,4个输入信号,110,(1) CPU将要发送的数据以字符为单位写到8250 的THR中。,三、8250的工作过程,1、数据发送过程,(2)当TSR中的数据全部移出变空时,THR中的数 据并行送到TSR。,(3)TSR按照事先约定的字符传送格式,加上起始位、 奇偶校验位和停止位,以约定的波特率按照从低到高的顺序一位接一位地由SOUT端发送出去。,(4)一旦THR的内容送到TSR,就会在LSR中建立“数据发送保持
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 鱼塘行业知识培训课件
- 高铁火车乘车安全知识培训课件
- 济南市2025-2026学年九年级下学期语文期中模拟试卷
- 集安市2025-2026学年九年级上学期语文期末测试试卷
- 高速铁路胀轨课件
- 高速铁路客运概述
- 高速消防员安全知识培训课件
- 电脑知识系列培训课件
- 电脑知识培训材料课件
- 建设工程调规及用地预审服务合同
- 合同保证金转让三方协议
- 2025人教版(2024)一年级上册数学教学计划 (三篇)
- 无人机原理课件
- 1.1 精微广大-绘画的功能和种类 教学设计-2023-2024学年高中美术人美版(2019)选择性必修1 绘画
- 音响设备消费行为预测-洞察及研究
- 手术部(室)医院感染控制标准WST855-2025解读课件
- 医院信息化系统管理办法
- 2025广西来宾宾信投资集团有限公司招聘拟聘人员考前自测高频考点模拟试题及答案详解一套
- 2025年安徽演艺集团有限责任公司招聘20人笔试备考题库及完整答案详解
- 医学人文与医患沟通能力
- 安全生产施工管理方案(3篇)
评论
0/150
提交评论