0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

8086基础-定时器

汽车电子技术 来源:滑小稽笔记 作者:滑小稽 2023-03-02 09:57 次阅读

4.1 8253简介

4.1.1 引脚详解

图片

(1)三态双向数据口D0~D7:用于8253A与CPU的并行通信

(2)计数脉冲输入CLK0~CLK2:用于提供8253的计数脉冲;

(3)通道门控GATE0~GATE2:控制对应通道的输出;

(4)读控制信号RD:低电平有效;

(5)写控制信号WR:低电平有效;

(6)片选信号CS:低电平有效;

(7)地址选择端A0,A1:用于选择芯片内部的寄存器

4.1.2 内部结构框图

图片

4.1.3 工作模式

(1)工作模式0—计数结束产生中断

在计数值减到0时输出信号OUT将产生一个上升沿,这个上升沿作为CPU的中断请求信号,当CPU执行完中断处理程序时,如果希望再一次启动计数器结束中断功能,可以再次将计数值送给它。

(2)工作模式1—可编程单稳态输出方式

计数初值写入到8253A后必须等待GATE信号的触发才能开始计数,触发后使输出信号OUT变低,计数到0时,OUT信号又回到高电平,这类似于数字电路中的单稳态电路,而低电平的宽度由计数脉冲的个数决定,所以这种工作方式又称为可编程单稳态输出方式。

(3)工作模式2—频率发生器/分频器

该模式在计数器减到0的时候会重新自动地把原来的初值寄存器中的数据装载到减一计数器中重复计数,第一次运行时有一个额外的下装脉冲,而后续的重复计数没有这个额外脉冲,它的下装脉冲直接用上一次计数的最后一个脉冲,所以,当计数值设为N时,第一次要N+1个脉冲,后面重复计数的值皆为N。

(4)工作模式3—方波发生器

模式3与模式2基本相似,不同之处在于计数值如果为偶数,OUT输出的高电平宽度与低电平宽度相等,称为方波发生器,如果计数值为奇数,高电平比低电平多一个CLK的脉冲宽度。

(5)工作模式4—软件触发的选通信号发生器

模式4除OUT的波形与模式0不同,计数过程中GATE和计数初值发生变化对OUT的影响与模式0一样。

(6)工作模式5

模式5除了OUT的波形与模式1不同之外,计数过程中GATE和计数初值发生变化对OUT的影响与模式1一样

4.1.4 控制字格式

D7 D6 D5 D4 D3 D2 D1 D0
SC1 SC0 RW1 RW0 M2 M1 M0 BCD

控制字的具体描述如下表所示:

计数器选择
SC1
0
0
1
1
计数器操作方式控制
RW1
0
0
1
1
计数器工作模式选择
M2
0
0
0
0
1
1
1
1

D0:二进制与BCD码选择

0:二进制形式

1:BCD码形式

4.1.5 端口地址计算

8253通过引脚CS、RD、WR、A0和A1五个端口的电平决定芯片内部的寄存器,地址对应如下表所示。

CS RD WR A1 A0 功能
0 1 0 0 0 设置计数器0的初值
0 1 0 0 1 设置计数器1的初值
0 1 0 1 0 设置计数器2的初值
0 1 0 1 1 设置控制字或命令
0 0 1 0 0 读取计数器0的计数值
0 0 1 0 1 读取计数器1的计数值
0 0 1 1 0 读取计数器2的计数值

4.2 8253初始化流程

(1)将控制字写入8253A

(2)对8253A中的某个计数器写入初值

(3)启动计数器

注意:由于8253A是一个16位的计数器,所以当计数的时间超出计数器的范围时可以考虑用两个计数器级联达到目的。

4.3 源代码

例题:利用8253A芯片产生一个500ms,占空比50%的方波。

图片

解析过程:由于硬件电路设计时利用1MHz作为计数器的时钟脉冲,所以计数器的一个脉冲的时间应该是1us,由于需要产生一个20ms的高电平,所以需要计数20000次才可以,但是由于8位的计数器数据范围是255,所以采用两个计数器级联的方式达到目的,将两个计数器均设置为模式3(即方波发生器),另外,根据硬件连接,A0连接在地址端的A3,A1连接在地址端的A4,片选CS接地,所以,对应计数器0的初值设置地址应该是0000 H,计数器1的初值设置地址应该是0008 H,控制字的地址为0018 H。经过上述分析,源代码如下图所示。

图片

注:由于设定的计数器工作在模式3,所以计数脉冲会自动在中间产生脉冲

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 信号
    +关注

    关注

    11

    文章

    2767

    浏览量

    76456
  • Out
    Out
    +关注

    关注

    0

    文章

    31

    浏览量

    13095
  • 单稳态电路
    +关注

    关注

    0

    文章

    16

    浏览量

    15255
