微机原理——定时器8253(8254)学习2应用与设计

news2025/1/22 13:13:31

目录

简要说明

 用户扩展的定时计数器应用举例

1 8254作测量脉冲宽度

2 8254作定时

3 8254作分频

4 8254同时用作计数与定时

硬件设计

​编辑软件设计

微机系统中定时计数器应用举例

5 计时器设计

硬件设计

软件设计

6 发生器设计

硬件设计

软件设计


简要说明

定时器应用有两种,一种是根据系统分配的定时/计数资源来开发,一种是利用用户扩展的定时/计数器来开发。这两种端口地址不同,前一个是系统指定的,后一个是由用户指定;前一个的工作方式和计数器通道的具体用途是由系统的初始化确定的固定不变,后一个由用户在设计时安排。

(由系统分配的端口地址)根据表3.1:系统分配给8253的端口地址:0号计数器40H,1号计数器41H,2号计数器42H,方式命令寄存器43H,时钟脉冲频率1.19318MHz。

(用户扩展的定时器应用)根据表3.3:0号计数器地址304H,1号计数器305H,2号计数器306H,方式命令寄存器307H,时钟脉冲频率1.19318MHz。

三个计数器通道的初始化汇编语言:

 用户扩展的定时计数器应用举例

1 8254作测量脉冲宽度

系统提供的输入时钟CLK = 1MHz,采用二进制计数,软启时门控信号GATE的作用是允许或禁止计数,所以可以用GATE进行脉冲宽度测量,(GATE=1允许计数,GATE=0禁止计数)。

把被测量的脉冲作为门信号连到某个计数器通道(如通道1)的GATE端,GATE为低电平时,装计数初值,GATE变为高电平时开始计数,直到被测脉冲信号变为低电平停止计数,并锁存,然后读出通道1的当前值n,最后脉冲宽度就是(65536-n)us。

选择计数器通道1,工作在0方式,将计数初值设为最大值0000H,设时钟脉冲为1MHz(所得脉冲宽度的单位是us),所以能测最大脉冲宽度是65536us。

2 8254作定时

三种命令格式和六种工作方式:微机原理——定时器学习1-CSDN博客

要求每隔5ms发出一个扫描负脉冲,系统提供CLK为20kHz,使用十进制计数。

每隔5ms一次的连续负脉冲,选择方式2,所以用计数器通道2,将OUT2作为定时脉冲输出。

周期T = 1/20kHz = 0.05ms,定时常数Tc = 5ms / 0.05ms = 100。

3 8254作分频

产生频率为1000Hz的方波,系统提供CLK=1.19318Hz,二进制计数。

产生方波:方式3,采用技术通道0,OUT0作为方波输出。

定时常数Tc = CLK0 / OUT0 = 1.19318MHz / 1000Hz = 1193 = 4A9H。。

4 8254同时用作计数与定时

硬件设计

流水线的工作过程:向通道0写入计数初值时,即开始对流水线上的罐头进行计数,计满24个罐头,计数器输出波形OUT0的上升沿,触发通道1开始定时,定时器输出波形OUT1的下降沿使工作台暂停,经5s后OUT1的上升沿启动工作台,流水线又开始工作,通道0开始计数。(通道0和1都采用十进制计数) 

软件设计

通道0:00 01 010 1    15H    24=18H

通道1:01 11 001 1    73H    定时常数为5 * 100 = 500 = 1F4H(由上一节,作定时器需要换算)

(书上可能错了,时钟频率是100Hz,书上乘的是200。。。)

微机系统中定时计数器应用举例

5 计时器设计

设计一个计一天时间的日计时器——日时钟。

利用8254的计数器0,工作在方式3(输出一系列方波,方波的周期是准确的,可以用做定时单位),计数初值设置为最大65536,当输入CLK0 = 1.1931816MHz时:

输出方波的频率 Fout0 = 1.1931816MHz / 65536 = 18.2Hz

输出方波的周期 Tout0 = 1 / 18.21000ms = 54.945ms      可以用这个54.945作计时单位。

一天 = 2460601000ms / 54.945 = 1573040个计时单位,十六进制为001800B0H个。

(计满1573040个计时单位就是一天,计满65543个计时单位就是一小时,计满1092个计时单位就是一分钟,计满18.2个计时单位就是一秒)

硬件设计

软件设计

6 发生器设计

硬件设计

软件设计

=================================================================

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1279823.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python模块与Linux stat 命令:双剑合璧的文件系统探索

简介:在Linux和Unix-like系统中,stat命令用于获取文件或目录的详细属性信息,包括但不限于大小、所有权、权限和时间戳。同样,在Python编程中,我们也有多个模块(例如os、pathlib等)提供了与stat类…

个人成长|实现财务自由的秘诀,在这8句话里

哈喽啊,我是雷工! 有人说,当今社会阶层跃迁的通道已经被堵死了,要想从普通人跨越阶级发家致富根本不可能。 也有人认为,只要踩住时代的风口,吃到时代的红利,成为百万富翁的速度会非常快。 我觉…

韵达速递查询,韵达速递单号查询,对需要的单号进行备注

批量查询韵达速递单号的物流信息,对需要的单号进行备注。 所需工具: 一个【快递批量查询高手】软件 韵达速递单号若干 操作步骤: 步骤1:运行【快递批量查询高手】软件,并登录 步骤2:点击主界面左上角的“…

C++函数模板,类模板

C函数模板,类模板 1.函数模板1.1函数模板的概念1.2函数模板的格式1.3函数模板的原理1.4函数模板的实例化1.5模板参数的匹配原则 2.类模板2.1类模板的定义格式2.2类模板的实例化 1.函数模板 1.1函数模板的概念 在C中,函数模板是一种通用的函数定义&…

