第三章 8253定时

合集下载

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定时计数器

8253定时计数器
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定时和计数

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工作方式以及编程方法。

二、实验内容编程将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

微机原理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定时计数器

接口技术实验报告
实验三:可编程定时/计数器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定时计数器实验

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定时和计数

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)的引脚和 功能都是兼容的。

8253定时器实验.

8253定时器实验.

精选文档实验报告实验名称可编程准时器/计数器(8253 )姓名学号班级教师日期一、实验内容与要求1.1 实验内容计数器方式 2 实验:将 8253 芯片的计数器0 的工作方式设置为方式2,读 /写格式设置为01,写入时只写入计数器初值低8 位,高 8 地点 0,采纳二进制格式计数。

计数器初值为N (N>=0FH ),用手动开关逐一输入单脉冲,编程使计数值在屏幕上显示,并同时用TPC-USB平台上的 LED 灯察看 OUT0 电平变化(当输入第N 倍数个脉冲后OUT0 变低电平, LED 灯由亮变灭,其余脉冲OUT0 都是高电平, LED 灯都处于亮状态)。

计数器方式 3 实验:将计数器 0、计数器 1 的工作方式分别设置为方式3,计数初值设为1000,并同时用 TPC-USB 平台上的 LED 灯察看 OUT1 电平变化(频次1Hz)。

1.2 实验要求(1)拥有必定的汇编编程的基础,能编写一些基本语句来实现实验。

实验前依据实验流程图,写出对应代码;(2)要认识8253准时/计数器芯片内部构造和外面引脚,认识芯片的硬件连结方法、时序关系、各样模式的编程及应用,能娴熟地对其进行编程;(3)熟习实验平台 TPC-USB 认识各个接口的名称与功能,进行实验时能迅速并正确地连结好实验电路;(4)计数器方式 2 实验:连结 PC 与 TPC-USB 平台,用微机实验软件运转程序,用手动开关逐一输入单脉冲,在屏幕上能一次显示计数值,当输入第N 倍数个脉冲后OUT0 变低电平, TPC-USB 平台上的 LED 灯由亮变灭,其余脉冲OUT0 都是高电平, LED 灯都处于亮状态;(5)计数器方式3实验:连结PC与TPC-USB平台,用微机实验软件运转程序,TPC-USB平台上的 LED 灯能周期性地亮灭,频次为 1Hz。

二、实验原理与硬件连线2.1 实验原理TPC-USB 平台上有一块8253 准时 /计数器芯片, PC 能够经过 8253 芯片进行计数和准时。

8253定时器

8253定时器

数据线:写控 制字,读写计 数器的计数值 计数器0的时钟 输入端 计数器0的输出端
计数器0的门控信 号脉冲输入端, 控制计数
为低电平的时候,CPU 读取所选计数器的内容
A1 A0
选中端口
00
01 10 11
计数器0
计数器1 计数器2 控制字寄存器
8
与系统的连接示意图
8253占用4个接口 地址: DB 计数器0 计数器1 IOW 计数器2 IOR 控制寄存器
26
工作方式5:硬件触发选通脉冲
方式5的时序图(a. GATE一直为高电平 b. GATE电平改变)
1.
2. 3.
写入控制字后,OUT端变为高电平,写入初始值n后,必须等待GATE的上升 沿触发才转入计数。 计数器减至0时,OUT端输出一个脉冲周期的负脉冲。然后n值自动装入计数 器,但要等GATE的上升沿来后才再次开始计数。 计数过程中,若GATE变低电平,不影响计数,但其上升沿将使得n重新装入 计数器,开始计数。
+5V 工件 INT OUT0 CLK0 光敏 电阻 驱 动 器 光源
1.4MHz 8255PC0
8253 CLK1 GATE1 OUT1
扬声器
30
编程及应用
计数器0工作于方式2分频方式,每隔50个CLK0产生 一个中断INT;方式控制字为:00010101B(15H), 即方式2,只装低8位,BCD数制,初值为50(H)。 计数器1工作于方式3方波方式,产生2000Hz喇叭音调, 方式控制字为:01110111B(77H),即方式3,先低 后高,BCD数制;
15
工作方式0:计数结束产生中断(小结)
软件启动,不自动重复计数。 装入初值后OUT端变低电平,计数结束OUT输出高电平。 计数过程中,GATE端应保持高电平。

定时器8253

定时器8253

三、编程命令
1、方式命令的作用 8253进行初始化 进行初始化。 对 8253 进行初始化 。 一是向命令寄存器 写入方式命令;二是向计数器设置初值。 写入方式命令;二是向计数器设置初值。
2、方式命令பைடு நூலகம்格式
选择计数器。 ①D7D6(SC1 SC0):选择计数器。 00选择 选择0 SC1 SC0 =00选择0号计数器 01选择 选择1 SC1 SC0 =01选择1号计数器 10选择 选择2 SC1 SC0 =10选择2号计数器 11不用 SC1 SC0 =11不用
控制计数器读/写的字节数。 ②D5D4(RW1 RW0):控制计数器读/写的字节数。 为锁存命令。 RW1 RW0=00 为锁存命令。 仅读/ RW1 RW0=01 仅读/写一个低字节 仅读/ RW1 RW0=10 仅读/写一个高字节 个字节,先低、 RW1 RW0=11 读/写2个字节,先低、后高字节 用来选择计数器的工作方式。 ③D3~D 1(M2—M0);用来选择计数器的工作方式。 M M2M1M0=000 0方式 M2M1M0=001 1方式 M2M1M0=010 2方式 M2M1M0=011 3方式 M2M1M0=100 4方式 M2M1M0=101 5方式 BCD) 用来指定计数器的计数码制。 ④D0(BCD);用来指定计数器的计数码制。 BCD=0 BCD=1 BCD=0 二进制 BCD=1 二至十进制
2、内部逻辑结构
8253/8254内部有6个模块。 8253/8254内部有6个模块。 内部有
8253/8254内部有 个模块。 内部有6 2、内部逻辑结构 8253/8254内部有6个模块。 数据总线缓冲器。 CPU与8253交换信息的通道 交换信息的通道。 ①数据总线缓冲器。 CPU与8253交换信息的通道。 写逻辑。接收CPU的读/写控制信号, CPU的读 ②读/ 写逻辑。接收CPU的读/ 写控制信号,并完 成对芯片内部各功能部件的控制功能。 成对芯片内部各功能部件的控制功能。 控制命令寄存器。接受CPU送来的控制字。 CPU送来的控制字 ③控制命令寄存器。接受CPU送来的控制字。 计数器。 个独立的计数器, ④计数器。3 个独立的计数器,其内部结构完全 相同,如下图所示。 相同,如下图所示。

接口 定时器与计数器实验(8253)-- 8253定时器实验

接口 定时器与计数器实验(8253)-- 8253定时器实验

同组同学学号:同组同学姓名:实验日期:2012 年 3月 26日交报告日期:2012 年 5月 30日实验(No. 1_1 )题目:定时器与计数器实验(8253)-- 8253定时器实验实验目的及要求:实验目的:1、学习8253可编程定时器/计数器定时方法。

2、学习8253多级串联实现大时间常数的定时方法。

3、学习8088/86控制8253可编程定时器的方法。

实验要求:用8253对标准脉冲信号进行计数,就可以实现定时功能。

用板上的1MHz做为标准信号,将8253可编程计数器/定时器的时间常数设在1000000次,就可以在定时器的管脚上输出1秒钟高/1秒钟低的脉冲信号。

因为8253每个计数器只有十六位,要用两个计数器才能实现一百万次的计数,实现每一秒钟输出状态发生一次反转。

实验电路及连线:连线连接孔1 连接孔21 8253_CS CS42 8253_OUT0L03 8253_GATE0VCC4 8253_CLK08253_OUT15 8253_GATE1VCC6 8253_CLK1F/4(1M)7 4MHz Fin实验说明:1、本实验工作方式0,计数值减完后输出一个脉冲宽度的高电平。

而本实验在计数值减完后,管脚状态产生变化(从高到低或从低到高)。

直到下一次计数值减完。

这样输出的波形为方波。

2、由于定时常数过大,就要用多级串联方式。

本实验采用两级计数器。

定时常数分别为100和10000。

将计数器的输出接到计数器0输入。

计数器0 的输出接到LED0。

实验框图:主程序框图源程序及分析:CONTROL equ 0c003h ;设置命令寄存器COUNT0 equ 0c000h ;设置计数器0COUNT1 equ 0c001h ;设置计数器1COUNT2 equ 0c002h ;设置计数器2code segmentassume cs:codestart proc near;第一次定时器设定:mov al, 36h; ; 计数器0,16位,方式3,二进制(00110110B=36h) mov dx, CONTROLout dx, almov ax, 1000mov dx, COUNT0out dx, al ; 计数器低字节mov al, ahout dx, al ; 计数器高字节;第二次定时器设定mov al,01110110B; ; 计数器1,16位,方式3,二进制mov dx, CONTROLout dx, almov ax, 1000mov dx, COUNT1out dx, al ; 计数器低字节mov al, ahout dx, al ; 计数器高字节jmp $start endpcode endsend start实验(No. 1-2 )题目:定时器与计数器实验(8253)-- 8253计数器实验实验目的及要求:实验目的:1、学习8088/86与8253的连接方法。

实验八定时器计数器8253实验

实验八定时器计数器8253实验

8253是Intel公司生产的一款可 编程定时器计数器。
它具有3个独立的16位计数器, 每个计数器都可以独立编程和控
制。
8253的计数器可以用于产生时 间间隔、脉冲信号、PWM(脉
宽调制)等。
8253的工作原理
825ቤተ መጻሕፍቲ ባይዱ的每个计数器都有一个预置 值,当计数达到预置值时,计数 器会自动回置并触发一个中断或
实验八:定时器计数器8253实验
contents
目录
• 实验简介 • 8253定时器计数器概述 • 实验步骤与操作 • 实验结果与分析 • 实验总结与思考
01 实验简介
实验目的
掌握8253定时器计 数器的工作原理。
了解定时器在计算机 系统中的应用。
学习如何编程控制 8253定时器计数器。
实验设备
01
微机实验箱
02
8253定时器计数器芯片
03
示波器
04
信号发生器
02 8253定时器计数器概述
定时器计数器的基本概念
定时器计数器是一种用于产生 时间间隔或计数的电子设备。
它通常由石英晶体振荡器驱动, 以提供稳定的计时基准。
定时器计数器广泛应用于计算 机、通信、自动化等领域。
8253的特性和功能
配置8253定时器计数器
设置工作模式
根据实验要求,选择适当的定时/计数 模式,如计数模式、定时模式或门控 模式等。
设置定时/计数初值
启动定时/计数
通过微处理器发送控制信号,启动 8253定时器计数器的定时/计数操作。
根据实验要求,设置适当的定时/计数 初值,以满足实验条件。
启动和观察实验结果
启动实验
加强实践环节
为了更好地理解和掌握相关知识,建议增加更多的实践环节,例 如组织小组讨论、分享经验等。

8253定时_计数器实验

8253定时_计数器实验

实验8 8253定时/计数器实验一、实验目的1.了解8253与8086的硬件连接方法。

2.掌握8253的各种方式的编程及其原理。

3.学会Emu8086和Proteus的联合用调。

二、实验要求安装有Emu8086仿真软件和PROTEUS仿真软件的电脑一台。

三、预习内容1、8253定时计数器的内部结构和主要性能。

2、8253芯片的各个引脚及其含义如下图3.1所示。

