8253定时计数器实验.docx
《8253定时计数器实验.docx》由会员分享,可在线阅读,更多相关《8253定时计数器实验.docx(14页珍藏版)》请在冰豆网上搜索。
8253定时计数器实验
实验88253定时/计数器实验
一、实验目的
1.了解8253与8086的硬件连接方法。
2.掌握8253的各种方式的编程及其原理。
3.学会Emu8086和Proteus的联合用调。
二、实验要求
安装有Emu8086仿真软件和PROTEUS仿真软件的电脑一台。
三、预习内容
1、8253定时计数器的内部结构和主要性能。
2、8253芯片的各个引脚及其含义如下图3.1所示。
图3.18253A定时计数器
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
A1
A0
选中
0
0
0
计数器0
0
0
1
计数器1
0
1
0
计数器2
0
1
1
控制寄存器
表3.18253定时计数器的寄存器
3、定时、计数器8253的命令字的初始化。
4、8253的六种工作方式具体参考课本(278页至282页)。
5、汇编软件Emu8086和Proteus软件的联合使用方法步骤。
在Proteus软件绘制系统原理图,然后需要对Proteus进行程序导入设置才能进行方真调试。
具体步骤如下:
(1)点击Proteus软件菜单中的source的下拉选项中的DfineCodeGenerationTools...如下图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/RemoveSourceFiles...如下图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
codesegment'code';定义代码段
assumecs:
code
start:
moval,00110100b
movdx,io2+6
outdx,al
movax,2e9ch
movdx,io2
outdx,al
moval,ah
outdx,al
moval,01010110b
movdx,io2+6
outdx,al
movax,100
movdx,io2+2
outdx,al
movdx,io3
moval,01h
outdx,al
movbx,500
wait1:
movcx,882
loop$
decbx
jnzwait1
movdx,io3
moval,00h
outdx,al
J1:
jmpJ1
exit:
ret;利用功能调用返回DOS
codeends;代码段结束
endstart
输出频率为:
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)该程序运行的结果是什么?
六、实验报告
应包括实验程序、硬件电路图及连线、实验的结果描述及心得体会等