转载的:
https://blog.csdn.net/as1072966956/article/details/80718843
8254定时/计数器应用实验

1 实验目的

  1. 掌握8254的工作方式及应用编程。

  2. 掌握8254典型应用电路的接法。

2 实验设备

PC机一台,TD-PITE实验装置一套。

3 实验内容

  1. 计数应用实验。编写程序,应用8254的计数功能,使用单次脉冲模拟计数,使每当按动‘KK1+’5次后,产生一次计数中断,并在屏幕上显示一个字符‘M’。

  2. 定时应用实验。编写程序,应用8254的定时功能,产生一个1s的方波。

4 实验原理

8254是Intel公司生产的可编程间隔定时器。是8253的改进型,比8253具有更优良的性能。8254具有以下基本功能:

(1)有3个独立的16位计数器。

(2)每个计数器可按二进制或十进制(BCD)计数。

(3)每个计数器可编程工作于6种不同工作方式。

(4)8254每个计数器允许的最高计数频率为10MHz(8253为2MHz)。

(5)8254有读回命令(8253没有),除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容。

(6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式为:

n=fCLKi÷fOUTi、其中fCLKi是输入时钟脉冲的频率,fOUTi是输出波形的频率。

图4.27是8254的内部结构框图和引脚图,它是由与CPU的接口、内部控制电路和三个计数器组成。8254的工作方式如下述:

(1)方式0:计数到0结束输出正跃变信号方式。

(2)方式1:硬件可重触发单稳方式。

(3)方式2:频率发生器方式。

(4)方式3:方波发生器。

(5)方式4:软件触发选通方式。

(6)方式5:硬件触发选通方式。

图4.27 8254的内部接口和引脚

8254的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。这两个控制字共用一个地址,由标识位来区分。控制字格式如表4.3—4.5所示。

表4.3 8254的方式控制字格式

D7
D6
D5
D4
D3
D2
D1
D0
计数器选择
读/写格式选择
工作方式选择
计数码制选择
00-计数器0
01-计数器1
10-计数器2
11-读出控制
字标志
00-锁存计数值
01-读/写低8位
10-读/写高8位
11-先读/写低8位
再读/写高8位
000-方式0
001-方式1
010-方式2
011-方式3
100-方式4
101-方式5
0-二进制数
1-十进制数
表4.4 8254读出控制字格式

D7
D6
D5
D4
D3
D2
D1
D0
1
1
0-锁存计数值
0-锁存状态信息
计数器选择(同方式控制字)
0
表4.5 8254状态字格式

D7
D6
D5
D4
D3
D2
D1
D0
OUT引脚现行状态
1-高电平
0-低电平
计数初值是否装入
1-无效计数
0-计数有效
计数器方式(同方式控制字)

8254实验单元电路图如下图所示:

图4.28 8254实验电路原理图

5 实验步骤

  1. 计数应用实验

编写程序,将8254的计数器0设置为方式3,计数值为十进制数4,用单次脉冲KK1+作为CLK0时钟,OUT0连接MIR7,每当KK1+按动5次后产生中断请求,在屏幕上显示字符“M”。

实验步骤:

(1)实验接线如图4.29所示。

(2)编写实验程序,经编译、链接无误后装入系统。

(3)运行程序,按动KK1+产生单次脉冲,观察实验现象。

(4)改变计数值,验证8254的计数功能。

图4.29 8254计数应用实验接线图

实验程序清单(A82541.ASM)

A8254 EQU 06C0H ;8254计数器0端口地址
B8254 EQU 06C2H ;8254计数器1端口地址
C8254 EQU 06C4H ;8254计数器2端口地址
CON8254 EQU 06C6H ;8254 控制寄存器端口地址

SSTACK SEGMENT STACK
DW 32 DUP(?)
SSTACK ENDS

CODE SEGMENT
ASSUME CS:CODE, SS:SSTACK
START: PUSH DS
MOV AX, 0000H
MOV DS, AX
MOV AX, OFFSET IRQ7 ;取中断入口地址
MOV SI, 003CH ;中断矢量地址
MOV [SI], AX ;填IRQ7的偏移矢量
MOV AX, CS ;段地址
MOV SI, 003EH
MOV [SI], AX ;填IRQ7的段地址矢量
CLI ;中断屏蔽clear interrupt
POP DS

 ;初始化主片8259MOV AL, 11H               ;0001 0001 级联,边沿触发,要ICW4OUT 20H, AL                ;ICW1MOV AL, 08H                ;0000 1000 中断类型号从8开始OUT 21H, AL              ;ICW2MOV AL, 04H                ;0000 0100 OUT 21H, AL               ;ICW3MOV AL, 01H                ;0000 0001 非缓冲方式,8086/8088配置OUT 21H, AL               ;ICW4MOV AL, 6FH                ;OCW1 0110 1111 IR7,IR4引脚的中断开放OUT 21H, AL;8254MOV DX, CON8254MOV AL, 10H                ;0001 0000计数器0,方式0OUT DX, ALMOV DX, A8254MOV AL, 04HOUT DX, ALSTI                         ;开中断

AA1: JMP AA1 ;无限循环

IRQ7: MOV DX, A8254
MOV AL, 04H ;0000 0100
OUT DX, AL
MOV AH, 02H ;M 4DH
MOV DL, 4DH
INT 21H
MOV AH, 02H
MOV DL, 20H
INT 21H
MOV AL, 20H
OUT 20H, AL ;中断结束命令
IRET
CODE ENDS
END START

  1. 定时应用实验

编写程序,将8254的计数器0和计数器1都设置为方式3,用信号源1MHz作为CLK0时钟,OUT0为波形输出1ms方波,再通过CLK1输入,OUT1输出1s方波。

实验步骤:

(1)接线图如图4.30所示。

(2)根据实验内容,编写实验程序,经编译、链接无误后装入系统。

(3)单击按钮,运行实验程序,8254的OUT1会输出1s的方波。

(4)用示波器观察波形的方法:单击虚拟仪器菜单中的按钮或直接单击工具栏的按钮,在新弹出的示波器界面上单击按钮运行示波器,就可以观测出OUT1输出的波形。

实验程序清单(A82542.ASM)

A8254 EQU 06C0H ;8254计数器0端口地址
B8254 EQU 06C2H ;8254计数器1端口地址
C8254 EQU 06C4H ;8254计数器2端口地址
CON8254 EQU 06C6H ;8254 控制寄存器端口地址

SSTACK SEGMENT STACK
DW 32 DUP(?)
SSTACK ENDS
CODE SEGMENT
ASSUME CS:CODE
START: MOV DX, CON8254 ;8254
MOV AL, 36H ;0011 0110计数器0,方式3
OUT DX, AL
MOV DX, A8254
MOV AL, 0E8H ;03E8H --> 1000
OUT DX, AL
MOV AL, 03H
OUT DX, AL
MOV DX, CON8254 ;8254
MOV AL, 76H ;0111 0110计数器1,方式3
OUT DX, AL
MOV DX, B8254
MOV AL, 0E8H ;03E8H --> 1000
OUT DX, AL
MOV AL, 03H
OUT DX, AL
AA1: JMP AA1
CODE ENDS
END START

图4.30 8254定时应用实验接线图

附表 输入/输出接口编址

信号线
编址空间
主片8259

20H、21H
从片8259

A0H、A1H
扩展I/O接口
IOY0
0600H~063FH
IOY1
0640H~067FH
IOY2
0680H~06BFH
IOY3
06C0H~06FFH
附表 INT 10H 使用说明

入口:AH=01H,AL=数据
功能:写AL中的数据到屏上
入口:AH=06H,DS:BX=字串首址,且字串尾用00H填充
功能:显示一字串,直到遇到00H为止
附表 INT 21H使用说明

入口:AH=00H或AH=4CH
功能:程序终止
入口:AH=01H
功能:读键盘输入到AL中并回显
入口:AH=02H,DL=数据
功能:写DL中的数据到显示屏
入口:AH=08H
功能:读键盘输入到AL中无回显
入口:AH=09H,DS:DX=字符串首地址,字符串以 ‘′结束功能:显示字符串,直到遇到′' 结束 功能:显示字符串,直到遇到 '′结束功能:显示字符串,直到遇到′’ 为止
入口:AH=0AH,DS:DX=缓冲区首地址,(DS:DX)=缓冲区最大字符数,
(DS:DX+1)=实际输入字符数,(DS:DX+2)=输入字符串起始地址
功能:读键盘输入的字符串到DS:DX指定缓冲区中并以回车结束


作者:hasp_Jason
来源:CSDN
原文:https://blog.csdn.net/as1072966956/article/details/80718843
版权声明:本文为博主原创文章,转载请附上博文链接!

8254定时/计数器实验相关推荐

  1. 实验六、8254定时/计数器实验

    实验六.8254定时/计数器实验 1.实验目的 了解定时计数器8254的初始化及用法. 了解定时计数器8254各种工作方式的特点. 2.实验内容 编写程序,使8254的计数器1 分别工作在方式 0.1 ...

  2. 实验六 8254 定时/计数器实验

    上机实验 实验目的 实验内容 实验原理 实验步骤 思路 连线注意 !!! 实验代码 8254 的各种方式 选做实验一 实验内容 思路 实验代码 选做实验二 实验内容 思路 实验代码 上机实验 实验目的 ...

  3. 实验6、8254定时/计数器实验

    实验内容 基础部分: 1.编写程序,是8254的计数器1分别工作在方式0.1.2.3下,在示波器上观察各工作方式下OUT1的输出波形. 拓展部分: 2.使用单脉冲开关手动生成8254的输入时钟,观察方 ...

  4. 汇编语言--8254定时/计数器实验

    实验题目 计数应用实验 编写程序,应用8254的计数功能,使用单次脉冲模拟计数,使每当按下'KK1+'5次后,产生一次计数中断,并在屏幕上显示一个字符'M': 认识8254 8254是Intel公司生 ...

  5. 8254 定时/计数器应用实验

    一.实验目的 1.掌握 8254 的工作方式及应用编程. 2.掌握 8254 典型应用电路的接法. 二.实验内容与要求 1.计数应用实验,编写程序,应用8254的计数功能,使用单次脉冲模拟计数,使每当 ...

  6. 《单片机》实验——实验4 MCS-51内部定时/计数器实验(2)

    <单片机>实验--实验4 MCS-51内部定时/计数器实验(2) 一.实验目的 二.知识要点 三.实验内容 实验一至实验七配套源代码.电路图.hex文件.实验报告,请点击此处 一.实验目的 ...

  7. 实验四 MCS-51内部定时/计数器实验(2)

    实验四 MCS-51内部定时/计数器实验(2) 一.实验目的 二.知识要点 三.实验内容 总结 一.实验目的 进一步掌握定时/计数器的4种工作方式的应用 掌握查询控制的定时/计数器的编程 二.知识要点 ...

  8. 《单片机》实验——实验3 MCS-51内部定时/计数器实验(1)

    <单片机>实验--实验3 MCS-51内部定时/计数器实验(1) 一.实验目的 二.实验内容 实验一至实验七配套源代码.电路图.hex文件.实验报告,请点击此处 一.实验目的 掌握定时/计 ...

  9. 【单片机】脉冲计数(定时/计数器实验)

    [单片机]脉冲计数(定时/计数器实验) 一.操作目的 二.操作内容 三.程序框图 四.程序接线图 五.程序清单 六.代码详解 一.操作目的 熟悉单片机内部定时/计数器功能,掌握初始化编程方法. 二.操 ...

最新文章

  1. DIV常见任务(上) - 常规任务
  2. 七、Linux串口编程
  3. HashMap为什么是线程不安全的?
  4. 川农计算机网络题库,川农网院20秋《计算机网络》期末机考
  5. LeetCode 1602. 找到二叉树中最近的右侧节点(BFS)
  6. 和整数相乘_人教版五年级上册第1单元《小数乘整数》课件及同步练习
  7. struts2生成随机验证码图片
  8. opencv3.4.2调用训练好的Openpose模型
  9. 禁忌搜索算法(Tabu Search)的基本原理与算法流程总结
  10. Exchange2010升级至Exchange2016
  11. LPC1788学习笔记(19-01-11)
  12. 普通IO口红外线接收(不用外部中断)
  13. java计算机毕业设计Web网上购书后台管理系统MyBatis+系统+LW文档+源码+调试部署
  14. QT学习1-下载安装HelloWorld
  15. Landsat8遥感影像批量分割(Arcmap实现)
  16. Cesium空间分析-填挖方计算(地形、模型通用)
  17. Linux查看进程的4种方法
  18. 手电筒android studio,Android QuickSetting---手电筒控制
  19. 网络信息安全:RC4加密算法的实现
  20. C语言链表逆序复杂度为o1,C链表反转(时间复杂度O(n))

热门文章

  1. 2022辅警招聘考试试题及答案大全
  2. 7-11前常务董事碓井诚:7-11的数字化对中国零售行业有哪些借鉴意义
  3. 运维 - 第一阶段 - linux与shell编程
  4. Linux例行工作与系统管理
  5. Android Studio: CreateProcess error=206 文件名或扩展名太长 解决方案之一
  6. 基于微信电影院购票小程序系统设计与实现 开题报告
  7. Android Studio - 北极狐 | 2020.3.1 补丁 3 现已推出
  8. 低功耗技术(二)常见的低功耗技术
  9. 单片机外围电路设计之六:场效应管
  10. eclipse包含jdk吗_eclipse安装教程jdk