⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chapter7.htm

📁 我们学校教授的课件 很好的学习助手啊 里面讲的很详细 汉好
💻 HTM
📖 第 1 页 / 共 2 页
字号:
    <td width="10%" align="center" bgcolor="#008000"><big><big>0</big></big></td>
    <td width="11%" align="center" bgcolor="#008000"><big><big>1</big></big></td>
    <td width="12%" align="center" bgcolor="#008000"><big><big>0</big></big></td>
    <td width="11%" align="center" bgcolor="#008000"><big><big>0</big></big></td>
    <td width="8%" align="center" bgcolor="#008000"><big><big>1</big></big></td>
    <td width="48%" bgcolor="#008000"><big><big>写计数器1(设置计数器1初值)</big></big></td>
  </tr>
  <tr>
    <td width="10%" align="center" bgcolor="#008000"><big><big>0</big></big></td>
    <td width="11%" align="center" bgcolor="#008000"><big><big>1</big></big></td>
    <td width="12%" align="center" bgcolor="#008000"><big><big>0</big></big></td>
    <td width="11%" align="center" bgcolor="#008000"><big><big>1</big></big></td>
    <td width="8%" align="center" bgcolor="#008000"><big><big>0</big></big></td>
    <td width="48%" bgcolor="#008000"><big><big>写计数器2(设置计数器2初值)</big></big></td>
  </tr>
  <tr>
    <td width="10%" align="center" bgcolor="#008000"><big><big>0</big></big></td>
    <td width="11%" align="center" bgcolor="#008000"><big><big>1</big></big></td>
    <td width="12%" align="center" bgcolor="#008000"><big><big>0</big></big></td>
    <td width="11%" align="center" bgcolor="#008000"><big><big>1</big></big></td>
    <td width="8%" align="center" bgcolor="#008000"><big><big>1</big></big></td>
    <td width="48%" bgcolor="#008000"><big><big>写控制字或送锁存命令</big></big></td>
  </tr>
  <tr>
    <td width="10%" align="center" bgcolor="#008000"><big><big>0</big></big></td>
    <td width="11%" align="center" bgcolor="#008000"><big><big>0</big></big></td>
    <td width="12%" align="center" bgcolor="#008000"><big><big>1</big></big></td>
    <td width="11%" align="center" bgcolor="#008000"><big><big>0</big></big></td>
    <td width="8%" align="center" bgcolor="#008000"><big><big>0</big></big></td>
    <td width="48%" bgcolor="#008000"><big><big>读计数器0的当前计数值</big></big></td>
  </tr>
  <tr>
    <td width="10%" align="center" bgcolor="#008000"><big><big>0</big></big></td>
    <td width="11%" align="center" bgcolor="#008000"><big><big>0</big></big></td>
    <td width="12%" align="center" bgcolor="#008000"><big><big>1</big></big></td>
    <td width="11%" align="center" bgcolor="#008000"><big><big>0</big></big></td>
    <td width="8%" align="center" bgcolor="#008000"><big><big>1</big></big></td>
    <td width="48%" bgcolor="#008000"><big><big>读计数器1的当前计数值</big></big></td>
  </tr>
  <tr>
    <td width="10%" align="center" bgcolor="#008000"><big><big>0</big></big></td>
    <td width="11%" align="center" bgcolor="#008000"><big><big>0</big></big></td>
    <td width="12%" align="center" bgcolor="#008000"><big><big>1</big></big></td>
    <td width="11%" align="center" bgcolor="#008000"><big><big>1</big></big></td>
    <td width="8%" align="center" bgcolor="#008000"><big><big>0</big></big></td>
    <td width="48%" bgcolor="#008000"><big><big>读计数器2的当前计数值</big></big></td>
  </tr>
  <tr>
    <td width="10%" align="center" bgcolor="#008000"><big><big>1</big></big></td>
    <td width="11%" align="center" bgcolor="#008000"><big><big>x</big></big></td>
    <td width="12%" align="center" bgcolor="#008000"><big><big>x</big></big></td>
    <td width="11%" align="center" bgcolor="#008000"><big><big>x</big></big></td>
    <td width="8%" align="center" bgcolor="#008000"><big><big>x</big></big></td>
    <td width="48%" bgcolor="#008000"><big><big>未选择</big></big></td>
  </tr>
</table>
</center></div>

<blockquote>
  <h4 align="left"><font face="宋体" size="5" color="#FFFFFF">4、控制寄存器</font></h4>
</blockquote>

<p align="center"><img src="8253msh.gif" width="550" height="390"
alt="8253msh.gif (10968 bytes)"></p>

<p align="left"><font face="宋体" size="5" color="#FFFFFF">二、8253的工作模式</font></p>

<blockquote>
  <p align="left"><font face="宋体" size="5" color="#FFFFFF">&nbsp;&nbsp;&nbsp; 8253包括6中工作模式,称为模式0~模式5,可以完成计数和定时功能。</font></p>
  <p align="left"><font face="宋体" size="5" color="#FFFF00">计数</font><font
  face="宋体" size="5" color="#FFFFFF">:向8253设置完计数初值后,便进行减1计数,减到“0”时,输出一个信号而结束计数过程。</font></p>
  <p align="left"><font face="宋体" size="5" color="#FFFF00">定时</font><font
  face="宋体" size="5" color="#FFFFFF">:向8253设置完计数初值(定时常数)后,便进行减1计数,并按定时常数输出一定频率的时间间隔信号。</font></p>
  <h4 align="left"><font face="宋体" size="5" color="#FFFFFF">1、模式0---计数结束产生中断的计数器</font></h4>
</blockquote>

<p align="center"><img src="8253msh0.gif" width="542" height="284"
alt="8253msh0.gif (5625 bytes)"></p>

<blockquote>
  <p align="left"><font face="宋体" size="5" color="#FFFFFF">无论8253工作在何种工作模式,其操作均遵循以下规则:</font></p>
</blockquote>

<blockquote>
  <blockquote>
    <blockquote>
      <p align="left"><font face="宋体" size="5" color="#FFFFFF">a、控制字写入计数器后,所有的控制逻辑电路立即复位,输出端OUT进入初始状态;</font></p>
      <p align="left"><font face="宋体" size="5" color="#FFFFFF">b、计数初值写入后,在下一个时钟的下降沿(即要经过一个时钟的上升沿和一个下降沿),计数执行部件才开始减1计数;</font></p>
      <p align="left"><font face="宋体" size="5" color="#FFFFFF">c、门控信号GATE在时钟CLK的上升沿被采样。</font></p>
    </blockquote>
  </blockquote>
</blockquote>

<blockquote>
  <p align="left"> </p>
  <p align="left"><font face="宋体" size="5" color="#FFFFFF">在模式0中,计数器只计一遍,各个过程如下:</font></p>
  <blockquote>
    <p align="left"><font face="宋体" size="5" color="#FFFFFF">1)写入控制字之后,OUT端为初始低电平,并且保持到计数值到达0为止。计数值到达0后,OUT端变为高电平。</font></p>
    <p align="left"><font face="宋体" size="5" color="#FFFFFF">2)控制字和计数初值N写入后,要在下一个时钟的下降沿才开始做减1计数,即,经过N+1个时钟后,输出端OUT才变为高电平。</font></p>
    <p align="left"><font face="宋体" size="5" color="#FFFFFF">3)如果GATE=1,执行部件获得计数初值后即开始计数,如果GATE变为0,则计数过程停止,相应地延长了OUT端低电平的输出时间。</font></p>
    <p align="left"><font face="宋体" size="5" color="#FFFFFF">4)如果在计数过程中,有一个新的计数初值被写入,那么,下一个时钟时,按新的计数初值重新计数。</font></p>
  </blockquote>
</blockquote>

<p align="left"> </p>

<h3 align="left"><font face="宋体" size="5" color="#FFFFFF">三、8253的编程步骤</font></h3>

<blockquote>
  <h4 align="left"><font face="宋体" size="5" color="#FFFFFF">1、基本规则:</font></h4>
  <blockquote>
    <p align="left"><font face="宋体" size="5" color="#FFFFFF">1)对计数器设置计数初值时,必须先写控制字;</font></p>
    <p align="left"><font face="宋体" size="5" color="#FFFFFF">2)初值设置时,要符合控制字中的格式规定。</font></p>
  </blockquote>
  <h4 align="left"><font face="宋体" size="5" color="#FFFFFF">2、编程命令</font></h4>
  <p align="left"><font face="宋体" size="5" color="#FFFFFF">1)写控制字和设置计数初值</font></p>
  <p align="left"><font face="宋体" size="5" color="#FFFFFF">&nbsp;&nbsp;&nbsp; 
  例如,设某8253的口地址为40H~43H,计数器0工作在模式0,计数初值为2050,则设置计数器0控制字的过程为:</font></p>
  <blockquote>
    <blockquote>
      <p align="left"><font face="宋体" size="5" color="#FFFFFF">MOV&nbsp; AL,31H &nbsp; 
      ;控制字,BCD计数</font></p>
      <p align="left"><font face="宋体" size="5" color="#FFFFFF">OUT&nbsp; 43H,AL&nbsp; ;</font></p>
      <p align="left"><font face="宋体" size="5" color="#FFFFFF">MOV&nbsp; AL,50H &nbsp; 
      ;计数初值的低8位</font></p>
      <p align="left"><font face="宋体" size="5" color="#FFFFFF">OUT&nbsp; 40,AL</font></p>
      <p align="left"><font face="宋体" size="5" color="#FFFFFF">MOV&nbsp; AL,30H</font></p>
      <p align="left"><font face="宋体" size="5" color="#FFFFFF">OUT&nbsp; 40,AL</font></p>
    </blockquote>
  </blockquote>
  <p align="left"><font face="宋体" size="5" color="#FFFFFF">2)读取当前的计数初值</font></p>
  <p align="left"><font face="宋体" size="5" color="#FFFFFF">&nbsp;&nbsp;&nbsp; 
  必须先设置锁存命令,然后才可以读取16位的当前计数值。由于8253的数据线只有8位,所以该计数初值必须从同一端口连续读取两次。</font></p>
  <p align="left"><font face="宋体" size="5" color="#FFFFFF">例如,读取计数器1的当前计数值,程序为:</font></p>
  <blockquote>
    <blockquote>
      <p align="left"><font face="宋体" size="5" color="#FFFFFF">MOV&nbsp; AL,40H &nbsp; 
      ;锁存计数值控制字</font></p>
      <p align="left"><font face="宋体" size="5" color="#FFFFFF">OUT&nbsp; 43H,AL</font></p>
      <p align="left"><font face="宋体" size="5" color="#FFFFFF">IN&nbsp; AL,41H 
      &nbsp;&nbsp; ;读计数值的低8位</font></p>
      <p align="left"><font face="宋体" size="5" color="#FFFFFF">MOV&nbsp; CL,AL 
      &nbsp;&nbsp; </font></p>
      <p align="left"><font face="宋体" size="5" color="#FFFFFF">IN&nbsp; AL,41H 
      &nbsp;&nbsp; ;读计数值的高8位</font></p>
      <p align="left"><font face="宋体" size="5" color="#FFFFFF">MOV&nbsp; CH,AL </font></p>
    </blockquote>
  </blockquote>
</blockquote>

<p align="center"><a href="../main/index.htm">返回目录</a></p>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -