📄 pic16cxxx-3-3.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> </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"> </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"> </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> </p></td>
</tr>
<tr valign="top">
<td height="300"> <p>§3.8.5 PORTE和TRISE<br>
<br>
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>
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>
PIC16C9XX有三个定时器TMR0、TMR1、TMR2,每个定时器可以产生中断请求,另外定时器也和一些别的模块配合来完成捕捉/PWM等功能,这部分功能和PIC16C74等完全一样,请参阅§2.9。<br>
<br>
§3.10 CCP模块<br>
<br>
PIC16C92X的CCP模块和PIC16C74等完全一样,请参阅§2.11。<br>
<br>
§3.11 同步串行口(SSP)模块<br>
<br>
PIC16C92X同步串行口模块(以下简称SSP)和PIC16C74等完全一样,请参阅§2.12。<br>
<br>
§3.12 A/D转换<br>
<br>
目前只有PIC16C924带A/D转换功能,它和PIC16C73的A/D转换完全一样,请参阅§2.
14中有关PIC16C73 A/D的内容。 <br>
<br>
§3.13 LCD模块<br>
<br>
PIC16C9XX具有LCD驱动功能。芯片内的LCD模块用来产生时序波形以控制静态或动态复合LCD显示屏。它可以支持最多达32条Seg线和4条Com线,并且可以控制LCD像素。<br>
芯片内由三个控制寄存器(LCDCON、LCDSE及LCDPS)控制时序输出,由16个LCD数据寄存器来控制LCD像素。在通常的操作中,控制寄存器用来控制LCD显示屏,初始化工作包括定义LCD之Com线的数量以及定义LCD相位时钟。一旦定义完成,LCD的数据寄存器的数据即体现到LCD显示屏上像素的亮或灭,每个位对应一个像素,"1"为亮,"0"为灭。<br>
一旦LCD模块被定义后,LCDEN位(LCDCON<7>)即用来控制使能或关闭LCD模块。如果置SLPEN(LCDCON<6>)=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> PIC16C9XX的LCD模块可以有3种时钟源,并且支持静态、1/2、1/3和1/4的多路组合。<br>
一、时钟源选择<br>
三种时钟源:<br> 1. 内部RC振荡(14KHZ)<br> 2.
TIMER1<br> 3. Fosc/256<br> 第1种时钟频率较低,一般用于在睡眠中仍需LCD工作的场合,因为比较省电。如果不选用这个内部RC振荡或LCD模块不启用,它即自动关闭以节省功耗。<br>
第2种是使用TIMER1的外部振荡,一般为32KHZ,接在T1OSO和T1OSI之间。它也是较低频率的振荡,也是针对睡眠中的LCD而设计。<br>
第3种是系统时钟256分频后的信号源,当系统Fosc=8M时,它约为32KHZ。<br>
时钟源由LCDCON<3:2>选择,参见图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>
时序产生电路根据LCD显示方式共可产生1~4路Com多路时钟(COM0: COM3)信号,由LMUX1:LMUX0(LCDCON<1:0>)定义,见图3.13所示。<br>
下表列出各种情形下的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>
LCD时序发生电路提供一种中断,它发生在一帧时序波形产生过程中的某一个固定的时刻,主要是用来在一帧新的LCD波形产生之前,写入相应的像素数据,这样可以获得较好的LCD图像,见下图:</p>
<p align="center"><img src="image/a234.gif" width="578" height="530"><br>
<br>
图3.18 1/4多路驱动</p>
<p>如上图所示,一旦LCD控制模块完成当前帧数据的读取,则发生中断请求,以便CPU在TFWR时间内为下一帧图像置入数据。<br>
<br>
§3.13.3 像素控制<br>
<br>
像素寄存器中的位控制每个像素的状态(亮或暗),每位控制一个相应的像素,见下图:</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"> </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 + -