一、设计目标和思路
本文采用PIC16F877的USART异步通信模式,可广泛应用于单片机与PC机,以及单片机与单片机之间的通信。USART接口由RC6、RC7这两只引脚构成。RC6用于数据的发送,RC7用于接收数据。
当单片机需要通过USART发送数据时,只需将所发送数据送入数据缓冲寄存器TXERG,然后系统会自动将TXREG寄存器内容送入发送移位寄存器TSR,接着系统会根据所设置的波特率脉冲信号,通过RC6引脚从高位到低位依次发送出去。当系统将TXERG寄存器内容加载到TSR中时,会自动将中断发送标志位TXIF置位,根据程序决定是否进入中断。而当单片机需要通过USART接受数据时,通过RC7引脚将数据依次送入接收移位寄存器RSR中,当收到一个停止位时,移位寄存器RSR就把收到的8位数据自动送入接收数据缓冲器RCREG中。在接收数据缓冲器RCREG收到一个稳定的数据后,接收中断标志位RCIF将自动置位,根据程序决定是否进入中断。
二、原理结构图
本文利用PIC16F877和DS18B20传感器设计了测温计,其包含主控器部分、温度显示部分、传感测试部分和按键设计部分。
基于PIC16F877的测温计原理电路图结构如图1所示。
其中,电源部分的S1为复位按钮它在被按得时候断开放开后自动闭合,在其断开又闭合的瞬间使整套电路中各芯片的供电电压实现从5V降到0V再升到5V的过程,从而达到复位的目的。输入电容C2一般情况不接,但当集成稳压器远离整流、滤波电路时应接入一个0.33μf的电容器,它的作用是改善纹波和抑制输入的瞬时过电压,保证78L05的输入与输出间的电压差不会超过允许值。输出电容C3一般不采用大容量的电解电容器,只要接入0.1μf的电容器便可以改善负载的瞬态响应。但是,为了减小输出的纹波电压,在输出端并联一只大容量的电解电容C4,会取得更好的效果。然而,这样将随之产生一种弊端:一旦78L05的输入端出现短路时,输出端上的大电容器上储存的电荷将通过集成稳压器内部电路调整管的发射极与基极泄放,因大容量电容器释放能量较大,会造成集成稳压器内部调整管的损坏,导致电路无法工作。为了防止这一点,在78L05的输入端与输出端之间跨接一个二极管,它为C4上电荷的泄放提供了一个分流通路,对集成稳压器起保护作用。
串口接收温度函数流程图如图2所示。
三、Protues仿真调试
为调试和检验上述的电路原理图的正确性和合理性,本文通过Protues软件仿真来进行波形调试。
在仿真调试的过程中,先后对DS18B20测温模块、lcd1602显示模块、PIC单片机的USART模块通信等,分别进行了仿真测试。待各部分均测试正确无误后,方才对整体电路进行测试。图3所示即为本文对温度测量部分进行仿真调试和测试。
从Protues的仿真结果来看,本文设计的数字温度测量电路,以PIC16F877单片机为工作处理器的核心,外接DS18B20和LCD1602,用单片机处理数字信号,再把其送入显示器显示。在经过反复的仿真调试和测试后,验证其使用起来比较方便且结果简单易读。
四、结语
本文采用PIC16F877单片机,结合DS18B20传感器,来设计数字式温度测量电路,主要包含其包含主控器、温度显示、传感测试和按键设计等几个部分部分。在理论设计的基础上,利用Protues软件对其进行仿真调试和测试。与此同时,如果在本文涉及的基础上在扩展其功能,如多点测温、温度报警等,则只需调整PIC单片机程序即可。这样的话,本文设计的测温系统,在具有电路简单、维护方便等优点的同时,还具有扩展兼容性好、读数准确易懂等特点,能够满足日常生活对测温计的一般基本要求。