第三章 8253定时
8253定时-计数器

1.3 8253的控制字和工作方式
1.3 8253的控制字和工作方式
方式3
1) 当计数初值N为偶数时,输出端的高低电平持续时间相等,各为N/2个 CLK脉冲周期,当计数初值N为奇数时,输出端的高电平持续时间比 低电平持续时间多一个脉冲周期,即高电平持续(N+1)/2个脉冲周 期,低电平持续(N-1)/2个脉冲周期。例如N=5,则输出高电平持 续3个脉冲周期,低电平持续2
1.3 8253的控制字和工作方式
2.8253
可编程定时/计数器8253有两个基本功能,即定时和计 数。除此之外,还可以作为频率发生器、分频器、实时时钟、 单脉冲发生器等。这些功能是通过对8253编程,写入方式 控制字来完成的,8253为每个计数通道提供6种工作方式。
(1)方式0——
0控制
字CW后,计数器输出端OUT立即变成低电平。当写入计数
3) 在计数过程中,可由门控信号GATE控制暂停。当GATE为0时,计 数器暂停计数;当GATE变为1
4) 方式0的OUT信号在计数到0时由低变高,可作为中断请求信号。
1.3 8253的控制字和工作方式
(2)方式1—— 在设定工作方式1和写入计数初值后,OUT输出高电平,
此时并不开始计数。当门控信号GATE变为高电平时,启动计 数,OUT输出变低电平。在整个计数过程中,OUT都维持为 低电平,直到计数到0时,输出变为高电平。因此,输出为一 单脉冲,其低电平的维持时间由装入的计数初值来决定。图所 示为8253工作方式1的时序图。
6)方式5—— 在这种方式下,当写入控制字后,输出端出现高电平 作为初始电平。在写入计数初值后,计数器并不立即开始 计数,而是要由门控脉冲的上升沿来启动计数,这称为硬 件触发。当计数到0时,输出变低电平,又经过一个CLK 脉冲,输出恢复为高电平,这样在输出端得到一个负脉冲 选通信号。计数器停止计数后要等到下次门控脉冲的触发, 才能再进行计数。8253工作方式5的时序如图所示。
8253定时计数器

一、实验目的
1、掌握8253的基本工作原理和编程方法;
2、使用Байду номын сангаас辑笔来观察8253的工作状态。
二、实验内容
编写实验程序,利用实验台上8253定时/计数器对 1MHz时钟脉冲进行分频,产生频率为1Hz的方波信号, 并用逻辑笔观察OUT1引脚输出电平的变化。
三、8253工作方式
硬件接线提示
+5V电压
方式0-----计数结束中断 方式1-----硬件触发单拍脉冲 方式2-----频率发生器 方式 0 方式 1
方式 2 方式 3 方式 4
方式 5
方式3-----方波发生器
方式4-----软件触发选通 方式5-----硬件触发选通
四、实验提示
1、8253初始化 对8253定时/计数器进行初始化操作,必须遵守两个 原则:
模式选择 000:模式0 001:模式1 010:模式2 011:模式3 100:模式4 101:模式5
0:二进制 1:BCD
3、8253的地址
片选地址:280~287H
8253控制寄存器地址:0C403H 计数器0的地址:0C400H 计数器1的地址:0C401H
4
五、实验重点或难点
1、8253控制字的定义。 2、8253各工作方式的特点。 3、8253级连时接线方法。
(1)首先要写入工作方式控制字,再写入计数初值;
(2)初始值的设置应与控制字中规定的格式相一致。
2、8253控制字表
SC1 SC0 RW2 RW1 M2 M1 M0
数制选择
计数器选择 00:计数器0 01:计数器1 10:计数器2 11:非法
读/写指示 00:锁存 01:只读/写低8位 10:只读/写高8位 11:先读/写低8位 再读/写高8位
8253定时和计数

