—— —— —— 技术资料下载中心

>> PIC16C5X单片机应用与设计 \

第二章 PIC16C5X指令集及程序设计技巧
第七节 PIC16C5X程序设计基础
§2.7 PIC16C5X程序设计基础 第三章 电路及程序范例 前面几章已对PIC16CXX的硬件构成、指令系统、程序设计基础及系统扩充做了详细的叙述，相信你已经对PIC16CXX芯片有了相当的认识，下面几章的主要目的是帮助大家实际应用PIC。 §1.1 开发步骤流程 当决定选择PIC来实现设计后，一般可以采取下面的开发步骤来完成：

§1.2 　设计实例
下面的这些实例都不启用WDT。读者如果需要，可以自己加上。这些实例仅向读者展示PIC16C5X的一些基本应用，当然其中很多亦具实用价值。

一、数码管LED显示（一）

本例要用PIC来实现一位LED显示，可显示0H－FH的十六进制数。程序中用一个计数器由0计数到F，同时将其在LED上显示出来。该例给出计数值与显示码的转换方法。

1、电路设计：

图1.2 数字显示（一）电路

电路中为PIC16C54的RB口来直接驱动一共阳LED。RB7－RB0分别通过限流电阻接到LED的a－g及P段上。

2、程序流程图：

线段转换子程序：

二、数码管LED显示（二）

本例说明显示二位LED的方法。二位LED显示如果象上例用I/O直接驱动，则需二个I/O口。如用七段解码器相辅，仅需一个I/O口。程序中使用一个寄存器（F20）作计数器，然后将计数结果输出显示。因为BCD解码器只能作0－9的十进制输出，所以计数器F20需转换成十进制再输出，程序中将涉及到将十六进制转成十进制BCD码的方法。

1、电路设计：
PIC16C54将二位数的BCD码输出给BCD解码器CD4056B，再由其转换成七段码输出驱动LED。

CD4056B的芯片数据请查阅有关手册。

1．3 数字显示（二）电路

2、流程图

调整程序（ADJ）：
F20中的二进制调整为BCD码的方法是将二进制码左移8次，每次移位后都检查低四位LSD+3是否大于7，如果是则再加3，否则不加。接着再将高四位MSD作相同处理。

3、程序清单：

上一页 下一页

第一节 第二节 第三节 第四节 第五节 第六节 第七节

[ 返回 ]