📄 pic16cxxx-3-2.htm
字号:
<html>
<head>
<title>PIC16Cxxx单片机应用与设计</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
<!--
BODY {font-size:12px;font-family:宋体;}
td {font-size:12px;font-family:宋体;}
A:link { COLOR: #0000ff; TEXT-DECORATION: underline}
A:visited { COLOR:#0000ff; TEXT-DECORATION: underline}
A:active { COLOR:red! important; TEXT-DECORATION: underline}
A:hover { TEXT-DECORATION: none}
.b24 a:link { FONT-SIZE: 12px; COLOR:#0000ff; TEXT-DECORATION: underline}
.b24 a:visited {FONT-SIZE: 12px; COLOR:#0000ff; TEXT-DECORATION: underline}
.b24 a:active { FONT-SIZE: 12px; COLOR:#0000ff; TEXT-DECORATION: underline}
.b24 a:hover { FONT-SIZE: 12px; COLOR:#990000; TEXT-DECORATION: none}
.lh13 { LINE-HEIGHT: 130%}
.lh15 { LINE-HEIGHT: 150%}
.lh17 { LINE-HEIGHT: 170%}
.lh19 { LINE-HEIGHT: 190%}
.lh30 { LINE-HEIGHT: 300%}
-->
</style>
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" >
<table width="778" border="0" cellspacing="0" cellpadding="0">
<tr align="center">
<td> </td>
</tr>
<tr align="center">
<td> <table width="700" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="41%" height="46" valign="top"><img src="logo.gif" width="205" height="41"></td>
<td height="46" width="59%" valign="bottom" align="right"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="right"><b><font style="font-size:16px" color="#990000">——
—— —— 技术资料下载中心</font></b> </td>
</tr>
<tr>
<td height="8"></td>
</tr>
</table></td>
</tr>
<tr>
<td height="1" colspan="2"></td>
</tr>
<tr bgcolor="#990000">
<td height="1" colspan="2"></td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td colspan="2"><font style="font-size:16px" color="#000000"><b>>> <a href="index.htm">PIC16CXXX单片机应用与设计</a>
\</b></font></td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
</table>
<table width="700" border="0" cellspacing="0" cellpadding="2" class="lh15">
<tr>
<td align="center"><b><font size="3">第三章 PIC16C92X功能原理</font><font size="3"></font></b></td>
</tr>
<tr>
<td> <p> </p></td>
</tr>
<tr valign="top">
<td height="300"> <p> §3.7.1 通用寄存器<br>
<br>
通用寄存器即是可用于存储各种数据的寄存器,这些寄存器的内容在单片机上电复位后是随机不定的,在非上电复位后则保持复位前的内容不变。<br>
20h~7Fh : Bank0<br>
A0h~EFh : Bank1<br>
<br>
§3.7.2 特殊寄存器<br>
<br>
特殊功能寄存器被用以控制单片机CPU及功能部件的操作,所以一般把它们分成二类:有关CPU操作的在本节介绍,另外一类和特定功能部件有关的将在相应的章节介绍。下表列出了PIC16C92X各种型号的特殊功能寄存器以及它们在上电复位后和非上电复位后的值。</p>
<p><img src="image/a214.gif" width="674" height="2631"></p>
<p>下面分别叙述一些特殊寄存器的结构和功能。<br>
<br>
一、状态寄存器STATUS<br>
和其他PIC16CXXX一样,参阅图1.7,状态寄存器包含了ALU的算术状态,复位RESET状态及数据寄存器页面选择位。<br>
<br>
二、寄存器OPTION<br>
和其他PIC16CXXX一样,参阅图1.8。<br>
<br>
三、中断控制寄存器INTCON<br>
和PIC16C62等一样,参阅图1.9。<br>
<br>
四、寄存器PIE1</p>
<p><img src="image/a215.gif" width="556" height="602"></p>
<p>五、寄存器PIR1<br>
PIR1寄存器含有各种中断标志位,见下图:<br>
</p>
<p><img src="image/a216.gif" width="549" height="737"></p>
<p>六、寄存器PCON<br>
该寄存器包含一个称为"上电复位"标志位,用来区别上电复位和别的复位(如MCLR拉低或WDT超时等造成的复位)。</p>
<p><img src="image/a217.gif" width="542" height="267"></p>
<p>七、寄存器PC和PCLATH<br>
和PIC16C65等完全一样,参阅图1.15。<br>
<br>
八、寄存器INDF和FSR<br>
INDF寄存器(地址0)不是一个物理上存在的寄存器,它用以实现间接寻址。当寻址INDF时,实际上是访问FSR寄存器(地址4h)内容所指的单元。<br>
以下程序采用间接寻址方式将20h-2Fh的寄存器(RAM)单元清零。</p>
<p><img src="image/a218.gif" width="506" height="593"></p>
<p>注意:关于寄存体(Bank)选择,在直接寻址和间接寻址两种方式下,方法是不同的,见上图。<br>
A.直接寻址<br>
此时Bank由STATUS寄存器中的RP0:RP1来选择,见STATUS寄存器的描述。<br>
B.间接寻址<br>
此时Bank是由间接寻址寄存器FSR<7>和状态寄存器STATUS<7>两个位来选择。</p>
<p align="center"><img src="image/a219.gif" width="302" height="96"></p>
<p>例程:用间接寻址方式往寄存器体Bank1中的A0h-A5h送数据88h。</p>
<p align="center"><img src="image/a220.gif" width="289" height="229">
</p>
<p>§3.8 I/O口<br>
<br>
PIC16C92X有7个I/O口,这些I/O管脚有的和某些外部功能部件复用,即可以作为一般的I/O引脚,也可以作为某些功能的输入/输出。PIC16C92X把I/O口都作为寄存器来处理,编程非常方便。<br>
<br>
§3.8.1 PORTA和TRISA<br>
<br>
PIC16C92X的PORTA是6位宽的I/O口,和PIC16C74等完全一样,参阅§2.8。<br>
<br>
§3.8.2 PORTB和TRISB<br>
<br>
PORTB是一个8位,双向可编程的I/O口,和其他PIC16CXXX完全一样,参阅§1.8.2。<br>
<br>
§3.8.3 PORTC和TRISC<br>
<br>
PORTC是一个6位双向I/O口,和其他如PIC16C64等完全一样,参阅§1.8.3。<br>
PORTC的I/O脚还可以作为其他一些外部功能的引脚,这些将在相应的章节介绍。<br>
<br>
§3.8.4 PORTD和TRISD<br>
<br>
PORTD是一个具有斯密特输入缓冲的I/O口,其中RD0~RD4可作为普通的I/O口线,也可以作LCD的Seg驱动;而RD5~RD7可作为普通的单向输入口线,也可以作为LCD的Seg驱动或Com驱动。当PO
RTD作为普通数字I/O口时,TRISD控制其RD0~RD4的输入/输出方向。</p>
<p align="center"><img src="image/a221.gif" width="567" height="454"></p>
注意,芯片上电复位后,RD0~RD4是自动初始化作为LCD的Seg驱动(Seg00~Seg04)。如果要定义其为数字口,必须把LCDSE寄存器中相应的位清零(参阅§1.13有关LCD的叙述)。<br>
<p align="center"><img src="image/a222.gif" width="426" height="80"></p>
<p align="center">表3.5 PORTD相关寄存器</p>
<div align="right"><br>
<a href="PIC16Cxxx-3-1.htm">上一页</a> <a href="PIC16Cxxx-3-3.htm">
下一页</a> <a href="PIC16Cxxx-2-5.htm"> </a></div>
<p><a href="PIC16Cxxx-1.htm">第一章</a> <a href="PIC16Cxxx-2.htm">第二章</a>
<a href="PIC16Cxxx-3.htm">第三章</a> <a href="PIC16Cxxx-4.htm">第四章</a>
<a href="PIC16Cxxx-5.htm">第五章</a> <a href="PIC16Cxxx-6.htm">第六章</a>
<a href="PIC16Cxxx-7.htm">第七章</a> <a href="PIC16Cxxx-8.htm">第八章</a>
<a href="PIC16Cxxx-9.htm">第九章</a> <a href="PIC16Cxxx-10.htm">第十章</a></p></td>
</tr>
</table>
<table width="700" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"> </td>
<td> </td>
</tr>
</table>
<table width="700" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#990000">
<td height="1" width="634"></td>
</tr>
<tr align="right">
<td height="6"></td>
</tr>
<tr align="right">
<td><font color="#990000" size="2">[ <a href="index.htm">返回</a> ]</font>
</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -