微型计算机原理与接口技术:第7章 常用数字接口电路1

上传人:努力****83 文档编号:240058519 上传时间:2024-03-13 格式:PPT 页数:177 大小:3.55MB
返回 下载 相关 举报
微型计算机原理与接口技术:第7章 常用数字接口电路1_第1页
第1页 / 共177页
微型计算机原理与接口技术:第7章 常用数字接口电路1_第2页
第2页 / 共177页
微型计算机原理与接口技术:第7章 常用数字接口电路1_第3页
第3页 / 共177页
点击查看更多>>
资源描述
第7章 常用数字接口电路1主要内容:掌握掌握二种可编程接口芯片的应用二种可编程接口芯片的应用(8253、8255)了解了解串行通信的一般概念串行通信的一般概念 (8250)27.1 接口电路概述接口电路概述l定义定义:CPU与外设之间信息交换的通道l作用作用:信息缓冲信息缓冲、信息变换信息变换、电平转换电平转换、联络控制联络控制l分类:分类:l8086系统中最常用常用的数字接口接口电路芯片芯片:定时定时/计数器计数器8253(8254)、并行接口并行接口8255(8155/8755)、串行接口串行接口8250(8251)功能功能传送方式传送方式传送的信息类型传送的信息类型传送的信息类型传送的信息类型输入接口输入接口 并行接口并行接口数字量的输入数字量的输入/输出接口输出接口输出接口输出接口 串行接口串行接口模拟量的输入模拟量的输入/输出接口输出接口37.2 可编程定时/计数器8253掌握掌握:l引线功能及计数启动方法引线功能及计数启动方法l6种工作方式及其输出波形种工作方式及其输出波形l8253的使用的使用:芯片与系统的连接芯片与系统的连接芯片的初始化编程芯片的初始化编程4定时定时/计数计数器器的的用途用途l可以实现定时与计数两个功能,可用于系统时钟DRAM刷新定时定时采样实时控制脉冲的计数.定时计数5如何实现定时?l软件方法:软件方法:用一段程序实现延时用一段程序实现延时利用利用利用利用程序循环程序循环程序循环程序循环延迟指定的时间延迟指定的时间延迟指定的时间延迟指定的时间缺点:缺点:缺点:缺点:CPUCPU占用率?延时精度?兼容?占用率?延时精度?兼容?占用率?延时精度?兼容?占用率?延时精度?兼容?l硬件方法:硬件方法:定时定时/计数器电路计数器电路利用利用利用利用脉冲计数脉冲计数脉冲计数脉冲计数在设定的时间输出定时信号在设定的时间输出定时信号在设定的时间输出定时信号在设定的时间输出定时信号 8253是一种是一种硬件硬件定时定时/计数器计数器芯片芯片6编写一个软件定时程序编写一个软件定时程序,要求要求定时定时20ms.l 假设假设:8086的时钟的时钟=8MHz,一个时钟周期一个时钟周期 T=1/8MHz=0.125usl延时延时20ms,执行执行PUSHF,POPF指令指令:需要循环次数需要循环次数:N=20000/(12+14+17)*0.125=3720 参考程序:参考程序:MOV CX,3720L:PUSHF ;时钟数:14T POPF ;时钟数:12T LOOP L ;时钟数:17/5T软件定时的例子软件定时的例子7l误差修正:(15+12+19)*0.125=5.75us 写成子程序:写成子程序:DELAY:PUSH CX MOV CX,3720 L:PUSHF POPF LOOP L POP CX RETPUSH CXPUSH CX ;时钟数 15T15TPOP CXPOP CX ;时钟数时钟数 12T12TRETRET ;时钟数时钟数:19T:19T9.1:软件定时的例子软件定时的例子8主要程序片段主要程序片段 LP:CALL DELAY MOV DL,30H ;字符字符0的的ASCII码码 MOV AH,02H ;DOS调用调用,显示一个字符显示一个字符 INT 21H INC DL LOOP LP MOV AH,4CH ;带返回码结束带返回码结束 INT 21H DELAY PROC NEAR ;软件延时子程序软件延时子程序 PUSH AX MOV CX,0FFFFH L:PUSHF POPF LOOP L DO:POP AX RETDELAY ENDP910 东南大学东南大学 定时:标准频率定时:标准频率CLK/计数计数 累加或递减(计算频率:周期内计数)。累加或递减(计算频率:周期内计数)。例例 减减法法CNTER:先先计计数数值值预预置置计计数数值值寄寄存存器器减减法法计计数数器器,计计数数脉脉冲冲经经CLK输输入入端端时时使使计计数数器器进进行行减减法法计计数数。计计数数器器的的当当前前内内容容-计计数数器器输输出出寄寄存存器器CPU不不会会干干扰扰计计数数过过程程(缓缓冲冲)。计计数数值值=零零的的状状态态OUT引引脚脚和和状状态态寄寄存存器器的的某某一一位位(查查询询式式I/O或或中中断断式式IO来来检检测测零零值值状状态态)。有有到到零零停停计计/不不停停两两种种。可可硬件(硬件(GATE输入端)或软件控制定时计数器的动作输入端)或软件控制定时计数器的动作。定时定时计计数器数器基本基本工作工作原理原理对输入对输入CLKCLK信信号(脉冲)加号(脉冲)加法或减法计数法或减法计数 典型典型T/C框图框图定时定时/计计数脉冲数脉冲门控信号门控信号输出信号输出信号写写写写读读读读 12个地址个地址10一、外部引线及内部结构l8253概貌概貌3个个16位位的定时的定时/计计数器(通道)数器(通道)24引脚双列直插引脚双列直插式式最高计数频率最高计数频率2MHzTTL电平兼容电平兼容单电源单电源+5V供电供电11外部引线及内部结构DBD7-D08253A1A0WRRDCS通道通道2通道通道1通道通道0CLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2A1A0IOWIOR片选信号片选信号12外部引线及内部结构连接微机系统端系统端的主要引线:lD7D0lCSlRDlWRlA1,A0 用于选择四个编址部件之一用于选择四个编址部件之一A1 A0 选选 择择0 0 计数通道计数通道00 1 计数通道计数通道11 0 计数通道计数通道21 1 控制寄存器控制寄存器13外部引线及内部结构计数通道计数通道的主要引线(每通道均相同)(每通道均相同):lCLKn 时钟脉冲时钟脉冲输入输入,计数器的计数器的计时基准计时基准。lGATEn 门控信号门控信号输入输入,控制计数器的启停控制计数器的启停。lOUTn 计数器计数器输出输出信号信号,不同工作方式下,不同工作方式下 产生不同波形。产生不同波形。(n=02)148253的内部结构编址部件0编址部件1编址部件2编址部件316位位减减116位位减减116位位减减18位位定时定时与与计数计数有何有何区别区别?15编程结构程序员的观点l计数器计数器(3个个)包括包括l控制寄存器控制寄存器(1个个)存放控制命令字存放控制命令字(8位位)(只写)(只写)l占用占用4个个地址地址 3个计数器,个计数器,1个控制寄存器个控制寄存器16位位初值寄存器初值寄存器(只写只写)16位位计数寄存器计数寄存器 (减减1计数器计数器)16位位锁存寄存器锁存寄存器(只读只读)(当前计数初值当前计数初值)16定时/计数的工作过程 1.设置设置8253的工作方式的工作方式(6种种)2.设置计数初值到设置计数初值到初值寄存器初值寄存器 3.设置设置GATE门控信号,把门控信号,把门门打开,使打开,使CLK可通过可通过之送入计数寄存器计数之送入计数寄存器计数 4.第一个第一个CLK信号使信号使初值寄存器初值寄存器的内容置入的内容置入计数寄存器计数寄存器 5.以后每来一个以后每来一个CLK信号,信号,计数寄存器计数寄存器减减1 6.减到减到0时,时,OUT端输出一端输出一特殊波形特殊波形的信号的信号注:注:不同的工作方式,不同的工作方式,GATE门控信号的开关门控信号的开关门门的信的信号可能不同。号可能不同。17二、计数启动方式软件启动过程软件启动过程硬件启动过程硬件启动过程GATE端保持为端保持为高电平高电平写入计数初值写入计数初值后的第后的第2个个 CLK脉冲的下降沿开始计数脉冲的下降沿开始计数GATE端有一个端有一个上升沿上升沿对应对应CLK脉冲的下降沿开始计数脉冲的下降沿开始计数程序指令启动程序指令启动软件启动软件启动外部电路信号启动外部电路信号启动硬件启动硬件启动18三、工作方式l l方式方式方式方式0 0计数结束中断计数结束中断计数结束中断计数结束中断l l方式方式方式方式1 1可重复触发的单稳态触发器可重复触发的单稳态触发器可重复触发的单稳态触发器可重复触发的单稳态触发器l l方式方式方式方式2 2频率发生器频率发生器频率发生器频率发生器l l方式方式方式方式3 3方波发生器方波发生器方波发生器方波发生器l l方式方式方式方式4 4软件触发选通软件触发选通软件触发选通软件触发选通l l方式方式方式方式5 5硬件触发选通硬件触发选通硬件触发选通硬件触发选通OUT输出输出Gate门控门控CLK输入输入Counter控制字控制字 CW计数初值计数初值 n19方式方式0软件启动软件启动,不自动重复计数不自动重复计数。装入初值后装入初值后OUT端变端变低电平低电平,计数结束计数结束OUT输出输出高电平高电平。(计数结束中断计数结束中断计数结束中断计数结束中断)20方式方式1(单稳态触发器单稳态触发器单稳态触发器单稳态触发器)硬件启动硬件启动,不自动重复计数不自动重复计数。装入初值后装入初值后OUT端变端变高电平高电平,计数开始,计数开始OUT端变为端变为低电平低电平,计数结束后又变,计数结束后又变高高电平电平。21方式方式2软、硬件启动软、硬件启动,自动重复计数自动重复计数。装入初值后装入初值后OUT端变端变高电平高电平,计数到最后一个,计数到最后一个CLK时时OUT输出输出负脉冲负脉冲,并,并连续重复连续重复此过程。此过程。(频率发生器频率发生器频率发生器频率发生器)(软启动)(软启动)228253工作模式工作模式2举例举例(硬启动、重置初值)(硬启动、重置初值)重触发重触发重置初值重置初值23方式方式3软、硬件启动软、硬件启动,自动重复计数自动重复计数。装入初值后装入初值后OUT端变端变高电平高电平,然后然后OUT连续连续输出输出方波方波(方波发生器方波发生器方波发生器方波发生器)前前前前 N/2N/2或(或(或(或(N+1N+1)/2/2 个个个个CLKCLK,OUTOUT为为为为高高高高,后后后后N/2N/2或(或(或(或(N-1N-1)/2/2 个个个个CLKCLK,OUTOUT为为为为低低低低。248253工作模式工作模式3举例(置奇数初值、举例(置奇数初值、硬启动硬启动)初值初值=奇数奇数(n+1)/2高电平高电平(n-1)/2低电平低电平Gate=0暂停暂停25l例例:使使0号定时器号定时器,工作在方式工作在方式3,计数初值计数初值N=1000,二进制计数二进制计数.试写出试写出8253初始化程序段初始化程序段.8253端口地址端口地址:40H,41H,42H,43HMOV AL,10000110B ;2号定时器号定时器,方式方式3OUT 43H,ALMOV AX,1000 OUT 40H,AL ;0号数据口号数据口 MOV AL,AHOUT 40H,AL26方式方式4软件启动软件启动,不自动重复计数不自动重复计数。装入初值后输出端变装入初值后输出端变高电平高电平,计数结束输出一个计数结束输出一个CLK宽度的宽度的负脉冲负脉冲(软件触发选通软件触发选通软件触发选通软件触发选通)27方式5(硬件触发选通硬件触发选通硬件触发选通硬件触发选通)硬件启动硬件启动,不自动重复计数不自动重复计数。OUT端波形与方式端波形与方式4相同相同28各种工作方式特点l方式方式0(计数结束中断)(计数结束中断)计数过程中,计数过程中,计数过程中,计数过程中,GATEGATE端应保持端应保持端应保持端应保持高电平高电平高电平高电平。每写入一次初值计数一个周期,然后停止计数。每写入一次初值计数一个周期,然后停止计数。每写入一次初值计数一个周期,然后停止计数。每写入一次初值计数一个周期,然后停止计数。OUTOUT端输出是一个约端输出是一个约端输出是一个约端输出是一个约(N+1)T(N+1)TCLKCLK宽度的负脉冲。宽度的负脉冲。宽度的负脉冲。宽度的负脉冲。计数过程中可随时修改初值重新开始计数。计数过程中可随时修改初值重新开始计数。计数过程中可随时修改初值重新开始计数。计数过程中可随时修改初值重新开始计数。l方式方式1(单稳态触发器)(单稳态触发器)门控信号门控信号门控信号门控信号GATEGATE端的跳变触发计数,可重复触发。端的跳变触发计数,可重复触发。端的跳变触发计数,可重复触发。端的跳变触发计数,可重复触发。若下一次若下一次若下一次若下一次GATEGATE上升沿提前到达,则上升沿提前到达,则上升沿提前到达,则上升沿提前到达,则OUTOUT端负脉冲端负脉冲端负脉冲端负脉冲拉宽为两次计数过程之和。拉宽为两次计数过程之和。拉宽为两次计数过程之和。拉宽为两次计数过程之和。计数过程中写入新初值不影响本次计数。计数过程中写入新初值不影响本次计数。计数过程中写入新初值不影响本次计数。计数过程中写入新初值不影响本次计数。29各种工作方式特点l方式方式2(频率发生器)(频率发生器)GATEGATE为计数的控制信号:为计数的控制信号:为计数的控制信号:为计数的控制信号:GATEGATE变低计数停止,再变低计数停止,再变低计数停止,再变低计数停止,再变高时的下一个变高时的下一个变高时的下一个变高时的下一个CLKCLK下降沿,从初值开始重新计数。下降沿,从初值开始重新计数。下降沿,从初值开始重新计数。下降沿,从初值开始重新计数。每个计数周期结束时(减到每个计数周期结束时(减到每个计数周期结束时(减到每个计数周期结束时(减到1 1时),时),时),时),OUTOUT端输出一个端输出一个端输出一个端输出一个T TCLKCLK宽度的负脉冲。宽度的负脉冲。宽度的负脉冲。宽度的负脉冲。计数过程计数过程计数过程计数过程自动重复自动重复自动重复自动重复进行。进行。进行。进行。计数过程中修改初值不影响本轮计数过程。计数过程中修改初值不影响本轮计数过程。计数过程中修改初值不影响本轮计数过程。计数过程中修改初值不影响本轮计数过程。l方式方式3(方波发生器)(方波发生器)OUTOUT输出方波,前半周期为高,后半周期为低。输出方波,前半周期为高,后半周期为低。输出方波,前半周期为高,后半周期为低。输出方波,前半周期为高,后半周期为低。计数过程中修改初值不影响计数过程中修改初值不影响计数过程中修改初值不影响计数过程中修改初值不影响本半轮本半轮本半轮本半轮计数过程。计数过程。计数过程。计数过程。其余的与方式其余的与方式其余的与方式其余的与方式2 2 类似。类似。类似。类似。30各种工作方式特点l方式方式4(软件触发选通)(软件触发选通)计数过程中,计数过程中,计数过程中,计数过程中,GATEGATE端应保持端应保持端应保持端应保持高电平高电平高电平高电平。每写入一次初值,计数一个周期,然后停止计数。每写入一次初值,计数一个周期,然后停止计数。每写入一次初值,计数一个周期,然后停止计数。每写入一次初值,计数一个周期,然后停止计数。每个计数周期结束时(减到每个计数周期结束时(减到每个计数周期结束时(减到每个计数周期结束时(减到0 0时),时),时),时),OUTOUT端输出一个端输出一个端输出一个端输出一个T TCLKCLK宽度宽度宽度宽度的负脉冲。的负脉冲。的负脉冲。的负脉冲。计数过程中修改初值不影响本轮计数过程。计数过程中修改初值不影响本轮计数过程。计数过程中修改初值不影响本轮计数过程。计数过程中修改初值不影响本轮计数过程。l方式方式5(硬件触发选通)(硬件触发选通)写入初值时,写入初值时,写入初值时,写入初值时,GATEGATE端应保持端应保持端应保持端应保持低电平低电平低电平低电平。GATEGATE每出现一次正脉冲,计数一个周期,然后停止计数。每出现一次正脉冲,计数一个周期,然后停止计数。每出现一次正脉冲,计数一个周期,然后停止计数。每出现一次正脉冲,计数一个周期,然后停止计数。每个计数周期结束时(减到每个计数周期结束时(减到每个计数周期结束时(减到每个计数周期结束时(减到0 0时),时),时),时),OUTOUT端输出一个端输出一个端输出一个端输出一个T TCLKCLK宽度宽度宽度宽度的负脉冲。的负脉冲。的负脉冲。的负脉冲。计数过程中修改初值不影响本轮计数过程。计数过程中修改初值不影响本轮计数过程。计数过程中修改初值不影响本轮计数过程。计数过程中修改初值不影响本轮计数过程。318253编程:6种工作模式Mode0 软件触发,到软件触发,到0不自动重复不自动重复(计数输出计数输出)Mode4 软件触发软件触发,选通信号(负脉冲)选通信号(负脉冲)Mode1 硬(硬(GATE)触发单稳)触发单稳,不自动重复启动不自动重复启动Mode5 硬件触发硬件触发,选通信号(负脉冲)选通信号(负脉冲)Mode2、3 软硬触发,自动重装(分频软硬触发,自动重装(分频/方波)方波)Gate控制控制CLK输入输入控制字控制字 CW计数初值计数初值CounterOUT输出输出32 工作模式0继续继续计数计数控制字控制字CW(1)计计数数回回零零时时,OUT才才变变为为高高电电平平并并保保持持,直直至至写写入入新新的的控控制制字字或或初初值值。但计数器在到零后仍继续计数但计数器在到零后仍继续计数;GATE=1计数计数/=0暂停暂停)。(2)计计数数过过程程中中可可改改变变计计数数值值:8位位计计数数:写写入入新新的的计计数数值值后后,计计数数器器按按新新值值开开始始计计数数;16位位计计数数,在在写写入入第第一一个个字字节节后后,计计数数器器停停止止计计数数,写写入入第二个字节后,按新的初值计数。第二个字节后,按新的初值计数。计数器计数器0 低低8位方式位方式计数结束时输出信号计数结束时输出信号(可申请中断可申请中断)338253工作模式工作模式0举例举例减计数未减计数未完写入新完写入新的初值的初值Gate控制控制34可编程单脉冲(可重复触发的单稳态触发器)-硬件上升边沿启动,不自动重复。-可软触发,负脉冲输出工作模式工作模式1下一脉冲下降沿下一脉冲下降沿延时了延时了3个脉冲时间个脉冲时间358253工作模式工作模式1举例举例重复触发脉冲重复触发脉冲重置初值重置初值(Gate有效有效)36频率发生器(n分频器)-可软件设置,软硬触发,负脉冲输出工作模式工作模式2负脉冲输出负脉冲输出3T3T378253工作模式工作模式2举例举例重触发重触发重置初值重置初值38方波发生器 (软硬触发)n/2:类似于方式2,唯一不同的是,当计数到初值的一半时,输出变为低,至计数到零,输出又变高,并重新开始计数。自动重装工作模式工作模式3每个脉冲计数每个脉冲计数-2,到,到0自动重装自动重装398253工作模式工作模式3举例举例初值初值=奇数奇数(n+1)/2高电平高电平(n-1)/2低电平低电平Gate=0暂停暂停40软件触发的选通信号发生器当写入控制字后,输出为高。写入计数值后立即开始计数(相当于软件启动),当计数到零后,输出变低,经过一个时钟脉冲后,又变为高电平(负脉冲),计数器停止计数。(只计数一次)。GATE=1时,允许计数;计数过程中改变计数初值,则按新计数值重新开始计数工作模式工作模式4418253工作模式工作模式4举例举例重置初值重置初值Gate控制控制42硬件触发的选通信号发生器 写入控制字后,输出为高。写入计数初值后并不立即开始计数,而是由GATE信号的脉冲上升沿触发启动。当计数到零后时,输出一个CLK脉冲宽度的负脉冲,输出变高,停止计数。直至下次GATE脉冲的触发才能计数。工作模式工作模式5438253工作模式工作模式5举例举例Gate控制控制重置初值重置初值触发 44四、控制字l用于确定各计数器的工作方式。用于确定各计数器的工作方式。l l82538253必须先必须先必须先必须先初始化初始化初始化初始化才能正常工作。才能正常工作。才能正常工作。才能正常工作。l l每个计数器都必须初始化一次。每个计数器都必须初始化一次。每个计数器都必须初始化一次。每个计数器都必须初始化一次。l lCPUCPU通过通过通过通过OUTOUT指令指令指令指令把把把把控制字控制字控制字控制字写入写入写入写入控制寄存器控制寄存器控制寄存器控制寄存器 SC1 SC0 RW1 RW0 M2 M1 M0 BCD1-计数值为计数值为BCD码格式码格式0-计数值为二进制格式计数值为二进制格式M2 M1 M0 模式选择模式选择 0 0 0 模式模式0 0 0 1 模式模式1 1 0 模式模式2 1 1 模式模式3 1 0 0 模式模式4 1 0 1 模式模式50 0-对计数器进行对计数器进行锁存锁存0 1-只读只读/写写低低8位位字节字节 1 0-只读只读/写写高高8位位字节字节1 1-先先读读/写写低低8位位字节字节,再再读读/写写高高8位位字节字节.0 0-选计数器选计数器00 1-选计数器选计数器11 0-选计数器选计数器21 1-无意义无意义OUT DX,ALOUT n,AL?45五、8253的应用l与系统的连接与系统的连接l设置工作方式设置工作方式l置计数初值置计数初值编程编程46与系统的连接示意图CLK1GATE1OUT1D0D7WRRDA1A0CSDBIOWIORA1A0译码器译码器高位地址高位地址A15-A282533组组82538253占用占用占用占用4 4个接口地址:个接口地址:个接口地址:个接口地址:计数器计数器计数器计数器0 0 计数器计数器计数器计数器1 1 计数器计数器计数器计数器2 2 控制寄存器控制寄存器控制寄存器控制寄存器(决定决定决定决定82538253的基地址的基地址的基地址的基地址)CLK2GATE2OUT2CLK0GATE0OUT0低位地址低位地址A1-A0线选法线选法全译码全译码部分译码部分译码D0D747初始化程序流程写控制字写控制字写计数值低写计数值低8位位写计数值高写计数值高8位位*非必须非必须写入顺序:写入顺序:4可可按按计数器计数器分别分别写写入入控制字控制字和和初值初值。也可也可先先写写所有计数所有计数器器控制字控制字,再再写入写入它们的它们的初值初值488253应用举例l采用采用8253作定时作定时/计数器,其计数器,其接口地址接口地址为为0120H0123H (计数器计数器0、1、2及控制寄存器)及控制寄存器)l输入输入8253的的时钟频率时钟频率为为2MHz -T=1/f=0.5usl计数器计数器0:每每10ms输出输出1个个CLK脉冲宽的负脉冲脉冲宽的负脉冲-方式方式2 计数器计数器1:产生产生10KHz的连续方波信号的连续方波信号 -方式方式3 计数器计数器2:启动计数启动计数5ms后后OUT输出高电平输出高电平 -方式方式0l画线路连接图画线路连接图,并,并编写初始化程序编写初始化程序。498253应用举例(续)l确定确定计数初值计数初值 CNT0(口地址(口地址0120H):10ms/0.5us=20000 CNT1(口地址(口地址0121H):2MHz/10KHz=200 CNT2(口地址(口地址0122H):5ms/0.5us =10000l确定确定控制字控制字(口地址(口地址0123H)CNT0:方式方式2,16位计数值位计数值 00 11 010 0 B=34 H CNT1:方式方式3,低,低 8位计数值位计数值 01 01 011 0 B=56 H CNT2:方式方式0,16位计数值位计数值 10 11 000 0 B=B0 H SC1 SC0 RW1 RW0 M2 M1 M0 BCD508253应用举例(续)CLK0GATE0OUT1D0D7WRRDA1A0CSDBIOWIORA1A0译码器译码器8253CLK2GATE1GATE2+5VCLK12MHzOUT0OUT2A15A2?线路连接图:线路连接图:0120 H 0123 H=0000 0001 0010 0000 B 0000 0001 0010 0011 B软件启动软件启动518253应用举例 初始化程序初始化程序MOV DX,0123HMOV AL,34HOUT DX,ALMOV DX,0120HMOV AX,20000OUT DX,ALMOV AL,AHOUT DX,ALCNT1:CNT2:请同学们写出其它程序请同学们写出其它程序!CNT0:52*如何如何读出读出当前计数值当前计数值?l l第第1种方法种方法在计数过程中读计数值在计数过程中读计数值先先锁存锁存当前计数值当前计数值,再用两条输入,再用两条输入IN指令将指令将16位计数值读出。位计数值读出。l l第第2种方法种方法先先停止停止计数器再读计数器再读用用GATE信号信号使计数器使计数器停止停止,再规定,再规定RL1和和RL0的读写格式的读写格式(低、高低、高8位顺序位顺序),然后用,然后用IN指令读出。指令读出。为什么?为什么?设当前值为设当前值为FF 00 H,则计数减,则计数减1后变为后变为FE FF H。但但若若不锁存不锁存或或停止停止,则,则先先读低读低8位位后后读高读高8位,读出的值为位,读出的值为FE 00 H,这是,这是错误的数字错误的数字。-153*扩展定时/计数范围 当定时长度不够时,可把当定时长度不够时,可把2个或个或3个计数通道个计数通道串串联联起来使用,甚至可把多个起来使用,甚至可把多个8253串联起来使用。串联起来使用。例如:例如:CLK频率为频率为1MHz,要求在,要求在OUT1端产生端产生频率频率1Hz的方波脉冲。的方波脉冲。1MHz/1Hz=1000 000 单个最大计数初值为多少单个最大计数初值为多少?(十进制计数为十进制计数为10000,二进制计数为二进制计数为65536)。这时可将。这时可将计数器计数器0、1串联,工作方式都均为方式串联,工作方式都均为方式3,计数初值均为,计数初值均为1000。连接方法见下页。连接方法见下页。54扩展定时/计数范围1MHz1KHz1Hz计数器计数器计数器计数器0 0、1 1串联串联串联串联,工作方式都均为,工作方式都均为,工作方式都均为,工作方式都均为方式方式方式方式3 3,计数计数计数计数初值初值初值初值均为均为均为均为1000100055例例:设设定时器定时器0 0、定时器定时器1 1工作于工作于方式方式3 3,外部提供,外部提供一个时钟一个时钟,频率频率f=2MHZf=2MHZ。要求定时器。要求定时器1 1每每5ms5ms产生一产生一个脉冲,定时器个脉冲,定时器0 0每每5s5s产生一个脉冲。产生一个脉冲。1).一个定时器的最大定时时间:一个定时器的最大定时时间:65536/(2*106)=0.032768 s=32.768ms2).将将定时器定时器1的的CLK1接接2MHZ时钟,时钟,计数初值:计数初值:3).将定时器将定时器1的的OUT1端接到定时器端接到定时器0的的CLK0端端,定定时器时器0的计数初值的计数初值:56地址地址译码译码CPUD7D0AB8253两个定时器串连使用每每5ms产生产生一个脉冲一个脉冲RDWRIORIOWA15A0CS578253初始化程序初始化程序:MOV AL,01110110B ;1号定时器号定时器,方式方式3OUT 43H,ALMOV AX,10000OUT 41H,ALMOV AL,AHOUT 41H,ALMOV AL,00110110B ;0 0号定时器号定时器,方式方式3 3OUT 43H,ALMOV AX,1000OUT 40H,ALMOV AL,AHOUT 40H,AL 58IBM-PC/XT中时钟原理82538259GATE0OUT0CLK05V8086IR01.1931816MHzINTINTRINTAD07D078号中断号中断 时钟运行时钟运行原理图原理图INTA598253小结l包含包含3个个16位计数器通道位计数器通道l4个编址部件:个编址部件:CNT0/1/2和控制寄存器和控制寄存器l每个计数器通道工作前必须初始化:每个计数器通道工作前必须初始化:-控制字控制字CW和计数初值和计数初值nl6种工作方式种工作方式 -每种工作方式:启动方式、输出波形、每种工作方式:启动方式、输出波形、是否可重复计数等各不相同是否可重复计数等各不相同607.3 并行接口8255特点:特点:l含含3个个独立的独立的8位位并行输入并行输入/输出端口输出端口,各,各端口均具有数据的端口均具有数据的控制和锁存控制和锁存/缓冲缓冲能力能力l可可通过通过编程编程设置各端口的工作方式和数设置各端口的工作方式和数据传送方向据传送方向(入(入/出出/双向)双向)。61 并行接口与外设连接示意图并行接口与外设连接示意图 地址地址译码译码控制控制寄存器寄存器数据数据输入输入寄存器寄存器数据数据输出输出寄存器寄存器状态状态寄存器寄存器数据总线数据总线读出信号读出信号写入信号写入信号复位复位准备好准备好中断请求中断请求A0A1输输入入设设备备输输出出设设备备数据输入准备好数据输入准备好数据输入回答数据输入回答数据输入数据输入数据输出数据输出数据输出准备好数据输出准备好数据输出回答数据输出回答CS并行接口并行接口D0-7A0-15IORIOWINTRREADYRESET CPURDWRD0-7RESETREADYINTSTBIBFOBFACKD0-7D0-762一、引线 共共40个引脚个引脚。它为双列直插式封装。除电源和地线外,其它外部引脚信号可分为两组:一组是面向面向CPU的的信号信号;另一组是面向外设面向外设的信号的信号。63引线(续)连接连接CPU系统端系统端的的主要引线主要引线:lD0D7lCSlRDlWRlA0,A1 lRESET复位信号复位信号复位信号复位信号,接系统总线的接系统总线的接系统总线的接系统总线的RESETRESETA1 A0 选择选择0 0 端口端口A0 1 端口端口B1 0 端口端口C1 1 控制寄存器控制寄存器64引线(续)连接连接外设端外设端的的引脚引脚:lPA0PA7lPB0PB7lPC0PC7分别对应分别对应A、B、C三三个个8位输入位输入/输出端口输出端口 三个端口可通过三个端口可通过三个端口可通过三个端口可通过编程编程编程编程分别指定为分别指定为分别指定为分别指定为输入输入输入输入或或或或输出口输出口输出口输出口。其中,其中,C口即可用作独立的输入口即可用作独立的输入/输出口,也可用作输出口,也可用作A、B口的口的握握手联络信号手联络信号(控制信号控制信号输出或输出或状态信号状态信号输入输入)。658255A的读/写操作控制A1 A0RDWRCS输入操作(输入操作(CPU读)读)001010000111000数据总线数据总线 端口端口A数据总线数据总线 端口端口B 数据总线数据总线 端口端口C 00110111111100000000输出操作输出操作(CPU写写)数据总线数据总线端口端口A 数据总线数据总线端口端口B 数据总线数据总线端口端口C数据总线数据总线控制端口控制端口66二、内部结构A组组B组组 端口端口PA端口端口PC的的高高4位位端口端口PB端口端口PC的低的低4位位8255内部内部分为分为A、B两组两组分别进行控制管理。分别进行控制管理。PA口口和和PB口口的的输入输入/输出输出都都具有数据具有数据锁存锁存能力;能力;但但 PC口口输出输出有有锁存锁存能力能力,而而输入输入没有没有锁存能力锁存能力(仅仅缓冲缓冲能力能力)。678255A的内部结构的内部结构688255与系统的连接示意图D0D7WRRDA1A0CSDBIOWIORA1A0译码器译码器8255PA口口PB口口PC口口D0D7外外 设设A2A15系系统统总总线线69RESETD7D0A9A2A1A0IORIOW片选片选译码译码数据数据缓冲器缓冲器读写读写控制控制片内片内译码译码CSRESETA1A0RDWRPC7PC0PB7PB0PA7PA0控制口控制口端口端口A端口端口C端口端口B+5VGNDD7D0外外设设8255A总线总线8255内部结构与外部接线图内部结构与外部接线图 片内译码电路片内译码电路 A0A1=数数据据端端口口A、B、C 每每个个端端口口8位位,通通过过编编程程设定其为设定其为 输入口或输出口和外设传送信息输入口或输出口和外设传送信息 00 A口;口;01 B口;口;10 C口;口;11 控制口控制口70三、8255工作方式基本基本I/O方式方式(方式方式0)(PA、PB、PC)-不需握手联络线的不需握手联络线的简单输入简单输入/输出输出单向单向方式方式选通选通I/O方式方式(方式方式1)(PA、PB)-需握手联络线的需握手联络线的复杂输入复杂输入/输出输出单向单向方式方式双向方式双向方式(方式方式2)(仅(仅PA)-需握手联络线的需握手联络线的复杂输入复杂输入/输出输出双向双向方式方式 某端口工作于哪一种方式,可通过软件编程来指定。即向某端口工作于哪一种方式,可通过软件编程来指定。即向某端口工作于哪一种方式,可通过软件编程来指定。即向某端口工作于哪一种方式,可通过软件编程来指定。即向82558255写入写入写入写入方式控制字方式控制字方式控制字方式控制字来决定其工作方式,见下页。来决定其工作方式,见下页。来决定其工作方式,见下页。来决定其工作方式,见下页。I/O接口接口输入输入设备设备I/O接口接口输出输出设备设备I/O接口接口输入输入设备设备I/O接口接口输出输出设备设备I/O接口接口存储存储设备设备713种工作方式适合场合l方式方式0:基本输入输出方式基本输入输出方式适用于适用于与与简单简单外设外设传送传送数据数据(如开关如开关/发光二极管等发光二极管等)和和查询查询方式方式的接口电路的接口电路(一般一般PA或或PB数据口数据口,而而PC做成做成状态口状态口 )PA或或PB或或PCI/O接口接口输入输入设备设备PA或或PB或或PCI/O接口接口输出输出设备设备I/O接口接口输入输入设备设备84411PA或或PBPCI/O接口接口输出输出设备设备84411PA或或PBPC8872方式方式1:选通输入输出方式选通输入输出方式 其不适用于其不适用于与与单向单向传送数据的传送数据的外设外设(如键盘如键盘/打印机等打印机等)适用于适用于查询查询和和中断中断方式方式的接口电路的接口电路方式方式2:双向选通传送方式双向选通传送方式 适用于适用于与与双向双向传送数据的传送数据的外设外设(如硬盘如硬盘/软盘软盘/光盘等光盘等)适用于适用于查询查询和和中断中断方式方式的接口电路的接口电路 PA或或PBI/O接口接口输入输入设备设备 PA或或PBI/O接口接口输出输出设备设备PAI/O接口接口存储存储设备设备 PC PCPCINTINTINT73方式控制字及位控字l 方式控制字方式控制字:可以利用软件编程确定可以利用软件编程确定8255的的3个端口工作于何种方式下;个端口工作于何种方式下;l 位控字位控字:8255的的PC端口端口可以可以按位操作按位操作。当其工作于当其工作于方式方式0下下且且作为作为输出口时输出口时,对于,对于那些作为输出的位需要设置初始状态(那些作为输出的位需要设置初始状态(1/0)。)。74方式控制字(方式字)-确定3个端口的工作方式A组组B组组端口端口PA (基本基本/选选通通/双向双向)端口端口PC的高的高4位位(基本基本/联络联络/联络联络)端口端口PB (基本基本/选通选通)端口端口PC的低的低4位位(基本基本/联络联络)A组组B组组1175 例:设A端口工作于方式0,输出,B端口工作于方式0,输入。方式方式选择控制字:选择控制字:1 0 0 0 1/0 0 1 1/0 =82H 方方式式选选择择A口口方方式式0A口口输输出出C口口高高位位不不用用B口口方方式式0B口口输输入入C口口低低位位不不用用76位控字 确定C口某1位的输出值(A、B方式0时)或用于设置INTE位 (A、B方式1,2时)1=置置1(置位置位)0=置置0(复位复位)0 D7 D6 D5 D4 D3 D2 D1 D0端口端口C置置1/0控制字控制字0 0 0 PC00 0 1 PC10 1 0 PC20 1 1 PC31 0 0 PC41 0 1 PC51 1 0 PC61 1 1 PC7特征标志位特征标志位77例例例例:设:设8255A的控制口地址为的控制口地址为00EEH,要求对端口,要求对端口C的的PC7置置1,则控制字,则控制字00001111B=0FH,要求对端口,要求对端口C的的PC3置置0,控制字为,控制字为00000110B=06H。下面的程序可以实现上述要求:下面的程序可以实现上述要求:MOV AL ,0FH ;对对PC7置置1的控制字的控制字 MOV DX ,00EEH ;控制口地址送控制口地址送DX OUT DX ,AL ;对对PC7置置1操作操作 MOV AL ,06H ;对对PC3置置0的控制字的控制字 OUT DX ,AL ;对对PC3进行置进行置0的操作的操作78l方式方式0 0:基本基本的输入的输入/输出方式输出方式 (基本基本I/O)I/O)l方式方式1 1:选通选通的输入的输入/输出方式输出方式 (选通选通I/O)I/O)l方式方式2 2:双向双向的传输方式的传输方式 (双向双向I/O)I/O)8255A的的3种基本工作方式介绍种基本工作方式介绍79方式0-基本输入输出方式功能 任何一个端口可以作为输入口,也可以作为输出口。任何一个端口可以作为输入口,也可以作为输出口。各个端口输入或输出,可以有各个端口输入或输出,可以有1616种种不同的组合,所以不同的组合,所以 可以适用于多种使用场合。可以适用于多种使用场合。方式方式0 0使用场合使用场合 一种一种是是 同步同步传送传送(无条件无条件传送传送/简单简单传送传送),另一种另一种是是 查询查询式传送。式传送。两种:两种:80方式方式0的的输入输入时序时序81方式0输入时序datadata输入端口输入端口D0D7RD CS,A1,A0请体会这里请体会这里8255A8255A的的数据缓冲作用数据缓冲作用82方式0输出时序WRdatadata输出端口输出端口D0D7 CS,A1,A08255A8255A对对CPUCPU通过它通过它输出给外设的数据进行锁存输出给外设的数据进行锁存83 PA0 PA1 PA28255AA0A1 PB0CS+5V200+5V2K译译码码器器D7 D0地地址址线线8088CPUA0A1例例:用用8255A8255A控制三个发光二极管依秩序循环显控制三个发光二极管依秩序循环显示。示。假设假设开关开关闭合时,点亮闭合时,点亮发光二极管发光二极管,开管开管断开时息灭二极管。断开时息灭二极管。发光二极管发光二极管开关开关A2-A15IORIOWRDWR端口地址端口地址 340H-343H84l用用8255A8255A控制三个发光二极管显示。控制三个发光二极管显示。8255A8255A的的端口地址为:端口地址为:A A 端口:端口:340H340H B B 端口:端口:341H 341H C C 端口:端口:342H342H 控制口:控制口:343H343H 试编写试编写82558255初始化程序段和控制三个发初始化程序段和控制三个发光二极管显示程序段。光二极管显示程序段。85开始开始8255A初始化初始化延时延时BX显示代码地址显示代码地址CX=0?YNBX=BX+1CX=CX-1CX 3输出到输出到PA口口1、程序框图:、程序框图:861)设)设A口为输出口,方式口为输出口,方式0。B口输入,方式口输入,方式0,则,则方式选择控制字为方式选择控制字为10000010 B=82 H。2 2)A A口输出代码:口输出代码:0000 00000 011110 0 06H 06H ,1 1号发光二极管亮号发光二极管亮 0000 00000 01 10 01 1 05H 05H ,2 2号发光二极管亮号发光二极管亮 0000 00000 00 01111 03H 03H ,3 3号发光二极管亮号发光二极管亮3 3)软件延时)软件延时(1)1ms(1)1ms的软件延时参考程序的软件延时参考程序:设系统的设系统的CPUCPU的频率为的频率为8MHZ8MHZ,则时钟节拍为:则时钟节拍为:0.1250.125微秒。执行微秒。执行PUSHFPUSHF、POPFPOPF、LOOPLOOP指令需指令需4343个节个节拍。延迟拍。延迟1 1毫秒要循环的次数:毫秒要循环的次数:1ms/(43*0.125us)=186 1ms/(43*0.125us)=1862、软件设计、软件设计87参考程序:参考程序:DATA SEGMENTCOTR EQU 343H ;8255A控制口地址控制口地址PB_A EQU 340H ;8255A的的A口地址口地址LED DB 06H,05H,03H;LED显示值显示值DATA ENDPCODE SEGMENTASSUME CS:CODE,DS:DATA .MOV DX,COTR ;控制口控制口地址地址 MOV AL,82H OUT DX,AL ;A口为方式口为方式0输出输出,B口为输入口为输入 MOV DX,PB_A ;A口地址口地址88 LP:MOV CX,3 LEA BX,LED ;1号灯代码地址号灯代码地址 DON:MOV AL,BX OUT DX,AL ;1,2,3循环点亮循环点亮 CALL DELAY ;调延时调延时1ms程序程序 INC BX DEC CX JNZ DON JMP LPDEALY PROC NEAR ;软件延时软件延时1ms PUSH CX MOV CX,186 L:PUSHF POPF LOOP L POP CX RETDEALY ENDPCODE ENDS END89例例2:8255A作为连接作为连接打印打印的查询式接口,工作于的查询式接口,工作于方式方式0,如图所示。设,如图所示。设8255A的端口地址为:的端口地址为:A端口:端口:00D0H C端口:端口:00D4H B端口:端口:00D2H 控制口:控制口:00D6H 工作过程:工作过程:当主机要往打印机输出字符时,先查询当主机要往打印机输出字符时,先查询打印机忙信号,如果打印机正在处理一个字符或在打印打印机忙信号,如果打印机正在处理一个字符或在打印一行字符,则忙信号为一行字符,则忙信号为1,否则为,否则为0。PC2作为打印机忙信号,作为打印机忙信号,PC6作为数据选通信号,将数据线上的数据打入打作为数据选通信号,将数据线上的数据打入打印机缓冲器。印机缓冲器。90打印机驱动流程图打印机驱动流程图开始开始8255A初始化初始化 BUSY=0?送数送数送送STB内存内存+1字节字节-1送完?送完?结束工作方式工作方式工作方式工作方式0 0例子打印机例子打印机例子打印机例子打印机Y91PP:MOV AL ,81H ;8255工作方式字工作方式字 OUT D6H ,AL ;A口方式口方式0,输出,输出,;C口方式口方式0,C47输出,输出,C03输入输入 MOV AL ,0DH ;PC6置置1 OUT D6H ,AL MOV S I,200H ;打印字符内存地址;打印字符内存地址 MOV CX,0FFH ;打印字符个数打印字符个数LPST:IN AL ,D4H ;读读C口口 AND AL ,04H ;查查PC2=0?JNZ LPST ;忙,等待;忙,等待;不忙,送数不忙,送数 MOV AL,SI ;从内存取数;从内存取数 OUT D0H,AL ;送数到;送数到PA口口92 MOV AL ,00001100B;将将PC6置置0(STB为低)为低)OUT D6H ,AL ;AL 0000 1100 B NOP NOP ;延时延时 INC AL ;AL0000 1101 B OUT 0D6H ,AL ;再使再使STB(PC6)为)为1 INC SI ;内存地址内存地址+1 DEC CX ;字符数;字符数-1 JNZ LPST HLT 93方式0的应用总结l用于连接用于连接简单外设简单外设。l适用于:适用于:无条件无条件输入输出方式输入输出方式。查询查询输入输出输入输出方式方式:把把A、B口作为口作为8位数据的输入或输出口,位数据的输入或输出口,C口的高口的高/低低4位分别定义为位分别定义为A、B口的控制位和状态口的控制位和状态位。位。94工作方式0(基本I/O方式)l 8255相当于三个独立的相当于三个独立的8位位简单接口简单接口。l 各端口既可设置为各端口既可设置为输入口输入口,也可设置为,也可设置为输出口输出口,但不能同时实现输入及输出。,但不能同时实现输入及输出。l C端口端口即可以是即可以是一个一个8位位的简单接口,的简单接口,也可以分为也可以分为两个两个独立的独立的4位位端口。端口。l l 设置为设置为输出口时有锁存输出口时有锁存能力,设置为能力,设置为输输入口时无锁存入口时无锁存能力。能力。95方式1选通的输入输出方式l数据输入输出要在数据输入输出要在选通信号选通信号控制下工作控制下工作.l端口端口A A和和端口端口B B可以分别作为两个数据口工作于方可以分别作为两个数据口工作于方式式1 1,并且,任何一个端口可以为输入口或输出,并且,任何一个端口可以为输入口或输出口口。1)1)1)1)方式方式方式方式1 1 1 1输入输入输入输入:A A A A口口口口控制信号的定义控制信号的定义控制信号的定义控制信号的定义:10 11 1/0 D7 D6 D5 D4 D3 D2 D1 D0PC6.PC71=输入输入0=输出输出A口方式口方式1输输入入9610 11 1/0 D7 D6 D5 D4 D3 D2 D1 D0方式方式1PC6.PC71=输入输入0=输出输出端口端口A输入输入11 1 D7 D6 D5 D4 D3 D2 D1 D0端口端口B输入输入方式方式1 方式方式1输入有关信号的规定输入有关信号的规定RDPA7PA0INTE APC4PC5PC3PC6.PC7I OINTRAIBFASTBA RDINTE BPC2PC1PC0PB7PB0STBBIBFBINTRB方式方式方式方式1 1输入输入输入输入有关信号的规定有关信号的规定有关信号的规定有关信号的规定端口端口B输入输入971 1选通信号选通信号输入端输入端,低电平有效,低电平有效2 2输入输入缓冲区满缓冲区满信号信号,3 3它是它是82558255送往送往CPUCPU的中断请求的中断请求信号,高电平有效。信号,高电平有效。中断允许信号中断允许信号,INTEINTE由由PC4PC4置置“1”,1”,INTRINTR有效有效A口口方式方式1输入输入有关信号的规定有关信号的规定RDPA7PA0INTE APC4PC5PC3PC6.PC7I OINTRAIBFASTBA数据输入口数据输入口 I/O I/O IBFA INTEA INTRA INTEB IBFB INTRB D7 D6 D5 D4 D3 D2 D1 D0 方式方式方式方式1 1 A A口口口口输入有关信号的规定输入有关信号的规定输入有关信号的规定输入有关信号的规定PC0-7PA、PB口口都都为为方式方式1输入输入时的时的状态字状态字98方式1输入联络信号定义lSTB选通信号,低电平有效选通信号,低电平有效由外设提供的输入信号,当其有效时,将输入由外设提供的输入信号,当其有效时,将输入设备送来的数据锁存至设备送来的数据锁存至8255A的输入锁存器的输入锁存器lIBF输入缓冲器满信号,高电平有效输入缓冲器满信号,高电平有效8255A输出的联络信号。当其有效时,表示数输出的联络信号。当其有效时,表示数据已锁存在输入锁存器据已锁存在输入锁存器lINTR中断请求信号,高电平有效中断请求信号,高电平有效l8255A输出的信号,可用于向输出的信号,可用于向CPU提出中断请提出中断请求,要求求,要求CPU读取外设数据读取外设数据lINTE 中断允许信号,高电平有效中断允许信号,高电平有效l用于控制中断允许或中断屏蔽用于控制中断允许或中断屏蔽99方式方式1 输入输入时序时序100方式1输入时序dataINTRIBF data输入端口输入端口D0D7STBRDSTBSTB和和IBFIBF是外设和是外设和82
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!