收藏 人收藏

    评论

    相关推荐

    STM32定时器(二)定时器中断

    常规定时器:基本定时器TIM6&TIM7)、通用定时器(TIM2~TIM5,TIM9~TIM14)、高级定时器(TIM1&TIM8)
    的头像 发表于 07-21 14:54 4045次阅读
    STM32<b class='flag-5'>定时器</b>(二)<b class='flag-5'>定时器</b>中断

    555定时器

    555定时器555定时器555定时器555定时器555定时器555定时器555
    发表于 11-10 17:25 52次下载

    定时器电路图工作原理(声光提示定时器电路/555定时器电路/相片曝光定时器电路)

    定时器根据其输入条件导致完成动作的不同可分为接通延时型定时器、断开延时型定时器、保持型接通延时定时器、脉冲型定时器和扩张型脉冲
    发表于 11-05 16:07 1.7w次阅读
    <b class='flag-5'>定时器</b>电路图工作原理(声光提示<b class='flag-5'>定时器</b>电路/555<b class='flag-5'>定时器</b>电路/相片曝光<b class='flag-5'>定时器</b>电路)

    STM32定时器-基本定时器

    目录定时器分类基本定时器功能框图讲解基本定时器功能时钟源计数时钟计数自动重装载寄存
    发表于 11-23 18:21 31次下载
    STM32<b class='flag-5'>定时器</b>-基本<b class='flag-5'>定时器</b>

    基于硬件定时器的软件定时器

    概括硬件定时器很精确,软件定时器无论如何都有延迟,主要用在不需要精确定时的地方,而且软件定时比较浪费单片机资源。梳理讲到定时器,大家多多少少
    发表于 11-25 09:51 8次下载
    基于硬件<b class='flag-5'>定时器</b>的软件<b class='flag-5'>定时器</b>

    STM32——高级定时器、通用定时器、基本定时器的区别

    STM32——高级定时器、通用定时器、基本定时器的区别
    发表于 11-26 15:21 110次下载
    STM32——高级<b class='flag-5'>定时器</b>、通用<b class='flag-5'>定时器</b>、基本<b class='flag-5'>定时器</b>的区别

    STM32-通用定时器-定时器中断

    1STM32的定时器STM32F103ZET6一共有8个定时器,其中分别为:高级定时器(TIM1、TIM8);通用定时器(TIM2、TIM3、TIM4、TIM5);基本
    发表于 11-26 15:36 16次下载
    STM32-通用<b class='flag-5'>定时器</b>-<b class='flag-5'>定时器</b>中断

    STM32定时器学习---基本定时器

    STM32F1系列的产品,除了互联网产品外,工作8个,3种定时器,其中一种就是基本定时器。那么STM32单片机的基本定时器如何操作以及编程呢?下面我们就来详细的了解一下STM32F1系列的产品,除了
    发表于 12-02 14:06 27次下载
    STM32<b class='flag-5'>定时器</b>学习---基本<b class='flag-5'>定时器</b>

    SysTick 定时器

    11.1关于 SysTick 定时器SysTick定时器(又名系统滴答定时器)是存在于Cortex-M3的一个定时器,只要是ARM Cotex-M系列内核的MCU都包含这个
    发表于 12-05 14:51 9次下载
    SysTick <b class='flag-5'>定时器</b>

    31章-定时器

    基本定时器TIMSTM32F1 系列中,除了互联型的产品,共有8 个定时器,分为基本定时器,通用定时器和高级定时器。基本
    发表于 01-17 09:39 3次下载
    31章-<b class='flag-5'>定时器</b>

    定时器开关怎么接线?

    定时器开关:时间定时器开关、开关定时器、电源开关定时器,是控制用电器自动定时开启、关闭的电气装置。
    的头像 发表于 02-24 15:38 9626次阅读
    <b class='flag-5'>定时器</b>开关怎么接线?

    基础定时器实验

    STM32内部共有8个定时器,其中Timer1和Timer8属于高级定时器,Timer2~Timer5属于通用定时器,8个定时器的资源独立,互不影响。
    的头像 发表于 03-01 15:59 1110次阅读
    基础<b class='flag-5'>定时器</b>实验

    什么是软件定时器?软件定时器的实现原理

    软件定时器是用程序模拟出来的定时器,可以由一个硬件定时器模拟出成千上万个软件定时器,这样程序在需要使用较多定时器的时候就不会受限于硬件资源的
    的头像 发表于 05-23 17:05 2592次阅读

    定时器中断是什么意思,定时器中断的工作原理

    定时器中断是由单片机中的定时器溢出而申请的中断。51单片机中有两个定时器T0和T1。STM32中共有11个定时器
    的头像 发表于 07-23 09:45 5803次阅读

    使用555定时器的可调双定时器电路

    定时器 IC 555 是最通用和最常用的 IC 之一,因为它的应用范围更广,如 PWM放大器、延迟定时器、开关电路、占空比选择、时钟脉冲发生等。这也可用于各种应用,如精确
    的头像 发表于 02-25 15:16 1851次阅读
    使用555<b class='flag-5'>定时器</b>的可调双<b class='flag-5'>定时器</b>电路