汇编语言课件第13章8253-54定时器

合集下载

定时计数器8253课件

定时计数器8253课件
3个计数通道 通道控制寄存器 数据总线缓冲器 读/写控制电路
20010.12
定时计数器8253
3
计数通道
• 通道0、通道1和通道2
• CLK:计数器的脉冲输入端,GATE: 计数器的门控信 号,OUT: 计数器的输出信号,一般与计数溢出有关。
• 工作原理:
• 8253计数器工作在减1状态,每输入一个计数脉冲,计数 器值减1,当计数器
• 分为4部分,通道选择、计数器读/写方式、工作方式和计
数码的选择。
计数器选择(SC1、SC0)
计数器读/写方式(RLl、RL0)
20010.12
定时计数器8253
9
• 计数器的锁存操作
• 8253一旦初始化后,就不需要CPU参与而自动计数。为了 读出计数值时不干扰实际计数过程,同时读出的值又是稳 定的,就要求对通道计数器中的计数值进行锁存。
读/写控制电路
❖ 片选信号 CS ❖ A1A0的组合 :选择三个通道、一个控制寄
存器,共4个端口 ❖ 读信号 R D 和写信号W R 由CPU提供,低电平
有效。
20010.12
定时计数器8253
7
8253的管脚分配
• 通道管脚
• CLKn:通道n的脉冲输入管脚.外部事件
或定时脉冲由这三个管脚输入;
OUT 8253控制口,AL
MOV AL,40H
;置8253通道0时间常数,
OUT 通道0端口,AL ; 第一次写初始计数值的低8位,
MOV AL,38H
; 第二次写高8位。3840H=14400秒=4小时
OUT 通道0端口,AL
……
中断程序中有关程序段如下:
……
MOV AL,00000001B ;8255置位/复位控制字,使PC0=1

可编程定时器/计数器i8253

可编程定时器/计数器i8253

③ 在计数过程中可以改变计数初值,这对正在进行的计数 过程没有影响。但当计数到1时输出变低,过一个CLK周期输 出又变高,计数器将按新的计数值计数。所以对方式2改变计 数初值时,在下一次计数有效。 (4) 方式3——方波发生器。 在方式3时,当CPU设置控制字后,输出为高电平。在写 入计数初值后就开始计数,输出保持为高。当计数到一半计数 初值时,输出变为低,直至计数到0,输出又变为高,重新开 始计数。 方式3与方式2的输出都是周期性的,它们的主要区别是: 方式3在计数过程中的输出有一半时间为高电平,另一半时间 为低电平。
00: 计数器锁存 01: 只读/写计数器低字节 10: 只读/写计数器高字节 11: 先读/写计数器低字节, 后读/写高字节
图 7- 29 8253/8254控制字的格式
SC1、SC0:计数器选择位。这两位表示这个控制字是对哪 一个计数器设置的。 00——计数器0;01——计数器1;10——计数器2;11——非法 选择。 RW1、RW0:数据读/写格式选择位。CPU在对计数器写入 初值和读取它们的当前值时,有几种不同的格式,由这两位来 决定。 00——将计数器当前值锁存于输出锁存器中,以便读出; 01——只读/写计数器的低8位,写入时高8位自动设置为0; 10— —只读/写计数器的高8位,写入时低8位自动设置为0;11——对 16位计数器进行两次读/写操作,低字节在前,高字节在后, 两次操作的地址相同。
D7 SC1
D6 SC0
D5
D4
D3 M2
D2 M1
D1 M0
D0 BCD 1: BCD码计数 0: 二进制计数 000: 方式0 001: 方式1 10: 方式2 11: 方式3 100: 方式4 101: 方式5

82538254的基本原理及应用

