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

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

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


目录

Part 1: 芯片知识总结 

(一)8253 芯片特点

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

(三) 8253编程

(1)8253 初始化

① 工作方式控制字 

② 计数初始值

③ 初始化流程

  (四) 单位转换

Part 2 : 经典考题典例

Part 1: 芯片知识总结 

(一)8253 芯片特点

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

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


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

微机原理 || 8253 芯片 (详细讲解 + 经典例题)_第1张图片

 微机原理 || 8253 芯片 (详细讲解 + 经典例题)_第2张图片


(三) 8253编程

(1)8253 初始化

       ① 工作方式控制字 

微机原理 || 8253 芯片 (详细讲解 + 经典例题)_第3张图片

上述解释补充:

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

微机原理 || 8253 芯片 (详细讲解 + 经典例题)_第4张图片 

微机原理 || 8253 芯片 (详细讲解 + 经典例题)_第5张图片

② 计数初始值

计数初始值 写入对应计数器的计数初值寄存器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 芯片 (详细讲解 + 经典例题)_第6张图片


  (四) 单位转换

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 芯片 (详细讲解 + 经典例题)_第7张图片

(一)分析计算 : 设定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 芯片 (详细讲解 + 经典例题)_第8张图片

 每个CNT编程:

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

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

微机原理 || 8253 芯片 (详细讲解 + 经典例题)_第9张图片

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 芯片 (详细讲解 + 经典例题)_第10张图片


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

微机原理 || 8253 芯片 (详细讲解 + 经典例题)_第11张图片

 

 


 

        

          

你可能感兴趣的:(微机原理与接口技术,单片机,嵌入式硬件)