微机原理笔记(3)------8253芯片

引脚

双列直插,24根引脚

芯片引脚图

引脚功能

数据端口

D7~D0:8位三态双向缓冲器
接收CPU送来的数据(计数值)和控制信息(控制字)。
高阻态:隔离芯片与系统总线。
连接系统数据总线

读/写控制逻辑

~CS:片选信号输入引脚,低电平有效
~RD:读信号输入引脚,低电平有效
~WR:写信号输入引脚,低电平有效
A1、A0:端口选择信号输入引脚
端口选择信号

8253的端口操作

8253的端口操作

计数器通道0、1、2

三个通道完全相同
内部结构

计数初值寄存器CR

16位,存放计数初值,在计数/定时启动之前设定

计数器执行部件CE

16位减1计数器,初值=CR值,CLK引脚每出现一个脉冲,计数值减1。减至零时,OUT引脚输出电平或脉冲信号,CPU不能直接访问。

输出锁存器OL

16位,锁存CE值,跟随CE变化,使用锁存命令来锁定当前计数值

相应引脚

门控信号输入端GATEn:允许/禁止、启动/停止计数
脉冲信号输入端CLKn:时钟脉冲频率不能大于2MHz
计数/定时完成信号输出端OUTn:以电平或脉冲方式

控制字寄存器

8位,存放CPU送来的控制字
用于选定计数器通道及其工作方式,指定计数初值的读写格式和表示方式

启动方式

软件

写入计数初值后的第1个CLK脉冲的下降沿开始计数,前提条件是GATE引脚保持高电平。

硬件

由门控信号GATE的上升沿触发开始计数。

工作方式

方式0(计数结束中断)(软件启动)

时序图
控制字写入后,OUT引脚输出低电平。
计数初值写入后的下一个CLK脉冲,开始计数。
计数值减为0时,OUT引脚输出高电平。
特点:计数初值不会自动重装,只计数一遍。(OUT保持高电平)
计数过程中,新的计数初值,触发重新开始计数。
GATE信号:“1”允许计数,“0”停止计数。从低变为高时,继续计数。

方式1(可编程单稳态输出)(硬件启动)

时序图
控制字写入后,OUT引脚输出高电平。
计数初值写入后,OUT引脚保持高电平。
GATE门控信号上升沿后的下一个CLK脉冲,开始计数。同时,OUT引脚变为低电平。
计数值减为0时,OUT引脚输出高电平。
特点:计数初值不会自动重装,GATE引脚上升沿可实现重装
计数过程中,GATE引脚上升沿,触发重新计数
计数过程中,写入新初值不影响本次计数。

方式2(比率发生器)(软硬件启动)

时序图
控制字写入后,OUT引脚输出高电平
计数初值写入后的下一个CLK脉冲,开始计数
计数值减到1时,OUT引脚输出低电平,维持一个Tclk,又
变为高电平,且计数初值自动重装,重新开始计数。
特点:自动重装计数初值
计数过程中,GATE引脚变低,暂停计数;GATE引脚出现上升沿,重新开始计数。——硬件启动
计数过程中写入新初值影响下次计数

方式3(方波发生器)(软硬件启动)

时序图
//前N/2或(N+1)/2个CLK ,OUT为高//
//后N/2或(N-1)/2个CLK,OUT为低//
控制字写入后,OUT引脚输出高电平。
计数初值写入后的下一个CLK脉冲,开始计数
当计数到一半值时,OUT引脚输出变低,直至计数到0。OUT引脚输出高,计数初值自动重装,重新开始计数
特点:自动重装计数初值,输出方波信号
计数过程中,GATE引脚变低,暂停计数;GATE引脚出现上升沿,重新开始计数。——硬件启动
计数过程中写入新初值,影响下次计数

方式4(软件触发选通)(软件启动)

时序图
控制字写入后,OUT引脚输出高电平
计数初值写入后的下一个CLK脉冲,开始计数
计数值减到0时,OUT引脚输出低电平,维持一个TCLK,又变为高电平,计数停止
特点:计数初值不会自动重装
当GATE=1时,允许计数;GATE=0时,停止计数
计数过程中改变计数值,按新值重新开始计数

方式5(硬件触发选通)(硬件启动)

时序图
控制字写入后,OUT引脚输出高电平
计数初值写入后,待GATE引脚出现上升沿后,从下一个CLK脉冲开始计数
计数值减到0时,OUT引脚输出低电平,维持一个TCLK,又变为高电平,计数停止
特点:计数初值不会自动重装
计数过程中,若改变计数初值,仅当GATE上升沿才按新计数值重新开始计数
计数过程中出现GATE上升沿,重新开始计数

对比

方式对比
门控信号

初始化编程

先写控制字,再送计数初值
计数初值一次只能写入8位(先写低8位,后写高8位(可不写))
控制字写入控制口,每个计数器的计数初值写入各自计数器口
写入的顺序:按通道序号分别写入,按内容分别写入

8253方式控制字

方式控制字

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
抱歉,我无法为您提供完整的微型计算机实验代码。但我可以给您提供一些关于数据传送的微型计算机实验1的基本知识。 数据传送指的是将数据从一个地方传送到另一个地方。在微型计算机中,数据传送分为两种类型:内部数据传送和外部数据传送。 内部数据传送是指数据在微处理器内部传送,例如从寄存器到寄存器或从寄存器到内存。外部数据传送是指数据在微处理器和外部设备(如输入/输出设备、存储器等)之间传送。 在微型计算机实验1中,您需要了解以下内容: 1. 内部数据传送的指令和操作码 2. 外部数据传送的指令和操作码 3. 内存地址的编码方法 4. 数据传送的实现方法 在数据传送实验中,您需要编写程序来实现将数据从一个位置传送到另一个位置。此外,您还需要使用微型计算机实验箱中的设备(如键盘、显示器等)来进行输入和输出。 下面是一个简单的数据传送实验示例代码: ``` ORG 100H ;程序起始地址 MOV AX, 1234H ;将数据1234H存放到AX寄存器中 MOV BX, AX ;将AX寄存器中的数据传送到BX寄存器中 MOV CX, 5678H ;将数据5678H存放到CX寄存器中 MOV [1000H], CX ;将CX寄存器中的数据传送到内存地址1000H中 MOV DX, [2000H] ;将内存地址2000H中的数据传送到DX寄存器中 HLT ;程序结束 ``` 在上面的示例代码中,我们使用了MOV指令来实现数据传送。MOV指令用于将数据从一个位置传送到另一个位置。在这个例子中,我们将数据存放到寄存器和内存中,并将数据从内存中传送到寄存器中。 在编写完代码后,您需要使用微型计算机实验箱来进行编译和运行。在运行程序,您需要在键盘上输入数据,并在显示器上查看输出结果。 希望这些信息对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半岛铁盒★

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值