当前位置: 首页 > news >正文

微机原理 || 8253 芯片 (详细讲解 + 经典例题)

一点点看!一定可以看懂!考试没有问题的!加油💪

前面知识写的详细,看不懂可以先看典例,回头来梳理就明白了【典例就是常考的题】


目录

Part 1: 芯片知识总结 

(一)8253 芯片特点

(二) 8253芯片引脚功能      知道才好编程

(三) 8253编程

(1)8253 初始化

① 工作方式控制字 

② 计数初始值

③ 初始化流程

  (四) 单位转换

Part 2 : 经典考题典例

Part 1: 芯片知识总结 

(一)8253 芯片特点

1. 可编程的逻辑器件
2.
8位并行接口,但内容计数寄存器是16位
3. 非通道型的接口,控制型的即具有特定功能(
计数、定时等)
4. 工作方式:

   减法计数: 计数值减为0时输出相应控制系统
   输出控制系统的形式可通过
软件设置(工作方式) 


(二) 8253芯片引脚功能      知道才好编程

 


(三) 8253编程

(1)8253 初始化

       ① 工作方式控制字 

上述解释补充:

二进制计数: 为0000H~FFFFH,其中0000H为最大值,代表65536; (默认)
十进制(BCD码): 计数为0000~9999,其中0000为最大值,代表10000

 

② 计数初始值

计数初始值 写入对应计数器的计数初值寄存器CR;
1. 计数初值为
8位  控制字中的RL1、RL0应取01 — 初值只写入CR的低8位
                                                                                  高8位会自动
置0;
2. 计数初值
16位,低8位是0 — RL1、RL0应取10  初值高8位写入CR的高8位,

                                                                               CR的 低8位会自动置0;
3. 若是一般16位初值,则RL1, RL0应取
11, 应分两次写入初值,先写低8位、再写入高8位(此顺序不能反)


计数初值 = OUT周期/ CLK周期
               = CLK频率*OUT周期
               = CLK频率/OUT频率

③ 初始化流程


  (四) 单位转换

1kHz = 1000Hz  3

1MHz = 1000 000Hz   6

1GHz = 1000 000 000GHz    9

1s = 1000ms = 1000 000μs = 1000 000 000ns

Part 2 : 经典考题典例

考题1难,后面基础方便理解

【考题1】

(一)分析计算 : 设定CNTO工作于方式3,输出方波信号,其周期为10ms,那么,其计数初值计算如下:
 

 (二)工作方式分析周期性:方式2(周期性负脉冲发生器)或 方式3(方波信号发生器)

                         CNT1 :  周期性脉冲:方式2

                         CNT0 :   方式3

