摘 要:介绍了利用PIC单片机制作的直流电压测量计的基本原理,通过串行口与上位机通信,并采用VB的可视化编程技术在计算机上实时显示测量的电压值。
Microchip公司推出的PIC单片机在中
的应用越来越广泛,已形成3个层次、50多个型号,并且朝着SOC(系统单片化)的方向发展。在PIC系列单片机家族中,具备片内ADC模块的型号很多,大多数
8位或10位的。PIC16F87X是一款比较有特色的产品,他可以实现在线调试和在线编程。28脚封装的部分型号,其内部的ADC具有5个模拟通道;40脚封装的部分型号,其内部的ADC具有8个模拟通道。利用其自带的A/D转换功能,本文设计了一种电压测量计,在一定程度上简化了外围电路的设计,使系统工作更加可靠。
1 电路设计
如图1所示,电路的原理比较简单,系统接4 MHz晶振,被测的模拟电压信号从RA0/AN0输入;RC6/TX通过MAX232接RS232C串行口的第2脚(在9针RS232C的信号定义中,第2脚RXD是接收数据端),A/D转换后的数据通过串行口发送给计算机。由于PIC单片机的输入、输出电平为TTL电平,而PC机配置的是RS232C标准串行接口,两者电气规范不一致,为此采用电平转换专用芯片MAX232连接PC机。在测量电压的过程中只需从单片机接收数据,所以串口工作在单工传送方式。
2 单片机软件设计
软件部分设计要实现2个功能,一个是A/D转换,另一个是把转换的数据通过串口发送给PC机。
2.1 A/D转换
ADC模块专用的有4个完整的寄存器:ADC结果高字节寄存器ADRESH,ADC结果低字节寄存器ADRESL,0号ADC控制寄存器ADCON0和1号ADC 控制寄存器ADCON1。
ADCON0的格式如下:




其中:TX9D为发送数据的第9位(如果使用9位数据帧结构);
TRMT为发送移位寄存器“空”标志;
BRGH为高波特率选择位(异步方式下使用);
SYNC为USART同步/异步模式选择位;
TXEN为发送使能位;
TX9为发送数据
度选择位;
CSRC为时钟源选择位(异步方式下未用)。
接收状态兼控制寄存器RCSTA格式如下:



发送流程:
①选择合适的波特率。
②置SYNC=0及SPEN=1,使USART工作于异步模式。
③如果需要中断处理功能,置TXIE=1。
④如果要传送9位数据,置TX9=1。
⑤置TXEN=1,使USART工作于发送器方式。
⑥如果选择传送第9位数据,把第9位数据置入TX9D。
⑦把即将发送的8位数据送入TXREG并启动发送。
2.3 软件设计
里给出了设计流程,如图2所示。A/D转换和由串口发送数据我们都是采用了查询的方法进行设计。在程序设计中对转换结果采用了左对齐方式,忽略最低2位,也就是将10位ADC当作8位来用,降低了分辨率,但已经能够满足电压测量的需要。
利用VB6.0中的控件MSComm,编写了一个简01单的图形界面的接收与显示程序,主代码如下:



图形界面如图3所示,程序中使用的控件为MSComm、定时器、文本框和一个用于退出程序的按钮,可以修改程序使用其他的串行端口。代码行Text1.Text=Asc(DataIn)*0.02&"Volts DC"的作用是把从单片机得到的数据转化成可以在文本框中显示的数据,由程序控制进行实时的显示。
从电路图中看出,测量的电压最大值可以达到5 V(电源电压),而使用8位的ADC模块得到的组合有256种(0~255),电压的最小增量为5/256=0.0195 V,所以转换后的数字量若为250,则测得的电压值为250×0.019 5=4.87 V,若数字量为255,则电压值为255×0.019 5=4.972 5 V,接近5 V,所以可以采用0.02 V的增量,对大多数应用场合已经足够了。
此电压测量计不论在硬件还是软件上都有很大的扩展余地,可以在前面设计的基础上增加新的功能。

数字平板电视持续增长,可望2008年在全球的电视市场取得超过50%的份额。平板电视(包括...

由于有助于获得精确的热管理并且具有免校准特性,数字温度传感器将继续受到人们的欢迎...

B超图像作为重要的诊断依据,常需输出其硬拷贝,因此任何B超仪都需配备图像打印输出接...

黄氏兄弟初到北京时物色下的珠市口的那家两层小店,本是一家国营服装厂的门市部,名叫...

HAND(汉德)系列产品作为国内领先产品,将工业市场现场仪器、仪表产品技术含量提高到...