程序段: PUSH DS;保护数据段
MOV AX,0;
MOV
MOV
DS,AX;中断向量从00000H开始
AX,SEG INT-PRN;取段地址
MOV
MOV
[002AH],AX;置入段地址
AX,OFFSET INT-PRN;取偏移地址
MOV
POP
[0028H],AX;置入偏移地址
DS;恢复DS
8259A在80286以上机中的使用
INT-P
PROC ; 中断服务程序 PUSH DS ;保护现场 PUSH AX PUSH DX STI ;开中断 MOV AX, DATA ;中断处理,输 出给定字符串
MOV DS, AX MOV DX ,OFFSET MESS MOV AH,09H INT 21H DEC COUNT ;控制10次循环 JNZ NEXT IN AL, 21H OR AL, 04H OUT 21H, AL ;读IMR ;屏蔽IR2请求
数制选择 0:二进制 1:十进制 工作方式选择 000:方式 0 001:方式 1 ×10:方式 2 ×11:方式 3 100:方式 4 101:方式 5
2,8253初始化规则 (1)对计数器设置初值前必须先写入控制字,此 时, 全部控制逻辑电路复位,输出OUT为初始状态(高电 平或低电平); (2)初值写入后,要经过1个时钟CLK的上升沿和1 下降沿后,计数执行部件才开始计数;
8253的内部结构
数据总线 D7~D0 RD 地址线 译 码 器 CS 减 1 计数器 (CE) 高8 A1 A0 低8 输出锁存器 CLK 1 GATE1 OUT1 CLK 2 GATE2 OUT2 (OL) 计数器 1 计数器 2 WR 控制寄存器 计数器 0 高8 低8 计数初值寄存器 (CR) 高8 低8 CLK 0 GATE0 OUT0 VCC Gnd +5V
8253定时

8253定时/计数器实验一、实验目的了解8253定时器的硬件连接方法及时序关系,掌握8253工作方式以及编程方法。
二、实验内容编程将8253定时器0设定为方式3,定时器1设定在方式2,定时器2设定在方式2,定时器0输出作为定时器1的输入,定时器1的输出作为定时器2的输入,定时器2的输出接在一个LED上,运行后可观察到该LED在不停闪烁。
1.8253是一种可编程计数器/定时器,它是用软、硬技术结合的方法实现定时和计数控制。
其主要有以下特点:①有3个独立的16位计数器,每个计数器均以减法计数。
②每个计数器都可按二进制计数或十进制(BCD码)计数。
③每个计数器都可由程序设置6种工作方式。
④每个计数器计数速度可以达2MHz。
⑤所有I/O都可与TTL兼容2.8253部分管脚的功能简介:D0-D7——数据总线缓冲器A0-A7——地址输入线,用来选择3个计数器和控制寄存器中的一个。
CLK——时钟脉冲输入端。
计数脉冲加到CLK输入端,可进行二进制或十进制减1的计数。
GATE——门控脉冲输入,用以控制计数或复位。
通常当其为低电平时,禁止计数器的工作,即此输入信号即可完成外部触发启动定时作用,又可用于中止计数或定时作用。
OUT——计数到零或定时时间到脉冲输出。
当预置的数值减到零时,从OUT输出端输出一信号,在不同的方式下,可输出不同形式的信号。
可以用作中断请求,也可用作周期性的负脉冲或方波输出。
三、实验内容及步骤本实验需要用到单片机最小应用系统CPU模块(F1区)、8253模块(H3区)、时钟发生电路模块(C4区)和计数器/频率计(A4区)。
1.用导线单片机最小应用系统P2.0、P2.1、P2.7、RD、WR分别接8253的A0、A1、CS-8253、RD、WR;单片机最小应用系统的P0口JD4F接8253模块的D0-7口JD0H,时钟发生电路模块的250kHz接8253模块的CLK0; GATE0接+5V,OUT0接计数器/频率计(A4区)的F IN 。
微机原理8253