(三)CNT0 :  初值  =    输入信号 频率 f  ×  输出信号 周期T

                        = 250KHZ  ×  10ms

                        =( 250HZ × 1000 ) ×  (10  ×  0.0001 S

                        = 2500 = 09C4H     十进制转16进制

          CNT1 :  初值  =  CNT0的输出频率  ×  输出信号 周期T

                       = (1 / 0.001) 100HZ  ×  1s

                       = 100   =  64H

2500/16 = 156......4      同理

156/16 = 9......C

9/16 = 9......9

(四)地址规则:

 每个CNT编程:

1.选定控制寄存器地址,为控制寄存器写控制字(查功能8位)选定该CNT,并将控制字输出至I/O端口(OUT)

2.选定CNT地址,算出该CNT的计数初值,并将初值输出至I/O端口 (OUT) 

START: MOV AX,DATAMOV DS,AXCLI;CNT0MOV DX,0203H ;CNT0初始化编程 ,产生方波信号 ,周期为10msMOV AL,36H   ;CNT0方式3控制字 , 0011 0110OUT DX,AL    ;控制字CPU传入8253MOV DX,0200H  MOV AL,0C4HOUT DX,AL    ;写入低字节计数值MOV AL,09HOUT DX,AL    ;写入高字节计数值;CNT1   MOV DX,0203H ;CNT1初始化编程 , 产生周期性负脉冲信号 ,周期为1sMOV AL,74H   ;CNT1方式2控制字 , 0111 0100OUT DX,ALMOV DX,0201H MOV AL,064HOUT DX,AL    ;写入低字节计数值    MOV AL,00HOUT DX,AL    ;写入高字节计数值

1. 已知,某外设需要8253提供频率为1Hz方波,现8253的CLK0输入频率为2MHZ,其
端口地址为40H-43H试给出实现方案,并编写相关程序段。

输入频率:   2MHZ=2000 000HZ

输出频率:  1HZ

CLK0:40H

CLK1:41H

CLK2:42H

寄存器地址:43H


2. 设8253的端口地址为40~43H,选择计数器1工作于方式2,计数初值为1024,二进制计数方式,试编写其初始化编程:


 3.已知芯片8253的端口地址为4F0H 4F3H,设计数器1工作在方式1,计数器初值为3060H,
采用二进制计数,请设计实现上述功能的8253初始化程序。



 

 


 

        

          

相关文章:

微机原理 || 8253 芯片 (详细讲解 + 经典例题)

一点点看!一定可以看懂!考试没有问题的!加油💪 前面知识写的详细,看不懂可以先看典例,回头来梳理就明白了【典例就是常考的题】 目录 Part 1: 芯片知识总结 (一)8253 芯片特点 …...

python Django高级操作-分页-定义CVS-发送邮件

分页 分页是指在web页面有大量数据需要显示,为了阅读方便在每个页页中只显示部分数据。优点: 1.方便阅读2.减少数据提取量,减轻服务器压力。Paginator对像 负责分页数据整体的管理对象的构造方法Paginator属性 Paginator方法 Paginator异常exception pag…...

React 用一个简单案例体验一遍 React-dom React-router React-redux 全家桶

一、准备工作 本文略长,建议耐心读完,每一节的内容与上一节的内容存在关联,最好跟着案例过一遍,加深记忆。 1.1 创建项目 第一步,执行下面的命令来创建一个 React 项目。 npx create-react-app react-example cd rea…...

9. C#面向对象基础

一、C# 类 在 C# 中,类是引用类型的。类由成员属性和成员方法构成。我们可以动态创建类的实例(instance),这个实例也被称为对象(object),我们可以通过类和对象来设计程序。 1、类的定义 类的定…...

【MIT 6.S081】Lab2: system calls

本Lab包括两个简单系统调用的实现,进一步熟悉系统调用接口。 笔者用时约1.5h 概述 根据文档说明,当我们添加一个系统调用时,比如第一个任务是添加一个trace,需要进行以下操作: 首先将系统调用的原型添加到user/user…...

设计模式之单例模式~

设计模式包含很多,但与面试相关的设计模式是单例模式,单例模式的写法有好几种,我们主要学习这三种—饿汉式单例,懒汉式单例、登记式单例,这篇文章我们主要学习饿汉式单例 单例模式: 满足要点: 私有构造 …...

top终端详解

1.top命令行使用 2.top每行意义 3.补充 1.top命令行使用 top命令是一个常用的Linux系统命令,用于实时查看系统的运行状态和进程信息。下面是top命令的几个常用参数的含义: -d seconds:设置top命令的更新间隔时间,单位是秒。默认是…...

解决一个偶现的503 bug,花了俺不少时间

概述 在3月2日晚上,大概8点左右,本想打道回府,回家休息,突然被人在bug群了一下,说是管理后台,访问不了,界面上出现了: 503 service temporarily unavailable我赶紧尝试访问了一下,确…...

什么是栈,如何实现?

欢迎来到 Claffic 的博客 💞💞💞 “但有一枝堪比玉,何须九畹始征兰?” 前言: 栈是一种特殊的线性表,就像开盖的桶一样,从底部开始放数据,从顶部开始取数据,那么栈具体是…...

在我的MacBook上捣鼓ESP8266

周三是我们的篮球日,打篮球后总是会有些兴奋,然后就容易睡不着,额,睡不着就拿我的ESP8266开发板出来捣鼓一下。先下载编译工具链https://github.com/espressif/ESP8266_RTOS_SDK下载sdkgit clone https://github.com/espressif/ES…...

【深度强化学习】(8) iPPO 模型解析,附Pytorch完整代码

大家好,今天和各位分享一下多智能体深度强化学习算法 ippo,并基于 gym 环境完成一个小案例。完整代码可以从我的 GitHub 中获得:https://github.com/LiSir-HIT/Reinforcement-Learning/tree/main/Model 1. 算法原理 多智能体的情形相比于单智…...

77.qt qml-QianWindow-V1版本界面讲解

上章介绍: 76.qt qml-QianWindow开源炫酷界面框架简介(支持白色暗黑渐变自定义控件均以适配) 界面如下所示: 代码结构如下所示:...

RHCE学习日记二

1、在 node1 主机上配置 chrony 时间服务器,将该主机作为时间服务器。 命令: vim /etc/chrony.conf 在文件位置添加命令: #Use public servers from the pool.ntp.org project. #Please consider joining the pool (https://www.pool.ntp.org…...

Dubbo原理简介

Dubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。 作为RPC:支持各种传输协议,如dubbo,hession,json,fastjson,底层采用mina,netty长连接…...

JavaSE基础总结

JDK与JRE JDK,全称Java Development Kit,Java开发工具包 JRE,全称Java Runntime Environment,Java运行环境 JDK包含后者JRE。 JDK也可以说是Java SDK(Software Development kit,软件开发工具包)…...

5G(NR)信道带宽和发射带宽---频率资源

前言 查看此文之前建议先看看这篇 5G(NR)频率资源划分_nr运营商频段划分_达帮主的博客-CSDN博客NR频率有上面几个划分 ,可以使用低于1GHz的频端,既可以使用高于30GHz高频端。使用频端高于30GHz那我们称之为高频或者毫米波。使用毫米波是5G网络区别于4G…...

基于Spring Boot的酒店管理系统

文章目录 项目介绍主要功能截图:登录首页房间类型酒店预约部分代码展示设计总结项目获取方式🍅 作者主页:Java韩立 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于Spring Boot的酒店管理系统…...

Ae:混合模式

Ae 中内置了 Ps 的渲染引擎,同样可在多处应用混合模式 Blending Mode。与 Ps 相比,除了两组图层通道相关的特定模式,其它的混合模式几乎是一模一样。相关快捷键:下一图层混合模式:Shift 上一图层混合模式:…...

JS中的变量

系列文章目录 前端系列文章——传送门 JavaScript系列文章——传送门 文章目录系列文章目录前言1、概念2、定义变量3、变量名的规则4、变量本质5、赋值6、常用操作前言 相对于青龙面板来说,变量就是你填入青龙的cookie,简称ck 在实际项目中&#xff0…...

Hadoop运行模块

二、Hadoop运行模式 1)Hadoop官方网站:http://hadoop.apache.org 2)Hadoop运行模式包括:本地模式、伪分布式模式以及完全分布式模式。 本地模式:单机运行,只是用来演示一下官方案例。生产环境不用。伪分…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage)&#xff1a…...

