8254 定时/计数器应用实验

这篇具有很好参考价值的文章主要介绍了8254 定时/计数器应用实验。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、实验目的

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

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

二、实验内容与要求

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

2.定时应用实验。编写程序,应用8254的定时功能,产生一个ls的方法,并且本装置的示波器功能来观察。

三、实验步骤

1. 计数应用实验

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

8254 定时/计数器应用实验

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

实验步骤:

(1)实验接线如图4.5.3所示(由于8254单元中GATE0信号已经上拉+5V,所以GATE0不用接线)。

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

8254 定时/计数器应用实验

(3)单击run按钮,运行实验程序,每连续按动5次KK1+,在界面的输出区会显示字符“M”(改成K),观察实验现象。

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

2. 定时应用实验

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

8254 定时/计数器应用实验

图4.5.5  8254定时应用实验按线图

实验步骤:

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

(2)根据实验内容,编写实验程序(例程文件名为:A82542.ASM),经编译、链接无误后装入系统。

8254 定时/计数器应用实验

(3)单击run按钮,运行实验程序,8254的OUT1会输出1s的方波,可用软件自带的示波器功能进行观察。

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

四、电路连接

1. 计数应用实验

8254 定时/计数器应用实验

2. 定时应用实验

8254 定时/计数器应用实验

五、代码设计

1.中断入口地址

        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
        POP DS

子程序入口是中断类型号*4,从下图可以看出,IR7的中断类型号是F(0F),0F×4=003C,003E=0F×4+2

8254 定时/计数器应用实验

2.8254的初始化

        MOV DX, CON8254         ;8254
        MOV AL, 36H             ;计数器0,方式3
        OUT DX, AL

36H=00 11 011 0:计数器0,先读写低8位,再读写高8位,方式3,二进制

8254 定时/计数器应用实验

3.8254计数器0的计数初值的计算

        MOV DX, A8254
        MOV AL, 0E8H
        OUT DX, AL
        MOV AL, 03H
        OUT DX, AL

设计数初值为n,CLK频率为fc,方波频率为f则n=fc/f

因为本实验中CLK0频率为1MHz,波形输出1ms方波,即1000Hz.所以计数初值n=1000000/1000=1000,转换为十六进制为03E8H.

4.关于显示字符

MOV AX, 014BH
INT 10H ;显示字符K

这里AH=01,AL=4BH=75=‘K’,会显示AL对应的字符。

六、实验现象

1. 计数应用实验

8254 定时/计数器应用实验

修改代码,变成K。

8254 定时/计数器应用实验

2. 定时应用实验

8254 定时/计数器应用实验

8254 定时/计数器应用实验

附录 代码

1.计数应用实验

;=========================================================
; 文件名: A82541.ASM
; 功能描述: 通过对计数器0进行计数,计数初值为4,
;           当计数满后,产生正跳变触发中断,中断
;           程序显示M(每按5次输出一个M)
;=========================================================

IOY0     EQU  0600H             ;IOY0起始地址
A8254    EQU  IOY0+00H*2
B8254    EQU  IOY0+01H*2
C8254    EQU  IOY0+02H*2
CON8254  EQU  IOY0+03H*2

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
        POP DS
        ;初始化主片8259
        MOV AL, 11H
        OUT 20H, AL             ;ICW1
        MOV AL, 08H
        OUT 21H, AL             ;ICW2
        MOV AL, 04H
        OUT 21H, AL             ;ICW3
        MOV AL, 01H
        OUT 21H, AL             ;ICW4
        MOV AL, 6FH             ;OCW1
        OUT 21H, AL
        ;8254
        MOV DX, CON8254
        MOV AL, 10H             ;计数器0,方式0
        OUT DX, AL
        MOV DX, A8254
        MOV AL, 04H
        OUT DX, AL
        STI
AA1:    JMP AA1
IRQ7:   MOV DX, A8254
        MOV AL, 04H
        OUT DX, AL
        MOV AX, 014DH
        INT 10H                 ;显示字符M
        MOV AX, 0120H
        INT 10H     
        MOV AL, 20H
        OUT 20H, AL             ;中断结束命令
        IRET
CODE    ENDS
        END  START

2. 定时应用实验文章来源地址https://www.toymoban.com/news/detail-426879.html

;=========================================================
; 文件名: A82542.ASM
; 功能描述: 产生1s方波,输入时钟为1MHz,使用计数器0和1
;           计数初值均为03E8H
;=========================================================

IOY0     EQU  0600H             ;IOY0起始地址
A8254    EQU  IOY0+00H*2
B8254    EQU  IOY0+01H*2
C8254    EQU  IOY0+02H*2
CON8254  EQU  IOY0+03H*2

SSTACK  SEGMENT STACK
        DW 32 DUP(?)
SSTACK  ENDS

