版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计数定时接口171823外部引线及内部结构外部引线及内部结构DBD7-D08253A1A0WRRDCS通道通道2通道通道1通道通道0CLK0GATE0OUT0CLK1GATE1OUT1CLK1GATE1OUT1A1A0IOWIOR片选信号片选信号4与系统总线连接的主要引脚:与系统总线连接的主要引脚:lD7D0(数据线)lCSlRDlWRlA1,A0 (地址线)用于选择四个编址部件之一用于选择四个编址部件之一A1 A0 选选 择择0 0 计数通道计数通道00 1 计数通道计数通道11 0 计数通道计数通道21 1 控制寄存器控制寄存器5定时定时/计数器芯片与外部连接的主要引脚:计数器芯片与外部连
2、接的主要引脚:每通道均相同每通道均相同CLKn 时钟脉冲输入,计数器的计时基准。时钟脉冲输入,计数器的计时基准。GATEn 门控信号输入,控制计数器的启停。门控信号输入,控制计数器的启停。OUTn 计数器输出信号,不同工作方式下计数器输出信号,不同工作方式下 产生不同波形。产生不同波形。 (n = 02) 6定时定时/计数器计数器8253内部内部:有有3个定时个定时/计数器计数器: 定时定时/计数器计数器0 定时定时/计数器计数器1 定时定时/计数器计数器2 每个计数器均包括每个计数器均包括:一个一个16位初值寄存器和一个位初值寄存器和一个16位计位计 数寄数寄存器(减法计数器)。存器(减法计
3、数器)。有有1个个8位控制寄存器位控制寄存器 存放控制命令字存放控制命令字 7通过对通过对4个端口地址的访问可实现如下操作:个端口地址的访问可实现如下操作:RDWR01AACS操作 0 0 1 00定时/计数器0读访问0 1 0 00 定时/记数器0写访问0 0 1 01 定时/记数器1读访问0 1 0 01 定时/记数器1写访问0 0 1 10 定时/记数器2读访问0 1 0 10 定时/记数器2写访问0 1 0 11 控制寄存器写访问8定时定时/计数器的工作过程计数器的工作过程 1. 设置设置8253的工作方式;的工作方式; 2. 设置计数初值到初值寄存器;设置计数初值到初值寄存器; 3.
4、 第一个第一个CLK信号使初值寄存器的内容置入信号使初值寄存器的内容置入 计数寄存器;计数寄存器; 4. 以后每来一个以后每来一个CLK信号,计数寄存器减信号,计数寄存器减1 ; 5. 减到减到0时,时,OUT端输出一特殊波形的信号。端输出一特殊波形的信号。注:以上计数过程中还受到注:以上计数过程中还受到GATE信号的控制信号的控制9二、计数启动方式二、计数启动方式软件启动过程软件启动过程GATE端保持为高电平,当写入计数初值端保持为高电平,当写入计数初值 后的第后的第2个个 CLK脉冲的下降沿开始数。脉冲的下降沿开始数。硬件启动过程硬件启动过程GATE端出现有一个上升沿后,对应端出现有一个上
5、升沿后,对应CLK 脉冲的下降沿开始计数。脉冲的下降沿开始计数。程序指令启动程序指令启动软件启动。软件启动。外部电路信号启动外部电路信号启动硬件启动。硬件启动。10三、工作方式三、工作方式l 方式方式0计数结束中断请求方式;计数结束中断请求方式;l 方式方式1可编程单脉冲方式(单稳态触发器可编程单脉冲方式(单稳态触发器);l 方式方式2频率发生器(连续负脉冲发生器);频率发生器(连续负脉冲发生器);l 方式方式3方波发生器;方波发生器;l 方式方式4软件触发选通;软件触发选通;l 方式方式5硬件触发选通;硬件触发选通;11工作方式介绍工作方式介绍方式0(计数结束中断计数结束中断) 软件启动,不
6、自动重复计数。软件启动,不自动重复计数。 装入方式字装入方式字OUT端变低电平,写入计数初值后,每一次端变低电平,写入计数初值后,每一次时钟时钟CLK下跳沿做一次减下跳沿做一次减1计数,减计数,减1到到0计数结束计数结束OUT输出输出高电平。高电平。方式1 硬件启动,不自动重复计数。硬件启动,不自动重复计数。 装入方式字和计数初值后装入方式字和计数初值后OUT端为电平,当端为电平,当GATE端有端有上跳变脉冲时,上跳变脉冲时,OUT端变为低电平,端变为低电平,计数开始,每一次时钟计数开始,每一次时钟CLK下跳沿做一次减下跳沿做一次减1计数,减计数,减1到到0计数结束计数结束OUT输出高电输出高
7、电平。平。 12方式方式2 可软、硬件启动,自动重复计数。可软、硬件启动,自动重复计数。 装入方式字和初值后装入方式字和初值后OUT端变高电平,端变高电平,每一次每一次时钟时钟CLK下跳沿做一次减下跳沿做一次减1计数,计数,计数至计数至1时时OUT输输出一个时钟周期的负脉冲,计数初值又自动赋值给出一个时钟周期的负脉冲,计数初值又自动赋值给减减1计数器,并连续重复上述过程。计数器,并连续重复上述过程。注:注:设设CLK时钟周期为时钟周期为tg,计数初始值为,计数初始值为N,则连续负脉冲,则连续负脉冲周期周期T=N*tg。13方式方式3(方波发生器方波发生器) 可软、硬件启动,自动重复计数。可软、
8、硬件启动,自动重复计数。 装入方式字和初值后装入方式字和初值后OUT端为高电平,然后端为高电平,然后OUT连续输出对称方波:计数初值连续输出对称方波:计数初值N为偶数时,为偶数时,正负波对称,均为正负波对称,均为设设CLK时钟周期为时钟周期为tg,计数初始值为,计数初始值为N,则连续方波,则连续方波周期周期T=N*tg。14方式方式4(软件触发选通软件触发选通) 软件启动,不自动重复计数。软件启动,不自动重复计数。 装入方式字和初值后输出端变高电平,装入方式字和初值后输出端变高电平,每一次时钟每一次时钟CLK下跳沿做一次减下跳沿做一次减1计数,计数,计数结束输出一个计数结束输出一个CLK宽度的
9、负脉冲。宽度的负脉冲。方式方式5 硬件启动,不自动重复计数。硬件启动,不自动重复计数。 OUT端波形与方式端波形与方式4相同。相同。15四、四、8253控制字控制字用于确定各计数器的工作方式。用于确定各计数器的工作方式。l 8253必须先初始化才能正常工作。每个计数器都必必须先初始化才能正常工作。每个计数器都必须初始化一次。须初始化一次。l CPU通过通过OUT指令把控制字写入控制寄存器。指令把控制字写入控制寄存器。16格格 式式注:注:二进制计数二进制计数最大计数值为最大计数值为FFFFH十进制计数(十进制计数(BCD码计数)码计数)最大计数值最大计数值9999H8253回顾回顾1.假设82
10、53与系统接口地址为80H-83H,则定时器/计数器0的地址为( )。 A 80H B 81H C 82H D 83H 2.计算机只能对8253进行写操作的端口是( )。A. 定时器/计数器0通道;B. 定时器/计数器1通道;C.定时器/计数器2通道;D. 控制寄存器;173. 8253有( )个独立16位可编程定时器/计数器,每个定时器/计数器通道均有( )种工作方式,如果对8253控制口写入如下控制字CW=10110110B,则对8253进行了( )初始化。4. 8253定时器/计数器启动方式有两种分别是( )和( )。 1819五、五、8253的应用的应用l如何与系统总线连接?如何与系统
11、总线连接?l如何对如何对8253编程?编程? 设置工作方式设置工作方式 置计数初值置计数初值208253与系统总线的连接与系统总线的连接CLKiGATEiOUTiD0D7WRRDA1A0CSDBIOWIORA1A0译码器译码器高位地址高位地址A15-A28253共三组共三组21例例 给给8088系统总线连接一片系统总线连接一片8253定时计数器,定时计数器,要求端口地址为要求端口地址为80H-83H。画出接口硬件图。画出接口硬件图。例例 给给8086系统总线连接一片系统总线连接一片8253定时计数器,定时计数器,要求端口地址为要求端口地址为80H、82H、84H、86H。画。画出接口硬件图。出
12、接口硬件图。(与与8086CPU连接的连接的I/O端口端口地址必须都是偶地址)地址必须都是偶地址)228253编程编程 初始化程序流程初始化程序流程写控制字写控制字写计数值低写计数值低8位位写计数值高写计数值高8位位*非必须非必须写入顺序:写入顺序: 可按计数器分别写可按计数器分别写入控制字和初值。入控制字和初值。 也可先写所有计数也可先写所有计数器控制字,再写入器控制字,再写入它们的初值它们的初值23例:例: 8253的计数器的计数器2用作方式用作方式2,将频率为,将频率为1.19MHz的输入的输入脉冲转变成频率为脉冲转变成频率为500Hz的脉冲信号。的脉冲信号。8253的端口地址为的端口地
13、址为70H73H。试编写初始化程序段。试编写初始化程序段。解解: N1.19106/500 = 2380 094CH则其初始化程序段为:则其初始化程序段为: MOV AL,0B4H;10110100,计数器,计数器2方式方式2二进制计数二进制计数OUT 73H,AL;控制字送入控制寄存器;控制字送入控制寄存器MOV AL,4CHOUT 72H,AL ;计数值低;计数值低8位送入计数器位送入计数器2MOV AL,09HOUT 72H,AL ;计数值高;计数值高8位送入计数器位送入计数器2 24例:例: 采用采用8253作定时作定时/计数器,其接口地址为计数器,其接口地址为0120H0123H。输
14、入输入8253的时钟频率为的时钟频率为2MHz。计数器计数器0: 每每10ms输出输出1个个CLK脉冲宽的负脉冲(方式脉冲宽的负脉冲(方式2)计数器计数器1: 产生产生10KHz的连续方波信号的连续方波信号 (方式(方式3) 计数器计数器2: 启动计数启动计数5ms后后OUT输出高电平(方式输出高电平(方式0)画线路连接图,并编写初始化程序。画线路连接图,并编写初始化程序。 25CLK0GATE0OUT1D0D7WRRDA1A0CSDBWRRDA1A0译码器译码器8253CLK2GATE1GATE2+5VCLK12MHzOUT0OUT2?线路连接图:线路连接图:26l 确定计数初值:确定计数初
15、值: CNT0: N0=10ms/0.5us = 20000 (65535) CNT1: N1=2MHz/10KHz = 200 CNT2: N3=5ms/0.5us = 10000l 确定控制字:确定控制字: CNT0:方式:方式2,16位计数值位计数值 00 11 010 0 CNT1:方式:方式3,低,低8位计数值位计数值 01 01 011 0 CNT2:方式:方式0, 16位计数值位计数值 10 11 000 0278253应用举例应用举例 初始化程序初始化程序CNT0:MOV DX, 0123HMOV AL, 34HOUT DX, ALMOV DX, 0120HMOV AX, 20
16、000OUT DX, ALMOV AL, AHOUT DX, ALCNT1: MOV DX, 0123HMOV AL, 56HOUT DX, ALMOV DX, 0121HMOV AL, 200OUT DX, ALCNT2:MOV DX, 0123HMOV AL, 0B0HOUT DX, ALMOV DX, 0122HMOV AX,10000OUT DX, ALMOV AL, AHOUT DX, AL28*如何扩展定时如何扩展定时/计数范围计数范围? 当定时长度不够时,可把当定时长度不够时,可把2个或个或3个计个计数通道串联起来使用,甚至可把多个数通道串联起来使用,甚至可把多个8253串联起来
17、使用。串联起来使用。 例:例:CLK频率为频率为1MHz,要求在,要求在OUT1端产端产生频率生频率1Hz的脉冲。的脉冲。 29这时可将计数器这时可将计数器0、1串联,工作方式都均为方式串联,工作方式都均为方式3,计数初值均为计数初值均为1000。连接方法见下图。连接方法见下图。1MHz1KHz1Hz308253小结小结l 包含包含3个个16位计数器通道位计数器通道l 4个编址部件:个编址部件:CNT0/1/2和控制寄存器和控制寄存器l 每个计数器通道工作前必须初始化:每个计数器通道工作前必须初始化:控制字和计数初值控制字和计数初值l 6种工作方式种工作方式l 每种工作方式:启动方式、输出波形
18、、是否可重每种工作方式:启动方式、输出波形、是否可重复计数等各不相同复计数等各不相同.315.5 5.5 可编程可编程并行接口芯片并行接口芯片82558255特点:特点:l含含3个独立的个独立的8位并行输入位并行输入/输出端口,各输出端口,各端口均具有数据的控制和锁存能力端口均具有数据的控制和锁存能力;l可通过编程设置各端口的工作方式和数可通过编程设置各端口的工作方式和数据传送方向(入据传送方向(入/出出/双向)。双向)。32一、引脚介绍一、引脚介绍连接系统端的主要引线:连接系统端的主要引线:lD0D7lCSlRDlWRlA0,A1 lRESET复位信号复位信号,接系统总线的接系统总线的RES
19、ETA1 A0 选择选择0 0 端口端口A0 1 端口端口B1 0 端口端口C1 1 控制寄存器控制寄存器(只写口只写口)注:注: 8255复位后复位后(1)控制寄存器清零;控制寄存器清零;(2)A、B、C三个端口皆为输入口,且内容皆三个端口皆为输入口,且内容皆为为0; 3334引脚(续)连接外设端的引脚:连接外设端的引脚:lPA0PA7lPB0PB7lPC0PC7分别对应分别对应A、B、C三三个个8位输入位输入/输出端口输出端口其中,其中,C口即可用作独立的输入口即可用作独立的输入/输出口,也可输出口,也可用作用作A、B口的控制信号或状态信号。口的控制信号或状态信号。35二、二、8255与与
20、8088系统的连接示意图系统的连接示意图D0D7WRRDA1A0CSDBIOWIORA1A0译码器译码器8255A口口B口口C口口D0D7外外 设设A15A2系系统统总总线线36三、三、8255工作方式工作方式基本输入基本输入/输出方式(方式输出方式(方式0),(),(A、B、C口)口)选通输入选通输入/输出方式(方式输出方式(方式1),(仅),(仅A、B口)口)双向传送方式(方式双向传送方式(方式2),(仅),(仅A口)口)371 、 工作方式工作方式0要点:要点:l 8255 A口、口、B口、口、C口均为工作方式口均为工作方式0时,时,相当于相当于三个独立的三个独立的8位简单接口。位简单接
21、口。l A、B端口既可设置为输入口,也可设置为输出端口既可设置为输入口,也可设置为输出口,但不能同时实现输入及输出。口,但不能同时实现输入及输出。l C端口即可以是一个端口即可以是一个8位的简单接口,也可以分位的简单接口,也可以分为两个独立的为两个独立的4位端口,分别设定输入输出方向。位端口,分别设定输入输出方向。38A口、口、B口、口、C口均为方式口均为方式0使用时,输入或输出方向可由使用时,输入或输出方向可由方方式字式字设置,如下所示:设置,如下所示:392 、 工作方式工作方式1 只有只有A、B口可使用方式口可使用方式1。当。当A、B口以方口以方式式1作输入或输出口使用时,作输入或输出口
22、使用时,C口就不能做口就不能做I/O口口使用了,使用了,C口的部分位固定用作口的部分位固定用作A、B口的选通控口的选通控制信号或状态信号。制信号或状态信号。40例如:例如:A口、口、B口均为方式口均为方式1输入时,输入时, C口的引脚功能口的引脚功能l STB选通信号。它将外设数据送入选通信号。它将外设数据送入8255的输入缓冲器。的输入缓冲器。l IBF输入缓冲器满。输入缓冲器满。CPU用用IN指令取走数据后,此信号被清除。指令取走数据后,此信号被清除。l INTR中断请求。中断请求。STB的后沿产生,可用于中断的后沿产生,可用于中断CPU,让,让CPU读读走输入锁存器中的数据。走输入锁存器
23、中的数据。 是否允许发出是否允许发出INTR请求,受中断允许位请求,受中断允许位INTE控制。只有在控制。只有在 INTE =1且且IBF为高电平时,才发出为高电平时,才发出INTR请求信号。请求信号。4142(2)A口、口、B口均为方式口均为方式1输出时输出时 C口的引脚功能口的引脚功能l OBF输出缓冲器满输出缓冲器满,低电平有效低电平有效,通知外设取走数据。通知外设取走数据。l ACK外设响应信号,表示已从数据端口取走数据。此信号使外设响应信号,表示已从数据端口取走数据。此信号使OBF变高。变高。l INTR8255发出的中断请求信号,通知发出的中断请求信号,通知CPU输出下一个数据。输
24、出下一个数据。 是否允许是否允许8255产生产生INTR信号,由中断允许位信号,由中断允许位INTE控制,只有在控制,只有在INTE=1和和OBF为高电平时(输出缓冲器空)时,为高电平时(输出缓冲器空)时,INTR才有效。才有效。43443 、工作方式、工作方式2(双向方式双向方式) 只有只有A口可工作在方式口可工作在方式2下,下,A口工作在方式口工作在方式2时,时,C口的口的5条线为条线为A口提供口提供传输联络信号。传输联络信号。 方式方式2为双向方式为双向方式既是输入口,又是输出口。既是输入口,又是输出口。 方式方式2时时C口的引脚功能口的引脚功能 A口做输入口使用时,能否发中断请求,受口
25、做输入口使用时,能否发中断请求,受INTE2控制;控制;A口做输口做输出口使用时能否发出中断请求,受出口使用时能否发出中断请求,受INTE1控制。控制。 45方式方式2的应用说明:的应用说明: 当当A口工作于方式口工作于方式2时,时,B口允许工作于方式口允许工作于方式0或方式或方式1。(1)当)当A口工作于方式口工作于方式2,B口工作于方式口工作于方式0时时PC口引脚功能为:口引脚功能为:(2)当)当A口工作于方式口工作于方式2,B口工作于方式口工作于方式1输入时输入时PC口引脚功能为:口引脚功能为:46(3)当当A口工作于方式口工作于方式2,B口工作于方式口工作于方式1输出时输出时PC口引脚
26、功能为:口引脚功能为:47各种工作方式下如何设定各种工作方式下如何设定8255的中断允许:的中断允许:INTE可利用对可利用对C口的位控操作来设置:口的位控操作来设置:方式方式1输入:输入: A口的口的INTEA:对:对PC4按位置按位置1或清或清0 B口的口的INTEB:对:对PC2按位置按位置1或清或清0方式方式1输出:输出: A口的口的INTEA:对:对PC6按位置按位置1或清或清0 B口的口的INTEB:对:对PC2按位置按位置1或清或清0双向方式双向方式_方式方式2 INTE1:对对PC.bit6按位置按位置1或清或清0 INTE2:对对PC.bit4按位置按位置1或清或清0如何对如
27、何对PC口进行位控操作见口进行位控操作见8255编程编程!48四、四、8255 8255 的初始化编程的初始化编程 包含两个内容:工作方式设置及对包含两个内容:工作方式设置及对PCPC口按位操作口按位操作 设定设定82558255工作方式以及对工作方式以及对PCPC口按位操作均是通口按位操作均是通过对过对82558255的的控制寄存器写操作控制寄存器写操作完成的。完成的。方式控制字:确定方式控制字:确定3 3个端口的工作方式;个端口的工作方式;C C口按位控制字:对口按位控制字:对8255 PC8255 PC口按位置口按位置1 1或清或清0 0;49方式控制字方式控制字50C口按位置口按位置1
28、或清或清0控制字控制字8255知识回顾1、8255是一个可编程并行接口芯片,在与计算机总线连接时,可形成(是一个可编程并行接口芯片,在与计算机总线连接时,可形成( )个端口地址。若端口地址是)个端口地址。若端口地址是F8H、F9H、FAH和和FBH,则,则PA口地址口地址是(是( ),控制寄存器口地址是(),控制寄存器口地址是( )。)。2、8255的的PA口、口、PB口、口、PC口均为(口均为( )位并行接口,可通过对)位并行接口,可通过对8255进行初始化编程来设置各端口的工作方式和传输方向,当进行初始化编程来设置各端口的工作方式和传输方向,当PA、PB口选择方式口选择方式1、方式、方式2
29、使用时,使用时,C口就不能做为(口就不能做为( )使用了,)使用了,C口口的部分位固定用作的部分位固定用作A、B口的(口的( )信号或()信号或( )信号。)信号。3、PA口选择方式口选择方式1输入口使用时,输入口使用时,8255能发出能发出INTRA中断请求信号的条中断请求信号的条件是(件是( )。)。4、8255初始化编程包括(初始化编程包括( )和()和( ),两项内容均写入,两项内容均写入8255的(的( )端口。)端口。5、设、设8255端口地址是端口地址是200H-203H,PA口选择方式口选择方式1输入口使用,不允许输入口使用,不允许中断,中断,PB口选择方式口选择方式1输出口使
30、用,允许中断,对输出口使用,允许中断,对8255初始化编程。初始化编程。52例例 设设8255与系统连接形成的端口地址为与系统连接形成的端口地址为120H123H。设定。设定A 口为方式口为方式1输入,输入,B口为方式口为方式0输出,允许输出,允许A口中断,口中断,C口口I/O线线设定为输出。编程对设定为输出。编程对8255初始化。初始化。53五、五、8255芯片的应用芯片的应用8255芯片与系统的连接;芯片与系统的连接;8255编程:编程: 包括包括8255芯片的初始化(设置芯片的初始化(设置8255各口工作各口工作方式、按位设置方式、按位设置C口指定位状态)口指定位状态) 对对8255相应
31、输入相应输入/或输出口的访问编程;或输出口的访问编程;54例例1 1 在看懂下面硬件图基础上按下列要求对在看懂下面硬件图基础上按下列要求对82558255和和82538253编程。编程。 要求:要求:(1 1)当开关闭合时,使相应继电器通电动作;开关)当开关闭合时,使相应继电器通电动作;开关断开时,继电器不动作;断开时,继电器不动作;(2 2)系统每隔)系统每隔100ms100ms检测一次开关状态,实现相应的检测一次开关状态,实现相应的继电器控制;继电器控制;(3 3)初始状态下继电器不动作。)初始状态下继电器不动作。5510HzCSA0A1WRRDDBPA0PA7PB0PB7+5V+12VK
32、继电器继电器384H387H388H38BHCSA0A1OUT1CLK12MHzCLK0OUT08259APICWRRDDB82538255INTRQ1R1R2D12KHzA1A0IORIOWD7-D056题目分析:题目分析:使使8255的的A端口和端口和B端口均工作于方式端口均工作于方式0;且;且A口为输出,口为输出,B口为输入。口为输入。8253计数器计数器0和计数器和计数器1均工作于方式均工作于方式3,利用,利用OUT0的输的输出作为计数器出作为计数器1的时钟信号,其输出频率为的时钟信号,其输出频率为2KHz, OUT1输出频率为输出频率为10Hz(周期周期100ms);OUT1作为中断
33、信号,每作为中断信号,每100ms产生一次中断;产生一次中断;CPU响应中断后检测开关状态,控制继电器的动作;响应中断后检测开关状态,控制继电器的动作;8253两个计数器的计数初值分别为:两个计数器的计数初值分别为: CNT0:2MHz/2KHz =1000 (16位)位) CNT1:100ms/0.5ms=200 (8位)位)578255和和8253的初始化的初始化;-8255初始化初始化-MOV DX,387HMOV AL,82H ;1 00 0 0 0 1 0OUT DX,AL XOR AL,AL ;A口输出全口输出全0MOV DX,384HOUT DX,AL;-8253初始化初始化-M
34、OV DX ,38BHMOV AL,00110110BOUT DX,ALMOV AL,01010110BOUT DX,ALMOV DX,388HMOV AX,1000OUT DX,ALMOV AL,AHOUT DX,ALMOV DX,289HMOV AL,200OUT DX,AL588259编程略。编程略。 8253每每100ms产生一次中断请求,进入中断服务程序后对产生一次中断请求,进入中断服务程序后对8255相应相应输入输入/或输出口的访问编程:或输出口的访问编程:;-100mS中断服务程序中断服务程序- 100mSINT: MOV DX,385H ;PB口地址口地址 IN AL,DX ;
35、读;读PB0状态状态 NOT AL ;变反;变反 MOV DX,384H ;输出到继电器;输出到继电器 OUT DX,AL IRET59例例2 看懂硬件图,对看懂硬件图,对8255编程完成将内存编程完成将内存BUFF开始存储的开始存储的100字节数字节数据送打印机打印。设据送打印机打印。设8255端口地址为:端口地址为:200H-203H。60;-8255初始化初始化- MOV DX,203H MOV AL,10100000B ;A口设置为方式口设置为方式1输出,输出,C口口 I/O线设置为输出线设置为输出 OUT DX,AL MOV AL,00001101B ;允许允许A口中断(口中断(PC
36、6置置1) OUT DX,AL MOV AL,00000000BH OUT DX,AL ;打印机初始状态未启动打印机初始状态未启动 START: . . . MOV SI,OFFSET BUFF MOV CX,100 STI ;CPU开中断开中断WAIT: MOV DX,203H MOV AL,00000001B OUT DX,AL ;启动打印机等待中断请求启动打印机等待中断请求 JCXZ RETX JMP WAIT RETX: HLT ;-INTRA中断服务程序- PUSH AX PUSH DX STI MOV AL, SI MOV DX,200H OUT DX,AL INC SI DEC
37、CX POP DX POP AX IRET645.65.6可编程串行通信接口了解:l串行通信的一般概念 工作方式、同步方式、数据格式、物理标准l串行通信的接口标准串行通信的接口标准 EIA RS-232Cl可编程串行异步通信接口可编程串行异步通信接口8250(UART) 连接、编程、应用UART: Universal Asynchronous Receiver Transmitter*657.4.1串行通信基本概念串行通信:串行通信: 每个时间单位仅传送一位信息;每个时间单位仅传送一位信息; 每个字符每个字符(字节字节)的各位依次传送;的各位依次传送; 字符之间的间隔不定。字符之间的间隔不定。
38、优点:优点: 传输线少,成本低,传输距离远传输线少,成本低,传输距离远661.串行通信工作方式单工通信只能由一方发送,例:广播半双工通信某一时刻只能由一方发送,例:对讲机全双工通信双方可同时传输,例:电话同步通信同步通信双方对每一位的收发时序完全一致,统一时钟双方对每一位的收发时序完全一致,统一时钟异步通信异步通信收发双方时钟不统一收发双方时钟不统一67单工/双工操作发送器发送器接收器接收器发送器发送器/接收器接收器发送器发送器/接收器接收器发送器发送器/接收器接收器发送器发送器/接收器接收器单工方式:单工方式:半双工方式:半双工方式:全双工方式:全双工方式:A站站B站站68电话网络模拟信号,
39、计算机数字信号。远距离通信时需要通过普通电话网络传输数字信号:频带宽电话网络:频带窄 要使数字信号在电话网络上传输,需要进行信号变换把数字信号承载到模拟信号上传输,这个模拟信号称为载波信号。调制把数字信号承载到载波信号上解调从载波信号中恢复出数字信号调制解调器:实现调制与解调的设备*2. 调制与解调69三种调制方式根据载波 Acos(t + )的三个参数:幅度、频率、相位,产生常用的三种调制技术:幅移键控法 Amplitude-Shift Keying (ASK)频移键控法 Frequency-Shift Keying (FSK)相移键控法 Phase-Shift Keying (PSK) A
40、SK (又称为调幅) 用载波信号的不同幅度代表1和0FSK (又称为调频) 用载波信号的不同频率代表1和0PSK (又称为调相) 用载波信号的相位变化代表1和0(有变化为1,无变化为0)70串行通信主要用于远距离数据传输。问题:干扰、衰减,信号畸变解决方法:差错控制技术检测、纠正常用的数据校验方法: 奇偶校验:l以字符为单位进行校验l发送方使发送的每个字节中1的个数为奇数或偶数;接收方检查收到的每个字节中1的个数是否符合双方的事先约定。l奇偶校验可以检查出一个字节中发生的单个错误。l奇偶校验不能自动纠错,发现错误后需“重传”。3. 数据校验71循环冗余校验CRC (循环冗余码/多项式编码)l
41、以数据块(帧, Frame)为单位进行校验l 编码思想:将数据块构成的位串看成是系数为0或1的多项式 如110001,可表示成多项式 x5 + x4 + 1 数据块构成的多项式除以另一个多项式G(x),得到的余数多项式R(x)就称为CRC码(或称为校验和),而G(x)则称为生成多项式。l CRC校验的检错方式:收发双方约定一个生成多项式G(x),发送方在帧的末尾加上校验和,使带有校验和的帧的多项式能被G(x)整除;接收方收到后,用G(x)去除它,若余数为0,则传输正确,否则传输有错。数据校验72lCRC校验和计算方法校验和计算方法若G(x)为r阶,原帧为m位,其多项式为M(x),则在原帧后面添
42、加r个0,帧成为m+r位,相应多项式2rM(x) 按模模2 2除除法用2rM(x)除以G(x):商Q(x),余R(x)即 2rM(x) = G(x)Q(x)+R(x)按模模2 2加加法把2rM(x)与余数R(x)相加,结果就是要传送的带校验和的帧的多项式T(x) T(x) = 2rM(x) + R(x)实际上,T(x) = 2rM(x) + R(x) = G(x)Q(x) + R(x) + R(x) = G(x)Q(x) (模2运算) 所以,若接收的T(x)正确,则它肯定能被G(x)除尽。数据校验73数据校验CRC校验码的检错能力:l可检出所有奇数个错l可检出所有单位/双位错l可检出所有G(x
43、)长度的突发错常用的生成多项式:lCRC12 = x12+x11+x3+x2+1lCRC16 = x16+x15+x2+1lCRC32 =x32+x26+x23+x22+x16+x11+x10 +x8+x7+x5+x4+x2+x+1744.同步通信与异步通信l所有串行通信都需要一个时钟信号来作为数据的定时参考。发送器和接收器用时钟来决定何时发送和读取每一个数据位。l根据传输时采用的是统一时钟还是本地局部时钟,分为同步传输和异步传输两种。同步传输用一个时钟脉冲确定一个数据位, 异步传输用多个时钟脉冲确定一个数据位(如16个)同步传输以数据块(当作“位流位流”看待)为单位传输,异步传输以字符为单位
44、传输,但都称为帧帧(Frame) 75同步通信的时钟定时方法数据(62H)01100010同步传输先发送高位(MSB)发送方在时钟信号的下降沿发送字节接收方在时钟信号的上升沿接收字节时钟(发送时钟与接收时钟完全同步)LSBMSB767.4.2 串行通信的接口标准l机械特性:连接器的尺寸、引脚分布l信号特性:信号电平、通信速率l功能特性:引脚功能、控制时序 最常见的串行通信标准是RS-232C。77RS-232C标准l 外形为25针或9针的D型连接器l 通信速率:波特率Baud(符号数/s) 100、300、600、1200、2400、4800 9600、19.2K、33.6K、56K l 信号
45、电平:逻辑“1”:-3V-15V逻辑“0”:+3V+15VTTL电平与RS232电平转换:lTTLRS232: MC1488lRS232TTL: MC148978主要引脚的功能79信号时序(接收)l设备握手DTR:PCM(保持,表示PC已可以工作)DSR:PCM(保持,表示M已可以工作)l监视载波信号DCD:PCM载波(表示数据链已建立)l接收数据RD: PCM数据调制信号l结束通信DCD消失、PC撤除DTR、Modem撤除DSR80信号时序(发送)l 设备握手 DTR:PCM(保持) DSR:PCM(保持)l 请求发送 RTS:PCM(保持),M载波,在对方产生DCD CTS:PCM(保持)
46、l 发送数据 TD:PCM数据调制信号l 结束通信 PC撤除RTS/DTR Modem撤除CTS/DSR,停止发送载波81RS-232C接口连接方式82RS-232C接口连接方式(续)l一种简化的连接方式(Null Modem) 适用于双机直连TDRDRTSCTSDCDGNDDTRDSRRITDRDRTSCTSDCDGNDDTRDSRRI835.4.3 可编程串行通信接口8250主要内容: 1)8250的引脚及功能 2)与系统的连接 3)内部结构与内部寄存器 4)8250的编程841. 8250 的引脚及功能l 面向系统的引脚: D0D7 双向数据线。与系统数据总线DB相连接,用以传送数据、控
47、制信息和状态信息。 CS0,CS1,CS2 片选信号,当它们同时有效时,该8250芯片被选中。 CSOUT 片选输出信号。当8250的CS0、CS1和CS2同时有效时,CSOUT为高电平。 MR 主复位信号,复位后8250的状态见P331表7-5。 A0A2 8250内部寄存器的选择信号。不同的编码 对应于不同的寄存器。ADS 地址选通信号。有效时可将CS0,CS1,CS2及A0-A2锁存于8250内部。不需要锁存时,ADS可直接接地。DISTR 读选通信号。通常与系统总线的IOR信号相连接。DOSTR 写选通信号。通常与系统总线的IOW信号相连接。INTR 中断请求信号。当允许8250中断时
48、,接收出错、接收数据寄存器满、发送数据寄存器空以及MODEM的状态均能够产生有效的INTR信号。868250 的引脚及功能(续)面向通信设备的引脚信号 SIN, SOUT: 串行输入/输出端 CTS, RTS, DTR, DSR:(同RS232标准中的信号) RLSD: 即RS232C标准中的DCD信号 RI:(同RS232标准中的信号) OUT1, OUT2: 可由用户编程确定其状态的输出端 BAUDOUT: 波特率信号输出(频率=fCLK/分频值) XTAL1, XTAL2: 接外部晶振,作为基准时钟fCLK RCLK: 接收时钟输入(可直接与BAUDOUT相连)874.3888250与8
49、088系统的连接系统总线D7-D0DISTRDOSTRINTRMRA0A1A2ADSDISTRDOSTRCS2CS1CS0+5VCSD7-D0# IOR# IOWINTRRESETA0A1A2电平转换/驱动器14881489到RS232接口XTAL1XTAL2BAUDOUTRCLK SOUTSINRTSDTRDSRDCDCTSRI8250XTAL892. 8250的内部寄存器共10个可编程(寻址)的寄存器线路控制寄存器(LCR) BASE+3线路状态寄存器(LSR) BASE+5 发送保持寄存器(THR) BASE+0(写)接收缓冲寄存器(RBR) BASE+0(读)除数锁存器低8位(DLL)
50、BASE+0(DL=1)除数锁存器高8位(DLH)BASE+1(DL=1)中断允许寄存器(IER) BASE+1中断识别寄存器(IIR) BASE+2Modem控制寄存器(MCR)BASE+4Modem状态寄存器(MSR)BASE+6908250的内部寄存器(续)除数锁存器(DLL,DLH)BASE+0,1用来保存分频系数,以获得所需的波特率。波特率可以简单地看成每秒传送多少二进制位PC机中基准时钟频率fCLK=1.8432MHz,波特率因子K=16。所以,对于指定的波特率B 除数值=1843200/(B16)=115200/B例如,通信速率为9600波特时,除数值=12。注意:写除数前,必须
51、把LCR的最高位(DL位)置1918250的内部寄存器(续)线路控制寄存器(LCR)BASE+3决定传输时的数据帧格式(通信双方必须一致)D7 D6 D5 D4 D3 D2 D1 D0DL位:0正常操作1写除数寄存器0正常操作1SOUT强制为1 (Break符号)xx0无校验001奇校验011偶校验101恒为1111恒为001位停止位12位停止位107位数据位118位数据位928250的内部寄存器(续)线路状态寄存器(LSR)BASE+5反映传输时的通信线状态 0 D6 D5 D4 D3 D2 D1 D0发送移位寄存器空发送保持寄存器空检测到Break接收缓冲寄存器满溢出错奇偶错格式错(停止位
52、个数不符)938250的内部寄存器(续)发送保持寄存器(THR)BASE+0要发送的数据写入此寄存器。当发送移位寄存器TSR空时,THR中的内容移入TSR被发送出去。只有THR空时,CPU才能写入下一个要发送的数据接收缓冲寄存器(RBR)BASE+0RSR收到一个完整的数据后,就将其送入RBR中。CPU可从RBR中读取收到的数据。RBR只能缓冲一个数据,当CPU未能及时取走上一个数据,下一个数据又送入RBR时,会产生溢出错948250的内部寄存器(续)中断允许寄存器(IER)BASE+1决定哪类中断可以产生(也可禁止所有中断产生) 0 0 0 0 D3 D2 D1 D01允许RBR满中断1允许THR空中断1允许线路状态中断 (溢出错、奇偶错、格式错、Break)1允许Modem状态中断958250的内部寄存器(续)中断识别寄存器(IIR)BASE+2用于识别产生中断的原因 0 0 0 0 0 D2 D1 D00无中断1有中断00Modem状态中断(优先级最低)01THR空中断10RBR满中断11线路状态中断968250的内部寄存器(续)Mo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年新式房屋按揭中介协议
- 2024年新品销售协议
- 2024年摩托车购买与销售协议
- 2024年携手财富:合伙人权利与义务协议
- 2024年新修订:合作关系的终止协议
- 04许可使用许可使用合同
- 2024年房产买卖合同标准版
- 2024年房屋租赁终止协议范本
- 2024年房屋交易合同模板大全
- 2024年技术交易合同登记
- 骨髓腔内输液(IOI)技术
- 建筑幕墙工程(铝板、玻璃、石材)监理实施细则(全面版)
- 小学数学与思政融合课教学设计
- 体育公园运营管理方案
- 休闲生态农业观光园建设项目财务分析及效益评价
- 江西省南昌市民德学校2023-2024学年八年级上学期期中数学试题
- 国际金融(英文版)智慧树知到期末考试答案2024年
- 2024年《药物临床试验质量管理规范》(GCP)网络培训题库
- 辽宁省名校联盟2024届高三下学期3月份联合考试化学
- 2023年度学校食堂每月食品安全调度会议纪要
- 建筑门窗、幕墙安装工人安全技术操作规程
评论
0/150
提交评论