82538254的基本原理及应用
• 方式3与方式2相似 • OUT输出是一个占空比为1:1的方波 • 若计数为奇数,则前面的1比后面的0多1个脉冲
43210
4
4
2
2
3210
计数值N = 偶数,输出对称的方波
N 2
543210
5+1
5-1
2
2
其它同方式 2
高电平 N = 奇数,
低电平
N+1 2
N-1 2
方式4:软件触发选通
• 写入计数值后输出为高,开始计数
n
y
3 y 写入 1 结束 y
4
5
n
n
写入 门控
1
1
结束 触发
y
n
PC机系统板上的8253
IOR IOW 74LS138
A1 A0 D0 ~ D7 + 5V
8255 PB0
1.19318MHz
0 RD
0 WR
0 CS A1 A0
OUT0 OUT1
D0 ~ D7
8259A的IR0,系统计时 每隔55ms产生一次中断。
• 写入计数值,写到相应的计数器。
• 8253控制寄存器格式
D7
SC1
计数器选择 00:计数器0 01:计数器1 10:计数器2 11:*81 D0 SC0 RW1 RW0 M3 M2 M1 BCD
计数值写入顺序
00:读计数值(锁存) 01:写低8位,高8位为0 10:写高8位,低8位为0 11:先写低8位,后写高8位
• 计数过程中若GATE又出现0-1的脉冲,则重新装入原 始计数值,重新开始计数。
• 若计数中改变计数值,则要下次才会以新数计数。
WR GATE = 1 OUT

可编程定时-计数器8253

可编程定时-计数器8253

接口技术
•8086/8088中断响应周期时,CPU的INTA引脚的 正确功能是—————— A.输出一个负脉冲,CPU从D7~D0读入中断类型码 B.输出两个负脉冲,在第二个负脉冲期间,CPU 从A7~A0读入中断类型码 C.输出两个负脉冲,在第二个负脉冲期间,CPU 从D7~D0读入中断类型码
D.输出一个负脉冲,CPU从A7~A0读入中断类型 码
接口技术
7.1.4 中断嵌套 当CPU执行优先级较低的中断服务程序时,允许响 应比它优先级高的中断源请求中断,而挂起正在处 理的中断。 (1)屏蔽同级和较低级中断请求。 (2)在保护现场、屏蔽同级和较低级中断完成后, 用STI指令来开中断。 (3)中断服务程序结束后,恢复现场前,用CLI指 令来关中断,然后才能恢复现场。 (4)恢复现场后,CPU应该重新开放中断,以便允 许任何其它等待着的中断请求有可能被CPU响应。
CNT2:标准定时,定时时间为1S。
8253
D7~D0

A1
统 总
A0 IOR
IOW
线
A2~A15
地址 译码器
D7~D0
CLK OUT
2 2
A1 A0
CLK 1 OUT 1
RD WR
CLK 0
OUT 0 CS GATE 1
GATE 2 GATE 3
送8259的IR 2端 2.5MHz 1kHz方波 外部事件
接口技术
计数结束时,输出一个时钟周期的负脉冲;
计数中写入新初值,待GATE信号重新启动之后 才置入计数器使用。
WR
CLK
GATE OUT
CW N=4
4 32 1 0 图7.19 方式5 的波形
接口技术
例7.5 IBM PC/XT主机板上有一片8253用作计 数/定时电路,各计数器及控制寄存器所占地 址及工作情况如下:

定时器-计数器8253

定时器-计数器8253
2021年1月30日星期六
1.2 8253的结构及其外部引脚
8253具有3个功能相同的16位减法计数器CNT0、CNT1和CNT2,可 进行二进制或8421 BCD码计数或定时操作。工作方式和计数常数可 由软件编程来设定,可以方便地与PC总线连接,外部引脚如图1-26 (a)所示,其内部结构如图1-26(b)所示,每个计数器有3个引脚: CLK为时钟输入端,作为定时或计数方式时的减1计数脉冲输入端, 当CLK输入为恒定周期的时钟信号时,则主要作为定时器用(定时器 是一种特殊的计数器),若CLK用于工业控制或实验中脉冲信号输入, 则一般来说,CLK的无固定的时钟周期只能看成计数器;OUT为计数 器输出端,当计数器减到0时,根据所置的工作方式输出相应的信号; GATE为门控端,用于启动或禁止计数器操作。控制字寄存器用来寄 存工作方式控制字,只能写入不能读出。
定时器/计数器8253
1.1 定时器/计数器概述
通常有3种方法来实现定时或计数:软件法、硬件法以及可 编程的硬件定时/计数法。
(1)软件实现。 (2)简单硬件实现。 (3)利用可编程定时器/计数器。由于它的定时值及计数范 围可以由软件来设定改变,因此,可以脱离CPU独立定时/计数。 它不占用CPU大量时间,所以使用方便,且功能强大。
2021年1月30日星期六
2021年1月30日星期六
图1-26 8253外部引脚和内部结构
1.3 8253的控制字和编程命令
1.8253的控制字 8253每个计数器的工作方式和计数值都必须由CPU通过输出指 令来设定。对8253的初始化要求是: (1)通过8253的控制端口向控制寄存器写入相应通道的控制 字,一般情况下,应指定通道的工作方式(6种工作方式之一)、 通道计数器的读/写方式(是读/写高/低8位数据,还是16位数据) 和通道计数器/定时器所采用的计数制(BCD/二进制)。 (2)通过8253的通道端口向相应的通道计数器写入计数初始 值。如果在控制字中已经确立为16位的控制方式,则应分两次对 通道端口进行写操作,先写入初始值的低8位,再写入初始值的高 8位。

定时器讲义

定时器讲义

13.2 x86PC中8253/54定时器的连接与编程
看P300 BIOS中WAITF子程序(一次调用15.08 ㎲ )
AX AL,61H AL,10H AL,AH WAITF1 AH,AL WAITF1 AX
;CX=15.08 ㎲的倍数 WAITF PROC PUSH WAITF1: IN AND CMP JE MOV LOOP POP RET WAITF ENDP
13.1 8253/54定时器简介
(3)模式2
(4)模式3 (5)模式4 (6)模式5
N分频计数器
方波发生器 软件触发选通信号 硬件触发选通信号
输入时间常数后开始计数。减到0时,OUT输出一个负脉冲,宽度为 一个CLK。减到0时,自动装入时间常数,重新计数。 与模式2类似,OUT输出也是一个脉冲序列,但占空比为50%。 写入控制字后,OUT输出高电平。计数到0时,OUT输出一个负脉冲,宽 度为一个CLK。
13.2 X86PC中8253/54定时器的连接与编程
三、IBM/PC机中8253/54编程 在IBM/PC机中8253/54的3个时钟端CLK0、CLK1和CLK3 的输入频率都是1.19MHz,计数器0和计数器1的门控信号 接+5V,计数器2的GATE2与8255端口的PB0相连。 (1) 计数器0作为定时器-日时钟计时基准 为系统日时钟提供计时基准,计数器0的输出端OUT0与 中断控制器8259A的中断请求端IRQ0相连,为IRQ0提供每 秒种产生18.2次中断信号,也就是每隔55ms请求一次中断 。
13.2 x86PC中8253/54定时器的连接与编程
BIOS中 计数器1的初始化程序如下:
mov out mov out
al,54H 43h,al al,12H 41h,al

可编程定时器计数器8254及其应用31页PPT

可编程定时器计数器8254及其应用31页PPT
8254及其应用
11、用道德的示范来造就一个人,显然比用法律来约束他更有价值。—— 希腊
12、法律是无私的,对谁都一视同仁。在每件事上,她都不徇私情。—— 托马斯
13、公正的法律限制不了好的自由,因为好人不会去做法律不允许的事 情。——弗劳德
14、法律是为了保护无辜而制定的。——爱略特 15、像房子一样,法律和法律都是相互依存的。——伯克
61、奢侈是舒适的,否则就不是奢侈 。——CocoCha nel 62、少而好学,如日出之阳;壮而好学 ,如日 中之光 ;志而 好学, 如炳烛 之光。 ——刘 向 63、三军可夺帅也,匹夫不可夺志也。 ——孔 丘 64、人生就是学校。在那里,与其说好 的教师 是幸福 ,不如 说好的 教师是 不幸。 ——海 贝尔 65、接受挑战,就可以享受胜利的喜悦 。——杰纳勒 尔·乔治·S·巴顿

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

