📄 8279键盘.htm
字号:
</table>
</center>
</div>
<p> 其中:<br>
D<font size="1">7</font>D<font size="1">6</font>D<font size="1">5 </font>=101为显示禁止写入/消隐命令特征位。<br>
IW/A、IW/B(D<font size="1">3、</font>D<font size="1">2</font>)为A、B组显示RAM写入屏蔽位。由于显示寄存器分成A、B两组,可以单独送数,故用两位来分别屏蔽。当A组的屏蔽位D<font size="1">3</font>=1时,A组的显示RAM禁止写入。因此,从CPU写入显示器RAM数据时,不会影响A的显示。这种情况通常在采用双4位显示器时使用。因为两个双四位显示器是相互独立的。为了给其中一个双四位显示器输入数据而又不影响另一个四位显示器,因此必须对另一组的输入实行屏蔽。<br>
BL/A、BL/B(<font size="1"></font>D<font size="1">1、</font>D<font size="1">0</font>)为消隐显示位。用于对两组显示输出消隐。若BL=1时,对应组的显示输出被消隐。当BL=0时,则恢复显示。<br>
7.清除命令<br>
命令格式: </p>
<p>
D<font size="1">7 </font>D<font size="1">6 </font>D<font size="1">5
</font>D<font size="1">4 </font>D<font size="1">3 </font>D<font size="1">2
</font>D<font size="1">1 </font>D<font size="1">0</font></p>
<div align="center">
<center>
<table border="1" cellpadding="0" cellspacing="0" width="200">
<tr>
<td width="24">1</td>
<td width="24">1</td>
<td width="25">0</td>
<td width="25">C<font size="1">D</font></td>
<td width="25">
C<font size="1">D</font></td>
<td width="25">C<font size="1">D</font></td>
<td width="25">C<font size="1">F</font></td>
<td width="25">C<font size="1">A</font></td>
</tr>
</table>
</center>
</div>
<p> 其中:<br>
D<font size="1">7</font>D<font size="1">6</font>D<font size="1">5 </font>=110清除命令特征位。<br>
C<font size="1">D</font>C<font size="1">D</font>C<font size="1">D</font>(D4D3D2)用来设定清除显示RAM方式。共有四种消除方式,见表6-10-1。<br>
C<font size="1">F</font>(D<font size="1">1</font>)用来置空FIFO存储器,当=1时,执行清除命令后,FIFO
RAM被置空,使中断输出线复位。同时,传感器RAM的读出地址也被置0。<br>
<font size="1"></font><font size="1"> </font>C<font size="1">A</font>(D<font size="1">0</font>)为总清的特征位。它兼有C<font size="1">D和</font>C<font size="1">F</font>的联合效能。在C<font size="1">D</font>=1时,对显示的清除方式由D<font size="1">3、</font>D<font size="1">2</font>的编码决定。<br>
清除显示RAM约需160µ<font size="1">S</font>。在此期间FIFO状态时的最高位D<font size="1">U</font>=1,表示显示无效。CPU不能向显示RAM写入数据。<br>
8.结束中断/错误方式设置命令<br>
命令格式: </p>
<p>
D<font size="1">7 </font>D<font size="1">6 </font>D<font size="1">5
</font>D<font size="1">4 </font>D<font size="1">3 </font>D<font size="1">2
</font>D<font size="1">1 </font>D<font size="1">0</font></p>
<div align="center">
<center>
<table border="1" cellpadding="0" cellspacing="0" width="200">
<tr>
<td width="24">1</td>
<td width="24">1</td>
<td width="25">1</td>
<td width="25">E</td>
<td width="25">×</td>
<td width="25">×</td>
<td width="25">×</td>
<td width="25">×</td>
</tr>
</table>
</center>
</div>
<p> 其中:<br>
D<font size="1">7</font>D<font size="1">6</font>D<font size="1">5 </font>=111为该命令的特征位。此命令有两种不同的作用。<br>
(1)作为结束中断命令。在传感器工作方式中使用。每当传感器状态出现变化时,扫描检测电路将其状态写入传感器RAM,并启动中断逻辑,使IRQ变高,向CPU请求中断,并且禁止写入传感器RAM。此时,若传感器RAM读出地址的自动递增特征没有置位(AI=0),则中断请求IRQ在CPU第一次从传感器RAM读出数据时就被清除。若自动递增特征已置位(AI=1),则CPU对传感器RAM的读出并不能清除IRQ,而必须通过给8279写入结束中断/错误方式设置命令才能使IRQ变低。因此在传感器工作方式中,此命令用来结束传感器RAM的中断请求。<br>
(2)作为特定错误方式设置命令。在8279已被设定为键盘扫描N键轮回方式以后,如果CPU给8279又写入结束中断/错误方式设置命令(E=1),则8279将以一种特定的错误方式工作。这种方式的特点是:在8279的消颤周期内,如果发现多个按键同时按下,则FIFO状态字中的错误特征位S/E将置1,并产生中断请求信号和阻止写入FIFO
RAM。<br>
上述八种用于确定8279操作方式的命令字皆由D<font size="1">7</font>D<font size="1">6</font>D<font size="1">5</font>特征位确定,输入8279后能自动寻址相应的命令寄存器。因此,写入命令字时唯一的要求是使数据选择信号A<font size="1">0</font>=1。<br>
四、状态格式与状态字<br>
8279的FIFO状态字,主要用于键盘和选通工作方式,以指示FIFO
RAM中的字符数和有无错误发生。其格式为:</p>
<p>
D<font size="1">7 </font>D<font size="1">6 </font>D<font size="1">5
</font>D<font size="1">4 </font>D<font size="1">3 </font>D<font size="1">2
</font>D<font size="1">1 </font>D<font size="1">0</font></p>
<div align="center">
<center>
<table border="1" cellpadding="0" cellspacing="0" width="200">
<tr>
<td width="24">D<font size="1">U</font></td>
<td width="24">S/E</td>
<td width="25">O</td>
<td width="25">U</td>
<td width="25">F</td>
<td width="25">N</td>
<td width="25">N</td>
<td width="25">N</td>
</tr>
</table>
</center>
</div>
<p> 其中:<br>
D<font size="1">U</font>( D<font size="1">7</font>)为显示无效特征位。当D<font size="1">U</font>=1表示显示无效。当显示RAM由于清除显示或全清命令尚未完成时,D<font size="1">U</font>=1。<br>
表6-10-1 C<font size="1">D</font>位定义的清除方式 </p>
<div align="center">
<center>
<table border="1" cellpadding="0" cellspacing="0" width="435">
<tr>
<td width="38"><font size="1"></font>D<font size="1">4 </font></td>
<td width="38"><font size="1"> </font>D<font size="1">3 </font></td>
<td width="39"><font size="1"></font>D<font size="1">2 </font></td>
<td width="316">清除方式</td>
</tr>
<tr>
<td width="38" rowspan="3">1</td>
<td width="38">0</td>
<td width="39">×</td>
<td width="316">将显示RAM全部清零</td>
</tr>
<tr>
<td width="38">1</td>
<td width="39">0</td>
<td width="316">将显示RAM清成20H(A组=0010;B组=0000)</td>
</tr>
<tr>
<td width="38">1</td>
<td width="39">1</td>
<td width="316">将显示RAM全部置1</td>
</tr>
<tr>
<td width="38">0</td>
<td width="393" colspan="3">不清除(若C<font size="1">A</font>=1,则D<font size="1">3、</font>D<font size="1">2</font>仍有效)</td>
</tr>
</table>
</center>
</div>
<p><br>
</p>
<p><br>
</p>
<p><br>
<br>
</p>
<p><br>
</p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -