当前课程知识点:微机原理与接口技术 >  第12周 可编程并行数字接口 >  第49讲 可编程定时计数器 >  可编程定时计数器8253_01

返回《微机原理与接口技术》慕课在线视频课程列表

可编程定时计数器8253_01在线视频

可编程定时计数器8253_01

下一节:可编程定时计数器8253_02

返回《微机原理与接口技术》慕课在线视频列表

可编程定时计数器8253_01课程教案、知识点、字幕

大家好 这一讲我们开始来学习第7章

可编程并行数字接口电路

这一张主要有介绍两个芯片

就是可编程的并行接口芯片的运用

这两种芯片一种是我们称为定时计数器

一种称为真正的并行输入输出接口

我们先说一下什么叫可编程

我们在第6章中曾经给大家介绍了两片

或者说三片简单的接口电路

那么当时我们说之所以说它称为简单

有 当然有好几个角度可以去说

其中有一项就是因为这一种芯片

它们不可以通过软件的方式

来改变它们的工作模式

就说这些芯片它或者只能做输入接口

比如我们学得三态门的接口74LS244

还有或者是8D锁存器接口

它就只能做输出

虽然我们也介绍了一种

带有控制能力的锁存器接口

它虽然在理论上它可以作为输入接口

也可以做为输出接口

但是这种芯片它一旦在系统中接好

接它为输入它就只能作输入

接它为输出它就只能输出

也就说它没有办法

再去改变它的数据传输方向

或者说它的工作方式

另外它的工作方式实际上

也没有什么可改变的

就一种 它或者输入或者输出 对吧

所以他们就可以说它们称为

是一种非常简单的接口电路

而我们这一章要学到的这两片芯片昵?

它们是可以通过软件的方式

来控制它们的工作方式的

所以这个就叫做可编程

可编程通过软件命令以来

控制芯片的工作方式

主要有两个方面的含义

一个是它可以通过软件的方式

就是软件输入它的一些命令字的方式

来控制它的传输方向

另外可以控制它们的输入输出方式

对于有一些通道型的接口

也就说我们通过它进行

数据输入输出的接口了

这种可编程的接口通过软件

可以既改变它的数据传输方向

又改变它的这种工作方式

对于另外一些非通道的接口

也就是说它只是用来

对外部设备实现控制的这种接口

这种通过软件命令我们

就只改变了它们的工作方式

好 下面我们就来学习我们这一章

要介绍的第一片芯片

可编程定时计数器8253

所谓定时计数器

定是也好 计数也好

它的工作基准实际上是这样的时钟脉冲

这就像我们平时日常生活中一样的

我们每天几点起床 几点吃饭 几点上课

这些都是根据我们24小时

这样的时钟来完成的

那么这个也一样

可编程的定时计数器

它的工作基准也一样是这样的时钟脉冲

所以这种计数器昵

它要实现让它工作

必须要有一个时钟电路

提供给它一个基准

我们这个日常生活中24小时这样的时钟

不是我们人体来产生的

而是由外部来产生

所以这个

这里的这个

时钟脉冲CLK信号也是要

由外部的这种时钟电路来产生

来提供给这个芯片作为它工作的基准

计数脉冲它如果是不恒定的话

我们就说来一个脉冲记一个数

那么我们就达到了计数的功能

如果计数脉冲是

每一个周期都是恒定的

那么在计数的同时

我们也就达到了定时的效果

比如现在如果说我们的计数脉冲是一个

就像我们上课

我们来一个人走进一个教室

假说我们在教室的门上

加一个感应器的话

进来一个同学感应器就输出一个脉冲

再进来一个人又输出一个脉冲

因为人的进入它的频率是不一定的

所以了脉冲的宽度也就不一定

因此像这种我们就可以

只能够达到了计数的功能

最后我去看一下脉冲的个数

我们就知道今天有多少人到课

那么如果我们这个时钟脉冲

不是这样子由人进门来产生

而是由一个比如像我们今天

最标准的一种时钟发生器像晶振电路

那么它所产生的时钟

它的每一个周期就是非常恒定的

那么像这种情况下

我们在计数的同时就达到了定时的效果

所以 那么定时的时间有多长?

这个长度或者说计数的个数

完全取决于这个脉冲的个数

或者每个脉冲的周期的宽度

我们来举个例子

假设我们现在看到的时钟脉冲

它的每一个周期是一秒钟的话

那么就是说我们的条件

是一个周期为一秒的脉冲

那么现在我们希望我们定时100秒

我们很容易就得出来

我们现在要数多少个这样的脉冲昵?

显然是要100个

对吧 显然是要100个 所以

这个就说我们由这样子的一个

这个100 我们称为它是叫做计数初值

由这样这个计数初值是怎么得出来的昵

我们看实际上是因为这样的条件

就说这个脉冲外部时钟提供给我们的

时钟信号周期是1秒 这个是条件

那么我们的需求是什么昵?

我们的需求是要定时100秒

所以由这样子的一个条件

和这样的需求我们就得出来了

这样的一个初值应该是多少?

这个100就是刚才我们说要定时100

100秒 我们需要数脉冲个数

所以这个数的脉冲个数我们

称为计数初值

这个计数初值我们有两种方法

我们可以说

我们因为这个每个周期是1秒

我们现在要定时100秒

好 那么我们就来一个脉冲

数 加一 来一个脉冲加一

我们最后加到从0开始加到100

好 OK 到100秒

这是一种往上加的计数方式

还有一种我们刚才

通过这样的条件

通过这样的需求

我们已经得出了我们要数100个脉冲

也就说我们的初值是100

那么这个时候我们也可以先

把这个100设上

设定好 然后过一个脉冲

过一个周期 我们减一

过一个周期减一

由100到99 98 最后减到0

一样定时100

这就是由上由大的数据向小的数据

这样的减法方式

这就是两种所谓的计数方式

一种我们称为加法计数

一种称为减法计数

好 在正式学习8253定时计数器之前

我们先将定时和计数

这样一些基本的概念

我们给大家做一个科普

好 下面我们来看一下8253

这个芯片所具有的特点

首先8253是一个可编程的逻辑器件

而且它是一个非通道型的接口

具有它自己一个独特的功能

什么叫为什么它叫非通道又是接口昵?

我们现在回忆一下我们之前讲过的

有关接口的概念 接口就是说的

最直白的一种说法

虽然不严谨 但是很直白

就它一头担着CPU这个系统

另外一头担着外部设备

它这个位置处于中间

这就是一个在我们计算机系统里

它就是一个接口的一个形式了

那么8253昵?

我们后面会看到它也是一头担着CPU

一头担着一个外部设备

那么它就是一个接口

它传输的是数字信号

所以它是一个数字接口

另外昵?

它不是一个通道 刚才我们说了

它从它的名字我们已经感觉出来

它是一个定时计数器

也就是它的功能是实现一个计数

或者一个定时的功能

因此这种接口

它是一个接口但是它不是一个通道

它的功能是干什么了?

它的功能就是实现对外部设备的控制

也就是说它做一个

当你给定了一个计数初值

它去数它就启动以后它就

它就开始去数那个CLK周期的脉冲数

然后数够了

然后它就

就完了

那么完了以后怎么办?

它完了以后它就会对

外部设备产生相应的控制

我们举一个很简单的

大家马上就能想到的

比如我们定时希望启动一下空调

那么我们好定时数100秒

或者100分钟100

一个小时等等这样

数够了 啊 出一个信号空调就启动

这就是一种定时

或者说对外部设备的控制

8253就是这样一种形式的接口

所以它是它不是一个用来传输数据的

输入输出的通道

而是一个实现对外部设备

进行控制的一个接口

所以接口我们现在又回归我们第六章

曾经讲接口的概念时候讲过

接口本身它实际上是有

两个层面的功能的

一个它是实现数据的输入和输出

也就说

它为什么CPU和外部设备不能直接通信

因为那么那么多的原因

之前已经提到了

所以接口要在中间承担一个

IN-OUT这样的一个功能

其实接口还有一项很重要的功能

就是它可以代替CPU

实现对外部设备的控制

这个是今天实际上很多很多的接口

它的更重要的一项功能

就是它能够辅助对于主设备对于主机

帮助主机承担对外部设备的控制

而主机用来干什么?主要是用来

进行一些数字 计算数值分析

等等这样的一些工作

所以它的一个特定的功能

就是定时和计数

8253总体来讲它的工作方式

它属于减法计数器

当你的计数初值减到零的时候

它会输出相应的控制信号

而输出控制信号的形式不一样

不同的工作方式

它可以输出不同的信号的脉冲的信号

那么你到底需要输出哪一种信号

那是由软件的命令可以来控制它

我们学习所有的集成电路芯片

实际上有一些共同点

就是我们首先要了解一个芯片

它的外部的主要引线的功能

它的内部结构

它的工作时序

以及它的应用

这个我们在之前讲

8088CPU讲存储机芯片

这些芯片的时候我们都提到过

那么对于可编程的接口来讲

或者对具体的这个

8253这个定时计数器芯片来讲

我们在应用它之前

我们还是同样的需要了解

刚才我们共同的那些东西

还有这个芯片本身应该所具有的

一些特殊的东西

所以我们下边在学习芯片的时候

我们将从这样几个点来介绍

首先我们要知道它的外部引线

和它的内部的结构

还有我们要知道对这个芯片来讲

它是如何启动计数的

就是什么时候它要开始来数数

数脉冲数 这就是计数的开始

另外刚才我们说到

在定时计数初值减到零之后

也就是它的时间到了以后

它的输出端会输出不同形式的控制信号

到底要输出哪一种形式的控制信号

取决于它的工作方式

因此在这里第三点我们还需要学习一下

它的几种不同的工作方式

哪一种方式下它会输出什么样的波形?

最后第四点也就是芯片作为

可编程的接口

我们说它可以接收软件的命令

所谓软件的命令不是一大段程序

实际上它主要最核心的是它的命令字

也就是说命令字告诉了它这个芯片

你到底应该怎样工作

等等 所以在这些准备工作做完以后

最后第五点我们要学习一下

这个芯片是怎么来运用?

好 下面我们首先来看第一点

就是它的外部引线

以及它的内部的结构

这个是8253这个芯片的主要的引脚

这些引脚里面包含了

和系统之间的连接的主要的引线

以及和外部设备之间主要的连线

和系统端的主要引脚

我们看大家都很熟悉了

D0到D7这是显然是8位的数据信号

所以这个芯片也同样是8位的接口

那么也就到这个时候

大家应该理解

就是我们为什么

我们选择了8088CPU

而没有选择第三代微处理器

更经典的代表8086

就是因为8088它对外

数据通道是8位的

而我们后面讲的所有接口

我们都选了8位的接口

因为我说过教学我们还是要

要学基本学基本原理

所以这些8位接口也好

16位接口也好

很多很多的原理

其实都是差不多的

也就说它的引脚信号上有

一些可能有些区别

那么把基本的东西搞清楚了

其实再扩展下去也没有什么问题

好 所以在这里我们同样对8253来讲

它也是一个8位的接口

所以它对外有8根数据信号线

所以大家在这里可以看到D0到D7

另外它有它作为一个接口芯片

同样有片选信号就是CS

这个我们也很熟悉

以及读和写允许信号

在这里有两个A 一个A0 一个A1

这个显然是一个片内地址

那么有2位片内地址

说明这个芯片上片内有4个端口

那么对外部设备这一端口的引线昵?

有一个是时钟脉冲的输入

刚才我们讲了

因为外部的时钟实质上不是芯片

本身来产生 而是由外部电流来产生的

而这个芯片的工作

它的工作基准需要时钟信号

所以外部这个芯片要的工作的时候

外部必须要有一个时钟脉冲发生器

为它提供它的工作基准

也就是CLK信号

这个芯片本身有一个CLK引脚

再一个这个是GATE 显然是个门的意思

GATE叫门控信号

它也是由外部来输入

它是作为启动计数的控制信号

我们后面讲的时候还会提到它

只有这个OUT端是输出端

这个端显然是要将在定时时间到

或者在定时过程中在OUT端

会呈现的一个波形的特点

我们现在来看这个引脚图

我们从这个引脚图里我们可以看出来

有CLK0 get OUT0 CLK1 get OUT1 等等

也就是说这里完全同样的三组

CLK GET OUT信号

这就反映了芯片本身内部具有

这样子的一个结构

也就是说这个芯片实际上它内部有

完全独立的三个定时计数器

这三个定时计数器可以

同时工作也可以某一个时候

只有一个计数器工作或者

两个计数器工作

我们可以简单的说就是将三个独立的

定时计数器集中在一片芯片上

用一套控制逻辑来控制它

这就是这个芯片的特点

这里的三个独立的定时计数器

每一个计数器它都占有一个端口地址

为什么它要占一个端口地址昵?

是因为这个芯片每一个

独立的定时计数器里面

实际上都有2个16位的寄存器

这2个16位的寄存器对外没有

分别的地址

它们2个寄存器占有同样的地址

我们已经说了

接口里面的寄存器其实就是端口

所以这个总个计数器

它也就是一个端口

它的这2个16位的寄存器

内部的这两个寄存器

一个叫做16位的初值寄存器

一个叫16的计数寄存器

这2个既然是寄存器 而且是16位的

说明它们里面可以放16位的数据

这里面放着是什么?

其实就是我们前面说到的那计数初值

这个初值当然我们刚才举的那个例子

只能说CLK周期是1秒我们要定时100秒

所以这个初值应该是100

那么这个100显然是8位数

所以这个16位寄存器里头

也可以放一个8位数 不能说不能放

也可以放一个8位的初值

那么如果我们现在要不是定时100秒

我们要定时1000秒 10000秒

那么这个初值就变成了1万或者1千

那么这个时候的初值就是16位的

它就放在这2个16位寄存器里

所以它的计数初值

哪一个计数器工作

它的计数初值就放进这个计数器

内部这两个寄存器

因为这2个寄存器对外没有

分别独立的端口

所以一旦把这个选中这个计数器

好 这个初值选进去

就同时写进了这2个16位寄存器里

那么这个初值寄存器

和计数寄存器的区别在哪里昵

我们的初值最初写进去的时候

2个寄存器里同时写进了计数初值

但是在计数过程中

计数寄存器里的值是会被从头减到尾的

就说从可以100减到99 98 一直减到0

而初值寄存器里的值是不变化的

这个是它内部的一个基本的原理

3个计数器每一个的内部

都是这样的结构

所以3个计数器每一个

都占有一个独立的端口地址

另外一个显然这个名字很明确

就叫控制寄存器

这个寄存器显然

它就是接口寄存器就是端口

所以它也要占一个地址

这个控制寄存器是一个8位的

这个8位寄存器里放什么昵

就是放我们后面要学到的控制命令字

因此昵这个8253的内部

有3个独立的计数器

有一个控制寄存器

所以它占有3个独立的占了4个端口地址

每一个计数器里都含了两个寄存器

然后控制寄存器里面用来放控制命令字

我们总结一下

微机原理与接口技术课程列表:

第1周 微型计算机基础概论

-第1讲 关于本课程

--关于本课程

-第2讲 微型计算机系统

--微机系统_01

--微机系统_02

-第3讲 微型计算机一般工作过程

--微机的一般工作过程_01

--微机的一般工作过程_02

-第4讲 数制与编码

--常用计数制及其转换

--计算机中的编码

-第5讲 计算机中数的表示与运算

--数的表示

--符号数的表示

--数的表示与运算

-第6讲 基本逻辑运算与逻辑电路

--基本逻辑运算与逻辑门

--常用逻辑运算及电路

-第7讲 本周小结

--本周小结

-第1周 微型计算机基础概论--第一周单元测验

第2周 8088微处理器

-第8讲 8088微处理器

--8088 CPU_01

--8088 CPU_02

-第9讲 8088 CPU主要引线及机构

--8088 CPU主要引线

--8088 CPU内部结构

--8088 CPU内部寄存器

-第2周 8088微处理器--第二周单元测验

第3周 实模式存储器寻址与总线

-第10讲 实模式存储器寻址

--实模式存储器寻址_01

--实模式存储器寻址_02

--实模式存储器寻址_03

-第11讲 8088系统总线

--8088系统总线

-第12讲 微处理器小结

--微处理器小结

-单元测验--作业

第4周 数据传送指令

-第13讲 指令概述

--指令概述

-第14讲 寻址方式

--寻址方式

-第15讲 通用数据传送指令

--通用数据传送指令_01

--通用数据传送指令_02

--通用数据传送指令_03

