8253工作方式

方式0:
不是连续波形,产生中断;计数期间为低电平,结束为高电平。

方式1:
周期性波形,计数期间为低电平,其余为高电平。

方式2:
连续波形产生负脉冲,在最后一个计数期间为低电平,其余为高电平。

方式3:
周期性方波(占空比1:1)。

方式4:
单次波形输出,计数结束后输出一个CLK周期的低电平,其余为高电平,不能自动循环。

方式5:
单次波形输出,波形特征同方式4,但重置初值和GATE上升沿之后可重新计时。

工作方式之间的关系及计数初值

方式0和方式1:

  • 方式0和方式1输出波形都是单次波形输出,输出低电平的宽度τ为时钟周期Tclx的整数倍。
  • 方式0是软件控制启动,也就是计数初值一旦写 入就开始减一计数,输出低电平的时间由计数初值决定,软件控制的单稳态触发器。
  • 方式1是硬件控制启动,也就是计数初值写入不是马上计数,需要门控信号GATE由0→1上升沿才开始减一计数,硬件控制的单稳态触发器。
  • 可以根据计数初值N得到低电平的宽度τ。已知输出低电平的宽度τ ,可以得到计数初值N,计算公式是:
    方式0:τ= (N+1)×Tclk
    方式1:τ =N×Tclk

方式2和方式3:

  • 方式2和方式3输出的波形都是周期性波形输出Tout,方式2输出周期性、宽度为窄脉冲信号,方式3输出周期性方波信号。
  • 二者的周期可以根据计数初值确定。已知输出周期,可以得到计数初值N,计算公式是:
    方式2:Tout=N×Tclk
    方式3:Tout=N×Tclk

方式4和方式5:

  • 方式4和方式5输出的波形都是单次波形输出,输出窄脉冲的宽度等于时钟周期Tclx。
  • 方式4和方式5分别是软件控制和硬件控制的单脉冲发生器。
  • 可以根据计数初值N来确定何时输出窄脉冲。反过来,已知何时输出窄脉冲,可以得到计数初值N,计算公式是:
    方式4: τ=N×Tclk
    方式5: τ =N×Tclk

8253应用举例

采用8253作定时/计数器,其接口地址为0120H~0123H。输入8253的时钟频率为2MH。要求:

  • CNT0每10ms输出一个CLK周期宽的负脉冲;
  • CNT1输出10KHz的连续方波信号;
  • CNT2在定时5ms后产生输出高电平。

解题:
(1)确定计算初值:
分析:
计数器0每10毫秒输出一个负脉冲,要输出负脉冲,且为连续的计数方式,即工作方式2;
计数器1是方波信号,即工作方式3;
计数器2是定时后输出高电平,即工作方式0的工作特性,一般是用来产生中断。
根据各个工作方式的公式计算初值
计算初值的方法:
①计数初值=定时时间/时钟周期=T/Tclk
②计数初值=时钟频率/输出频率=fclk/f
CNT0:N=Tout/Tclk=10ms/(1/2MHz)=10ms/0.5μs=20000;
CNT1:N=Tout/Tclk=1/10KHz/(1/2MHz)=200
CNT2:N=T/Tclk=5ms/0.5μs=10000。
注:我想说一下,这里题目说的是定时时长,所以CNT2根据公式①可算得,CNT0,CNT1是根据上面部分内容里的公式计算的,但是我是疑惑了很久这个地方。
(2)确定控制字
计数值选择16位还是八位根据计数初值的大小确定,8位的边界为255
CNT0:方式2,16位计数值,00 11 010 0(34H)
CNT1:方式3,低8位计数值,01 01 011 0(56H)
CNT2:方式0,16位计数值,10 11 000 0(B0H)
(3)线路连接图

(4)初始化程序

CNT0:
MOV DX,0123H            ;初始化
MOV AL,34H
OUT DX,AL
MOV DX,0120H            ;写入计数初值
MOV AX,20000            ;使用AX寄存器,分为低8位和高8位,即AL和AH
OUT DX,AL
MOV AL,AH
OUT DX,AL
CNT1:
MOV DX,0123H            ;初始化
MOV AL,56H
OUT DX,AL
MOV DX,0121H            ;写入计数初值
MOV AX,200              ;这里AX可以直接写AL,200用八位寄存器就够
OUT DX,AL
CNT2:
MOV DX,0123H            ;初始化
MOV AL,B0H
OUT DX,AL
MOV DX,0122H            ;写入计数初值
MOV AX,10000
OUT DX,AL
MOV AL,AH
OUT DX,AL

补充:
时间周期与频率互为倒数关系(频率常用符号f或u),表示即:f=1/T;
单位:1Hz表示1s
1THz = 10³GHz 1GHz = 10³MHz 1MHz = 10³KHz 1KHz = 10³Hz
1秒=10³毫秒(ms) 1毫秒=10³ 微秒(μs) 1微秒=10³ 纳秒(ns) 1 纳秒=10³皮秒(ps) 1皮秒=10³飞秒(fs)

