第2节2_8253的方式控制字和读写操作
8253的内部结构与工作方式
8253的部结构和工作方式8253具有3个独立的计数通道,采用减1计数方式。
在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。
当计数脉冲是已知周期的时钟信号时,计数就成为定时。
一、8253部结构8253芯片有24条引脚,封装在双列直插式瓷管壳。
1.数据总线缓冲器数据总线缓冲器与系统总线连接,8位双向,与CPU交换信息的通道。
这是8253与CPU之间的数据接口,它由8位双向三态缓冲存储器构成,是CPU与8253之间交换信息的必经之路。
2.读/写控制读/写控制分别连接系统的IOR#和IOW#,由CPU控制着访问8253的部通道。
接收CPU送入的读/写控制信号,并完成对芯片部各功能部件的控制功能,因此,它实际上是8253芯片部的控制器。
A1A0:端口选择信号,由CPU输入。
8253部有3个独立的通道和一个控制字寄存器,它们构成8253芯片的4个端口,CPU可对3个通道进行读/写操作3对控制字寄存器进行写操作。
这4个端口地址由最低2位地址码A1A0来选择。
如表9.3.1所示。
3.通道选择(1) CS#——片选信号,由CPU输入,低电平有效,通常由端口地址的高位地址译码形成。
(2) RD#、WR#——读/写控制命令,由CPU输入,低电平有效。
RD#效时,CPU 读取由A1A0所选定的通道计数器的容。
WR#有效时,CPU将计数值写入各个通道的计数器中,或者是将方式控制字写入控制字寄存器中。
CPU对8253的读/写操作如表9.3.2所示。
4.计数通道0~2每个计数通道含1个16位的初值寄存器、减1计数器和1个16位的(输出)锁存器。
8253部包含3个功能完全相同的通道,每个通道部设有一个16位计数器,可进行二进制或十进制(BCD码)计数。
采用二进制计数时,最大计数值是FFFFH,采用BCD码计数时。
最大计数值是9999。
与此计数器相对应,每个通道设有一个16位计数值锁存器。
必要时可用来锁存计数值。
当某通道用作计数器时,应将要求计数的次数预置到该通道的计数器中、被计数的事件应以脉冲方式从CLK端输入,每输入一个计数脉冲,计数器容减“1”,待计数值计到“0”。
微机第9章8253
0 0----选计数器0
0 1----选计数器1 1 0----选计数器2 1 1----无意义
写入控制口,地址A1A0=11
2、计数初值的写入
若规定只写低8位,则写入的为计数值的低8位, 高8位自动置0; 若规定只写高8位,则写入的为计数值的高8位, 低8位自动置0; 若是16位计数值,则分两次写入,先写低8位, 再写入高8位。
计数值写入计数器各自的 计数通道(端口地址)
注: ① 写入控制字后,所有控制逻辑电路复位, 输出端OUT进入初始状态。 ② CPU向8253写入的计数初值,要在CLK端输入一个 正脉冲后才能被真正装入指定通道(若在此CLK下降 沿之前读计数器,则其值是不定的)。 之后再次输入时钟脉冲(CLK)才开始计数,且每次 在脉冲的下降沿减1计数。 即:写入计数初值后,经过一个CLK,8253才开始计 数。
④ 当GATE变为低电平时计数 停止,再变为高电平时计数继 续进行。 ⑤若计数过程中重新送入初值, 则按新值重新计数。
(2)方式1——可重复触发单稳触发器
WR CLK GATE OUT 3 2 1 0 FFFE 3 2 方式1时序图 CW N=3
③计数过程中,再次给通道写入时间 ①写入CW后OUT变为高电平, GATE 常数,不影响现行操作过程,GATE再 上升沿触发后,OUT变为低并开始计数, 次触发后才按新的时间常数操作。 归零时OUT变为高电平。 ④计数过程中,GATE触发沿提前到来, ②GATE再来一次上升沿使OUT为低, 在下一个CLK的下降沿,计数器开始重 新计数,这将使输出单稳脉冲比原先 计数器以初值重新计数。 设定的计数值加宽。 可重复触发——当计数归零后,不用再次送计数值,只要给它触发脉冲,即 可产生一个同样宽度的单稳脉冲输出。
微机原理简答题和答案
1. 设某8253通道1工作在方式0,按BCD方式计数,计数初值为400,通道0—控制寄存器的端口地址依次为80H~83H,试写出8253的初始化程序。
(8253方式控制字:D7D6:计数器选择;D5D4:读写控制;D3D2D1:工作方式选择D0:计数方式选择)控制字:01 11 000 1 71H答:MOV AL,71HOUT 83H,ALMOV AL,00HOUT 81H,ALMOV AL,04HOUT 81H,AL2. 某一8255A芯片的端口地址为90H~93H,现设置该接口芯片的PA口为基本输入方式、PB口为基本输出方式,PC口为输入方式,其方式选择控制字如下:D7=1,D6 D5 A口工作方式,D4 A口输入输出,D3 PC7-PC4输入输出,D2 B口工作方式,D1 B口输入输出,D0 PC3-PC0输入输出。
执行如下程序段后,PB口输出何种波形?L1:MOV AL,01HOUT 91H,ALCALL D20MS;延时20msMOV AL,00HOUT 91H,ALCALL D20MS;延时20msJMP L1答:MOV AL,99H OUT 93H,AL 方波3. 8253的计数器2工作于方式2,其计数时钟CLK2,为100KHz,输出信号OUT2作定时中断申请,定时间隔为8ms,试计算其计数初值N?答:8004. 某系统中有一片8253,其四个端口地址为310H,312H,314H,316H,计数脉冲频率为1MHz、BCD码计数,试编写计数器0输出频率为2KHz方波的初始化程序。
(8253方式控制字:D7D6:计数器选择;D5D4:读写控制;D3D2D1:工作方式选择D0:计数方式选择)计数初值=10^6/2*10^3=500控制字:00110111 37H答:MOV AL,37HMOV DX,316HOUT DX,ALMOV DX,310HMOV AL,00HOUT DX,ALMOV AL,05HOUT DX,AL5. 假如8259A已被编程,ICW2=0AH,若连接在8259A的IR3端的外设提出中断申请,它的中断向量的存放地址是什么?答:28H,29H,2AH,2BH6. 计算机有哪些主要应用领域?答:科学计算,数据处理,过程控制,信息通信,计算机辅助设计7. 什么叫微处理器?什么叫微型计算机?什么叫微型计算机系统?答:微处理器是指采用大规模集成电路技术,将具有运算控制功能的电路集成在一块芯片上的大规模集成电路,微型机即个人计算机,微型计算机系统是指以微型机为核心,配以相应的外部设备,及软件所构成的系统。
第2节2 8253的方式控制字和读写操作
DX,126H;
MOV
OUT MOV OUT
DX,120H;
DX,AL; AL,66H; DX,AL;
通道0端口地址送DX
向通道0写入计数初值的低8位 高8位计数值为66H 向通道0写入计数初值的高8位
例:设 8253 计数器通道 0 工作于方式 1 ,其计数值为 50 ,端口地址为 40H~43H,则它的初始化程序段如下:
MOV AL ,40H OUT 41H ,AL
融这里小额贷款
富察鸿德
设计数器通道1工作于方式3计数初值为40h它的初始化程序段moval56hout43halmoval50out40halmoval40hout41hal00010010b01010110b设8253计数器0工作于计数方式计数结束后产生中断计数初值为0304h
7.2.2 8253的方式控制字和读/写操作
MOV
AL,12H
00010010B
OUT
MOV OUT
43H,AL
AL,50 40H,AL
例:设计数器通道1工作于方式3,计数初值为40H,它的初始化程序段 为:
MOV
OUT
MOV OUT
AL,56H
43H,AL
AL,40H 41H,AL
01010110B
设8253计数器0工作于计数方式,计数结束后产生中断,计数初值为0304H。
MOV OUT
MOV OUT MOV OUT
AL,00110000B 43H,AL
AL,04H 40H,AL AL,03H 40H,AL
例:设8253计数器2工作在方式3,计数初值为345,则它的初始化程 序段如下:
MOV AL,10110110B OUT 43H,AL
微机原理与接口技术82558253初始化编程原
微机原理与接口技术8255 8253初始化编程原微机原理与接口技术--8255|8253初始化编程原理解析000微机原理与接口技术研究方向:指令数据在计算机中是如何传输的;(1)控制总线(2)地址总线(3)数据总线在计算机中要研究数据是如何传输的,就是知道计算机是如何寻址的(地址译码)、CPU与外设是如何进行数据交互的、CPU中的控制器是如何控制外设进行数据传输的;一、8253芯片74LS138芯片的工作原理:当一个选通端(G1)为高电平,另外选通端G2A、G2B为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端一低电平译出;(1)8253与8086CPU的连接方式注意:z如果8253与8位数据总线的微机相连,只要将A1A0分别与地址总线的最低两位A1A0相连即可。
z如果系统采用的是8086CPU,则数据总线为16位。
CPU在传送数据时,总是将低8位数据送往偶地址端口,将高8位数据送到奇地址端口。
偶地址端口的数据总是通过低8位数据总线送到CPU,奇地址端口的数据总是通过高8位数据总线送到CPU。
当仅具有8位数据总线的存储器或I/O接口芯片与8086的16位数据总线相连时,既可以连到高8位数据总线,也可以接在低8位数据总线上。
在实际设计系统时,常将这些芯片的数据线D7~D0接到系统数据总线的低8位,这样,CPU就要求芯片内部的各个端口为偶地址(地址总线的A0=0)。
应改用地址总线中的A2A1实现端口选择,即将A2连到8253的A1引脚,而将A1与8253的A0引脚相连。
(如上如所示)例题解析:5.若8253的地址为:04H-07H,要使计数器2工作于方式2,按二进制计数,计数值为02F0H,写出初始化程序。
若要读取通道1的16位计数值,写出其程序。
(1)初始化程序的步骤二、初始化编程步骤和门控信号的功能1.8253的初始化编程步骤接通电源时,8253处于未定义状态,在使用之前,必须用程序把它们初始化为所需的特定模式,这个过程称为初始化编程。
8253的6种工作方式分析
(2)门控信号GATE为高电平时,计数器工作; 当GATE为低电平时,计数器停止工作,其计数值 保持不变,等GATE为高时继续计数。
3
(3)在计数器工作期间,如果重新写入新的计数 值,计数器按新写入的计数值重新工作。 CLK
WR
GATE OUT N=6
N=2
高 6 5 2 1 0
方式0计数期间,又写入新的计数初值
9
(2)在计数器工作期间,若写入新的计数值,而GATE 一直维持高电平,计数器仍按原计数值计数,直到计数 器回零并在输出一个时钟周期的低电平后,才按新计数 值计数。
CLK
WR
GATE
OUT 3 2
N=3
N=2
高
1 0 2 1 0
10
2
1
四、方式3——方波发生器
CLK
WR
N=4
4 3 2 1 0(4) 3 2 1 0
14
CLK WR GATE OUT 4 3 4 3 2 1 0
N=4
方式5(2) 计数过程中,如果门控信号再次出现上升沿
15
方式5在计数过程中,写入新的计数值,但没有 GATE的上升沿触发脉冲,则当前计数不受影响。 当前计数结束后,再遇到GATE的上升沿,将按新 的初值开始计数。
16
七、六种方式的比较 1、方式0(计数到0时中断)和方式4(软件触发 选通) 相同点:二者都由软件触发(写入计数初值)启 动计数,无自动重装入计数初值的能力。每写入 一次计数初值,启动一次计数过程 。
4
二、方式1——可重复触发的单脉冲触发器
CLK
WR
GATE
OUT
3 2 1 0
CW
N=3
工作特点: (1)控制字写入后,OUT端输出高电平。写入初值后并不 开始计数而是等待GATE上升沿的到来。GATE出现上升沿 后在CLK下降沿开始计数,OUT输出低电平,计数到0时, OUT变高。方式1可产生单拍负脉冲信号,脉冲宽度由计数 初值决定。
总结8253知识点
总结8253知识点
一、 8253芯片的基本概念
1. 8253的概述
2. 8253的引脚功能
3. 8253的工作方式
4. 8253的应用领域
二、 8253的基本功能和工作原理
1. 8253的三个独立计数器/定时器
2. 8253的工作模式
3. 8253的计数器结构
4. 8253的控制字和状态字
三、 8253的工作模式与控制字
1. 8253的工作模式
(1)8253的方式0
(2)8253的方式1
(3)8253的方式2
2. 8253的控制字
(1)8253的工作模式控制
(2)8253的读/写控制
(3)8253的读/写方式
四、 8253的初始化和应用实例
1. 8253的初始化过程
2. 8253在嵌入式系统中的应用实例
3. 8253在计算机系统中的应用实例
五、 8253的时钟信号和中断
1. 8253的时钟信号
2. 8253的中断信号
3. 8253的中断处理流程
六、 8253的应用开发和调试
1. 8253的应用开发流程
2. 8253的应用调试方法
3. 8253的应用性能优化
综上所述,8253作为一种常见的计时器/计数器芯片,在计算机系统及嵌入式系统中有着广泛的应用。
了解8253的基本概念,掌握8253的基本功能和工作原理,理解8253的工作模式与控制字,熟悉8253的初始化和应用实例,掌握8253的时钟信号和中断,以及熟悉8253的应用开发和调试,都是在相关领域深入研究和应用8253芯片的基础。
希望本文的总结能够为读者对8253芯片有更深入的了解和应用提供一些帮助。
第8讲 8253
在微型计算机系统中常常需要定时器或计数器,用来产生实时时钟信号。
计算机控制系统也常常需要计数功能,实现对外部事件的计数。
1、82532、82533、8253的初始化4、8253的的工作方式1、8253的内部结构及引脚8253引脚8253内部结构8253的内部结构(1)3个计数器而且操作是(2)控制字寄存器用来保存计数器的工作方式器方式。
(3)数据总线缓冲器(4)读写控制电路的地址信号和控制信号,完成对制和操作。
1、8253A 1A 0端口0 0 计数器0 1 计数器1 0 计数器1 1 控制字寄存器A 1A 0的取值用于选择不同的端口:三个计数器(1)16位的计数器。
可进行二进制计数或十进制二进制计数:最大计数值BCD码计数,最大计数值是(2)每个计数器内设有一个锁存计数值。
(3)GATE* 高电平时,允许计数器工作;* 低电平时,禁止计数器工作。
(4)CLK——*当CLK*当CLK是周期性时钟信号时,起定时功能。
定时系数=定时时间置入计数器。
(5)OUT——计数值到时,2、8253(1)控制字•控制字写入控制字寄存器注:工作方式控制字只能写入控制字寄存器,不能从其中读出。
3、82538253使用前,需初始化:(1)先写工作方式控制字•将控制字写入控制寄存器端口。
(2) 给相应的计数器通道送计数初值。
计数初值写入计数器端口。
4、82538253提供(1)控制字写入计数器控制逻辑电路复位,输出端进入初始状态;(2)初始计数值写入后,经过一个输入脉冲的4、8253的的工作方式0——计数结束中断方式工作过程:①当某通道i 被写入控制字后,OUT i 变为低电平。
②CPU 写入计数初值后OUT i 仍为低电平, 然后该通道开始减1计数.③减到0时,OUT i 跳变为高电平,并一直保持高电平。
除非重新装入计数初值或复位。
GATE 是门控信号,高电平开放计数,低电平停止计数。
GATE 恢复高电平后“接力”计数。
8253工作方式图
D7 D6
计数器
D5 D4
读写格式
D3 D2 D1 D0
工作方式
数制
00 计数器000 计数器锁存命00令0 方式0
01 计数器101 只读写低字节001 方式1
10 11
计数器2 10 非法 11
只读写高字节010 先后读读写写低高字字节节011100101
方式2 方式3 方式4 方式5
0 二进制 1 十进制
控制字写入控制字I/O地址(A1A0=11)
示例
2. 写入计数值
选择二进制时
计数值范围:0000H~FFFFH 0000H是最大值,代表65536
选择十进制(BCD码)
计数值范围:0000~9999 0000代表最大值10000
计数值写入计数器各自的I/O地址
示例Βιβλιοθήκη 3. 读取计数值方式0 _(b)
CW=10 WR
LSB=3
CLK GATE
OUT
置时常 3
22 2
1 0 FF
方式1 _(a)
CW=12 LSB=3
WR
CL二K . 8253-PIT的工作方式
GATE
OUT
32
1 0 FF 3
方式1 _(b)
CW=12 LSB=3
WR
CL二K . 8253-PIT的工作方式
GATE
方式5 _(a)
CW=1A WR
LSB=3
CLK
GATE
OUT
3 2 1 0 FF 3
方式5 _(b)
CW=1A WR
LSB=3
CLK
GATE
OUT
3 2 3 2 1 0 FF
8253的控制字
8253的控制字
SC1,SC0——计数通道选择位。
由于8253内部3个计数通道各有一个8位的控制字寄存器,而这三个控制字寄存器共用同一个控制端口地址,所以控制字中设置SC1,SC0这两位来确定CPU当前发出的控制字是写入哪个计数通道的控制字寄存器中。
具体选择如图.
RL1,RL0——读/写操作方式位。
这两位用来确定对选中的计数通道进行读/写操作方式。
当CPU对8253进行16位读/写操作时,可以只读/写高8位或只读/写低8位,也可以读/写16位。
读/写16位时,先读/写低8位,后读/写高8 位,具体是哪种操作方式由RL1,RL0这两位的编码确定。
由于8253的数据线只有(D7~D0),一次只能传送8位数据,故传送16位数据时,要分两次进行。
M2,M1,M0——工作方式择位。
8253的每个计数通道有6种不同的工作方式,即方式0到方式5,M2M1M0这三类就是用来选择具体的工作方式,具体选择如图。
BCD——计数方式选择位。
8253的每个计数通道有两种计数方式按二进制计数或按十进制(BCD码)计数。
BCD位用来具体确定采用哪种计数方式。
例:若选择计数器1,工作在方式3,计数初值为588H(2个字节)采用二进制计数,则其控制字为:01110110=76H,设控制口地址为043H,则将该控制字写入控制字寄存器的指令如下:MOV AL,076H
OUT 043H,AL。
8253工作方式以及应用举例
第27课 8253工作方式以及应用举例8253的六种工作方式,8253的实际应用举例。
本课主题:教学目的:掌握8253六种工作方式的特点以及使用方法,通过实际应用举例强化8253的使用方法。
教学重点:8253的硬件连接和软件初始化方法。
教学难点:8253的在系统中的应用。
授课内容:8253的每个通道都有6种不同的工作方式,下面分别进行介绍。
1.方式0--计数结束中断方式(Interrupt on Terminal Count)2.方式1--可编程单稳态输出方式(Programmable One-short)3.方式2--比率发生器(Rate Generator)4.方式3--方波发生器(Square Wave Generator)5.方式4--软件触发选通(Software Triggered Strobe)6.方式5--硬件触发选通(Hardware Triggered Strobe)由上面的讨论可知,6种工作方式各有特点,因而适用的场合也不一样。
现将各种方式的主要特点概括如下:对于方式0,在写入控制字后,输出端即变低,计数结束后,输出端由低变高,常用该输出信号作为中断源。
其余5种方式写入控制字后,输出均变高。
方式0可用来实现定时或对外部事件进行计数。
方式1用来产生单脉冲。
方式2用来产生序列负脉冲,每个负脉冲的宽度与CLK脉冲的周期相同。
方式3用于产生连续的方波。
方式2和方式3都实现对时钟脉冲进行n分频。
方式4和方式5的波形相同,都在计数器回0后,从OUT端输出一个负脉冲,其宽度等于一个时钟周期。
但方式4由软件(设置计数值)触发计数,而方式5由硬件(门控信号GATE)触发计数。
这6种工作方式中,方式0、1和4,计数初值装进计数器后,仅一次有效。
如果要通道再次按此方式工作,必须重新装入计数值。
对于方式2、3和5,在减1计数到0值后,8253会自动将计数值重装进计数器。
8.2 8253的应用举例一、8253定时功能的应用例子1(用8253产生各种定时波形在某个以8086为CPU的系统中使用了一块8253芯片,通道的基地址为310H,所用的时钟脉冲频率为1MHz。
微型计算机原理与接口技术第八章课后答案
第八章1. 8253芯片有哪几个计数通道?每个计数通道可工作于哪几种工作方式?这些操作方式的主要特点是什么?答:8253内部包含3个完全相同的计数器/定时器通道,即0~2计数通道,对3个通道的操作完全是独立的。
8253的每个通道都有6种不同的工作方式。
方式0——计数结束中断方式:当对8253的任一个通道写入控制字,并选定工作于方式0时,该通道的输出端OUT立即变为低电平。
要使8253能够进行计数,门控信号GATE 必须为高电平。
经过n十1个脉冲后,计数器减为0,这时OUT引脚由低电平变成高电平。
OUT引脚上的高电平信号,一直保持到对该计数器装入新的计数值,或设置新的工作方式为止。
在计数的过程中,如果GATE变为低电平,则暂停减1计数,计数器保持GATE有效时的值不变,OUT仍为低电平。
待GATE回到高电平后,又继续往下计数。
方式1——可编程单稳态输出方式:当CPU用控制字设定某计数器工作于方式1时,该计数器的输出OUT立即变为高电平。
GATE出现一个上升沿后,在下一个时钟脉冲的下降沿,将n装入计数器的执行部件,同时,输出端OUT由高电平向低电平跳变。
当计数器的值减为零时,输出端OUT产生由低到高的正跳变,在OUT引脚上得到一个n个时钟宽度的负单脉冲。
在计数过程中,若GATE产生负跳变,不会影响计数过程的进行。
但若在计数器回零前,GATE又产生从低到高的正跳变,则8253又将初值n装入计数器执行部件,重新开始计数,其结果会使输出的单脉冲宽度加宽。
方式2——比率发生器:当对某一计数通道写入控制字,选定工作方式2时,OUT端输出高电平。
如果GATE为高电平,则在写入计数值后的下一个时钟脉冲时,将计数值装入执行部件,此后,计数器随着时钟脉冲的输入而递减计数。
当计数值减为1时,OUT端由高电乎变为低电平,待计数器的值减为0时,OUT引脚又回到高电平,即低电平的持续时间等于一个输入时钟周期。
与此同时,还将计数初值重新装入计数器,开始一个新的计数过程,并由此循环计数。
实验八定时器计数器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微机原理
00010000
特点: 1. 计数器只计一遍。当计数到 0 时,并不恢复计数初值,不开始重新 计数,且输出一直保持为高。只有在写入下一个计数值时,OUT 变低,开始新的计数。
特点: 2. 在计数过程中,可由门控信号GATE控制暂停。GATE=0, 计数暂停, GATE变高后,接着计数。
特点: 3. 在计数过程中,可改变计数值。在写入新的计数之后,计数器按新 的值重新开始计数。
开始计数),OUT输出端变低。在整个计数过程中,OUT 都维持为低,直到计数 为 0 时,输出变为高,输出一个单脉冲。
特点: 1. 若设置的计数值为N,则输出的单脉冲宽度即为N个输入脉冲间隔。 2. 当计数到 0 后,可再次由外部触发启动,输出一个同样宽度的 单拍脉冲,而不用再次送计数值。
特点: 3. 在计数过程中,外部可发门控信号进行再触发,在触发脉冲上升沿 后的下一个CLK脉冲的下降沿,计数器将重新开始工作。
0
0 1
1
1 ×
0
0 ×
1
1 ×
0
1 ×
8253的控制字
◆ 8253控制字可以选择计数器、工作方式、计数数制( 2#或 10#——BCD码),以及计数器的读/写方法等。 ◆ 8253控制字格式(8位) :
D7 SC1 D6 SC0 D5 RW1 D4 RW0 D3 M2 D2 M1 D1 M0 D0 BCD
8253操作的控制逻辑
CS 0 0 0 0 0 0 RD 0 0 0 0 1 1 WR 1 1 1 1 0 0 A1 0 0 1 1 0 0 A0 0 1 0 1 0 1 操作说明
计数器0→数据总线 计数器1→数据总线 计数器2→数据总线 非法状态 数据总线→计数器0 数据总线→计数器1 数据总线→计数器2 数据总线→控制寄存器 D7~D0呈高阻状态
8253举例
mov al,10110110B
读当前计数值
在事件计数器的应用中,需要读出计数过程中的当前计数值 ,以便根据这个值做计数判断。具体做法是,先发一条锁存命 令,将减1 计数器锁存至输出锁存器中,再执行读操作,读出 锁存器中的内容。 mov dx, 307h ;设臵方式控制字
L: mov al, 01000000B;1号计数器锁存命令 out dx, al
例:使1号计数器T1,工作在0方式,采用十六位二进制, 计数初值的高低字节分别为BYTEH和BYTEL,其初始化程 序为: mov dx,307h ;设臵方式控制字 mov al,01110000B;1号计数器锁存命令 out dx,al mov dx,305h mov al,BYTEL
out dx,al
18
设8253端口地址:40H、41H、42H、43H, 8255端口A的口地址为80H。
•编程
0#计数器: 方式2;BCD计数;计数初值: 50 控制字: 15H 1#计数器: 方式3;BCD计数;计数初值: 1250 控制字: 77H •主程序: MOV AL,15H 送0 #计数器 OUT 43H,AL 方式控制字 送0 #计数器 计数初值 开中断 等待中断 MOV AL,50H OUT 40H,AL STI LOP: HLT JMP LOP
D0~D7 CLK0 GATE0 RD# WR# CS# A1 A0
OUT0 CLK1 GATE1
5MHz
OUT1
CLK2
1Hz
GATE2
OUT2
21
OUT 43H,AL MOV AX, 5000D OUT 40H,AL MOV AL, AH OUT 40H,AL MOV AL,01110101B;T/C1 MOV AX, 1000D OUT 41H,AL MOV AL, AH OUT 41H,AL
微机原理与接口技术第7章2 8255
外设
STBA IBFA 与门 INTRA RD
PC2 PC1 PC0
STBB IBFB INTRB
RD
PC3
A口方式 输入与 口方式 输入时相应的联络信号 口方式1输入与 口方式1输入时相应的联络信号 输入与B口方式
方式1输入引脚:A端口
1
PA7~PA0
INTEA
表示外设已经准备好数据
1 2 3 4
2. 控制口(控制寄存器): 位端口, 控制口(控制寄存器): 位端口, ):8位端口 无对外引脚,其内容决定A口 无对外引脚,其内容决定 口、B口、 口 C口的工作状态 输入或输出 和工作 口的工作状态(输入或输出 口的工作状态 输入或输出) 方式( 方式(方式 0、1、2) 、 、 )
3.A组、B组控制电路: 组 组控制电路: 组控制电路 分别控制A组 分别控制 组、B组的读写操作和工作 组的读写操作和工作 方式 端口A 端口A A组 端口C的高 位 端口 的高4位 的高 端口B 端口 B组 端口C的低 位 端口 的低4位 的低
5 35
10 30
1ቤተ መጻሕፍቲ ባይዱ 25
21
连接外设端的引脚: 连接外设端的引脚: PA0~PA7 PB0~PB7 分别对应 A、B、C 、 、 三个端口
PC0~PC7 连接的引脚: 与CPU连接的引脚: 连接的引脚 RESET:与系统的复位 与系统的复位RESET端相连。高电平 端相连。 与系统的复位 端相连 有效信号,复位后, 有效信号,复位后,8255的A口、B口、C口均 的 口 口 口均 为输入状态
PC0
中断允许触发器
中断请求信号 请求CPU接收数据
STB (STroBe) 选通信号(低电平有效) 选通信号(低电平有效) 由外设发出,送给8255,作用是将外设送来的数据 由外设发出,送给 , 锁存到8255的输入端口。 的输入端口。 锁存到 的输入端口 IBF (Input Buffer Full) 输入缓冲器满信号 8255A发出, 表示 发出, 缓冲器有一个数据没被CPU 发出 表示8255缓冲器有一个数据没被 缓冲器有一个数据没被 取走,外设可以此决定是否送下一个数据。 取走,外设可以此决定是否送下一个数据。 INTR (INTerrupt Request) 中断申请信号 (高电平有效) 高电平有效) 高电平有效 8255A发出,用来向 发出, 发出中断申请。 发出 用来向CPU发出中断申请。 发出中断申请 STB、IBF、INTE均为1时,8255自动发出 均为1 自动发出INTR。 、 、 均为 自动发出 。 可实现CPU CPU与外设之间用中断方式进行数据传送 可实现CPU与外设之间用中断方式进行数据传送
微机原理课程设计——8255_8253交通灯模拟实验
微机原理课程设计一.设计任务及要求:交通信号灯的控制:1.通过8255A并口来控制LED发光二极管的亮灭。
2.A口控制红灯,B口控制黄灯,C口控制绿灯。
3.输出为0则亮,输出为1则灭。
4.用8253定时来控制变换时间。
要求:设有一个十字路口,1、3为南,北方向,2、4为东西方向,初始态为4个路口的红灯全亮。
之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。
延迟30秒后,1、3路口的绿灯熄灭,而1,3路口的黄灯开始闪烁(1HZ)。
闪烁5次后,1、3路口的红灯亮,同时2、4路口的绿灯亮,2、4路口方向开始通车。
延迟30秒时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁。
闪烁5次后,再切换到1、3路口方向。
之后,重复上述过程。
二.方案比较及评估论证:分析题意,红,黄,绿灯可分别接在8255的A口,B口和C口上,灯的亮灭可直接由8086输出0,1控制。
30秒延时及闪烁由8253控制,由闪烁的实现方法可分为两种方案:方案一:设8253各口地址分别为:设8253基地址即通道0地址为04A0H;通道1为04A2H;通道2为04A4H;命令控制口为04A6H。
黄灯闪烁的频率为1HZ,所以想到由8253产生一个1HZ的方波, 8255控制或门打开的时间,在或门打开的时间内,8253将方波信号输入或门使黄灯闪烁。
由于计数值最大为65535,1MHZ/65536的值远大于2HZ,所以采用两个计数器级联的方式,8253通道0的clock0输入由分频器产生的1MHZ时钟脉冲,工作在方式3即方波发生器方式,理论设计输出周期为0.01s的方波。
1MHZ的时钟脉冲其重复周期为T=1/1MHZ=1 s,因此通道0的计数初值为10000=2710H。
由此方波分别作为clock1和clock2的输入时钟脉冲,所以通道1和通道2的输入时钟频率为100HZ,通道1作计数器工作在方式1,计数初值3000=BB8H既30s,计数口,8255将A口数据输入到8086,8086检测到则输出一个高电平到8255的PA7到高电平既完成30s定时。
8253的工作方式
8253的工作方式1.方式0 计数结束产生中断8253用作计数器时一般工作在方式0。
所谓计数结束产生中断,是指在计数值减到0时,输出端(OUT)产生的输出信号可作为中断申请信号,要求CPU进行相应的处理。
方式0有如下特点:① 当控制字写进控制字寄存器确定了方式0时,计数器的输出(OUT端口)保持低电平,一直保持到计数值减到0。
② 计数初值装入计数器之后,在门控GATE信号为高电平时计数器开始减1计数。
当计数器减到0时输出端OUT才由低变高,此高电平输出一直保持到该计数器装入新的计数值或再次写入方式0控制字为止。
若要使用中断,可以计数到0的输出信号向CPU发出中断请求,申请中断。
③ GATE为计数控制门,方式0的计数过程可由GATE控制暂停,即GATE=1时,允许计数;GATE=0时,停止计数。
GATE 信号的变化不影响输出OUT端口的状态。
④ 计数过程中,可重新装入计数初值。
如果在计数过程中,重新写入某一计数初值,则在写完新计数值后,计数器将从该值重新开始作减1计数。
2.方式1 可编程的单拍负脉冲可编程的单拍负脉冲又称为单稳态输出方式,简称单稳定时。
方式1的特点是:① CPU写入控制字后,计数器输出OUT端为高电平作为起始电平,在写入计数值后计数器并不开始计数(不管此时GATE 是高电平还是低电平),而要由外部门控GATE脉冲上升沿启动,并在上升沿之后的下一个CLK输入脉冲的下降沿开始计数。
② GATE上升沿启动计数的同时,使输出OUT变低,每来一个计数脉冲,计数器作减一计数,直到计数减为 0时,OUT 输出端再变为高电平。
OUT端输出的单拍负脉冲的宽度为计数初值乘以CLK端脉冲周期。
设计数初值为N,则单拍脉冲宽度为N个CLK时钟脉冲周期。
③ 如果在计数器未减到0时,GATE又来一触发脉冲,则由下一个时钟脉冲开始,计数器将从初始值重新作减1计数。
当减至0时,输出端又变为高电平。
这样,使输出脉冲宽度延长。
8253的6种工作方式
三、方式2——频率发生器(能自动装入计数初值)
CLK
WR
GATE
OUT
CW
N=3 高
3 2 1 0 (3) 2 1 0
特点: (1)计数器计数期间,输出OUT为高电平,当减1计数器为 控制字写入后,输出端 OUT以 1时(注意不是减到 0),输出端OUT变为低电平,当减到 0 时,OUT端又变为高电平并自动重新装入原计数初值,从而 高电平作为初始状态。 开始一个新的计数过程。
(2)门控信号GATE为高电平时,计数器工作; 当GATE为低电平时,计数器停止工作,其计数值 保持不变,等GATE为高时继续计数。
3
(3)在计数器工作期间,如果重新写入新的计数 值,计数器按新写入的计数值重新工作。 CLK
WR
GATE OUT N=6
N=2
高 6 5 2 1 0
方式0计数期间,又写入新的计数初值
18
结论: 一般,方式0、1和方式4、5 (输出一个电平 或一个脉冲)选作计数器用;而方式2、3 (输出周期脉冲或周期发波)选作定时器 用。
19
CLK CW WR
方式0
方式4
N=4
4 4 4 4 3 3 3 3 4 2 2 2 2 3 1 1 1 1 2 0 0 0 0 3 2 1 0 1 0
方式1
11
五、方式4——软件触发的选通信号发生器
CLK WR
N=4
GATE
OUT 4 3 2
高
1 0
特点: (1)设定好此方式后,输出OUT变成高电平;写入计数初值 后,计数器开始计数,计数到0结束时,输出变为低电平,低 电平维持一个时钟周期后,输出又恢复高电平,但计数器不再 计数,输出一直保持高电平。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DX,126H;
MOV
OUT MOV OUT
DX,120H;
DX,AL; AL,66H; DX,AL;
通道0端口地址送DX
向通道0写入计数初值的低8位 高8位计数值为66H 向通道0写入计数初值的高8位
例:设8253计数器通道0工作于方式1,其计数值为50,端口地址为 40H~43H,则它的初始化程序段如下:
MOV OUT
MOV OUT MOV OUT
AL,00110000B 43H,AL
AL,04H 40H,AL AL,03H 40H,AL
例:设8253计数器2工作在方式3,计数初值为345,则它的初始化程 序段如下:
MOV AL,10110110B OUT 43H,AL
MOV AX,345 OUT 42H,AL MOV AL,AH OUT 42H,AL
MOV
AL,12H
00010010B
OUT
MOV OUT
43H,AL
AL,50 40H,AL
例:设计数器通道1工作于方式3,计数初值为40H,它的初始化程序段 为:
MOV
OUT
MOV OUT
AL,56H
43H,AL
AL,40H 41H,AL
01010110B
设8253计数器0工作于计数方式,计数结束后产生中断,计数初值为0304H。
例:设8253计数器1输出方波,计数初值为3,则初始化程序段为:
MOV OUT
MOV OUT
AL,056H 43H,AL
AL,3 41H,AL
01010110B
例:设8253的通道1工作于方式5,计数初值为4000H,则它的初始化程序 段为:
MOV AL ,01101010B
OUT 43H ,AL
设在8086系统中有一片8253,其端口地址分配是:
通道0为120H,通道1为122H ,通道2为124H,控制端口为126H。
要求对其通道0进行初始化,使其工作于方式0、二进制计数、计数初始
值为6688H。
MOV MOV OUT MOV AL,30H DX,AL; AL,88H; ; 控制字送AL 控制口地址送DX 向控制口写入控制字 低8位计数值是88HMOV Biblioteka L ,40H OUT 41H ,AL
7.2.2 8253的方式控制字和读/写操作
1. 方式控制字
图7.21 8253的方式控制字格式
2.8253的读写操作及编程
(1) 写操作 第一步,写入控制字。任一计数器的控制字都要从8253的控制口地址
写入,到底是哪个计数器控制字由控制字的D7、D6位来决定。
第二步,写入计数初始值。计数初值写入各计数器的端口地址。 (2) 读操作 CPU可对8253的计数器进行读操作,以读出计数器的当前值。