8253定时 - 计数器实验 - 图文

更新时间:2024-01-24 19:10:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验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的输出。 GATE0~GATE2:计数器0、1、2的门控输入 /CS:输入,片选信号。 /RD:输入,读信号。 /WR:输出、写信号。

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

8253的内部寄存器地址如下表表3.1所示:

/CS 0 0 0 0 A1 0 0 1 1 A0 0 1 0 1 选中 计数器0 计数器1 计数器2 控制寄存器 表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所示。

图3.6

(6) 在弹出的如下对话框中选择new按钮,如下图3.7所示。

图3.7

(7)弹出的如下对话框中,找到需要调试运行的asm或者exe程序如下图3.8所示。

图3.8

(8)在弹出的对话框中单击OK,成功如下图3.9所示。

图3.9

四、实验内容

1、实验硬件电路及连线,在Proteus中画出电路图和连线,如下图4.1所示。

图4.1

GATE0和GATE1连接着5V高电平,OUT0用线连至CLK1,OUT1用线连至一个发光管(D1)和一个示波器。 8253工作频率为0~2MHZ,所以输入的时钟频率必须在2MHZ之下。8086的时钟频率设为1500KHz.

五.实验内容

编写程序,将8253的计数器1设置为方式3(方波),计数器0的输出作为计数器1的输入,;计数器1的输出接在一个LED上,运行后可观察到该LED在不停地闪烁。计数方式选用的是16进制,现用BCD码,,使LED的闪亮频率为1Hz。

程序: io2 = 400h io3=600h

code segment 'code' ;定义代码段 assume cs:code start:

mov al,00110100b mov dx,io2+6 out dx,al

mov ax,2e9ch mov dx,io2 out dx,al mov al,ah out dx,al

mov al,01010110b mov dx,io2+6 out dx,al mov ax,100 mov dx,io2+2 out dx,al

mov dx,io3 mov al,01h out dx,al

mov bx,500

wait1: mov cx,882 loop $ dec bx jnz wait1

mov dx,io3 mov al,00h out dx,al

J1: jmp J1

exit: ret ;利用功能调用返回DOS

code ends ;代码段结束 end start

输出频率为:1Hz 实验步骤如下:

1、打开emu8086软件,单击new,后弹出对话框选择第二个选项EXE,如下图5.1所示。

图5.1

单击“OK”,添加程序,如下图5.2所示。

图5.2

2,单击save保存,保存为.exe文件,如下图5.3所示。

图5.3

3、单击compile编译程序,编译成功后保存。

4、单击emulate执行程序,观察各个寄存器的变化,如下图5.4和图5.5所示。

图5.4

图5.5

5、打开Proteus软件,画好电路图,双击8086CPU,根据第三部分预习中的的内容向8086中添加源程序文件。

6、单击软件左下角的三角符号Play按钮运行仿真电路,会看到LED灯D1会闪烁,用手表记录其周期,如下图5.6和图5.7示波器所示。

图5.6

图5.7

7、思考题

(1)单步执行该程序,记录下每执行一条指令后相应寄存器内容的变化情况,并解释各个窗口界面的功能作用和意义。 (2)该程序运行的结果是什么?

六、实验报告

应包括实验程序、硬件电路图及连线、实验的结果描述及心得体会等

本文来源:https://www.bwwdw.com/article/eqyw.html

Top