OUT
1、 结构
8位双向三态。用于与CPU交换信息。 • 初始化时,CPU向其写入命令字等, 计数值; • CPU读取计数值。
计数器/ 数据总线 缓冲器
接收来自系统总线 的控制信号,以产 生控制整个芯片工 作的控制信号 计数器 0号 定时器通 道。 由16位的 可预置值 的减法计
读/ 写 逻辑
计数器 1号
数器构成。
初始化时,由CPU 写入控制字以决定 某通道的工作方式。
控制字 寄存器
计数器 2号
端口选择
8253有3个独立的计数器(计数通道),其内部结构完全 相同,如图3.3所示。 图3.3表示计数器由16位计数初值寄存器、减1计数器和当 前计数值锁存器组成。
8253无论作定时器用,还是作计数器用,其内部操 作完全相同,区别只在于前者是由计数脉冲(间隔不一 定相同)进行减1计数,而后者是由周期一定的时钟脉 冲作减1计数。作计数器用时,要求计数的次数可直接 作为计数初值预值到减1计数器;作定时器用时,计数 初值即定时系数应根据要求定时的时间和时钟脉冲周期 进行如下换算才能得到: 定时系数=要求定时的时间/时钟脉冲周期 计数初值与输入时钟(CLK)频率及输出波形(OUT) 频率之间的关系为 Ci= CLK/OUT 或 TC=CLK/OUT 利用关系式,可以计算出当给定CLK频率,要求所输出 的波形的频率为某值时的计数初值。
一、基本概念
一、定时/计数 在计算机系统、工业控制领域、乃至日常生活中,都存在定时、计 时和计数问题,尤其是计算机系统中的定时技术特别重要。 1.定时 定时和计时是最常见和最普遍的问题,一天24小时的许晓称为日时 钟。 2.计数 计数使用得更多。 3.定时与计数的关系 计时的本质就是计数,只不过这里的“数”的单位是时间单位。
接口技术实验-8253定时计数器

接口技术实验报告
实验三:可编程定时/计数器8253
一、实验目的
1、学会8253芯片和微机接口的原理和方法。
2、掌握8253定时器/计数器的工作方式和编程原理。
二、实验设备
微机原理实验箱、计算机一套。
三、实验内容
8253计数器0,1工作于方波方式,产生方波。
四、实验原理
本实验用到三部分电路:脉冲发生电路、分频电路以及8253定时器/计数器电路。
脉冲发生电路:实验台上提供8MHZ的脉冲源,见下图,实验台上标有8MHZ的插
孔,即为脉冲的输出端。
脉冲发生电路
分频电路:该电路由一片74LS393组成,见下图。
T0-T7为分频输出插孔。
该计数器在加电时由RESET信号清零。
当脉冲输入为8.0MHZ时,T0-T7输出脉冲频率依次为4.0MHZ,2.0MHZ,1.0MHZ,500KHZ,250KHZ,125KHZ,62500HZ,31250HZ。
分频电路
8253定时器/计数器电路:该电路由1片8253组成,8253的片选、数据口、地址、读、写线均已接好,时钟输入分别为CLK0、CLK1。
定时器输出、GATE控制孔对应如下:OUT0、GATE0、OUT1、GATE1。
原理图如下:
注:GATE信号无输入时为高电平
8253定时器/计数器电路
四、实验连线
1、实验连线:
T接8.0MHZ;CLK0插孔接分频器74LS393(左下方)的T2插孔; OUT0接CLK 1;OUT1接发光二极管;
各通道门控信号GATE +5V
2、编程调试程序。
3、全速运行,观察实验结果。
8253定时计数器实验