C++.OpenGL (10/64)基础光照(Basic Lighting)

基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!

简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...

Linux系统部署KES

1、安装准备 1.版本说明V008R006C009B0014 V008:是version产品的大版本。 R006:是release产品特性版本。 C009:是通用版 B0014:是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存:1GB 以上 硬盘&#xf…...

AI语音助手的Python实现

引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...

springboot 日志类切面,接口成功记录日志,失败不记录

springboot 日志类切面,接口成功记录日志,失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...

HTML前端开发:JavaScript 获取元素方法详解

作为前端开发者,高效获取 DOM 元素是必备技能。以下是 JS 中核心的获取元素方法,分为两大系列: 一、getElementBy... 系列 传统方法,直接通过 DOM 接口访问,返回动态集合(元素变化会实时更新)。…...

规则与人性的天平——由高考迟到事件引发的思考

当那位身着校服的考生在考场关闭1分钟后狂奔而至,他涨红的脸上写满绝望。铁门内秒针划过的弧度,成为改变人生的残酷抛物线。家长声嘶力竭的哀求与考务人员机械的"这是规定",构成当代中国教育最尖锐的隐喻。 一、刚性规则的必要性 …...

高效的后台管理系统——可进行二次开发

随着互联网技术的迅猛发展,企业的数字化管理变得愈加重要。后台管理系统作为数据存储与业务管理的核心,成为了现代企业不可或缺的一部分。今天我们要介绍的是一款名为 若依后台管理框架 的系统,它不仅支持跨平台应用,还能提供丰富…...