-第16讲 地址传送指令

--地址传送指令

-第17讲 输入输出指令

--输入输出指令

-第4周 数据传送指令--第四周单元测验

第5周 算术运算、逻辑运算与移位操作指令

-第18讲 算术运算指令

--加法运算指令

--减法指令

--乘除运算指令

-第19讲 逻辑运算指令

--逻辑运算指令_01

--逻辑运算指令_02

-第20讲 移位操作指令

--移位操作指令

-第5周 算术运算、逻辑运算与移位操作指令--第五周单元测验

第6周 串操作指令

-第21讲 关于串操作指令的说明

--串操作指令说明

-第22讲 串传送与串比较

--串传送与串比较

-第23讲 串扫描指令

--串扫描指令

-第24讲 串装入与串存储指令

--串装入与串存储指令

-第六周单元测验--作业

第7周 程序与处理器控制

-第25讲 程序控制指令说明

--程序控制类指令说明

-第26讲 转移类指令

--无条件转移指令

--条件转移指令

-第27讲 循环控制指令

--循环控制指令

-第28讲 过程调用指令

--过程调用指令

-第29讲 中断指令

--中断指令

-第30讲 处理器控制指令

--处理器控制指令

-第31讲 指令系统小结

--指令系统小结

-第7周 程序与处理器控制--第七周单元测验

-第7周 程序与处理器控制--第七周作业

第8周 汇编语言程序设计

-第32讲 汇编语言源程序

-- 汇编语言源程序_01

-- 汇编语言源程序_02

-第33讲 伪指令

--数据定义伪指令

--符号与段定义伪指令

--汇编语言源程序结构例

--其它伪指令

-第34讲 系统功能调用

--系统功能调用_01

--系统功能调用_02

-第35讲 汇编语言程序设计示例详解

--程序设计示例1

--汇编语言程序设计示例_02

-第36讲 汇编语言程序设计小结

--汇编语言程序设计小结

-第8周 汇编语言程序设计--第八周单元测验

-第8周 汇编语言程序设计--第八周作业

第9周 半导体存储器

-第37讲 半导体存储器概述

--半导体存储器概述

-第38讲 内存单元编址

--存储单元编址

-第39讲 随机存取存储器RAM

-- RAM_01

--RAM_02

-第40讲 只读存储器ROM

--ROM_01

--ROM_02

-第九周单元测验--作业

第10周 半导体存储器扩展技术

-第41讲 半导体存储器扩展

--半导体存储器扩展_1

--存储器扩展_2

--半导体存储器扩展_3

-第42讲 半导体存储器小结

--半导体存储器小结

-第十周单元测验--作业

-第十周作业--作业

第11周 输入输出与中断技术

-第43讲 基本I/O接口

--I/O系统概述_01

--I/O系统概述_02

-第44讲 简单接口芯片

--简单接口芯片

-第45讲 基本输入输出方法

--基本I/O方法

-第46讲 简单I/O控制系统设计

--简单I/O控制系统设计1

--简单I/O控制系统设计2

-第47讲 中断技术

--中断技术1

--中断技术2

-第48讲 输入输出与中断技术小结

--本周小结

-第十一周单元测验--作业

第12周 可编程并行数字接口

-第49讲 可编程定时计数器

--可编程定时计数器8253_01

--可编程定时计数器8253_02

--可编程定时计数器8253_03

-第50讲 可编程并行接口

--可编程并接口8255_01

--可编程并行接口8255_02

--可编程并行接口8255_03

-第51讲 可编程接口小结

--本周小结_01

--本周小结_02

-第十二周单元测验

第13周 模拟量的输入输出

-第52讲 模拟量的输入输出

--模拟量的输入输出

-第53讲 D/A转换器

--D/A转换器_01

--D/A转换器_02

-第54讲 A/D转换器

-- A/D转换器_01

--A/D转换器_02

-第十三周单元测验--作业

第14周 系统综合设计示例详解

-第55讲 I/O接口系统综合设计示例详解I

--综合设计示例详解I_01

--综合设计示例详解I_02

-第56讲 综合设计示例详解II

--综合设计示例详解II_01

--综合设计示例详解II_02

-第57讲 结束语

--结束语

可编程定时计数器8253_01笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。