📄 pic16cxxx-7-2.htm
字号:
T1CKPS0 EQU 4 ;-┐时钟分频<br>
T1CKPS1 EQU 5 ;-┘设置<br> <br>
;T2CON位定义<br>
T2CKPS0 EQU 0 ;-┐输入时钟<br>
T2CKPS1 EQU 1 ;-┘分频比设置<br>
TMR2ON EQU 2 ;开/关定时器2<br>
TOUTPS0 EQU 3 ;-┐ <br>
TOUTPS1 EQU 4 ; │输出比例<br>
TOUTPS2 EQU 5 ; │设置<br>
1TOUTPS3 EQU 6 ;-┘ <br> <br>
;INTCON位定义<br>
RBIF EQU 0 ;RB口中断标志<br>
INTF EQU 1 ;INT中断标志 <br>
RTIF EQU 2 ;RTCC溢出中断标志<br>
RBIE EQU 3 ;RB口中断允许<br>
INTE EQU 4 ;INT中断允许<br>
RTIE EQU 5 ;RTCC中断允许<br>
ADIE EQU 6 ;A/D中断允许(只针对16C71)<br>
PEIE EQU 6 ;外设中断允许(除16C71以外) <br>
GIE EQU 7 ;全体中断允许<br> <br>
;ADCON0位定义<br>
ADON EQU 0 ;选通A/D<br>
ADIF EQU 1 ;A/D中断标志<br>
GODONE EQU 2 ;启动A/D<br>
CHS0 EQU 3 ;-┐ <br>
CHS1 EQU 4 ; │A/D通道选择<br>
CHS2 EQU 5 ;-┘<br>
ADCS0 EQU 6 ;-┐A/D频率<br>
ADCS1 EQU 7 ;-┘选择<br> <br>
;ADCON1位定义 <br>
PCFG0 EQU 0 ;-┐<br>
PCFG1 EQU 1 ; │A/D口设置<br>
PCFG2 EQU 2 ;-┘<br> <br>
;PIR1位定义<br>
TMR1IF EQU 0 ;TMR1中断标志<br>
TMR2IF EQU 1 ;TMR2中断标志<br>
CCP1IF EQU 2 ;CCP1中断标志<br>
SSPIF EQU 3 ;SSP中断标志<br>
TXIF EQU 4 ;SCI发送中断标志<br>
RCIF EQU 5 ;SCI接收中断标志<br>
ADIF EQU 6 ;A/D中断标志<br>
PSPIF EQU 7 ;并行口中断标志<br> <br>
;PIR2位定义<br>
CCP2IF EQU 0 ;CCP2中断标志<br> <br>
;SSPCON位定义<br>
SSPM0 EQU 0 ;-┐<br>
SSPM1 EQU 1 ; │SPI或I2C模式及<br>
SSPM2 EQU 2 ; │分频比设置 <br>
SSPM3 EQU 3 ;-┘<br>
CKP EQU 4 ;时钟上升/下降沿选择<br>
SSPEN EQU 5 ;串行口使能<br>
SSPOV EQU 6 ;接收到数据标志位<br>
WCOL EQU 7 ;准备好发送数据标志位<br> <br>
;CCP1CON位定义<br>
CCP1M0 EQU 0 ;-┐<br>
CCP1M1 EQU 1 ; │CCP1模式选择及<br>
CCP1M2 EQU 2 ; │分频比设置<br>
CCP1M3 EQU 3 ;-┘<br>
CCP1Y EQU 4 ;-┐PWM模式中10位脉宽<br>
CCP1X EQU 5 ;-┘系数的低2位<br> <br>
;CCP2CON位定义<br>
CCP2M0 EQU 0 ;-┐<br>
CCP2M1 EQU 1 ; │CCP2模式选择<br>
CCP2M2 EQU 2 ; │及分频比设置<br>
CCP2M3 EQU 3 ;-┘<br>
CCP2Y EQU 4 ;-┐PWM模式中10位<br>
CCP2X EQU 5 ;-┘脉宽系数的低2位<br> <br>
;TRISE位定义<br>
PSPMODE EQU 4 ;并行口模式选择<br>
IBOV EQU 5 ;读、写并行口冲突标志<br>
OBF EQU 6 ;准备好发送并行口数据<br>
IBF EQU 7 ;接收到并行口数据<br> <br>
;RCSTA位定义<br>
RCD8 EQU 0 ;接收到数据的第9bit<br>
OERR EQU 1 ;溢出错误标志<br>
FERR EQU 2 ;传输间断错误标志<br>
CREN EQU 4 ;连续接收位<br>
SREN EQU 5 ;单个接收位<br>
RC8/9 EQU 6 ;8bit/9bit选择<br>
SPEN EQU 7 ;串行口使能<br> <br>
;PIE1位定义<br>
TMR1IE EQU 0 ;T1中断允许<br>
TMR2IE EQU 1 ;T2中断允许<br>
CCP1IE EQU 2 ;CCP1中断允许<br>
SSPIE EQU 3 ;SSP中断允许<br>
TXIE EQU 4 ;T2中断允许<br>
RCIE EQU 5 ;RC中断允许<br>
ADIE EQU 6 ;A/D中断允许(16C72/73/74)<br>
PSPIE EQU 7 ;PSP中断允许<br> <br>
;PIE2位定义<br>
CCP2IE EQU 0 ;CCP2中断允许<br>
;上电寄存器PCON<br>
POR EQU 1 ;上电复位标志<br> <br>
;SSPSTAT位定义<br>
BF EQU 0 ;接收完标志<br>
UA EQU 1 ;要求更新地址标志<br>
R/W EQU 2 ;读写控制<br>
S EQU 3 ;I2C模式起始位<br>
P EQU 4 ;I2C模式停止位<br>
D/A EQU 5 ;数据/地址标志<br> <br>
;TXSTA位定义<br>
TXD8 EQU 0 ;发送数据的第9bit<br>
TRMT EQU 1 ;传输寄存器空标志<br>
BRGH EQU 2 ;速率选择<br>
SYNC EQU 4 ;同步/异步选择<br>
TXEN EQU 5 ;发送选通<br>
TX8/9 EQU 6 ;8bit/9bit格式选择<br>
CSRC EQU 7 <br> </td>
</tr>
</table>
<p> 另外像PIC16C8X、PIC16C62X等一些功能寄存器及其位的定义用户也可以自己加进这个文件中。</p>
<p>§8.2 程序设计基础<br>
<br>
一、设置I/O口的输入/输出方向<br>
<br>
PIC16CXX的I/O口一般为双向可编程,即每一根I/O端线都可分别单独地由程序设置为输入或输出。这个过程由写I/O控制寄存器TRISf来实现,写入值为"1",则为输入;写入值为
"0",则为输出。</p>
<p><img src="image/a372.gif" width="378" height="211" hspace="30"></p>
<p> <br>
二、检查寄存器是否为零<br>
<br>
如果要判断一个寄存器内容是否为零,很简单:<br>
</p>
<p><img src="image/a373.gif" width="461" height="211" hspace="30"></p>
<p>三、比较二个寄存器的大小</p>
<p> 要比较二个寄存器的大小,可以将它们做减法运算,然后根据状态位C来判断。注意,相减的结果放入W,则不会影响二寄存器原有的值。<br>
例如F8和F9二个寄存器要比较大小:<br>
<img src="image/c6.gif" width="381" height="180" hspace="30"> </p>
<p>四、循环n次的程序<br>
<br>
如果要使某段程序循环执行n次,可以用一个寄存器作计数器。下例以F10做计数器,使程序循环8次。</p>
<div align="right">
<p><a href="PIC16Cxxx-8.htm">下一页</a> </p>
</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 + -