8253工作方式区别、计数初值及应用
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工作方式区别、计数初值及应用相关推荐
- msc51单片机计数器c语言,mcs51单片机计数器工作方式1 计数初值计算与定时编程举例...
方式1是16位计数结构的工作方式,计数器由TH0全部8位和TL0全部8位构成.与工作方式0基本相同,区别仅在于工作方式1的计数器TL1和TH1组成16位计数器,从而比工作方式0有更宽的定时/计数范围. ...
- 已知 8253的端口地址为0200H~0203H,将8253CNT0 设置为方式1,计数初值为3000H, CNT1设置为方式2,计数初值为2010H, CNT2设置为方式4,计数初值为4030H。试
[微机原理]-汇编题 已知 8253的端口地址为0200H~0203H,将8253CNT0 设置为方式1,计数初值为3000H, CNT1设置为方式2,计数初值为2010H, CNT2设置为方式4,计 ...
- apache php 工作模式,PHP Apache中两种工作方式区别(CGI模式、Apache 模块DLL)
搜索热词 对PHP在Apache中两种工作方式的区别(CGI模式.Apache 模块DLL)感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧! Windows 下有两种方法使 ...
- 【计算机原理与接口技术(UNIX)⑲ 完结篇】——可编程计数器 8254 [ 流光发生器、8254工作方式检测程序的设计]
✅ 通过对 [计算机与UNIX汇编原理 ① ~ ⑫]的学习,我们已经大致掌握了汇编程序设计的相关知识 接下来,我将其分栏名改为 [计算机原理与接口技术(UNIX) ],重点将放在 "计算机原 ...
- 单片机基础(五):定时/计数器的工作原理及工作方式
定时 / 计数器 单片机中的模块,可通过编程实现对系统时钟计数(作定时器),也可以对外部信号计数(作计数器) 每个定时/计数器都有多种工作方式,不同的工作方式对应计数长度和初值装载方式不同 51系列单 ...
- 7. 【可编程定时器8253】:外部引脚、内部结构特点、计数启动方式、6种工作方式、控制字格式、应用
文章目录 计数与定时 8253芯片特点 1. 外部引脚 2. 内部结构特点(含3个计数器.1个控制寄存器) 2. 计数启动方式(软件启动.硬件启动的定义) 3. 6种工作方式 不能自动重复计数的工作方 ...
- 8253练习题(8253端口地址怎么求?怎么求初值?怎么看出工作方式)
目录 一:简单(题目把计数初值和工作方式都给你了) 二:给了你输入时间周期和初值,你会不会求输出? 三:简单 四:初值计数方式都不给,初值还是给的时间和频率混合 五:(中等)不给出端口地址? 六:(计 ...
- 启动定时器t0的工作指令是_80c51单片机定时器t0工作于方式1定时时间1ms当晶振为6mhz时求计数初值为多少...
下面一段文字是对8051单片机定时器初值的计算描述,希望对你有所帮助,对于你的提问,根据下面文字的说明,可以得到初值为:FE0CH(65536-500) 定时器/计数器可用软件随时随地起动和关闭,起动 ...
- 微机原理8253计数初值计算
计数初值的计算公式 计数初值在计算时以下几种情况: 一.当计数器工作在方式2或者方式3的时候,功能实际上是一个分频器,因此计数常数就是分频系数. 分频系数=输入CLK频率/OUT端输出频率 二.当计数 ...
最新文章
- 【廖雪峰python进阶笔记】定制类
- python 文件大小,获取时间
- 红茶一杯话Binder
- python实习生面试题_大数据分析实习生面试题库
- 计算机网络学习笔记(四)——差错控制、停等协议、回退N帧、选择性重传、滑动窗口、数据链路层HDLC、PPP协议、有限状态机
- rem单位中html默认字号,轻松掌握CSS3中的字体大小单位rem的使用方法
- 企业级工作流解决方案(七)--微服务Tcp消息传输模型之消息编解码
- Mybatis的注解应用之映射声明
- 2017年全国大学生电子设计竞赛 单相用电器分析监测装置(K题)
- 简析FUP LB5CM/LB6CM 落地式低速大容量冷冻离心机
- 【小技巧】2345——今日热点弹窗广告(未完成)
- [15元]人体行为检测和识别毕业论文讲述
- 网页分享功能 支持 微信二维码 qq空间 qq好友 新浪微博 百度贴吧 豆瓣 人人...
- JPA Spring Data JPA详解
- css硬件加速_CSS动画的硬件加速简介
- python系统命令切换目录_Windows 命令行切换目录
- SAM(segment anything model)分割一切 Demo测试及API调用
- 活动可视化怎么做?看京东乐高架构设计
- Tensorflow教程-曼德布洛特(Mandelbrot)集合
- 如何快速的进行吊耳设计和吊车选型。