8253定时器/计数器实验一、实验目的:1、进一步了解可编程定时/计数器8253的特点与功能;2、掌握8253定时/计数器的应用、编程方法。
二、实验设备:MUT—Ⅲ型实验箱、8086CPU模块、示波器。
三、实验内容:用定时/计数器8253的计数器0、计数器1级联实现1秒的定时。
使OUT1端所接发光二极管每隔1S闪烁一次,模拟电子秒表或信号报警器。
两个计数器皆工作于方式3(输出方波),CLK0端接频率为750KHz的时钟。
四、实验电路:本实验用到两部分电路:时钟脉冲发生器(脉冲产生电路)(见附录)、8253定时器/计数器(1片)。
电路原理图如图1所示。
图1:8253定时/计数器实验电路五、实验步骤:(1)实验连线:CS0连CS8253,8253CLK0连时钟脉冲发生电路的CLK3,OUT0连8253CLK1,OUT1连LED1。
如图2所示。
注意:GATE信号线、数据线、地址线、读写控制信号线均已接好。
图2:线路连接示意图(2)输入以下程序,编译、链接后,全速运行,观察实验结果。
;8253初始化参考程序CODE SEGMENTASSUME CS:CODEORG 0100HSTART:MOV DX,04A6H ;控制寄存器地址MOV AL,00110110B ;计数器0控制字:方式3,二进制计数OUT DX,ALMOV DX,04A0H ;计数器0的口地址MOV AL,0EEH ;写计数初值低8位OUT DX,ALMOV AL,02H ;写计数初值高8位OUT DX,ALMOV DX,04A6H ;控制寄存器地址MOV AL,01110110B ;计数器1控制字:方式3,二进制计数OUT DX,ALMOV DX,04A2H ;计数器1的口地址MOV AL,0E8H ;计数初值低8位OUT DX,ALMOV AL,03H ;计数值高8位OUT DX,ALNEXT: NOPJMP NEXT ;CPU在此循环执行空操作,说明8253独立工作。
8253定时和计数

