尽管Microchip公司不断为其日益扩大的PIC微控制器产品线增加更多功能,但有时设计工程师只需其中一小部分功能。也许设计工程师还需要目前尚不存在的一组特性,或者继承了一种设计但不能升级,或者可能只想进行试验并打破以往传统限制。本文将介绍一些挖掘各种PIC产品极限的应用方法,其中一些技巧也适用于其它微控制器,但这里只介绍用于PIC的源代码与具体示例。本文还将分析一些方法,它们是关于如何增加另一个异步串口、更容易地处理精度扩展(32位或更高)算法、增强并行从端口以及如何使用一些异步串口常被忽略的特性。
异步串口
许多PIC都具有一个或两个异步串口,但如果它们不够用,那么位拆裂(Bit-banging)剩余I/O管脚是一种常用的解决方案,且适用于整个PIC系列。但这种方案是软件密集型的,它在保持可靠通信所需的关键时序的同时,将难以进行其它任何操作。另一种选择方案是检测起始位的上升沿,并采用定时器中断来读取数据。这种方法在位拆裂方法的基础上有了很大改进,但仍需要大量的软件开销以处理每一位的中断,而面向任何中断的延迟都可能导致同步问题。