图3.1 8253A定时计数器D7~D0:双向,8位三态数据线,用以传送数据(计数器的计数值)和控制字CLK0~CLK2:计数器0、1、2的时钟输入,CE对此脉冲计数OUT0~OUT2:计数器0、1、2的输出。

GA TE0~GATE2:计数器0、1、2的门控输入/CS:输入,片选信号。

/RD:输入,读信号。

/WR:输出、写信号。

A0,A1:输入,两位地址选择。

8253的内部寄存器地址如下表表3.1所示:/CS A1 A0 选中0 0 0 计数器00 0 1 计数器10 1 0 计数器20 1 1 控制寄存器表3.1 8253定时计数器的寄存器3、定时、计数器8253的命令字的初始化。

4、8253的六种工作方式具体参考课本(278页至282页)。

5、汇编软件Emu8086和Proteus软件的联合使用方法步骤。

在Proteus软件绘制系统原理图,然后需要对Proteus进行程序导入设置才能进行方真调试。

具体步骤如下:(1)点击Proteus软件菜单中的source的下拉选项中的Dfine Code Generation Tools...如下图3.2所示。

图3.2(2)a在弹出的对话框中单击new按钮如下图3.3所示。

图3.3(3)弹出如下对话框,找到本机中emu8086安装后生成的emu8086文件夹,打开,选择可执行程序emu8086.exe,点击“打开”按钮,如下图3.4所示。

图3.4(4)回到设置对话框后,将源文件和目标文件分别设为ASM和EXE,单击“OK”,如下图3.5所示图3.5(5)单击菜单选项source的下拉选项Add/Remove Source Files...如下图3.6所示。

实验三 8253计数器定时器的应用

实验三 8253计数器定时器的应用

实验三 8253计数器/定时器的应用一、实验目的:学习掌握8253用作定时器的编程原理;二、8253应用小结I8253和I8254都是可编程计数器,它们的引脚兼容,功能与使用方法相同。

I8254是I8253的改进型。

1.微机系统定时器和实验箱定时器(1)微机系统使用的8254,其3个通道均有固定的用途:0号计数器为系统时钟源,每隔55ms向系统主8259IR0提一次中断请求;1号计数器用于动态存储器的定时刷新控制;2号计数器为系统的发声源。

用户在使用微机系统的时候,可以使用0号和2号计数器,但不能改变对1号计数器的初始化。

(2)实验箱上的8253,其数据线D7—D0,地址线A1、A0和控制线RD、WR通过总线驱动卡和微机系统的三总线相连。

除此之外,三个计数器的引出段和片选端都是悬空的,这意味着实验箱上的8253的三个计数器都归用户使用,你可以单独使用其中的一个计数器,也可以串联使用其中的2个或3个计数器。

(3)8253计数器的输入信号,其频率不能超过2MHz,否则长时间使用,芯片过热,容易烧毁。

2.8253初始化使用8253前,要进行初始化编程。

初始化编程的步骤是:①向控制寄存器端口写入控制字对使用的计数器规定其使用方式等。

②向使用的计数器端口写入计数初值。

3.8253控制字D7D6=00:使用0号计数器,D7D6=01:使用1号计数器D7D6=10:使用2号计数器,D7D6=11:无效D5D4=00:锁存当前计数值D5D4=01:只写低8位(高8位为0),读出时只读低8位D5D4=10:只写高8位(低8位为0),读出时只读高8位D5D4=11:先读/写低8位,后读/写高8位计数值D3D2D1=000:选择方式0,D3D2D1=001:选择方式1D3D2D1=X10:选择方式2,D3D2D1=X11:选择方式3D3D2D1=100:选择方式4,D3D2D1=101:选择方式5D0=0:计数初值为二进制,D0=1:计数初值为BCD码数三、实验电路蜂鸣器电路四、实验内容1.完成一个音乐发生器,通过蜂鸣器放出音乐,并在数码管上显示乐谱。