8259举例
8259A的全嵌套方式和特殊全嵌套方式有什么差别?各自用在 什么场合? 答:1.全嵌套工作方式,只有更高级的中断请求来到时,才会 进行嵌套。而特殊全嵌套方式则能被同级和高级的中断请求所 嵌套。 2.全嵌套方式用于单片8259A的场合。特殊全嵌套方式用于多 片8259A系统。
8259举例
8253
定时计数器
例2:若用8253计数器1,工作在方式1,按二-十进制计数,计数 初值为2010H,口地址口地址为40H- 43H ,试编写初始化程序。 解:计数器控制字为01110011=73H 计数初值高8位为20H, 低8位为10H MOV AL, 33H OUT 4BH, AL MOV AL, 10H OUT 49H, AL MOV AL, 20H OUT 49H, AL ;写计数器1控制字 ;写计数器1计数初值低8位 ;写计数器1计数初值高8位
8253的编程——向8253写入控制字 1,控制字格式:
A1 A0 1 1 D7 D6 D5 D4 D3 D2 D1 D0 SC1 SC0 RL1 RL0 M2 M1 M0 BCD (地址 43H)
计数器选择 00:计数器 0 01:计数器 1 10:计数器 2 11:非法 读/写指示位 00:计数器锁存 01:只读/写低字节 10;只读/写高字节 11:先读/写低字节 后读/写高字节
实现定时和计数的三种方法 软件方法:采用软件定时,让计算机执行一个专门 的指令序列,由执行指令序列中各条指令所花费的 时间构成一个固定的时间间隔,从而达到定时或延 时的目的。 不可编程的硬件定时:采用电子器件构成定时或延 时电路,通过调整电路中定时元件的数值,可实现 调整定时或延时的数值和范围。 可编程的硬件定时:在微机系统中采用软硬件结合 的方法,即采用可编程定时的电路器件实现定时。 如:Intel 8253/8254,Zilog CTC,MC6840等。 8253-5(5MHz)和8254-2(10MHz)的引脚和 功能都是兼容的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章8253定时/计数器对零件产品计数统计车辆流量等测量转速计数计数器:对电脉冲计数电脉冲定时的本质-计数: 对时间基准的计数任何一个周期运动的周期皆可作为时间标准将若干小片时间累积起来,就获得一定时间.以秒为单位计时,即60秒就是1分钟,计满60分钟就是1小时.秒的定义:是Ce-133原子基态两个超细能级间跃迁所对应辐射的9192631770个周期的时间.T=1.087827757*10-10s定时作A/D转换采集信号定时发送控制信号计算机,总线的主频定时作用举例微机定时的方法软件定时:CPU执行指令,预先知道所编程执行指令的周期,循环执行指令以延时硬件定时:单稳电路,可编程通用定时器/计时器.例intel82533个独立16位计数通道每个通道可任选6种工作方式之一种24脚双列直插芯片6.1 框图与引脚6.1.1 框图1. 数据总线缓冲器8位,三态,双向缓冲器,是CPU和8253交换数据的唯一通道.2.读写控制逻辑高电平时禁止三态和读写逻辑控制数据的传送方向.A0 A1 不同组合决定CPU访问的芯片内部不同端口.CS=0 A0 A1 不同组合决定CPU 读写不同端口框图3 .控制字寄存器A0A1=11时访问控制字寄存器,控制字D6D7决定写入那个通道寄存器,各个通道的控制寄存器的控制字,决定各通道工作方式等内容.4. 通道0,1,2计数器三个通道计数器相同16位通道寄存器CR:接受初始计数值,开始计数之前,由CPU用输出指令预置入CR中.16位计数单元CE:对CLK的输入脉冲信号,从预置的初始值减1计数,当初始值减为0时,由OUT 输出电平或脉冲,GATE引脚可控制输入脉冲是否能输入.输出锁存器OL,锁存CE的内容,CPU可随时读取OL中CE的当前值,不影响计数器脉冲输入和计数器的继续计数.定时计数单元6.1.2 8253的引脚1.与CPU的连接线D0-D7双向三态接至数据总线.A1,A0 :地址线,片内寻址片选8253.读出写入82532.三个通道CLK,GATE,OUT 功能相同CLK 引脚: 可输入周期或随机的脉冲信号GATE引脚启动或禁止计数OUT引脚减1计数到零信号输出端,输出信号可以是方波,脉冲,电平等.6.2 8253初始化6.2.1 8253寻址控制寄存器写入,三个通道寄存器仅一个地址,据D6D7不同写入.=0, =1写入CR=1, =0读出OL2,8 位总线如何写16 位计数初值数据1,对应三个计数单元有三个独立的控制寄存器.一个地址如何写入三个通道寄存器4,计数单元的工作方式有关控制字几个问题3,二进制计数,十进制计数6.2.2 8253初始化设定1.编程顺序先写控制字,再写计数初值,8253工作.2.8253控制字设定计数制标志位D0=0,按二进制计数,16位最大FFFF,216=65536.D0=1,按十进制计数,4位最大1001=9,16位9999工作方式D3D2D1计数值读写写CR,读OL通道控制字D6D7例1,写出控制字通道1,方式3,二进制计数,先写低八位,后写高八位.通道0,方式5,十进制计数,只写高八位.通道2,方式0,二进制计数, 写低八位.6.3 8253的读写操作6.3.1 8253的读操作1. 读之前停止计数GATE低电平,或CLK无信号因为先读低8位,后读高8位,有一定时间间隔.若不停止计数,两次读入计数值不是同一个. 使GATE低电平,或CLK无信号8253地址范围40H-43H,读当前通道0计数值2.读之前先锁存控制寄存器D6D7选择通道,D5D4=00时表示锁存,所以,向控制寄存器写入00H,40H,80H表示锁存通道0,1,2.(此时D3-D0无关全设为0)锁存通道2 计数值并读取MOV AL,80HOUT 43H,ALMov al,10110000BOut 43h,alIN AL,42HMOV BL,ALIN AL,42HMOV BH,AL6.3.2 8253的写操作向通道1 写入数据2000( 十进制), 工作方式0, 二进制计数MOV AL,70H;(01110000B)MOV DX,303HOUT DX,ALMOV AX,2000MOV DX ,301HOUT DX,ALMOV AL,AHOUT DX,AL向通道1 写入数据2000( 十进制), 工作方式0, 十进制计数MOV AL, 01100001BMOV DX,303HOUT DX,ALMOV AX,2000HMOV DX ,301HMOV AL,AHOUT DX,ALA9A8A7A6A5A4A3A2A1A0+例如图电路8253的地址范围以方式3,二进制计数向通道2写入初值0432H6.4 8253工作方式6.4.1 方式0 :减1到0发中断请求计数中重写CR,CR重新装入CE再减1至0GATE=0期间,停止计数,GATE=1,从原计数值继续计数减1至0.CR-CE后经N个脉冲宽度例:计数值5,通道0,以方式0二进制计数.CS=40H-43HMOV AL,10HOUT 43H,ALMOV AL,5OUT 40H,AL6.4.5 方式4 软件触发选通(一次性)类似方式0,计数结束后,OUT输出CLK同宽负脉冲.CR赋新数值,立即有效.GATE=1计数,GATE=0禁止.脉宽为T的零脉冲写入初值后延迟N个脉宽CLK=1M,CS=40H-43H,方式4,二进制计数,通道1,软件触发后50us,OUT输出0脉冲T=1us,50/T=50=NMOV AL,58HOUT 43H,ALMOV AL,50OUT 41H,AL6.4.2 方式1 可编程单脉冲输出可编程单稳态工作方式计数过程中,GATE上升沿重新开始计数每个GATE的上升沿→CR的内容装入CE→OUT低电平CE减1计数到0→OUT出高电平CPU可以重新写CR,但写入后GATE上升沿方有效.OUT脉冲宽度为N个时钟脉宽例CLK频率1MHz,通道1,工作方式1,二进制计数,设计电路时GATE脉冲触发OUT产生100US 的单脉冲.T=1/1M=1US,N=100/1=100MOV AL,52HOUT 43H,ALMOV AL,100OUT 41H,AL6.4.6 方式5 硬件触发选通写入CR后,GATE正跳变后开始计数,计数结束输出与CLK等宽的OUT零脉冲.CR赋新值后不立即生效,GATE正跳变后生效.CLK=1KHZ,GATE=↑后1S输出零脉冲的上升沿.通道2,方式5,二进制计数,CS=40HT=1ms,N=1s/1ms=1000mov al,0bahout 43h,almov ax,1000out 42h,almov al,ahout 42h,alGATE 脉冲触发6.4.3 方式2周期性时间间隔计数器(频率发生器)GATE=0,停止计数.GATE上升沿重新启动计数.改变CR,下一次减计数有效.计数初值5,低电平维持1个周期,高电平维持4个周期OUT频率f'=1/5T=f/5CLK=1M,方式2,通道0,二进制计数,CS=300H-303H,编程得到200kHz信号f'=f/N,N=5 (产生信号的周期是原信号的N倍)mov dx,303hmov al,14hout dx,almov al,5mov dx,300hout dx,al6.4.4 方式3 方波发生器类似方式2,但计数时间间隔内,OUT引脚一半保持高电平,一半低电平.CR的数为偶:OUT输出:N/2脉冲为正,N/2脉冲为负.CR的数为奇:OUT输出:(N+1)/2脉冲为正,(N-1)/2脉冲为负.例CLK=1MHZ,8253方式3,通道0,CS=300H-304H,编程产生100KHZ信号1MHZ/100K=N=10MOV DX,303HMOV AL,16HOUT DX,ALMOV DX,300HMOV AL,10OUT DX,AL8253有几种工作方式有何特点用途如何总结GATE管脚作用简述8253方式1的时序.某应用系统扩展一块8253,芯片地址304H-307H,系统中已经制作好1MHz标准信号.学号的末两位为XX,则产生XXHz的方波.请画出硬件设计草图,编制各通道初始化程序.作业第五章8255可编程并行输入输出接口5.1 8255A的框图结构与引脚5.1.1 8255A的框图结构(CPU 总线)D0-D7 数据总线缓冲器(接口) 8255端口数据总线缓冲器:特点: 8位,双向,三态的缓冲器作用:写控制字,读状态信息,读数据,皆通过此口传送1. CPU接口电路DBCBAB8255A的框图2. 内部控制逻辑控制寄存器:例如D6-D3 A组控制,控制A端口和C端口高四位D2-D0 B组控制,控制B端口和C端口低四位读写控制逻辑特点:接收CPU信号,实现对8255的控制. RESET:复位线,使8255复位.3.输入输出接口电路端口A,B亦称PA口PB口8位数据输入锁存器/缓冲器8位数据输出锁存器/缓冲器端口C,亦称PC口8位数据输入缓冲器8位数据输出锁存器/缓冲器六根控制线(DB数据总线)CS WR RD A1 A0 端口DB1 x x x x 高阻0 1 1 x x 高阻0 1 0 0 0 A →0 1 0 0 1 B →0 1 0 1 0 C →0 0 1 0 0 A ←0 0 1 0 1 B ←0 0 1 1 0 C ←0 0 1 1 1 控制寄存器←二,内部端口和地址303H控制字按位置位11302HC1301HB1300HA地址300H-303H端口A0A1方式0:PA,PB,PC高四位,PC低四位A通道端口A端口C高五位B通道端口B端口C低三位方式1,2此时,PC端口作为各通道的数据联络线.3,控制字5.2 8255A编程控制字5.2 8255A编程控制字1,方式控制字同一地址端口D7=1 写入方式控制字.D7=0对端口C按位置位控制字举例16种传输方式例:当地址为11000000xx时选中8255,低位地址接A1,A0求:8255地址范围求:各端口地址将地址为300H-303H的8255的PA口设成方式0输出1000 0000mov dx,303hmov al,80hout dx,al可否将端口A设成方式1输入,端口c高四位设成方式0输出不可2. 8255A按位置位复位控制字向控制端口写将PC6置1(300-303H)mov dx,303hmov al,0dhout dx,alPC口作联络线时,有些联络线状态由8255或外设决定,CPU不知道,不可整体读写.5.1.2 8255A引脚说明1.连接外设PA0-PA7 A口PB0-PB7 B口PC0-PC7 C 口.连接CPU总线D0-D7双向三态接至数据总线.5.3 8255A工作方式5.3.1 方式01.基本输入输出方式:特点:两个8位端口,端口A,端口B.两个四位端口,C高四位,C低四位.共四个I/O端口.由编程设定输入或是输出端口,但不能同时既是输入,又是输出.输出锁存,输入不锁存.无条件输入输出方式端口C仅能整体读写.CS=300H-303H的8255,PA口接7只LED,驱动已接好,输出1时灯亮.设计电路使四个LED依次显示4328定义数据段变量LED开始数据段段码送DSLED偏移地址送SI内存取数至AL送PA口延时有键按下吗ENDYESNOSI+1,BH-1BH为零吗YESNO硬件草图(略)循环输出四个数据(类似阶梯波)PC口置位DATA SEGMANT ;定义数据段LED DB 66h, 0f2H,0d2H,ffHCODE SEGMENT ;定义代码段ASSUME CS:CODE,DS:DATA;代码段,数据段寄存器说明START: MOV AX,DATA ;数据段寄存器段码送DSMOV DS,AXMOV DX,303HMOV AL,80HOUT DX,AL ;PA口设成方式0.LP: MOV SI,OFFSET LED ;LED数据偏移地址送SIMOV BH,4 一组输出4个数据.LLP: MOV AL,[SI] ;数据送累加器.MOV DX,300H ;数据送PA口OUT DX,ALMOV CX,100 ;延时DELAY: LOOP DELAYMOV AH,1 ;有键按下则EXITINT 16HJNE EXITINC SI ;取下一个数据DEC BHJNZ LLP ;未取完4个则转LLPJMP LPEXIT:MOV AH,4CH ;软中断返回DOSINT 21HCODE ENDS ;结束END STARTCS=300H-303H的8255,PC口低四位接开关输入,设计电路读取状态. MOV DX,303HMOV AL,81HOUT DX,AL;PC口低四位设成输入.MOV DX,302HIN AL,DXAND AL,0FHAL低四位为开关量的值,高八位为0.0809定时子程序8253(300H-303H)8255(304H-307H)8253方式0,定时200usdelay proc nearpush dxmov al,10h;通道0,方式0mov dx ,303hout dx,almov dx ,300hout dx ,almov dx,307h;8255设置mov al,90hout dx,alstay:in al,dxand al,1jz stay;与结果为零pop dxretdelay endp作业:1,8255PA口地址280H,其余口地址.2,8255编程控制字命令格式,每位含义,读写方式.3,地址为(300H-303H)的8255,其PB0-PB7接7段数码管,设计硬件草图,编写程序使数码管显示28255方式15.3.2 8255方式1特点:中断方式驱动A通道端口A B通道端口BPC3-PC7 PC0-PC2输入输出皆锁存方式1输入5.3.2.1 方式1输入1.通道A控制字D7---D0=10111/0xxxPC4= (strobe)端口A选通控制信号.外部输入低电平(上升沿)有效PC5=IBFa (input buffer full)端口A输入缓冲器满指示信号,高电平有效.数据输入A口未被CPU 取走前,IBFa输出高,指示外设不要在新入信号.PC3=INTRa (interrupt request) 中断请求信号,通道A发出,高电平有效.通常接8259A的Iri端,或CPU的INTR 引脚,申请中断.2. 通道B 控制字1xxxx11xPC2= (strobe)端口B选通控制信号.PC1=IBFb (input buffer full)端口B输入缓冲器满指示信号PC0=INTRb (interrupt request)通道B中断请求信号3.中断的允许与禁止:INTE: ( Interrupt enable) 8255中断允许寄存器通道A INTEa=1 , A口可发中断申请通道B INTEb=1, B口可发中断申请8255A工作于方式1输入时,对PC4,PC2置位,复位操作,分别用来控制INTEa和INTEb的置1与置0.4.方式1输入时序外数据=0锁存8255数据口下降沿0.3us IBF=1有效,禁止输入新信号=0上升沿后0.3us,(若INTE=1,IBF=1)INTR=1,有效CPU中断,读数=0上升沿后0.4us,IBF=0下降沿后0.3us,INTR=05.2.2.3 方式1输出1.通道APC7= (output buffer full)端口A输出缓冲器满,低电平有效.输出给外设,表明CPU已经将外设写入端口A输出缓冲器.PC6= (acknowledge)端口A的响应输入信号,外设收到信号后,发低电平回答8255.PC3=INTRa 向CPU发送中断请求信号,要求CPU中断,把数据写入输出锁存器.2.通道BPC2= PC1= PC0= INTRb.中断允许与禁止INTEa(INTEb) 由CPU向PC6(PC2)送置位,复位控制字,INTE=1,允许中断.INTE=0,不允许中断.3.时序CPU中断后总线数据上升沿锁存8255输出口下降沿0.85us,INTR申请撤销上升沿后0.5us 有效通知外设,外设回应=0下降沿0.35us 无效上升沿0.35us,INTR有效5.2.2.4 方式1输入输出的组合两通道可任意工作在输入或输出方式,由控制寄存器决定.方式1下,端口C仅能读,写入可采用置位/复位方法.。