例5:设定时器0、定时器1工作于方式2,外部提供 一个时钟,频率f=2MHZ。要求定时器1每5ms产生 一个脉冲,定时器0每5s产生一个脉冲。 1). 一个定时器的最大定时时间: 65536/(2*106)=0.032768 s=32.768ms 2). 将定时器1的CLK1接2MHZ时钟,计数初值:
4. 软件触发的选通信号发生器
5. 硬件触发的选通信号发生器
5-3 8253应用举例
8253初始化方法: • 控制字 • 计数初值:
已知:CLK 的频率fc与定时的时间t. 计数初值: n= fc t
例1:设8253: fc=1MHZ,最大计数初值:
N= 65536 一个定时器最大定时时间: Tmax = N/fc=65536/ 106 =0.065536s
例:使2号定时器,工作在方式3,计数初值=533h, 二进制计数,试写出8253初始化程序段。 8253端口地址:40H,41H,42H,43H
MOV OUT MOV OUT MOV OUT AL,10000110B ;2号定时器,方式3 43H,AL AX,0533H 42H,AL ; 2号数据口 AL,AH 42H,AL
计数器和定时器电路8253
•基本概念 •计数器/定时器 8253的初始化 •时钟程序 •音乐程序
基本概念
一. 定时与计数 二. 微机中的定时方法
1. 软件定时-----延时程序 2. 硬件定时
定时器在时钟信号作用下,进行定时的减 “1”计数,定时时间到(减“1”计数回零), 从输出端输出周期均匀、 频率恒定的脉冲信 号
n1 t1 f1 5ms 2 10 10000
6
3).将定时器1的OUT1端接到定时器0的CLK0端,定时 器0的计数初值:

汇编语言 可编程定时器/计数器(8253)

汇编语言 可编程定时器/计数器(8253)

信息学院实验报告学号:114100136 姓名:熊忠飞班级:11B课程名称:微机原理、汇编与接口技术实验名称:可编程定时器/计数器(8253)实验性质:验证性实验实验时间: 2013 年 6 月 7 日实验地点:睿智4号楼一、实验目的掌握8253的基本工作原理和编程方法。

二、实验内容及要求1、按图虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。

2、按图连接电路,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化(频率1HZ)。

