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

📄 pic16cxxx-2-4.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="777" border="0" cellspacing="0" cellpadding="0">
  <tr align="center">
    <td>&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">第二章 PIC16C7X单片机</font><font size="3"></font></b></td>
        </tr>
        <tr> 
          <td> <p>&nbsp;</p></td>
        </tr>
        <tr valign="top"> 
          <td height="300"> <p>§2.9 定时器/计数器<br>
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;关于这个部分,读者只要记住PIC16C72/72A/73A/73B/74A/74B/76/77和PIC16C67/66/65/63/62等一样,有TIMER0、TIMER1和TIMER2。而PIC16C71/711和PIC16C61一样只有TIMER0即可,读者可参阅§1.9。<br>
              <br>
              §2.10 看门狗WDT<br>
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;PIC16C7X的看门狗WDT和PIC16C6X的看门狗完全相同,请参阅§1.13.5。<br>
              <br>
              §2.11 CCP模块</p>
            <p><img src="image/a185.gif" width="499" height="43" hspace="50"></p>
            <p>&nbsp;&nbsp;&nbsp;&nbsp; PIC16C73A/73B/74A/74B/76/77有2个CCP模块,PIC16C72/72A有一个CCP模块,而PIC16C71/711没有CCP模块。PIC16C7X的CCP模块功能和PIC16CXX之CCP功能基本上相同,只有一点,那就是当CCP设置成&quot;比较输出触发事件&quot;(CCPxM3:CCPxM0=1011)时,可以用来触发启动A/D转换,见下图:</p>
            <p align="center"><img src="image/a186.gif" width="599" height="641"></p>
            <p> &nbsp;&nbsp;&nbsp;&nbsp;其余CCP功能PIC16C7X和PIC16C6X完全一样,请参阅§1.10。<br>
              <br>
              §2.12 同步串行口模块(SSP)</p>
            <p><img src="image/a187.gif" width="440" height="51" hspace="30"></p>
            <p> &nbsp;&nbsp;&nbsp;&nbsp;除PIC16C71/711外,其余PIC16C72/72A/73A/73B/74A/74B/76/77都有SSP模块,其功能和用法和PIC16C62/63/65/66/67的SSP完全一样,请参阅§1.11。<br>
              <br>
              §2.13 串行通讯接口(SCI)</p>
            <p><img src="image/a189.gif" width="307" height="43" hspace="60"></p>
            <p>PIC16C7X中,只有PIC16C73A/73B/74A/74B/76/77有SCI模块,其功能和用法同PIC16C63/65/66/67的SCI完全一样,请参阅§1.12。<br>
              <br>
              §2.14 A/D转换<br>
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;PIC16C7X最显著的特点就是带8位A/D转换功能,其中PIC16C74A/74B/77有8路,PIC16C72/72A/73A/<br>
              73B/76有5路,而PIC16C71/711有4路。这些芯片中间A/D输入都由一个多路开关连到相同的采样电路和保持电路上,采用逐次逼近算法进行模数转换。参考电压是软件可编程的,可以是芯片的电压值VDD,也可以选择RA3/AN3/VREF脚上的电压值。<br>
              有关A/D模块有三个寄存器:<br>
              &nbsp;&nbsp;&nbsp;&nbsp;1. A/D结果寄存器 ─ ADRES,存放A/D转换的数值结果;<br>
              &nbsp;&nbsp;&nbsp;&nbsp;2. A/D控制寄存器0 ─ ADCON0,控制A/D转换操作;<br>
              &nbsp;&nbsp;&nbsp;&nbsp;3. A/D控制寄存器1 ─ ADCON1,控制选择A/D口线的功能。<br>
              下面是ADON0/ADCON1各个位的意义:</p>
            <p><img src="image/a190.gif" width="607" height="734"></p>
            <p>&nbsp;&nbsp;&nbsp;&nbsp;注意,在PIC16C71/711中,A/D中断标志位ADIF是在ADCON0中,但在PIC16C72/72A/73A/73B/74A/74B 
              /76/77中,A/D中断标志位ADIF则在PIR1中,参阅§2.7有关PIR1的描述。<br>
              <br>
              <img src="image/a191.gif" width="638" height="605"></p>
            &nbsp;&nbsp;&nbsp;&nbsp;当将A/D口线选为模拟输入时,应把其相应的I/O方向控制位(TRIS)置为1。在A/D转换开始前,A/D输入口先采样一段时间,然后再进行A/D转换计算。当一次A/D转换完成后,其结果数值放入ARRES寄存器中,硬件会自动把GO/DONE(ADCON0&lt;2&gt;)清为零,并将A/D中断请求位ADIF(PIR1&lt;6&gt;)置为1发出中断请求。<br>
            下面是进行A/D转换的程序编写步骤:<br> &nbsp;&nbsp;&nbsp;&nbsp;1. 设置A/D功能模块<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;·设置选择模拟输入口/参考电压源(ADCON1,ADCON0&lt;5:3&gt;)<br> 
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;·选择A/D转换时钟(ADCON0&lt;7:6&gt;)<br> 
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;·打开使能A/D模块(ADCON0&lt;0&gt;)<br> 
            &nbsp;&nbsp;&nbsp;&nbsp;2. 设置A/D中断(如果需要A/D中断功能) <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;·清ADIF=0<br> 
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;·置ADIE=1<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;·置GIE=1<br> 
            &nbsp;&nbsp;&nbsp;&nbsp;3. 等待A/D采样完成<br> &nbsp;&nbsp;&nbsp;&nbsp;4. 
            启动A/D转换<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;·置GO/DONE=1<br> 
            &nbsp;&nbsp;&nbsp;&nbsp;5. 等待A/D转换完成,可以通过以下检测方法来判断<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;·或者软件查询GO/DONE的状态(看是否变为0)<br> 
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;·或者等待A/D中断产生<br> &nbsp;&nbsp;&nbsp;&nbsp;6. 
            读A/D结果寄存器ADRES<br> &nbsp;&nbsp;&nbsp;&nbsp;7. 如果需要再进行另一次A/D转换,须等待至少2TAD时间<br>
            下面是A/D模块方块图:<br> <p align="center"><img src="image/a192.gif" width="578" height="321"> 
            </p>
            <p align="center">PIC71/711<br>
            </p>
            <div align="center"> 
              <p><img src="image/a193.gif" width="579" height="393"></p>
              <p>PIC72/73/74/76<br>

⌨️ 快捷键说明

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