8253定时器实验

8253定时器实验

8253定时器实验实验七可编程定时/计数器与中断控制一、实验目的1.掌握微机中断处理系统的基本原理、学习中断服务程序的编写方法。

2.掌握8253/8254定时/计数器的基本原理和编程方法。

二、实验原理本实验采用Intel8253作为计数器芯片,8254芯片是8253的兼容替代产品,计数速率等性能优于8253。

1.可编程定时/计数器8253功能简介8253含有三个独立的16位计数器,每个计数器连接外设的信号分别是:CLK ——输入的脉冲信号或外部事件,计数器对此脉冲进行减1计数;GATE ——启动/禁止计数的控制信号;OUT ——输出信号。

每个计数器可有六种工作方式,均可由程序设置和改变,8253的几种工作方式及特点如表7.1所示。

若一个计数器被设定为方式0,计数初值n,在控制信号GATE为高时即可对输入的脉冲作减1计数,OUT维持低电平;计数到0时,则由OUT端输出一个高电平信号。

若一个计数器被设定为方式2,输入为周期性脉冲信号,且计数初值可自动重新装入并连续计数,输出信号就成为周期信号,周期为T OUT = n×T IN(或频率?OUT = ?IN / n),即可作为分频器应用。

表7.1 8253的6种工作方式工作方式功能描述GATE=0启动方式初值设置说明方式0计数到0输出高电平停止计数软件一次有效(n+1)T CLK 负脉冲方式1硬件可重触发单稳态--- 硬件自动装入nT CLK负脉冲方式2分频器停止计数软/硬件自动装入T OUT=n×T CLK方式3方波发生器停止计数软/硬件自动装入分频,占空比≈50﹪方式4软件触发选通停止计数软件一次有效计数到0负T CLK方式5 硬件触发选通--- 硬件自动装入波形同方式4注:软件启动是指当GATE=1时写入方式字和初值即启动;硬件启动是指写入方式字和初值后要由GATE上升沿启动。

2.8253编程简要说明8253的每个计数器必须在写入控制字和计数初值后才启动工作,一般的初始化编程分为两步:先写入控制字、再写入计数初值。

微机原理_定时计数器8253

微机原理_定时计数器8253

