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

📄 pic16cxxx-3-3.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="778" 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">第三章 PIC16C92X功能原理</font><font size="3"></font></b></td>
        </tr>
        <tr> 
          <td> <p>&nbsp;</p></td>
        </tr>
        <tr valign="top"> 
          <td height="300"> <p>§3.8.5 PORTE和TRISE<br>
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;PORTE是一个数字输入口,也可以作为LCD的Seg驱动。它们有斯密特触发缓冲。</p>
            <p align="center"><img src="image/c3.gif" width="320" height="364"></p>
            <p align="center">注意,芯片上电复位后,PORTE是被自动定义为LCD的Seg驱动。如果要使其成为数字输入口,须将LCDSE中相应的位清零。</p>
            <p align="center"><br>
              <img src="image/c5.gif" width="531" height="261"> </p>
            <p>§3.8.6 PORTF和TRISF<br>
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;PORTF是一个数字输入口,也可以作为LCD的Seg驱动。它们有斯密特触发缓冲。</p>
            <p align="center"><img src="image/a223.gif" width="320" height="374"></p>
            <p align="center">图3.11 PORTF结构图</p>
            <p align="center">注意,芯片上电复位后,PORTF是被自动定义为LCD的Seg驱动。如果要使其成为数字输入口,须将LCDSE中相应的位清零。</p>
            <p align="center"><img src="image/c4.gif" width="520" height="196"></p>
            <p align="center">表3.7 PORTF相关寄存器</p>
            <p>§3.8.7 PORTG和TRISG<br>
              <br>
              PORTG是一个数字输入口,也可以作为LCD的Seg驱动。它们有斯密特触发缓冲。</p>
            <p align="center"><img src="image/a225.gif" width="320" height="364"></p>
            <p align="center">图3.12 PORTG结构图</p>
            <p align="center">注意,芯片上电复位后,PORTG是被自动定义为LCD的Seg驱动。如果要使其成为数字输入口,须将LCDSE中相应的位清零。</p>
            <p align="center"><img src="image/a226.gif" width="449" height="219"><br>
            </p>
            <p><br>
              §3.9 定时器/计数器<br>
              <br>
              &nbsp;&nbsp;&nbsp;PIC16C9XX有三个定时器TMR0、TMR1、TMR2,每个定时器可以产生中断请求,另外定时器也和一些别的模块配合来完成捕捉/PWM等功能,这部分功能和PIC16C74等完全一样,请参阅§2.9。<br>
              <br>
              §3.10 CCP模块<br>
              <br>
              &nbsp;&nbsp;&nbsp;PIC16C92X的CCP模块和PIC16C74等完全一样,请参阅§2.11。<br>
              <br>
              §3.11 同步串行口(SSP)模块<br>
              <br>
              &nbsp;&nbsp;&nbsp;PIC16C92X同步串行口模块(以下简称SSP)和PIC16C74等完全一样,请参阅§2.12。<br>
              <br>
              §3.12 A/D转换<br>
              <br>
              &nbsp;&nbsp;&nbsp;目前只有PIC16C924带A/D转换功能,它和PIC16C73的A/D转换完全一样,请参阅§2. 
              14中有关PIC16C73 A/D的内容。 <br>
              <br>
              §3.13 LCD模块<br>
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;PIC16C9XX具有LCD驱动功能。芯片内的LCD模块用来产生时序波形以控制静态或动态复合LCD显示屏。它可以支持最多达32条Seg线和4条Com线,并且可以控制LCD像素。<br>
              &nbsp;&nbsp;&nbsp;芯片内由三个控制寄存器(LCDCON、LCDSE及LCDPS)控制时序输出,由16个LCD数据寄存器来控制LCD像素。在通常的操作中,控制寄存器用来控制LCD显示屏,初始化工作包括定义LCD之Com线的数量以及定义LCD相位时钟。一旦定义完成,LCD的数据寄存器的数据即体现到LCD显示屏上像素的亮或灭,每个位对应一个像素,&quot;1&quot;为亮,&quot;0&quot;为灭。<br>
              &nbsp;&nbsp;&nbsp;一旦LCD模块被定义后,LCDEN位(LCDCON&lt;7&gt;)即用来控制使能或关闭LCD模块。如果置SLPEN(LCDCON&lt;6&gt;)=0,则LCD模块在睡眠(Sleep)下依然可以工作。</p>
            <p><img src="image/a227.gif" width="604" height="650"></p>
            <p>LCD模块如下图所示:</p>
            <p align="center"><img src="image/a228.gif" width="581" height="394"></p>
            <p align="center">图3.14 LCD模块</p>
            §3.13.1 LCD时序<br> <br> &nbsp;&nbsp;&nbsp;&nbsp;PIC16C9XX的LCD模块可以有3种时钟源,并且支持静态、1/2、1/3和1/4的多路组合。<br>
            一、时钟源选择<br>
            三种时钟源:<br> &nbsp;&nbsp;&nbsp;&nbsp;1. 内部RC振荡(14KHZ)<br> &nbsp;&nbsp;&nbsp;&nbsp;2. 
            TIMER1<br> &nbsp;&nbsp;&nbsp;&nbsp;3. Fosc/256<br> &nbsp;&nbsp;&nbsp;&nbsp;第1种时钟频率较低,一般用于在睡眠中仍需LCD工作的场合,因为比较省电。如果不选用这个内部RC振荡或LCD模块不启用,它即自动关闭以节省功耗。<br> 
            &nbsp;&nbsp;&nbsp;&nbsp;第2种是使用TIMER1的外部振荡,一般为32KHZ,接在T1OSO和T1OSI之间。它也是较低频率的振荡,也是针对睡眠中的LCD而设计。<br> 
            &nbsp;&nbsp;&nbsp;&nbsp;第3种是系统时钟256分频后的信号源,当系统Fosc=8M时,它约为32KHZ。<br>
            时钟源由LCDCON&lt;3:2&gt;选择,参见图1.51。<br> <p align="center"><img src="image/a229.gif" width="580" height="230"></p>
            <p align="center">图3.15 LCD时钟电路</p>
            <p>LCD帧频率的计算方式如下表所示:</p>
            <p align="center"><img src="image/a230.gif" width="409" height="142"></p>
            其中LP3:LP0为预分频数,见下图:<br> <p align="center"><img src="image/a231.gif" width="436" height="212"></p>
            <p>二、多路时序产生电路<br>
              &nbsp;&nbsp;&nbsp;&nbsp;时序产生电路根据LCD显示方式共可产生1~4路Com多路时钟(COM0: COM3)信号,由LMUX1:LMUX0(LCDCON&lt;1:0&gt;)定义,见图3.13所示。<br>
              &nbsp;&nbsp;&nbsp;&nbsp;下表列出各种情形下的LCD帧频率(计算式见表1.28)。</p>
            <p align="center"><img src="image/a232.gif" width="579" height="204"></p>
            <p>下图是一个例子:</p>
            <p align="center"><img src="image/a233.gif" width="552" height="482"></p>
            <p align="center">图3.17 LCD 1/4多路驱动显示的波形</p>
            <p>§3.13.2 LCD 中断<br>
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;LCD时序发生电路提供一种中断,它发生在一帧时序波形产生过程中的某一个固定的时刻,主要是用来在一帧新的LCD波形产生之前,写入相应的像素数据,这样可以获得较好的LCD图像,见下图:</p>
            <p align="center"><img src="image/a234.gif" width="578" height="530"><br>
              <br>
              图3.18 1/4多路驱动</p>
            &nbsp;&nbsp;&nbsp;&nbsp; <p>如上图所示,一旦LCD控制模块完成当前帧数据的读取,则发生中断请求,以便CPU在TFWR时间内为下一帧图像置入数据。<br>
              <br>
              §3.13.3 像素控制<br>
              <br>
              &nbsp;&nbsp;&nbsp;&nbsp;像素寄存器中的位控制每个像素的状态(亮或暗),每位控制一个相应的像素,见下图:</p>
            <p align="center"><img src="image/a236.gif" width="355" height="208"><br>
              <br>
            </p>
            <div align="right"><br>
              <a href="PIC16Cxxx-3-2.htm">上一页</a> <a href="PIC16Cxxx-3-4.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">&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 + -