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

这篇具有很好参考价值的文章主要介绍了微机原理 || 8253 芯片 (详细讲解 + 经典例题)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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


目录

Part 1: 芯片知识总结 

(一)8253 芯片特点

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

(三) 8253编程

(1)8253 初始化

① 工作方式控制字 

② 计数初始值

③ 初始化流程

  (四) 单位转换

Part 2 : 经典考题典例

Part 1: 芯片知识总结 

(一)8253 芯片特点

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

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


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

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

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


(三) 8253编程

(1)8253 初始化

       ① 工作方式控制字 

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

上述解释补充:

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

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

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

② 计数初始值

计数初始值 写入对应计数器的计数初值寄存器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频率

③ 初始化流程

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


  (四) 单位转换

1kHz = 1000Hz  3

1MHz = 1000 000Hz   6

1GHz = 1000 000 000GHz    9

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

Part 2 : 经典考题典例

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

【考题1】

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

(一)分析计算 : 设定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

(四)地址规则:

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

 每个CNT编程:

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

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

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

START: MOV AX,DATA
       MOV DS,AX
       CLI
       ;CNT0
       MOV DX,0203H ;CNT0初始化编程 ,产生方波信号 ,周期为10ms
       MOV AL,36H   ;CNT0方式3控制字 , 0011 0110
       OUT DX,AL    ;控制字CPU传入8253
       
       MOV DX,0200H  
       
       MOV AL,0C4H
       OUT DX,AL    ;写入低字节计数值
       
       MOV AL,09H
       OUT DX,AL    ;写入高字节计数值
       
       ;CNT1   
       MOV DX,0203H ;CNT1初始化编程 , 产生周期性负脉冲信号 ,周期为1s
       MOV AL,74H   ;CNT1方式2控制字 , 0111 0100
       OUT DX,AL
       
       MOV DX,0201H 
       
       MOV AL,064H
       OUT DX,AL    ;写入低字节计数值    
       
       MOV AL,00H
       OUT 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,二进制计数方式,试编写其初始化编程:

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


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

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

 

 


 

        

          文章来源地址https://www.toymoban.com/news/detail-428523.html

到了这里,关于微机原理 || 8253 芯片 (详细讲解 + 经典例题)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 动态规划详细讲解c++|经典例题讲解认识动态规划|0-1背包问题详解

    uu们,你们好!这次的分享是动态规划,其中介绍了动态规划的相关概念和做题模板(三要素),同时为了uu们对动态规划方法有更加形象的认识,特地找了两个经典问题,和大家一起分析。并且呢,为了大家检验自己的学习成果,我专门在常用的oj上为uu们找到了相关题目的

    2024年04月11日
    浏览(56)
  • 微机原理 || push & pop 指令 (详解+例题)

    考试真的考了push和pop ,那个加减到底是什么? 考试要记:  PUSH 源    -2       字 操作(以字为单位)     例:   PUSH AL 错   必须 字 为单位   POP    源    +2       一定注意是十进制的2,注意和16进制单位转换 入栈和出栈的次序要符合后进先出原则,即: PUSH和POP一般是

    2024年02月06日
    浏览(39)
  • 整数规划、对偶理论、线性规划经典例题讲解

    整数规划是一类要求问题的解中的全部或一部分变量为整数的数学规划,应用范围极其广泛。不仅在工业和工程设计和科学研究方面有许多应用,而且在计算机设计、系统可靠性和经济分析等方面也有新的应用。 通过前面的学习,我们已经掌握了整数规划的数学模型、割平面

    2024年02月05日
    浏览(54)
  • c语言经典例题讲解(输出菱形,喝汽水问题)

    目录 一、输出菱形 二、喝汽水问题 方法1:一步一步来   方法二:直接套公式   输出类似于下图的菱形:    通过分析:1、先分为上下两部分输出                    2.在输出前先输出空格                   3.找规律进行输出 可知,可令上半部分line行,下半部分便是

    2024年02月13日
    浏览(35)
  • 哈夫曼树的构造和哈夫曼编码实现详细讲解(含例题详细讲解)

    目录 一、哈夫曼树    1.哈夫曼树的基本概念    2.哈夫曼树的构造过程    3.哈夫曼树的的实现 二、哈夫曼编码     1.有关哈夫曼树编码的两个概念     2.哈夫曼树编码满足的两个性质     3.哈夫曼编码的实现 三、例题(含完整代码及详细注解)     1.题目     2.代码实现

    2024年02月07日
    浏览(48)
  • 区间合并(超详细逐步讲解/例题/思路分析/参考代码)

    我们要了解区间合并是什么,首先来看这样的一个例子。 区间2是区间1的一个子区间 区间3和区间1有交集 区间4和区间1端点在同一个点上 区间5和区间1没有交集 所以区间2,3,4都可以和区间1合并形成一个新的区间,区间5则不行。 总结:区间合并就是把多个区间有交集的部分

    2024年02月14日
    浏览(37)
  • 拓扑排序详解(包含算法原理图解、算法实现过程详解、算法例题变式全面讲解等)

    在图论中,如果一个有向图无法从某个顶点出发经过若干条边回到该点,则这个图是一个有向无环图(DAG图)。 如图所示。 对于一个有向图,若x点指向y点,则称x点为y点的入度。 对于一个有向图,若x点指向y点,则称y点为x点的出度。 队列是一种特殊的线性表,特殊之处在

    2024年02月07日
    浏览(52)
  • 【期末不挂科-单片机考前速过系列P10】(第十章:11题中断系统的工作原理及应用)经典例题盘点(带图解析)

    前言 大家好吖,欢迎来到 YY 滴单片机期末速过系列 ,热烈欢迎! 本章主要内容面向接触过单片机的老铁 主要内容含: 欢迎订阅 YY 滴C++专栏!更多干货持续更新!以下是传送门! YY的《C++》专栏 YY的《C++11》专栏 YY的《Linux》专栏 YY的《数据结构》专栏 YY的《C语言基础》专

    2024年02月01日
    浏览(53)
  • 【Java入门】有关的经典题型练习详细讲解

    前言 📕作者简介: 热爱跑步的恒川 ,致力于C/C++、Java、Python等多编程语言,热爱跑步,喜爱音乐的一位博主。 📗本文收录于Java入门篇系列,该专栏主要讲解:什么是java、java的数据类型与变量、运算符、程序的逻辑控制、方法的使用、数组的定义与使、类和对象、继承和

    2024年02月11日
    浏览(39)
  • 【期末不挂科-单片机考前速过系列P11】(第十一章:15题速过串行口的工作原理和应用)经典例题盘点(带图解析)

    前言 大家好吖,欢迎来到 YY 滴单片机速过系列 ,热烈欢迎! 本章主要内容面向接触过单片机的老铁 主要内容含: 欢迎订阅 YY 滴C++专栏!更多干货持续更新!以下是传送门! YY的《C++》专栏 YY的《C++11》专栏 YY的《Linux》专栏 YY的《数据结构》专栏 YY的《C语言基础》专栏

    2024年02月01日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包