针对pic微控制器的设计窍门

针对pic微控制器的设计窍门

ID:10677711

大小:56.50 KB

页数:5页

时间:2018-07-07

针对pic微控制器的设计窍门_第1页
针对pic微控制器的设计窍门_第2页
针对pic微控制器的设计窍门_第3页
针对pic微控制器的设计窍门_第4页
针对pic微控制器的设计窍门_第5页
资源描述:

《针对pic微控制器的设计窍门》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、针对PIC微控制器的设计窍门

2、第1图1:作为异步串行数据的ASCII码字母“Q”(0x51)。  异步串口  许多PIC都具有一个或两个异步串口,但如果它们不够用,那么位拆裂(Bit-banging)剩余I/O管脚是一种常用的解决方案,且适用于整个PIC系列。但这种方案是软件密集型的,它在保持可靠通信所需的关键时序的同时,将难以进行其它任何操作。另一种选择方案是检测起始位的上升沿,并采用定时器中断来读取数据。这种方法在位拆裂方法的基础上有了很大改进,但仍需要大量的软件开销以处理每一位的中断,而面向任何中断的延迟都可

3、能导致同步问题。500)this.style.ouseg(this)">图2:作为同步串行数据的ASCII码字母“Q”(0x51)。  大多数PIC还提供一个串行外围接口(SPI)。仅需很小开销,普通的同步SPI就可被设计成能够接收标准的异步传输。  一个典型的异步数据流包括一个起始位(总为0)、8个数据位(最低有效位在前)以及一个终止位(总为1)。图1给出了一个接收ASCII码字母“Q”(16进制为51)的例子,也可采用更少的数据位或者增加一个奇偶校验位或额外的终止位。  SPI端口也采用8位数据,但它同步在两个

4、不同管脚上发送和接收字节。数据时钟可消除对起始位或终止位的需要,且最高有效位在前。图2显示由SPI端口发送的一些数据,SPI端口在每个时钟的下降沿接收数据,在上升沿发送数据。  开始启动  一旦被接收,数据肯定被翻转,但如果SPI时钟的下降沿与每一个异步数据位的中心同步,那么数据也可能保持原样。起始位的下降沿提供最初的同步记号,其它同步记号则利用PIC的一个SPI选项。这里有好几种定时选项,包括使用定时器TMR2等。TMR2计数直到其值等于特殊函数寄存器PR2的值,然后TMR2触发SPI时钟并复位为0,接着再继续计

5、数。如果TMR2从大于PR2的值开始计数,则第一个时间间隔将比平常的时钟周期要长,因为它首先要复位到0(如图3所示)。500)this.style.ouseg(this)">图3:TMR2在起始位的前沿初始化为-PR2。  SPI端口接管产生同步记号的任务后,它将用所有的8个数据位进行计时而无需其它开销。但它会占用从起始位上升沿到TMR2与SPI端口正确初始化这段时间,从而导致中断延迟,如果启用优先级更高的中断,延迟时间将更长。不过不用担心这种中断延迟,因为PIC还有另一个秘密武器。许多PIC都具有两个或多个捕获/

6、比较/P模块,I/O管脚可在下降沿上捕获定时器的值,在起始位的上升沿则将TMR1值存储在一个CCPRx特殊函数寄存器中,并产生一次中断。中断服务程序将带有TMR1-CCPRx-PR2值的TMR2初始化,以消除掉任何延迟。列表1给出的是一个典型的中断程序。  可选的“if(!CCP1)”行可确认输入管脚是否仍为低,以避免将瞬间毛刺读成串行数据。由于-PR2(未标出)必须大于PR2,所以应仔细选择TMR2的预定标器的值,并使TMR1的预定标器的值与之一样。在上面例子中,dTim2PR2为52。最坏情况下的中断延迟应该小

7、于串行数据速率,例如在9,600波特上,该值大约为104微秒或16MHzPIC上416条指令的执行时间。SPI中断正好能够隐藏数据并启用下一个字节的CCP1中断,但切记在某些时刻翻转数据位。  尽管设计工程师通常不能控制输入数据的到达时间,且两个接收器必须时刻保持警惕,但设计者通常能交替使用两个发送器。有很多方法可用来处理硬件路由,仅需少数几个逻辑门或晶体管以及一个输出位就可进行这种选择。图4显示采用一个含4个NAND门的74HC00的方法。可在“串口1”上“选择”高速发送,在“串口2”上“选择”低速发送,这两种路

8、径的“数据输入”都来自TX管脚。500)this.style.ouseg(this)">图4:利用一个4与非门来控制两个串口。  帧错误(FERR)标记  PIC异步串口的状态位包括FERR标记。FERR表示终止位为低而不是所要求的高,这表明发送方的波特率低于接收方的波特率,并且预期的终止位的确是一个数据位。也可用FERR来检测RS-232的“中断”条件。中断通常包括一个低起始位、全0数据以及一个0终止位。如果FERR被设置且数据为0,则将有一次中断,但一般需对输入做较长时间的观察,以确认它保持为低。“中断”条件是

9、一种向系统发送秘密“蝙蝠信号”并启用特殊配置或测试模式的方法。有些终端能发送各种长度的中断,或者设计工程师可将串口的RX输入缩短为正电压,其确切电平取决于硬件,但它可低到3V。如果是RS-232状态输出(如DTR),则其有效电平为正,且将能提供接收器所需的电压电平。  TX9及TX9D是两个经常被忽略的特殊函数寄存器位,可对TX9设置进行设置,使TX9D作为

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。