CODE    SEGMENT
        ASSUME CS:CODE
START:  MOV DX, CON8254         ;8254
        MOV AL, 36H             ;计数器0,方式3
        OUT DX, AL
        MOV DX, A8254
        MOV AL, 0E8H
        OUT DX, AL
        MOV AL, 03H
        OUT DX, AL
        MOV DX, CON8254         ;8254
        MOV AL, 76H             ;计数器1,方式3
        OUT DX, AL
        MOV DX, B8254
        MOV AL, 0E8H
        OUT DX, AL
        MOV AL, 03H
        OUT DX, AL
AA1:    JMP AA1
CODE    ENDS
        END  START

到了这里,关于8254 定时/计数器应用实验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 51单片机定时器。实验(六):定时器实验:使用AT89S51单片机的定时器/计数器T1控制LED每隔3秒点亮一次(即亮3秒,灭3秒,如此反复)

    目录 题目: proteus仿真: 代码: 分析题目: 定时器: 工作方式寄存器TMOD设置: 控制寄存器TCON设置: 设定计数初值:  定时器四种工作方式: 实验过程讲解: 配置定时器:设置TMOD寄存器 设定定时器初值:THx和TLx(x=0,1) 设置IE寄存器: 启动定时器: 中断检测: 使用

    2023年04月20日
    浏览(50)
  • 51单片机定时器/计数器(定时器中断)

    实现功能 通过定时器终端控制LED灯 D1 间隔一秒闪烁 单片机型号:STC89C52 定时器介绍 1、51单片机定时器原理 定时器实质上就是一个加1计数器。它随着计数器的输入脉冲进行自加1,也就是每来一个脉冲,计数器就自动加1,,当加到定数器满时,再输入一个脉冲就使定时器回零

    2024年02月06日
    浏览(51)
  • 51单片机笔记:定时器/计数器

    定时器/计数器的结构 AT89S51内部两个16位定时器/计数器:T0(P3.4),T1(P3.5),定时器/计数器T0由特殊寄存器TH0,TL0构成,T1由特殊功能寄存器TH1,TL1构成 T0,T1都有定时器和计数器两种工作模式,两种模式实质都是对脉冲信号进行计数,只不过技术信号来源不同。 计数器模式 是对

    2024年02月06日
    浏览(41)
  • 数电实验1:计数器实验

           计数是一种最简单基本的运算。计数器就是实现这种运算的逻辑电路,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能。本次实验采用50MHz时钟进行系统仿真,并具备低电平有效的复位信号。计数从0~100,当计数

    2024年02月05日
    浏览(49)
  • 实验四 计数器

    五、实验步骤与实验结果 1、用Verilog VHDL设计D触发器。打开QuarterII新建一个基于ALTERA的Cyclone系列FPGA芯片EP1C3T144C8N的项目保存在D:dianluecp1文件夹中,新建一个Verilog HDL文件,将附件一代码写入,运行无错误,查看My74161计数器的逻辑图(图1-1),重新运行,无误后,进行“Creat sy

    2024年02月04日
    浏览(34)
  • 单片机:定时器/计数器TMOD设置

    在嵌入式系统中,定时器和计数器是非常重要的功能模块。通过使用定时器/计数器,我们可以实现各种时间相关的操作,比如定时中断、计时测量等。在单片机中,定时器/计数器的配置是通过设置特定的寄存器来完成的。其中,TMOD寄存器用于设置定时器/计数器的工作模式。

    2024年02月02日
    浏览(57)
  • 51单片机——计数器与定时器的区别

    定时器和计数器 是同一器件—--计数器,其共同的特点是都有一个计数脉冲输入端,每输入一个脉冲,计数器就进行加1或减1计数。 若计数器件的计数脉冲的频率固定,则可利用计数实现定时,这就是定时器。 若计数器件的作用仅仅是记录输入脉冲的多少,则称为计数器。 ①产生的

    2024年01月16日
    浏览(51)
  • 蓝桥杯单片机学习6——定时器/计数器&定时器实现秒表功能

    上一期我们学习了外部中断的相关内容,现在我接着来学习定时器。 定时器/计数器是一种能够对内部时钟信号或者外部输入信号进行计数,当计数值达到设定要求时,向CPU提出中断请求,从而实现定时或计数功能的外设。定时器的基本工作原理是进行计数。 举个栗子 :你可

    2024年02月04日
    浏览(45)
  • 【STC89C52】外部中断与定时/计数器中断

    目录 一、中断系统 二、外部中断 一)配置外部中断的三个步骤 1)中断允许 (2)中断方式配置 3)中断处理函数 二)实验代码  三、定时器/计数器 一)使用定时器/计数器的三个步骤 1)启动定时/计数器 2)设置工作模式​编辑  3)查询定时/计数器是否溢出  二)实验代

    2024年02月08日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包