8253工作方式区别、计数初值及应用相关推荐

  1. msc51单片机计数器c语言,mcs51单片机计数器工作方式1 计数初值计算与定时编程举例...

    方式1是16位计数结构的工作方式,计数器由TH0全部8位和TL0全部8位构成.与工作方式0基本相同,区别仅在于工作方式1的计数器TL1和TH1组成16位计数器,从而比工作方式0有更宽的定时/计数范围. ...

  2. 已知 8253的端口地址为0200H~0203H,将8253CNT0 设置为方式1,计数初值为3000H, CNT1设置为方式2,计数初值为2010H, CNT2设置为方式4,计数初值为4030H。试

    [微机原理]-汇编题 已知 8253的端口地址为0200H~0203H,将8253CNT0 设置为方式1,计数初值为3000H, CNT1设置为方式2,计数初值为2010H, CNT2设置为方式4,计 ...

  3. apache php 工作模式,PHP Apache中两种工作方式区别(CGI模式、Apache 模块DLL)

    搜索热词 对PHP在Apache中两种工作方式的区别(CGI模式.Apache 模块DLL)感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧! Windows 下有两种方法使 ...

  4. 【计算机原理与接口技术(UNIX)⑲ 完结篇】——可编程计数器 8254 [ 流光发生器、8254工作方式检测程序的设计]

    ✅ 通过对 [计算机与UNIX汇编原理 ① ~ ⑫]的学习,我们已经大致掌握了汇编程序设计的相关知识 接下来,我将其分栏名改为 [计算机原理与接口技术(UNIX) ],重点将放在 "计算机原 ...

  5. 单片机基础(五):定时/计数器的工作原理及工作方式

    定时 / 计数器 单片机中的模块,可通过编程实现对系统时钟计数(作定时器),也可以对外部信号计数(作计数器) 每个定时/计数器都有多种工作方式,不同的工作方式对应计数长度和初值装载方式不同 51系列单 ...

  6. 7. 【可编程定时器8253】:外部引脚、内部结构特点、计数启动方式、6种工作方式、控制字格式、应用

    文章目录 计数与定时 8253芯片特点 1. 外部引脚 2. 内部结构特点(含3个计数器.1个控制寄存器) 2. 计数启动方式(软件启动.硬件启动的定义) 3. 6种工作方式 不能自动重复计数的工作方 ...

  7. 8253练习题(8253端口地址怎么求?怎么求初值?怎么看出工作方式)

    目录 一:简单(题目把计数初值和工作方式都给你了) 二:给了你输入时间周期和初值,你会不会求输出? 三:简单 四:初值计数方式都不给,初值还是给的时间和频率混合 五:(中等)不给出端口地址? 六:(计 ...

  8. 启动定时器t0的工作指令是_80c51单片机定时器t0工作于方式1定时时间1ms当晶振为6mhz时求计数初值为多少...

    下面一段文字是对8051单片机定时器初值的计算描述,希望对你有所帮助,对于你的提问,根据下面文字的说明,可以得到初值为:FE0CH(65536-500) 定时器/计数器可用软件随时随地起动和关闭,起动 ...

  9. 微机原理8253计数初值计算

    计数初值的计算公式 计数初值在计算时以下几种情况: 一.当计数器工作在方式2或者方式3的时候,功能实际上是一个分频器,因此计数常数就是分频系数. 分频系数=输入CLK频率/OUT端输出频率 二.当计数 ...

最新文章

  1. 【廖雪峰python进阶笔记】定制类
  2. python 文件大小,获取时间
  3. 红茶一杯话Binder
  4. python实习生面试题_大数据分析实习生面试题库
  5. 计算机网络学习笔记(四)——差错控制、停等协议、回退N帧、选择性重传、滑动窗口、数据链路层HDLC、PPP协议、有限状态机
  6. rem单位中html默认字号,轻松掌握CSS3中的字体大小单位rem的使用方法
  7. 企业级工作流解决方案(七)--微服务Tcp消息传输模型之消息编解码
  8. Mybatis的注解应用之映射声明
  9. 2017年全国大学生电子设计竞赛 单相用电器分析监测装置(K题)
  10. 简析FUP LB5CM/LB6CM 落地式低速大容量冷冻离心机
  11. 【小技巧】2345——今日热点弹窗广告(未完成)
  12. [15元]人体行为检测和识别毕业论文讲述
  13. 网页分享功能 支持 微信二维码 qq空间 qq好友 新浪微博 百度贴吧 豆瓣 人人...
  14. JPA Spring Data JPA详解
  15. css硬件加速_CSS动画的硬件加速简介
  16. python系统命令切换目录_Windows 命令行切换目录
  17. SAM(segment anything model)分割一切 Demo测试及API调用
  18. 活动可视化怎么做?看京东乐高架构设计
  19. Tensorflow教程-曼德布洛特(Mandelbrot)集合
  20. 如何快速的进行吊耳设计和吊车选型。

热门文章

  1. Github Actions - 实现百度贴吧自动签到
  2. 稳压二极管与TVS二极管的区别
  3. ZUI + SSM框架下数据表格的使用
  4. js阻止冒泡事件发生(react)
  5. 清理Maven本地仓库.lastUpdated文件
  6. 无线网络CSMA/CA原理分析以及相关技术的介绍和分析
  7. 数据集:Udacity Self-Driving 目标检测数据集
  8. YT8511H的原理图设计
  9. win2003服务器某一个网站被劫持,windows server 2012 iis被劫持的处理过程
  10. 数据结构和算法 | 第一部分第二课:小鸭子们去旅行