📄 pic16cxxx-9.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="757" 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">第九章 PIC16CXX设计范例</font><font size="3"></font></b></td>
</tr>
<tr>
<td> <p> </p></td>
</tr>
<tr valign="top">
<td height="300"> <p> 前面几章已对PIC16CXX的硬件构成、指令系统、程序设计基础及系统扩充做了详细的叙述,相信你已经对PIC16CXX芯片有了相当的认识,下面几章的主要目的是帮助大家实际应用PIC。<br>
<br>
§9.1 开发步骤流程<br>
<br>
当决定选择PIC来实现设计后,一般可以采取下面的开发步骤来完成:</p>
<p><img src="image/a389.gif" width="443" height="740" hspace="50"></p>
<p>§9.2 设计实例<br>
<br>
下面的这些实例仅向读者展示PIC16CXX的一些基本应用,用户可以做参考。<br>
<br>
一、RB口电平变化中断的几种情况<br>
<br>
由于RB口中断是电平变化中断,无论有上升、下降沿变化都会产生中断。因此,若只有上升沿(或下降沿)中断是有效的,就必须设法剔除下降沿(或上升沿)的无效中断。<br>
<br>
(一)窄脉冲的上升沿中断:<br>
1、中断特点<br>
<img src="image/a390.gif" width="463" height="103" hspace="30"></p>
窄脉冲时,上升沿产生中断响应后,关全体中断允许,因此下降沿时虽然也会把RBIF置1,但此时不产生中断。在中断返回前把RBIF清零,就剔除了下降沿的无效中断:<br>
2、流程图<br> <br> <p align="center"> <img src="image/a391.gif" width="376" height="440">
</p>
<p>3、中断程序 </p>
<p><img src="image/c7.gif" width="494" height="236" hspace="30"></p>
<p>(二)宽脉冲上升沿中断:<br>
<br>
1、中断特性<br>
<img src="image/a392.gif" width="424" height="120" hspace="30">
</p>
<p> 当中断源脉冲很宽时,上升沿产生中断响应,下降沿将产生一个假中断,程序就该剔除这个假中断。<br>
<br>
2、流程图<br>
<img src="image/a393.gif" width="328" height="507" hspace="50"></p>
<p>3、程序清单</p>
<p><img src="image/c8.gif" width="480" height="220" hspace="30"></p>
<p>(三)电平跳变RB口中断<br>
1、中断特点<br>
若RB口的上跳和下跳都是产生有效中断,那么中断源脉宽必须足够宽以使能不漏掉中断,最小脉冲宽为中断沿开始到中断程序中读RB口和清RBIF之间的最大时间。<br>
<br>
2、流程图<br>
<img src="image/a394.gif" width="376" height="437" hspace="60">
</p>
<p>3、中断程序清单</p>
<p><img src="image/c9.gif" width="466" height="204" hspace="30"> </p>
<p>二、利用按键来唤醒CPU<br>
<br>
利用PIC16CXX系列RB口中断特性,可方便地由按键来唤醒CPU,而大部分时间CPU处于省电状态。<br>
1、电路设计<br>
选用PIC16C61,此电路实现以下功能:按SW1键亮LED1灯,松开后灯灭,与此类推,SW4对应LED4。CPU平时处于省电睡眠状态,在按键按下或松开时RB口电平变化引起中断,点亮或熄灭相应的LED,然后又回到省电睡眠。</p>
<p align="center"><img src="image/a395.gif" width="306" height="230"></p>
<p>2、程序流程图</p>
<p align="center"><img src="image/a396.gif" width="300" height="638"></p>
<p>3、程序清单</p>
<p><img src="image/c10.gif" width="578" height="938" hspace="30"></p>
<p>三、A/D转换<br>
<br>
1、电路设计<br>
本例用PIC16C71实现单通道8位A/D转换,并将转换结果以二进制形式输出到RB口。由于A/D工作频率可选择为片内RC振荡,所以能在睡眠中实现A/D变化,而在A/D完成后唤醒CPU。</p>
<p align="center"><img src="image/a397.gif" width="415" height="218"></p>
<p>2、流程图</p>
<p align="center"><img src="image/a398.gif" width="202" height="660"></p>
<p>3、程序清单<br>
<img src="image/c11.gif" width="535" height="946" hspace="30"></p>
<p><br>
<br>
</p>
<div align="center"></div>
<div align="right">
<p><br>
<a href="PIC16Cxxx-9-1.htm">下一页</a></p>
</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 + -