3、编程提示(1)8253控制寄存器地址 283H 计数器0地址 280H计数器1地址 281HCLK0连接时钟 1MHZ(2)参考流程图三、实验步骤及结果1、代码如下:(1)计数器stack segment stack'stack'dw 32 dup(0)stack endsdata segmentioport equ 0ec00h-0280hio8253a equ ioport+283hio8253b equ ioport+280h data endscode segmentassume cs:code,ds:data,ss:stack start:mov ax,datamov ds,axmov al,10hmov dx,io8253aout dx,almov dx,io8253bmov al,0fhout dx,alzby: mov dx,io8253amov al,00hout dx,almov dx,io8253bin al,dxand al,0fhmov dl,alcmp dl,9jbe numadd dl,7num: add dl,30hmov ah,2hint 21hjmp zbymov ah,4chint 21hcode endsend start(2)定时器stack segment stack'stack'dw 32 dup(0)stack endsdata segmentioport equ 0ec00h-0280hio8253a equ ioport+280hio8253b equ ioport+281hio8253c equ ioport+283hdata endscode segmentassume cs:code,ds:data,ss:stackstart:mov ax,datamov ds,axmov dx,io8253cmov al,00110110Bout dx,almov dx,io8253amov al,0E8Hout dx,almov al,03Hout dx,almov dx,io8253cmov al,01110110Bout dx,almov dx,io8253bmov al,0E8Hout dx,almov al,03Hout dx,almov ah,4chint 21hcode endsend start四、实验小结通过本实验,掌握了8253这块芯片的一些基本功能,在实验中不仅学会了用计数器0计数,还学会了用计数器2和计数器1。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(2)初始化计数器
设置计数器初值(每个计数器中包含一个16位的计数 寄存器,这个计数器是以倒计数的方式计数的,从计数初 值开始,逐次减1,直到0为止)。
13.1 8253/54定时器简介
13.1.3 操作模式
8253/54的3个内部计数器,每个计数器有6种操作模 式。 不同的操作模式计数器的OUT可输出不同形状和频率 的脉冲模型,作为机器内部的计数信号或定时信号。
汇编语言与接口技术
DEC HEX BIN
13
0D
00001101
第13章
8253/54定时器
21:11 2013年8月11日
1
第13章
8253/54定时器
学习本章后: 1.会在进行定时器8253的编程; 2.会在x86PC上播放音乐。
2013年8月11日
2
第13章
8253/54定时器
本章的主要内容:
读写低8位,高8位自动为0 ;现读写低8位,再读写高8位)
D3 D2 D1:工作方式(0;1;2;3;4;5;6) D0:数制( 0---二进制;1---BCD码)
13.1 8253/54定时器简介
第13章
8253/54定时器
13.1 8253/54定时器简介
13.2 x86PC中8253/54定时器的连接与编程 13.3 在x86PC上播放音乐
13.2 x86PC中8253/54定时器的连接与编程
*发声频率--OUT2(定时)输出信号到达扬声器 初始化8253/54定时器2,方式3(10 11 011 0B) 计数值(1.19318MHz/指定频率=12348CH/指定频率) *8255的PB0,PB1(61H)两位置1 *发声持续时间:定时(发音时间,延时控制) 控制发声持续时间的方法: (1)软件方法延时---执行指令(指令周期一定 ,CPU频率变化,延时时间随之变化) (2)硬件方法---监控端口PB4(61H)
al,36H 43h,al al,0 40h,al 40h,al
13.2 x86PC中8253/54定时器的连接与编程
(2)计数器1作为定时器-DRAM刷新定时 在IBM/PCXT中,刷新RAM的任务由8237DMA完成。 DRAM每隔15.1㎲刷新一次,计算: 计数值=输入频率/输出频率 输入频率=1.1931817MHz 输出频率=1/(15.1*10-6) =106 /15.1=66.2kHz 计数值=输入频率/输出频率=1193.1817/66.2=18 控制字:01 01 010 0 (=54H) 系统选择模式2,OUT1连续输出周期为15 ㎲的周 期信号,作为DRAM的刷新请求信号。
第13章
8253/54定时器
13.1 8253/54定时器简介 13.2 x86PC中8253/54定时器的连接与 编程
PB0控制GATE2 PB1=1时 允许OUT2的 输出信号 到达扬声器 电路。
13.2 x86PC中8253/54定时器的连接与编程
当PB0=1,GATE2获得高电平。使定时器2可以在模式 3下工作。 定时器2的out2与端口61H的PB1通过一个与门与扬声 器的驱动电路相连。 当PB1=1时,允许OUT2的输出信号到达扬声器电路。 对于IBMPC系列机来说,无论是8086、80486还是 Pentium,驱动扬声器的过程是相同的。 利用硬件产生时间延迟的方法,不仅与频率无关, 也与CPU无关
13.1 8253/54定时器简介
8253/54有6种操作模式(P294):
(1)模式0 计数结束时中断 写入控制字以后,OUT输出低电平。计数到0时,OUT 输出高电平,并一直维持不变。OUT可作为中断请求信 号。(计数方式) (2)模式1 可编程脉冲触发 初始化后,由gate触发开始计数,OUT输出低电平。 计数到0时,OUT变为高电平。可由gate再触发,重新计 数,不需重新送计数常数。
13.1 8253/54定时器简介 13.2 x86PC中8253/54定时器的连接与编程 13.3 在x86PC上播放音乐
2013年8月11日
3
13.1 8253/54定时器简介
PC机利用定时器8253/54来产生声音。 8253/54是一个可编程内部定时器,它能根据 程序提供的计数值和工作模式,产生各种形状和 各种频率的计数/定时脉冲,提供给系统的各个部 件使用。例如: (1)系统日时钟的计时信号 (2)动态存储器的刷新定时信号 (3)扬声器的声源
13.2 X86PC中8253/54定时器的连接与编程
三、IBM/PC机中8253/54编程 在IBM/PC机中8253/54的3个时钟端CLK0、CLK1和 CLK3的输入频率都是1.1931817MHz,计数器0和计数器1 的门控信号接+5V,计数器2的GATE2与8255端口的PB0 相连。 (1) 计数器0作为定时器-日时钟计时基准 为系统日时钟提供计时基准,计数器0的输出端OUT0与 中断控制器8259A的中断请求端IRQ0相连,为IRQ0提供每 秒种产生18.2次中断信号,也就是每隔55ms请求一次中断。
13.1 8253/54定时器简介
(3)模式2
(4)模式3 (5)模式4 (6)模式5
N分频计数器
方波发生器 软件触发选通信号 硬件触发选通信号
输入时间常数后开始计数。减到0时,OUT输出一个负脉冲,宽度为 一个CLK。减到0时,自动装入时间常数,重新计数。 与模式2类似,OUT输出也是一个脉冲序列,但占空比为50%。 写入控制字后,OUT输出高电平。计数到0时,OUT输出一个负脉冲,宽 度为一个CLK。
13.2 x86PC中8253/54定时器的连接与编程
BIOS中 计数器2的初始化程序如下:
mov out mov out mov out al,B6H 43h,al al,33H 42h,al al,05h 42h,al
13.2 x86PC中8253/54定时器的连接与编程
13.2.3 通用发声程序 1)扬声器驱动方式
1.5秒延迟计数值
13.2 x86PC中8253/54定时器的连接与编程
10毫秒延迟计数值=10,000/15.085=663
W10MS: MOV CALL CX,663 WAITF ;663*15.08=10ms
参看x86-p300-cx-2.ASM 注意:程序中的关键指令序列 DI: 发音频率(高/亮) BX: 发音时长(节拍)
与模式4类似,不同之处是由gate信号触发计数。
13.1 8253/54定时器简介
小结:
8253/54允许的6种操作模式,可分为两类:
(1)计数模式 在GATE的控制下进行减1计数,减到终值时,输出 一个信号,至此,计数过程结束。 (2)定时模式 在GATE的控制下进行减1计数,减到终值时,又重新 装入初值,重新开始减1计数,这样输出端就连续输出具 有一定时间间隔的定时脉冲。 常用方式2、方式3作为定时方式。
控制字:00 11 011 0 (=36H) 计数值:65536 (=0000H) 输入频率/计数值=输出频率 计数值=输入频率/输出频率 计数值 =1.19318MHz/18.2Hz=65536
13.2 x86PC中8253/54定时器的连接与编程
BIOS中 计数器0的初始化程序如下:
mov out mov out out
13.1 8253/54定时器简介
13.1.1 定时器的结构
在定时器内部有3个独立工作的 计数器(图11.1): 计数器0 计数器1 计数器2 控制寄存器
参看P293-294
13.1 8253/54定时器简介
13.1.2 8253/54编程 (1)设定控制字
选择计数器,确定工作模式和计数值格式。
13.2.2 x86PC中8253/54芯片的编程
一、初始化编程步骤 (1)写入通道控制字 (2)写入计数值 二、举例 将计数器0设定为模式3,计数初值为4882(BCD). 控制字:00 11 011 1 计数值:4882 mov al,00110111b out 43h,al mov ax,4882h out 40h,al mov al,ah out 40h,al
13.2 x86PC中8253/54定时器的连接与编程
看P300 BIOS中WAITF子程序(一次调用15.08 ㎲ )
AX AL,61H AL,10H AL,AH WAITF1 AH,AL WAITF1 AX
;CX=15.08 ㎲的倍数 WAITF PROC PUSH WAITF1: IN AND CMP JE MOV LOOP POP RET WAITF ENDP
13.2 x86PC中8253/54定时器的连接与编程
BIOS中 计数器1的初始化程序如下:
mov out mov out
al,54H 43h,al al,12H 41h,al
13.2 x86PC中8253/54定时器的连接与编程
(3)计数器2作为定时器-扬声器音调控制
在IBM BIOS中有个BEEP子程序,它在模式3下能产 生频率896Hz的声音,装入计数器2的初值为: 533H (1.19318MHz/896Hz=1331=533H)。 输入频率:1.1931817MHz 输出频率:896Hz 计数值=输入频率/输出频率=1331=533H 控制字:10 11 011 0 (=B6H)
13.2 x86PC中8253/54定时器的连接与编程
例 13.4 调用WAITF子程序产生1.5秒的延迟时间。
=3*(0.5*1000000/15.085) =3* 33144 延迟1.5秒,计数值大于65536,故采用连续调用3次产 生0.5 ㎲的延时程序。
BACK: MOV MOV CALL DEC JNZ BL,3 CX,33144 WAITF BL BACK
13.2 x86PC中8253/54定时器的连接与编程
相关文档
最新文档