基于PIC单片机的直流电压测量计

摘 要:介绍了利用pic单片机制作的直流电压测量计的基本原理,通过串行口与上位机通信,并采用vb的可视化编程技术在计算机上实时显示测量的电压值。

关键词: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的格式如下:

其中:adcs1~adcs0为a/d转换时钟及其频率选择位;

  chs2~chs0为a/d转换模拟通道选择位;

转换启动控制位兼做状态位;

adon为a/d转换器开关位。

adcon1的格式如下:
其中:adfm为a/d转换转换结果格式选择位;pcfg3~pcfg0为a/d转换引脚功能选择位。

a/d转换流程:

  ②如果需要a/d中断功能,开放相应的中断使能位。

③等待所需要的采样时间。

④将启动控制兼状态位置1,启动a/d转换过程。

  ⑤等待a/d转换完成,可以通过查询或中断的方法来判断。

⑥读取a/d转换结果寄存器对adresh:adresl,如果需要,对转换中断标志清零。

2.2 串口发送数据

  与串口有关的寄存器除了和中断有关的寄存器外,我们编写程序时主要有4个:发送状态兼控制寄存器txsta、接收状态兼控制寄存器rcsta、发送寄存器txreg、波特率寄存器spbrg。

  发送状态兼控制寄存器txsta格式如下:

其中:tx9d为发送数据的第9位(如果使用9位数据帧结构);

trmt为发送移位寄存器“空”标志;

brgh为高波特率选择位(异步方式下使用);

sync为usart同步/异步模式选择位;

txen为发送使能位;

tx9为发送数据长度选择位;

csrc为时钟源选择位(异步方式下未用)。

  接收状态兼控制寄存器rcsta格式如下:

我们只使用了最高位spen(串行口使能端)。

发送寄存器txreg:

  txreg是一个用户可读写的寄存器,每次用户发送的数据都是通过写入该缓冲器来实现的。

波特率寄存器spbrg:

发送流程:

①选择合适的波特率。

  ②置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(电源电压),而

  • 基于PIC单片机的直流电压测量计已关闭评论
    A+
发布日期:2019年07月02日  所属分类:参考设计
标签: