文档详情

实验三_8253定时器计数器实器.pdf

发布:2019-02-17约2.65千字共5页下载文档
文本预览下载声明
实验三 8253 定时器/计数器实验 一、实验目的 1. 学会8253 芯片与微机接口的原理和方法。 2. 掌握8253 定时器/计数器的工作原理和编程方法。 二、实验内容 编写程序,将8253 的计数器0 设置为方式2 (频率发生器),计数器1 设 置为方式3 (方 波频率发生器),计数器0 的输出作为计数器1 的输入,计数器1 的输出接在一 个LED 上,运行后可观察到该LED 在不停地闪烁。 1.编程时用程序框图中的二个计数初值,计算OUT1 的输出频率,用表观察LED, 进行核对。 2.修改程序中的二个计数初值,使OUT1 的输出频率为1Hz,用手表观察LED,进 行核对。 3.上面计数方式选用的是 16 进制,现若改用 BCD 码,试修改程序中的二个计 数初值,使 LED 的闪亮频率仍为1Hz。 三、电路图 CS3→0040H;JX8→JX0;IOWR→IOWR;IORD→IORD;A0→A0;A1→A1; GATE0→+5V;GATE1→+5V;OUT0→CLK1;OUT1→L1;CLK0→0.5MHz; 四、流程图及编程指南 8253 是一种可编程定时/计数器,有三个十六位计数器,其计数频率范围为 0-2MHz 用+5V 单电源供电。8253 的六种工作方式: ⑴ 方式0:计数结束中断 ⑷ 方式3:方波频率发生器 ⑵ 方式l:可编程频率发生 ⑸ 方式4:软件触发的选通信号 ⑶ 方式2:频率发生器 ⑹ 方式5:硬件触发的选通信号 8253 初始化编程 1. 8253 初始化编程 8253 的控制寄存器和 3 个计数器分别具有独立的编程地址,由控制字的内 容确定使用 的是哪个计数器以及执行什么操作。因此 8255 在初始化编程时, 并没有严格的顺序规定,但在编程时,必须遵守两条原则: ① 在对某个计数器设置初值之前,必须先写入控制字; ② 在设置计数器初始值时,要符合控制字的规定,即只写低位字节,还是只写 高位 字节,还是高、低位字节都写(分两次写,先低字节后高字节)。 2. 8253 的编程命令 8253 的编程命令有两类:一类是写入命令,包括设置控制字、设置计数器的 初始值命 令和锁存命令;另一类是读出命令,用来读取计数器的当前值。 锁存 命令是配合读出命令使用的。在读出计数器值前,必须先用锁存命令锁定当前计 数寄存器的值。否则,在读数时,减 1 计数器的值处在动态变化过程中,当前 计数输 出寄存器随之变化,就会得到一个不确定的结果。当CPU 将此锁定值读 走后,锁存功 能自动失效,当前计数输出寄存器的内容又跟随减 1 计数器变化。 在锁存和读出计数 值的过程中,减 1 计数器仍在作正常减 1 计数。这种机制 确保了即能在计数过程中读 取计数值,又不影响计数过程的进行。 五、实验程序及注释 CODE SEGMENT ASSUME CS:CODE ORG 1200H START: MOV DX,43H MOV AL ;写入控制字,选择 计数器0 OUT DX,AL MOV DX,40H MOV AL,0F4H ;写入初值低8 位 OUT DX,AL MOV AL,01H ;写入初值高8 位 OUT DX,AL MOV DX,43H MOV AL ;写入控制字,选择计数器1 OUT DX,AL MOV DX,41H MOV AL,0E8H ; 写入初值低8 位 OUT DX,AL MOV AL,03H ; 写入初值高8 位 OUT DX,AL JMP $ CODE ENDS END START 六、实验内容 1.2EEH=750 3E8H=1000 输出频率=(5X10^5)/(750X1000)=0.667HZ 实
显示全部
相似文档