实验四 8253定时计数器应用

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

实验四8253定时/计数器应用
1.实验目的
掌握8253命令字的设置及初始化和8253的工作方式及应用编程
2.实验内容
8253是INTEL公司生产的通用外围接口芯片之一,它有3个独立的16位计数器,计数
频率范围为0-2MHZ。

它所有的计数方式和操作方式都可通过编程控制。

其功能是延时
终端、可编程频率发生器、事件计数器、倍频器、实时时钟、数字单稳和复杂的电机控
制器。

3.实训步骤
实现方式0的电路图。

设8253端口地址为:40H-43H
要求:设定8253的计数器2工作方式为0 ,用于事件计数,当计数值为5时,发出
中断请求信号,8088响应中断在监视设备上显示M。

本实训利用KK1作为CLK输
入,故初值设为5时,需按动KK1键6次,可显示一个
M.
实验七 8253定时/计数器应用实验
一.实验目的
1.熟悉8253在系统中的典型接法。

2.掌握8253的工作方式及应用编程。

二.实验设备
TDN86/88教学实验系统
一台
三.实验内容
(一)系统中的8253芯片
图7-1 8253的内部结构及引脚
1. 8253可编程定时/计数器介绍
8253可编程定时/计数器是Intel公司生产的通用外围芯片之一。

它有3个独立的十六位计数器,计数频率范围为0-2MHz。

它所有的计数方式和操作方式都通过编程的控制。

8253的功能是:(1)延时中断(2)可编程频率发生器(3)事件计数器
(4)倍频器(5)实时时钟(6)数字单稳(7)复杂的电机控制器
8253的工作方式:(1)方式0:
计数结束中断(2)方式1:
可编程频率发生器
(3)方式2:
频率发生器(4)方式3:
方波频率发生器
(5)方式4:
软件触发的选通信号
(6)方式5:硬件触发的选通信号
8253的内部结构及引脚如图7-1所示,8253的控制字格式如图7-2所示。

图7-2 8253的控制字
8253的初始化
编程如下图:
2. 系统中的8253芯片
系统中装有一片8253芯片,其线路如图7-3所示。

DW 64 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE
START: IN AL,21H
AND AL,7FH
OUT 21H,AL
MOV AL,____H
OUT 43H,AL ;8253控制口地址
A1: MOV AL,____H
OUT 42H,AL
HLT
STI
JMP A1
HLT
STI
JMP A1
MOV AX,014DH
INT 10H ;显示’M’
MOV AX,0120H
INT 10H ;显示空格
MOV AL,20H
OUT 20H,AL
IRET
CODE ENDS
END START
实验步骤
(1)按图接线。

(2)输入源程序并检查无误,经汇编、连接后装入系统。

(3)在0000:003CH单元填入IRQ7中断矢量,即0000:003C 12 20 00 00
(4)运行程序,并按动KK1键,观察是否每按6次,屏幕上显示一个“M”字符。

2. 8253定时器应用实验(2)
利用8253的0#通道来定时中断(IRQ0),循环显示“0”--“9”十个数,实验线路如图7-5。

图7-5 实验(2)线路
实验流程图及程序如下:
STACK SEGMENT STACK
DW 64 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE
START: PUSH DS
MOV AX,0000H
MOV DS,AX
MOV AX,OFFSET IRQ0
ADD AX,2000H
MOV SI,0020H
MOV [SI],AX
MOV AX,0000H
MOV SI,0022H
MOV [SI],AX
POP DS
MOV AL,0FCH
OUT 21H,AL
MOV AL,15H
OUT 43H,AL
MOV AL,0FFH
OUT 40H,AL
MOV DL,30H
A1: STI
JMP A1
IRQ0: MOV AH,01H
MOV AL,DL
CMP AL,3AH
JNZ A2
MOV AL,0DH
INT 10H
MOV AL,30H
A2: INT 10H
INC AX
MOV DL,AL
MOV AX,0120H
INT 10H
CALL DALLY
MOV AL,20H
OUT 20H,AL
IRET
DALLY: PUSH AX
MOV CX,0100H
A3: MOV AX,0560H
A4: DEC AX
JNZ A4
LOOP A3
POP AX
RET
CODE ENDS
END START
实验步骤
(1)编写程序并检查无误,经汇编、连接后装入系统。

(2)运行程序,显示屏上应连续逐行显示“0”--“9”十个数,直到用“RESET”复位开关来中断。

(3)修改8253的0#时常,在运行程序,观察显示的快慢程度。

3.电子发声实验(3)
系统的OPCLK(1.1625MHz)作为音乐节拍,有表格查出每个音符对应的时常送给计数器2(工作, 在方式3:方波频率发生器),以确定音调,驱动扬声器产生音乐,实验接线图如下:
图7-6 实验(3)接线图
实验程序如下:
STACK SEGMENT STACK
DW 64 DUP(?)
STACK ENDS
DATA SEGMENT
TABLE DB 33H, 33H, 3DH, 33H, 26H, 26H, 26H, 26H, 2DH, 2DH, 26H, 2DH, 33H
DB 33H, 33H, 33H, 33H, 33H, 4DH, 45H, 3DH, 3DH, 3DH, 45H, 4DH, 45H DB 45H, 45H, 45H, 45H, 45H, 45H, 45H, 33H, 33H, 3DH, 33H, 26H, 26H DB 26H, 28H, 2DH, 2DH, 26H, 26H, 33H, 33H, 33H, 33H, 45H, 3DH, 39H DB 39H, 39H, 52H, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 2DH,
DB 2DH, 26H, 26H, 26H, 26H, 26H, 26H, 28H, 28H, 2DH, 28H, 26H, 26H, DB 26H, 26H, 2DH, 28H, 26H, 2DH, 2DH, 33H, 3DH, 4DH, 45H, 45H, 45H, DB 45H, 45H, 45H, 45H, 45H, 33H, 33H, 3DH, 33H, 26H, 26H, 26H, 28H, DB 2DH, 2DH, 26H, 2DH, 33H, 33H, 33H, 33H, 33H, 33H, 45H, 3DH, 39H, DB 39H, 39H, 52H, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 00H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA
MOV DS,AX
MOV BX,OFFSET TABLE MOV AL,[BX]
MOV AH,00H
A1: MOV DL,25H
MUL DL
&n, bsp; PUSH AX
MOV AL,0B7H
OUT 43H,AL
POP AX
OUT 42H,AL
MOV AL,AH
OUT 42H,AL
INC BX
MOV AH,00H
MOV AL,[BX]
TEST AL,0FFH
JZ A3
MOV CX,77FFH
A2: PUSH AX
POP AX
, ; LOOP A2
JMP A1
A3: MOV BX,OFFSET TABLE
MOV AL,[BX]
MOV AH,00H
JMP A1
CODE ENDS
END START
实验步骤
(1)按图接线,并检查无误。

(2)输入源程序并检查无误,经汇编、连接后装入系统。

(3)G=2000↙运行程序,既可听到扬声器发出音乐声。

四.思考题
在将计数初值赋给8253后,马上就可以启动并进行定时或计数吗?。

相关文档
最新文档