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

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

第二章 PIC16C5X指令集及程序设计技巧
第七节 PIC16C5X程序设计基础
§2.7 PIC16C5X程序设计基础 第三章 电路及程序范例 十二、PIC16C5X模拟EPLD、PLD电路 EPLD、PLD较通用逻辑器件具有逻辑设计灵活、可减小芯片使用数量、可加密等优点。由于PIC16C5X系列单片机运行速度很高，因此在很多情况下可模拟EPLD、PLD器件的功能，其保密性能更好，使用更灵活。 下面以-8输入端、8输出端24个积项的与─或可编程阵列为例介绍模拟方法。 可编程阵列电路结构如图1.27所示。PIC16C5X模拟电路如图1.28。其中RB口设置为输入端RC口为输出端。可编程阵列要实现的电路功能的真值表如表1.2。

图1.27 与/或可编程阵列电路图

图1.28 16C5X模拟电路图

1、电路设计：

表1.2 真值表

2、流程图：

上算法中，积项比较以下逻辑表达式进行
<RB(0:7).XOR.Pn-X>.AND.Mn-a
其中：RB（0:7）为从输入端读入的输入值；Pn-x为需比较第n个积项，即真值表中第n项，或输出逻辑函数与-或表达式中的第n个积项，如表1.2中P1- x= ××××A3 A2 A1 A0=××××0 0 0 0如果不相等则跳，相等则置1，Mn-a项为第n 个积项屏蔽参数，用于屏蔽多余的输入端的值，如此例中仅用RB口低四位输入端，因此Mn-a 为b`00001111'。
如上表达式结果为"0"则把积项状态寄存器中对应位置"1"，反之置"0"。
输出状态由下逻辑表达式确定：
(Preg-a.AND.OR-a).OR.(Preg-b.AND.OR-bn).OR.(Preg-c.AND.OR.cn)
其中Preg-a.Preg-b.Preg-c为积项状态寄存器，积项比较的结果。OR-an. OR-bn.OR-cn为第n个输出端输出值的比较参数，根据真值表或"与──或"表达式确定。
如表1.2中
Y0=P0+P1+P2+P3+P4+P5+P6+P7+P8+P9+P10+P11+P12+P13+P14
则 OR-A0=B`11101101'
OR-B0=B`011101111'
OR-C0=B`00000000'
当该逻辑表达式不为"0"时，输出为"1"，反之为"0"。

3、程序清单：

上一页 下一页

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

[ 返回 ]