D6 SC0
D5 RL1
D4 RL0
D3 M2
D2 M1
D1 M0
D0 BCD
SC1 SC0 :选择计数器(0#,1#,2#) M2M1M0:设置工作方式(0~5) RL1 RL0 00 01 10 11 设置计数值格式 当前计数值锁存到输出缓冲器 写 / 读计数值的低8位 写 / 读计数值的高8位 写 / 读计数值的16位(先低8位,后高8位)
8253内部有 个完全相同、又相互独立的16位减法 8253内部有3个完全相同、又相互独立的16位减法 内部有3 计数器。 计数器。 可以用二进制或十进制计数。 可以用二进制或十进制计数。 工作方式和计数常数编程设置。 工作方式和计数常数编程设置。
一、内部结构
8253定时 8253定时/计数器的工作原理 定时/ 定时/ 计数器的核心部件为可预置初值计数器。 定时 / 计数器的核心部件为可预置初值计数器 。 预置初值后开始计数, CLK信号每输入一个脉冲 信号每输入一个脉冲, 预置初值后开始计数 , CLK 信号每输入一个脉冲 , 计数值减1 一直减到0 并且OUT OUT脚同时产生相应 计数值减 1 , 一直减到 0 , 并且 OUT 脚同时产生相应 输出信号,该信号可用作中断请求。 输出信号,该信号可用作中断请求。
要注意定时器 的容量即位数
GATE门控 门控 信号 计数脉冲 可预置初值计数器
CLK 输入
OUT 输出
计数初值
说明: 说明: 1、每个计数器各有三根I/O线 每个计数器各有三根I/O线 CLK: CLK:时钟信号输入 OUT: OUT:计数器输出 GATE:门控信号, GATE:门控信号,用于启动或允许计数器工作 2、通过对控制寄存器写操作,来设置工作方式。 通过对控制寄存器写操作,来设置工作方式。 3、有A1A0两条地址线,在PC机中的端口地址是40H~43H。 两条地址线, PC机中的端口地址是 H~43H。 机中的端口地址是40 A1 A0 端口 定义 0 0 40H 40H 0#计数器 0#计数器 0 1 41H 41H 1#计数器 1#计数器 1 0 42H 42H 2#计数器 2#计数器 1 1 43H 43H 控制寄存器

8253定时计数器小节

8253定时计数器小节

8253定时/计数器小节8253的结构与功能(8253是为方便计算机系统的设计和应用而研制的,定时值和范围可以很容易地由软件来控制和改变,8253是24脚双列直插式芯片,使用的是+5V电源供电。

芯片内有三个相互独立的16位定时/计数器。

8253由数据总线缓冲器、读/写逻辑、控制字寄存器以及3个独立的16位计数器组成。

每个计数器包括一个8位的控制寄存器、一个16位的计数初值寄存器CR、一个16位的减1计数器CE和一个1、控制寄存器此寄存器保存来自CPU的控制字。

每个计数器都有一个控制命令寄存器,用来保存该计数器的控制信息。

2、数据缓冲器用于和系统数据总线的连接,CPU通过数据缓冲器将控制命令字和计数值写入8253计数器,或者从8253计3、读/写逻辑接受来自CPU的控制信号,完成对8253内部操作的控制。

控制信号包括读信号(/RD),写信号(/WD),片选下面通过一段代码程序来对8253进行了解(此处假设8253芯片的端口地址为388H~38BH,要求计数器0工作在方式3,计数初始值为2354,十进制计MOV DX,38BH ;这里将38BH作为8253的控制字端口地址,下面的两端代码也一样MOV AL,00110111BOUT DX,ALMOV DX,388H ;这里应该注意的一点是端口号的使用,计数器0为四个端口号中最低的号,MOV AL,54H ;送计数初值的低8位OUT DX,ALMOV AL,23H ;送计数初值的高8位OUT DX,AL;计数器1的初始化程序MOV DX,38bH ;给计数器1送控制字MOV AL,01010100BOUT DX,ALMOV DX,389H ;计数初值送低8位置MOV AL,18HOUT DX,AL;计数器0当前计数值读出程序MOV DX,38BH ;送计数器0当前计数值锁存命令MOV AL,00HOUT DX,ALMOV DX,388H ;读出当前计数值的低8位IN AL,DXMOV CL,ALIN AL,DX ;读出当前计数值的高8位MOV CH,AL首先,需要了解的是:对于8253占用4个I/O地址。

8253定时器工作方式

8253定时器工作方式

8253定时器工作方式
8253定时器是一种常见的计时器芯片,它通常用于控制计算
机硬件设备的定时操作。

8253定时器可以通过以下方式工作:
1. 方式0:8253定时器的方式0是最基本的工作方式,它可以实现一个简单的定时功能。

在这个方式下,定时器计数器会从初始值开始递增,当计数器达到设定的目标值时,会触发一个计时中断。

2. 方式1:8253定时器的方式1是一种周期性工作方式。

在这个方式下,定时器计数器会从初始值开始递增,当计数器达到目标值时,会触发一个计时中断,并且回到初始值重新开始计数。

这样就实现了一个周期性的定时功能。

3. 方式2:8253定时器的方式2是一种用于产生脉冲的工作方式。

在这个方式下,定时器计数器会从初始值开始递增,当计数器达到目标值时,会反转输出引脚的电平,然后回到初始值重新开始计数。

这样就可以产生一个周期性的脉冲信号。

以上是8253定时器的三种常见工作方式,它们可以根据实际
需要选择合适的方式来实现所需的定时功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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仅能读,写入可采用置位/复位方法.。

相关文档
最新文档