可编程定时器计数器(8253)(微机实验报告)

时间:2025-04-30

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

一、实验目的

1)学会8253芯片和微机接口原理和方法。

2)掌握8253定时器/计数器的基本工作原理、工作方式和编程原理。

二、实验内容

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

图 6

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

图 7

三、编程提示

1、8253控制寄存器地址

计数器0地址 计数器1地址 280H 281H 283H

CLK0连接时钟 1MHZ

2、参考流程图(见图8、9): 开 始开 始

设计数器0为

工作方式0

送计数器初值设计数器0为工作方式3向计数器0送初值1000

先送低字节后送高字节

设计数器1为

工作方式3读计数器值

显示计数值有键按下吗?

Y

结 束向计数器1送初值1000先送低字节后送高字节结 束

图 8 图 9

四、实验代码

1、图6电路的实验代码

CODE SEGMENT ;段定义开始(CODE段)

ASSUME CS:CODE ;规定CODE为代码段

START:MOV AL,10H ;设置控制字00010000(计数器0,方式0,写两个字节,二进制计数)

MOV DX,283H ;把控制寄存器地址放在DX寄存器中

OUT DX,AL ;将AL的值送入DX端口

MOV DX,280H ;把计数器0地址放在DX寄存器中

MOV AL,0FH ;将0FH存入AL寄存器

OUT DX,AL ;将此时AL的值送入DX端口

LP1: IN AL,DX ;从DX端口读入8位,放在AL寄存器中

CALL DISP ;调用DISP

PUSH DX ;将DX内容保存到堆栈段

MOV AH,06H ;将06H存入AH,为了下句调用21中断

MOV DL,0FFH ;将0FFH存入DL

INT 21H ;调用21中断

POP DX ;将DX的内容推出栈段

JZ LP1 ;如果DX的内容是0,就跳转到LP1

MOV AH,4CH ;将4CH存入AH,为了下句调用21中断

INT 21H ;调用21中断

DISP PROC NEAR ;定义一个名为DISP的子程序

PUSH DX ;把DX的内容保存到堆栈段中

AND AL,0FH ;将AL寄存器的内容与0FH进行“与”运算,再把结果存入AL中

MOV DL,AL ;将AL的值送入DL寄存器

CMP DL,9 ;比较DL中的值与9的大小

JLE NUM ;如果DL的值小于或等于9时,则跳转到NUM ADD DL,7 ;将DL的值与7进行相加后,再送入DL中

NUM: ADD DL,30H ;将DL的值与30H进行相加后,再送入DL中 MOV AH,02H ;将02H存入AH

INT 21H ;调用DOS21中断

MOV DL,0DH ;结合“MOV AH,02H”就是说输出0DH

INT 21H ;调用中断指令

MOV DL,0AH ;结合“MOV AH,02H”就是说输出0AH

INT 21H ;调用DOS21中断

POP DX ;将DX的内容推出栈段

RET ;子程序在功能完成后返回调用程序继续执行 DISP ENDP ;子程序结束

CODE ENDS ;代码段结束

END START ;程序结束

2、图7电路的实验代码

CODE SEGMENT ;段定义开始(CODE段)

ASSUME CS:CODE ;规定CODE为代码段

START:MOV DX,283H ;把控制寄存器地址放在DX寄存器中

MOV AL,36H ;设置控制字00110110(计数器0,方式3,写两个字节,二进制计数)

OUT DX,AL ;将AL的值送入DX端口

MOV AX,1000H ;该语句是立即寻址方式,就是把1000H这个数赋给AX MOV DX,280H ;把计数器0地址放在DX寄存器中

OUT DX,AL ;将AL的值送入DX端口

MOV AL,AH ;将AX的高8位存入AL寄存器中

OUT DX,AL ;将此时AL的值送入DX端口

MOV DX,283H ;把端口地址放在DX寄存器中

MOV AL,76H ;设置控制字01110110(计数器1,方式3,写两个字节,二进制计数)

OUT DX,AL ;将AL的值送入DX端口

MOV AX,1000H ;把1000H赋给AX

MOV DX,281H ;把端口地址放在DX寄存器中

OUT DX,AL ;将AX的低8位送入DX端口

MOV AL,AH ;将AX的高8位存入AL寄存器中

OUT DX,AL ;将AL的值送入DX端口

MOV AH,4CH ;将4CH存入AH

INT 21H ;调用DOS21中断

CODE ENDS ;代码段结束

END START ;程序结束

五、实验总结

通过实验,学会8253芯片和微机接口原理和方法,掌握8253定时器/计数

器的基本工作原理、工作方式和编程原理,熟悉汇编代码的编写。实验中,连接电路,利用代码控制实验电路,深对课本理论的理解。

…… 此处隐藏:168字,全部文档内容请下载后查看。喜欢就下载吧 ……
可编程定时器计数器(8253)(微机实验报告).doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219