深入理解网络非阻塞 I/O:NIO

🔭 嗨,您好 👋 我是 vnjohn,在互联网企业担任 Java 开发,CSDN 优质创作者 📖 推荐专栏:Spring、MySQL、Nacos、Java,后续其他专栏会持续优化更新迭代 🌲文章所在专栏&…

qt-C++笔记之识别点击鼠标右键、点击位置以及Qt坐标系详解

qt-C笔记之识别点击鼠标右键、点击位置以及Qt坐标系详解 文章目录 qt-C笔记之识别点击鼠标右键、点击位置以及Qt坐标系详解1.示例运行2.event->pos();详解3.event->pos()的坐标系原点4.Qt中的坐标系详解5.QMainWindow::mousePressEvent(event);详解 1.示例运行 截图时鼠…

MySQL数据库从小白到入门(一)

MySQL概述: MySQL连接: 打开cmd窗口 window r 输入 cmd输入mysql -u用户名 -p密码; 示例:mysql -uroot -p1234; 这种方式登录mysql,会出现警告,建议使用下面这种。mysql -uroot -p 然后回车…

卫星影像数据查询网址(WORLDVIEW1/2/3/4、PLEIADES、SPOT系列、高景、高分1-7、资源系列、吉林一号等)

商业卫星影像数据查询网址(WORLDVIEW1/2/3/4、PLEIADES、SPOT系列、高景、高分1-7、资源系列、吉林一号等) 1、资源卫星应用中心 网址:http://www.cresda.com/CN/ 可查询国产高分1、2、3、4、5、6、7号卫星,资源三号、资源三号…

Android 相机库CameraView源码解析 (四) : 带滤镜拍照

1. 前言 这段时间,在使用 natario1/CameraView 来实现带滤镜的预览、拍照、录像功能。 由于CameraView封装的比较到位,在项目前期,的确为我们节省了不少时间。 但随着项目持续深入,对于CameraView的使用进入深水区,逐…

LinkWeChat,唯一以开源为核心的SCRM

LinkWeChat是国内首个基于企业微信的开源SCRM,在集成了企微强大的开放能力的基础上,进一步升级拓展灵活高效的客户运营能力及多元化精准营销能力,让客户与企业之间建立强链接,帮助企业提高客户运营效率,强化营销能力&a…

图书整理II(两个栈实现队列)

目录 贼相似题目: 本题题目: 我们直接看题解吧: 审题目事例提示: 解题分析: 解题思路: 代码实现: 代码补充说明: 力扣题目地址: LCR 125. 图书整理 II - 力扣&#xff0…

Vue+ElementUI+C#前后端分离:监控长耗时任务的实践

想象一下,我们正在构建一个Web应用,需要实现一个数据报告的导出功能。这听起来很简单,不是吗?但是,随着深入开发,我们意识到导出过程比预期的要复杂和耗时得多。由于报告的数据量巨大,后端需要花…

智加科技获全国首张重卡无人驾驶开放道路测试牌照

2023年12月1日,智加科技获得苏州市智能网联汽车无人化测试牌照。该牌照也是江苏省及国内首张无人重卡开放高速公路全路段全场景全息路网(S17苏台高速)道路测试牌照。 该重卡无人驾驶开放道路测试牌照,经由苏州市智能网联汽车联席小…

c语言-结构体

文章目录 1. 结构体类型的声明2 . 结构体变量的创建和初始化(1)结构体变量的创建和初始化(2)结构的特殊声明(3)结构的自引用(4)typedef和结构体 3 . 结构成员访问操作符4. 结构体传参5. 结构体内存对齐(1)对…

Spring知识:探索Java开发的全新世界

文章目录 初识Spring什么是Spring框架Spring核心设计思想 Spring的核心特性什么是IOC容器?---控制反转(IoC)容器的基本概念什么是IOC Spring的另一个特性:DISpring特性:DL Spring的主要模块创建Spring项目创建maven项目添加spring依赖创建启动…

深度学习——第1章 深度学习的概念及神经网络的工作原理

1.1 序言——探索智能机器 千百年来,人类试图了解智能的机制,并将它复制到思维机器上。 人类从不满足于让机械或电子设备帮助做一些简单的任务,例如使用滑轮吊起沉重的岩石,使用计算器做算术。 人类希望计算机能够自动化执行更…

硬件基础:半导体和PN结

学模电之前,应该是已经学过基础电路的内容了。 那为什么还要学习模电呢? 因为电路分析中只是学了电路基础部分,主要涉及到的是无源器件,比如电阻电容电感;但是到了模电,就要开始学习有源器件了。 有源器件…

新手零基础学习彩铅画,彩铅快速入门教程合集

一、教程描述 画画是很美好的一件事情,你可以把你想到的,或者看到的都画下来,照相机可以拍下任何你看到的,但是你想到的任何事物,只能通过绘画的方式来表达。本套教程是非常不错的,彩铅的小视频教程&#…

C++ day49 买卖股票的最佳时机

题目1:121 买卖股票的最佳时机 题目链接:买卖股票的最佳时机 对题目的理解 prices[i]表示一支股票在第i天的价格,只能在某一天买入这支股票,并在之后的某一天卖出该股票,从而获得最大利润,返回该最大值&…

Windows利用MMDeploy部署OpenMMLab 模型并使用Python进行部署

目录 前言 一、准备工作 二、安装 MMDeploy 总结 前言 近期在用OpenMMLab构建模型,然后需要使用MMDeploy对模型进行部署。虽然官方文档提供了详细的说明,但是写的太繁琐了,而且在实际部署过程中,发现并不是所有步骤和内容都需要&…