深圳市航顺芯片技术研发有限公司
直播中

康辅佑

7年用户 955经验值
擅长:控制/MCU
私信 关注
[问答]

定时/计数器8253和并行接口芯片8255A是如何工作的

IO接口和IO端口有何关系?
IO端口的编址方式有哪几种?
IO输入输出的基本方式是什么?
定时/计数器8253和并行接口芯片8255A是如何工作的?

回帖(1)

李慧

2021-8-18 17:22:28
  IO设计基本理论
  1. IO接口和IO端口
  IO端口是IO接口内可由CPU进行读写操作的各种寄存器。可分为数据端口、状态端口和控制端口。
  2. IO端口的编址方式
  统一编址:IO端口与存储器共享一个地址空间;
  独立编址:IO端口与存储器有相互独立的地址空间。
  3. IO输入输出的基本方式
  无条件传送:
  默认IO设备永远处于准备好状态,无需CPU读取其状态;
  只需要设计数据端口,无需设计状态端口和控制端口;
  程序查询法:
  程序中不断查询IO口状态,当IO设备准备好之后再进行操作;
  优点:实现威廉希尔官方网站 简单;缺点:程序效率低。
  IO中断法:
  IO设备准备好之后向CPU提出中断,CPU在中断相应程序中对IO进行操作。
  最优的方法。
  MDA法:
  利用外部硬件操控IO设备。
  定时/计数器8253
  1. 基本结构
  内含三个独立的计数器:计数器0、计数器1和计数器2;
  每个计数器可以通过其方式控制寄存器进行单独控制;
  总共占用4个端口地址,每个计数器各占用一个端口地址,三个控制字共用一个端口地址;
  每个计数器内部有四个寄存器:控制字、初值寄存器、计数寄存器、输出锁存器;
  控制字为一个字节,高2位控制选择计数器,次2位控制读写规则,再次3位控制工作方式,最后1位控制数据类型:
  当RL1
  RL2为00时,为计数寄存器锁存命令,将此时CE的值锁存到OL中,接下来再读相应计数器端口时可以读走锁存在OL中的值,读完之后自动解锁;
  2. 工作方式分析:
  (1)000 计数达到终值而中断:
  先向8253写入方式控制字,再写入时常数,此时OUT变低电平;
  写入时常数之后,下一个CLK脉冲CR内容被置入CE中;
  在后续CLK脉冲中,进行CE减一计数,当计数到0时OUT输出一个高电平(可用作中断请求);
  GATE控制计数,当GATE=1时允许计数,当GATE=0时暂停计数。
  (2)001 单脉冲形成:
  先向8253写入控制字,再写入时常数,此时OUT为高电平;
  当GATE端检测到一个上升沿的时候,触发单脉冲形成,OUT变低,且CR被置入CE中;
  在后续CLK脉冲中,进行CE减一计数,当计数到0时OUT变高电平;
  等待下一个GATE信号到,重复上述操作。
  (3)*10 分频器:
  先向8253写入控制字,再写入时常数,此时OUT为高电平;
  写入时常数之后,下一个CLK脉冲CR内容被置入CE中,在后续CLK脉冲中,进行CE减一计数;
  当CE减到01h时,在OUT端输出一个负脉冲,并重新将CR置入CE中开始写一个循环;
  正常情况下,时常数为N,则输出信号为时钟的N分频;
  GATE控制计数,当GATE=1时允许计数,当GATE=0时暂停计数。
  (4)*11 方波产生器:
  先向8253写入控制字,再写入时常数,此时OUT为高电平;
  若置入的为奇数,将在CR置入CE时将其-1变成偶数;
  时常数置入完毕的下一个CLK脉冲期间,CR置入CL并开始-2计数;当CE计数到0时OUT变低,同时再次将CR置入CE中进行-2计数,当CE为0时OUT再变高,从而生成方波;
  正常情况下,时常数为N,则输出信号为时钟的N分频方波信号;
  GATE控制计数,当GATE=1时允许计数,当GATE=0时暂停计数。
  并行接口芯片8255A
  1. 基本结构和概念
  计算机接口的分类
  并行接口:数据在多根线上同时传送;
  串行接口:数据按位顺序在一根线上分时传送。
  8255A的端口:三个数据端口一个控制端口
  有三个对应的端口数据寄存器:PA0-PA7,PB0-PB7,PC0-PC7;
  端口C又可以分为高四位和第四位,分别位于A组和B组中,作为控制辅助;
  总共占用四个端口地址:三个端口寄存器和一个控制寄存器。
  2. 控制字管理
  当A1A0为11时,表示访问控制寄存器;
  可以通过控制字控制A组、B组工作方式,端口A、B方向,端口C高四位、低四位方向,端口C各位的值。
  控制字各位的含义:
  如果控制字最高位写1,则是在选择工作方式、如果写0,则是在对PC口进行位管理;
  3. 工作方式管理
  方式0:基本的输入/输出;
  方式1:有联络信号的输入/输出(PA、PB)。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分