一、PIC16C57单片机简介
PIC16C57是CMOS单片机,具有低功耗、高性能、8位全标志等特点;采用RISC技术,只有33条单字节单周期指令,除了程序分支需要2个周期外,其余的指令均为单周期;每条指令的执行时间最快达200 ns.字长12位,指令高度对称,从而比同类的8位单片机压缩一半以上的程序量。
PIC16C57有紫外线可擦除的封装形式和一次编程(OTP)产品。
PIC16C57是28脚双列直插式集成电路芯片.2K X 12位的EPROM( ROM),80×8位RAM,21条I/O线;片内有7硬件构成的专用寄存器,有2级硬件堆栈,8位实时时钟/计数器RTCC;带有8位可编程的预定标器有监视定时器的WDT(看门狗)。为能可靠工作,WDT含有本身的RC振荡器,工作电压为2.5~6. 25 V。其适用于很多场合。
PIC16C57单片机芯片引脚见图,各引脚功能如下。
●RAO~RA3:1/0输入/输出端口A,对应内部寄存器f5,这是一个4位I/O端口,并可实现位控。
●RBO~RB7:110输入/输出端口B,对应内部寄存器f6,这是一个8位I/O端口,并可实现位控。
●RCO~RC7:1/0输入/输出端口C,对应内部寄存器f7,这是一个8位I/O端口,并可实现位控。
●TOCK1:实现时钟/计数器的输入端,在该端输入的信号上升沿或下降沿可计数,边沿可通过软件选择。
●MCLR(反相):主复位端,当MLR为低电平时,对PIC16C57单片机复位。
●OSC1:振荡信号输入端,在用石英振荡器时,用于输入外部振荡信号;用RC振荡器时,它接RC电路。在用石英振荡器时,它接石英晶体一端。
●OSC2:振荡信号输出端。在用石英振荡器或用陶瓷振荡器时,通过一个串联电阻R;接振荡晶体的一端;在用RC振荡器时,常当作CLKOUT(CLKOUT= fasc/4)输出。
●VDD:电源电压,一般为5 V(2. 5~6. 25 V)。
●vss:地端。
二、现场温度测量控制仪表
现场温度测量控制代表原理图如下图所示。
1.构成原理
下图中,IC1为PIC16C57单片机,ICz为74LS164位串行输出移位寄存器,IC3为74LS373 8位数据锁存器,lC4为串行三总线协议E2 PROM,IC5为ZH8907编解码器。
单片机PIC16C57的RAO、RA1、RA2、RA3和RTCC构成电阻测温电路,经单片机运算后,通过4位LED显示器进行数据显示,同时从Ez PROM中取出事先输入的控制上下限与此温度值比较,然后通过RC6和RC7输出和显示控制结果,同时通过IC5与主机通信。
2.测温原理
由R1、R2、R3、R1、C、Rm构成的测温电路中,R1代表现场热敏电阻(铜电阻、铂电阻……),Rm为传输导线电阻。
工作时,首先RA0输出高电压,通过电阻R1为C充电,同时由RTCC记录充电时间t1(即
RTCC由0到1反转)。其过程为
然后RA2输出低电平,C通过R2放电至0。
接着RA1输出高电压,通过热敏电阻Rt为C充电,同时由RTCC记录充电时间t2。其过程为:
然后RA2输出低电平,C通过R2放电至0。
随后.RA3输出高电平,通过R。为c充电,RTCC记录这一时间为t3。其过程为:
式(3 -8)减式(3-9)得
式(3—1:)除以式(3 -10)得
式中:R1 R3为已知.可选精密低漂移电阻;t1、t2、t3由RTCC计算得来,由此得出现场此温度下的R阻值;通过计算机程序查表或公式运算,即可算出现场温度f。
由式(3 - 12)可知,测量的误差可能与充放电时间t1、t2、t3的计数和电阻R1、R3的选取有关。
如选择低漂移误差电阻(如0. 5%精度),计数分辨率在8位以上,即28—256次计数,则测量精确度可为1%以上;如计数分辨率为16位,即216 -65 535次计数,则测量精度可为0.1%以上,效果非常理想。
3.现场单元功能
该单元表前机板只设三个按键:模式转换键F、数字移位键G和增量键“▲”。
每按一次模式转换键F,仪表循环进行如表所列的状态。
在①、②、③状态时,又通过移位键G和增量键“▲”对原来的数据进行修改。每按一次移位键,显示器上闪烁显示要输人数据的这一位。输人数据可通过增量键“▲”进行,输入完后,按移位键,闪烁将移向下一位,同时这一位已输入的数据存人EE PROM。
每按一次增量键“▲”,显示器上将显示一次增量的结果,如下图所示。
现场单元功能表
4.数据的传输
本现场单元在向主机发送数据之前,首先接收主机所要求的信息,依次进行发送。
IC5编解码器通过D12 - D15给出这一要求,详见下表。