产品推荐:水表|流量计|压力变送器|热电偶|液位计|冷热冲击试验箱|水质分析|光谱仪|试验机|试验箱


仪表网>技术中心>使用指南>正文

欢迎联系我

有什么可以帮您? 在线咨询

高精度AD在ZC-3000-4压力校验仪开发花絮

来源:金湖长通测控仪表厂   2015年06月20日 08:07  

压力校验仪开发工程师依照demo编写了如下代码,却打不开AD转换(显示的转换结果乱七八糟,没有任何规律),其中displaystring()是用LCD显示字符串的函数,已经调试成功。编写程序如下:
#Include <REG1210.H>       // The header file with the MSC register definitions
#Include <stdio.h>         // Standard I/O so we can use the printf function

extern signed long bipolar(void);
#define LSB 298e-9
#Ifndef XTAL  // if no XTAL compiler variable defined use:
#define XTAL 11059200  // XTAL frequency 11.0592 MHz
#Endif

Main(void) {
    char i,j;
    float result;

    PDCON = 0x75;          // Turn on the A/D
    ACLK = XTAL/1000000;   // ACLK freq. = XTAL Freq./(ACLK +1) = 0.9216 MHz
                           // 0.9216 Mhz/64 = 14,400 Hz
    DECIMATION = 1440;     // Data Rate = 14,400/1,440 = 10 Hz
    ADMUX = 0x08;          // AINP = AIN0, AINN = AINCOM  
    ADCON0 = 0x30;         // Vref On, 2.5V, Buffer Off, PGA=1
    ADCON1 = 0x01;         // bipolar, auto, self calibration, offset, gain
    //wait for the calibration to take place
    for (i=0;i<3;i++){     // dump 3 conversions
        while(!(AIE&0x20)) {}
        j=ADRESL; 
    }

j=1;
    while(1){
        while(!(AIE&0x20)) {} // Waiting for conversion
        result=bipolar();     // Save Results
        sprintf (szBuffer, "%10.8f", result*LSB);
        DisplayString(0x80, szBuffer);  // Display ADResult on the first line of LCD
    }
}

免责声明

  • 凡本网注明“来源:仪表网”的所有作品,均为浙江兴旺宝明通网络有限公司-仪表网合法拥有版权或有权使用的作品,未经本网授权不得转载、摘编或利用其它方式使用上述作品。已经本网授权使用作品的,应在授权范围内使用,并注明“来源:仪表网”。违反上述声明者,本网将追究其相关法律责任。
  • 本网转载并注明自其它来源(非仪表网)的作品,目的在于传递更多信息,并不代表本网赞同其观点或和对其真实性负责,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品第一来源,并自负版权等法律责任。
  • 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
联系我们

客服热线: 15267989561

加盟热线: 15267989561

媒体合作: 0571-87759945

投诉热线: 0571-87759942

关注我们
  • 下载仪表站APP

  • Ybzhan手机版

  • Ybzhan公众号

  • Ybzhan小程序

企业未开通此功能
详询客服 : 0571-87759942