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

📄 pic16cxxx-4-1.htm

📁 PIC单片机C语言教程!绝对经典
💻 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="767" border="0" align="center" cellpadding="0" cellspacing="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">第四章 PIC16C8X单片机</font><font size="3"></font></b></td>
        </tr>
        <tr> 
          <td> <p>&nbsp;</p></td>
        </tr>
        <tr valign="top"> 
          <td height="300"> <p>§4.8 E2PROM型数据存储器<br>
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;在PIC16C8X中,有64×8个E2PROM数据存储器,可由程序进行读写操作。它们不是映像在普通的寄存器组中,不能由指令直接寻址,而需通过特殊寄存器来进行控制操作,下面即分别叙述。<br>
              一、数据寄存器EEDATA<br>
              &nbsp;&nbsp;&nbsp;&nbsp;8位的EEDATA寄存器中存放的是要读/写的数据。当要对E2PROM存储器写入时,先要把写入数据置入EEDATA中,而当读E2PROM 
              存储器时,CPU即是把读出数据放入EEDATA中再由用户程序去读取。<br>
              二、地址寄存器EEADR<br>
              &nbsp;&nbsp;&nbsp;&nbsp;8位的地址寄存器EEADR可以寻址256个字节的E2PROM存储器,但在PIC16C8X中目前只使用前64个字节地址(0-3FH),所以只有EEADR&lt;5:0&gt;是真正用得上的,参见§4.8.3内容。<br>
              三、控制寄存器EECON1和EECON2</p>
            <p>下图是EECON1中各位的意义。</p>
            <p align="center"><img src="image/a250.gif" width="502" height="442"></p>
            <p>EECON2不是一个物理上存在的寄存器,如果读它将是读到全0,它只在写操作时起作用,见下面§4.8.2的描述。<br>
              <br>
              §4.8.1 E2PROM读操作<br>
              <br>
              <img src="image/a251.gif" width="504" height="293"></p>
            <p>§4.8.2 E2PROM写操作<br>
              <br>
              为进行一次E2PROM写操作,用户程序须做如下步骤:<br>
              &nbsp;&nbsp;&nbsp;&nbsp;1、将E2PROM单元地址放入EEADR,把写入数据放入EEDATA;<br>
              &nbsp;&nbsp;&nbsp;&nbsp;2、将写入数据置入EEDATA;<br>
              &nbsp;&nbsp;&nbsp;&nbsp;3、做一控制序列,见下面例程。<br>
              例程:将数据88h写入E2PROM之20H单元。</p>
            <p align="center"><img src="image/a252.gif" width="438" height="323"></p>
            &nbsp;&nbsp;&nbsp;&nbsp; <p>&nbsp;&nbsp;&nbsp;&nbsp;注意,上面例程中的序列②~⑥必须严格执行,否则将不能启动E2PROM写操作。而①和⑦则是我们特别建议用户这样做,即在E2PROM 
              写操作序列步骤中要关闭所有中断以免这个序列被中断打断。<br>
              &nbsp;&nbsp;&nbsp;&nbsp;另外,WREN(EECON1&lt;2&gt;)是用来保证E2PROM不会被意外写入(象24CXX中的WP脚所起的作用),所以在平时用户程序应保持WREN=0来禁止写操作,当需对E2PROM写入时才置WREN=1,并在写入完成后将其恢复为0。用户只有置WREN=1后才能置WR(EECON1&lt;1&gt;)=1启动写操作。等上电复位后WREN位是自动清为零。<br>
              &nbsp;&nbsp;&nbsp;&nbsp;E2PROM写操作约需10ms的时间才能完成。用户程序可以通过查询WR位的状态(当WR=0时表示写操作已完成)或是利用E2PROM写入完成中断来判断一次E2PROM写操作是否完成。如要使用中断,应先置EEIE(INTCON&lt;6&gt;)=1开中断。<br>
              <br>
              §4.8.3 E2PROM操作功耗<br>
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;E2PROM操作有一定的功耗,为了使这个功耗最低,建议用户程序置EEADR&lt;7:6&gt;=00,这样芯片的IDD约为150μA,而如果&lt;7:6&gt;=11,则IDD约为400μA。所以建议用户程序在上电复位后即将EEADR&lt;7:6&gt;置为&quot;00&quot;。<br>
              <img src="image/a253.gif" width="246" height="84" hspace="50"></p>
            §4.9 I/O口<br> <br> &nbsp;&nbsp;&nbsp;&nbsp;PIC16C8X具有2个双向可编程I/O口:5位的PORTA和8位的PORTB。它们和PIC16C61的PORTA和PORTB完全相同,请参阅§1.9。<br> 
            <br>
            §4.10 定时器/计数器<br> <br> &nbsp;&nbsp;&nbsp;&nbsp;PIC16C84有一个8位定时器/计数器TIMER0,它和PIC16C6X的TIMER0完全一样,有8位预分频器,有溢出中断等,请参阅§1.10的内容。<br> 
            <br>
            §4.11 中 断<br> <br>
            PIC16C8X有4种中断源:<br> &nbsp;&nbsp;&nbsp;&nbsp;1、外部INT触发中断;<br> &nbsp;&nbsp;&nbsp;&nbsp;2、TMR0溢出中断;<br> 
            &nbsp;&nbsp;&nbsp;&nbsp;3、PORTB&lt;7:4&gt;电平变化中断;<br> &nbsp;&nbsp;&nbsp;&nbsp;4、E2PROM写操作完成中断。<br> 
            &nbsp;&nbsp;&nbsp;&nbsp;其中1~3的中断方式和PIC16C61的3种中断方式完全一样,请参阅第一章中有关PIC16C61的这部分内容。而第4种中断则是PIC16C8X特有的,见下图:<br> 
            <p align="center"><img src="image/a254.gif" width="439" height="145"> 
            </p>
            <p align="center">图4.6 PIC16C8X中断源</p>
            <p><br>
              <br>
              PIC16C8X的中断控制寄存器INTCON如下图所示:</p>
            <p align="center"><img src="image/a256.gif" width="568" height="656"></p>
            <br> &nbsp;&nbsp;&nbsp;&nbsp;E2PROM中断标志位EEIF在EECON1寄存器中,请参阅图4.5。<br> 
            &nbsp;&nbsp;&nbsp;&nbsp;有关PIC16C8X的中断处理事项请参阅§1.13.4有关PIC16C6X的中断处理部分,它们完全相同。<br> 
            <br>
            §4.12 CPU特性<br> <br> &nbsp;&nbsp;&nbsp;&nbsp;PIC16C8X和其他PIC单片机一样具备许多微处理器特性,如看门狗WDT、4种振荡选择、多种复位方式、程序保密位以及上电延时定时器PWRTE和振荡起振定时器OST等等,都和PIC16C61等完全一样,请参阅§1.13有关描述。<br> 
            &nbsp;&nbsp;&nbsp;&nbsp;PIC16C84各种复位后各特殊寄存器的状态值如下表所示:<br> <p align="center"> 
              <img src="image/a257.gif" width="587" height="163"> 
            <p align="center"><img src="image/a258.gif" width="582" height="447"> 
            </p>
            &nbsp;&nbsp;&nbsp;&nbsp;总之,PIC16C8X是易于学习和使用的单片机,读者如果已了解PIC16C61等芯片的知识,只要着重学习其相关E2PROM数据存储器方面的内容,即可掌握PIC16C8X的设计应用。 
            <div align="right"><br>
              <a href="PIC16Cxxx-4.htm">上一页</a> <a href="PIC16Cxxx-3-5.htm"> </a> 
              <a href="PIC16Cxxx-3-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">&nbsp;</td>
          <td>&nbsp;</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>&nbsp;</td>
        </tr>
        <tr> 
          <td>&nbsp;</td>
        </tr>
      </table></td>
  </tr>
</table> 
 
</body> 
</html>

⌨️ 快捷键说明

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