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

📄 pic16cxxx-7-2.htm

📁 PIC单片机C语言教程!绝对经典
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<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="776" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr align="center">
    <td width="776">&nbsp;</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">&nbsp;</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">&nbsp;</td>
        </tr>
      </table>
      <table width="700" border="0" cellspacing="0" cellpadding="2"  class="lh15">
        <tr> 
          <td align="center"><b><font size="3">第八章 PIC16CXX程序设计基础</font><font size="3"></font></b></td>
        </tr>
        <tr> 
          <td> <p>&nbsp;</p></td>
        </tr>
        <tr valign="top"> 
          <td height="300"> <p>上面我们已详细介绍了PIC16CXX的每条指令。现在我们来总结一下它们的几个特点:<br>
              &nbsp;&nbsp;&nbsp;&nbsp;1、各寄存器的每一个位都可单独地被置位、清零或测试,无须通过间接比较,可节省执行时间和程序地址空间。<br>
              &nbsp;&nbsp;&nbsp;&nbsp; 2、特殊功能寄存器的使用方法和通用寄存器的方法完全一样,即和通用寄存器一样看待。这样使程序执行和地址空间都简化很多。<br>
              &nbsp;&nbsp;&nbsp;&nbsp;3、对于跨页面的CALL和GOTO操作,要事先设置页面地址位PCLATH&lt;3&gt;,对于CALL来说,子程序返回后还要将PCLATH&lt;3&gt;恢复到本页面地址。<br>
              <br>
              §8.1 程序的基本格式<br>
              <br>
              先介绍二条伪指令:<br>
              &nbsp;&nbsp;&nbsp;&nbsp;1、EQU ─ 标号赋值伪指令 ORG ─ 地址定义伪指令<br>
              &nbsp;&nbsp;&nbsp;&nbsp;PIC16CXX一旦RESET后指令计数器PC被置为0,所以PIC16CXX所有型号芯片的复位地址为0H。<br>
              &nbsp;&nbsp;&nbsp;&nbsp;一般说来,PIC的源程序并没有要求统一的格式,大家可以根据自己的风格来编写。但这里我们推荐一种清晰明了的格式供参考。</p>
            <p><img src="image/a371.gif" width="422" height="545" hspace="30"></p>
            <p>&nbsp;&nbsp;&nbsp;&nbsp;另一些指令书写注意事项请参阅宏汇编MPASM章节。<br>
              &nbsp;&nbsp;&nbsp;&nbsp;16CXX.EQU是一个定义PIC各种寄存器变量的文件,用户可以在其中增加定义或删除定义。<br>
            </p>
            <table width="80%" border="0" cellpadding="0" cellspacing="0" align="center" class="lh15">
              <tr> 
                <td>;********PIC16CXX特殊功能寄存器定义*****************<br>
                  ;特殊功能寄存器<br>
                  INDF EQU 0<br>
                  F0 EQU 0 ;间址寄存器<br>
                  TMR0 EQU 1 ;TIMER0实时实钟<br>
                  OPTION EQU 81H<br>
                  OPTION_R EQU 81H ;TMR0预分频寄存器<br>
                  PCL EQU 2 ;程序计数器低8位<br>
                  STATUS EQU 3 ;状态寄存器<br>
                  FSR EQU 4 ;间址选择寄存器<br>
                  PORT_A EQU 5 ;-┐ <br>
                  PORT_B EQU 6 ; │可编程<br>
                  PORT_C EQU 7 ; │双向I/O口<br>
                  PORT_D EQU 8 ; │ <br>
                  PORT_E EQU 9 ;-┘ <br>
                  TRISA EQU 85H ;-┐ <br>
                  TRISB EQU 86H ; │I/O口方向<br>
                  TRISC EQU 87H ; │控制寄存器<br>
                  TRISD EQU 88H ; │ <br>
                  TRISE EQU 89H ;-┘ <br>
                  PCLATH EQU 0AH ;程序计数器高5位<br>
                  INTCON EQU 0BH ;中断控制寄存器<br>
                  PIR1 EQU 0CH ;外设中断标志寄存器1<br>
                  PIE1 EQU 8CH ;外设中断使能寄存器1<br>
                  PIR2 EQU 0DH ;外设中断标志寄存器2<br>
                  PIE2 EQU 8DH ;外设中断使能寄存器2<br>
                  TMR1L EQU 0EH ;TIMER1低位计数器<br>
                  TMR1H EQU 0FH ;TIMER1高位计数器<br>
                  PCON EQU 8EH ;上电寄存器<br>
                  T1CON EQU 10H ;TIMER1控制寄存器 <br>
                  TMR2 EQU 11H ;TIMER2<br>
                  T2CON EQU 12H ;TIMER2控制寄存器<br>
                  PR2 EQU 92H ;TIMER2周期寄存器<br>
                  SSPBUF EQU 13H ;SSP缓冲器<br>
                  SSPCON EQU 14H ;SSP控制寄存器<br>
                  SSPADD EQU 93H ;SSP地址寄存器<br>
                  SSPSTAT EQU 94H ;SSP标志寄存器<br>
                  CCPR1L EQU 15H ;CCP1低位寄存器<br>
                  CCPR1H EQU 16H ;CCP1高位寄存器<br>
                  CCP1CON EQU 17H ;CCP1控制寄存器<br>
                  RCSTA EQU 18H ;SCI接收标志控制寄存器<br>
                  TXSTA EQU 98H ;SCI发送标志控制寄存器<br>
                  TXREG EQU 19H ;SCI发送寄存器<br>
                  SPBRG EQU 99H ;波特率寄存器<br>
                  RCREG EQU 1AH ;SCI接收寄存器<br>
                  CCPR2L EQU 1BH ;CCP2低位寄存器<br>
                  CCPR2H EQU 1CH ;CCP2高位寄存器<br>
                  CCP2CON EQU 1DH ;CCP2控制寄存器<br>
                  ADRES EQU 1EH ;地址寄存器<br>
                  ADCON0 EQU 1FH ;A/D控制寄存器0<br>
                  ADCON1 EQU 9FH ;A/D控制寄存器1<br> <br>
                  ;STATUS位定义<br>
                  CARRY EQU 0<br>
                  C EQU 0 ;进/借位<br>
                  DCARRY EQU 1<br>
                  DC EQU 1 ;半进/借位<br>
                  Z_BIT EQU 2<br>
                  Z EQU 2 ;零标志位<br>
                  P_DOWN EQU 3 ;低功耗位<br>
                  PD EQU 3<br>
                  T_OUT EQU 4 ;超时位<br>
                  TO EQU 4<br>
                  RP0 EQU 5 ;-┐<br>
                  RP1 EQU 6 ; │直接寻址时寄存器体选择<br>
                  RP2 EQU 7 ;-┘<br> <br>
                  ;FSR位定义<br>
                  PS0 EQU 5 ;-┐间接寻址时<br>
                  PS1 EQU 6 ;-┘寄存器体选择<br> <br>
                  ;OPTION位定义<br>
                  TS0 EQU 0 ;-┐<br>
                  TS1 EQU 1 ; │预分频比设置<br>
                  TS2 EQU 2 ;-┘<br>
                  PSA EQU 3 ; 对TMR0或WDT分频选择<br>
                  T0SE EQU 4 ; T0CKI上升/下降沿选择<br>
                  T0CS EQU 5 ; 内部/外部时钟选择<br>
                  INTEDG EQU 6 ; INT上升/下降沿中断选择<br>
                  RBPU EQU 7 ; RB口弱上拉设置<br> <br>
                  ;T1CON位定义<br>
                  TMR1ON EQU 0 ;开/关定时器1<br>
                  TMR1CS EQU 1 ;时钟选择<br>
                  T1SYNC EQU 2 ;同步/异步时钟选择<br>
                  T1OSCEN EQU 3 ;开/关T1外部振荡<br>

⌨️ 快捷键说明

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