打印

pms132测电压

[复制链接]
299|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
34af9uc|  楼主 | 2020-10-9 21:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*********台湾应广单片机编程第5季ADC测温***********/
/*****************QQ774145445**********************/
/*****************快手:共同学习stm8*********************************/
/****************pms132电压表*********************/
/******************20201009************************/
/**************************************************/
//       _____         _____
//5v----|_20k_|--adc--|_10k_|----0v
//   
#include        "extern.h"
#define                bit0                0x01
ad_1                bit                        pa.0;
void                adc();
void                dianya();                //ad反推电压
word                ad_1_a1;
byte                dianya_a1,dianya_a2;
void        FPPA0 (void)
{
//.ADJUST_IC        SYSCLK=IHRC/2                //        SYSCLK=IHRC/2
.ADJUST_IC        SYSCLK=IHRC/4, IHRC=16MHz, VDD=5V;

/**************************************************/        //ad配置


$                ad_1                in;
$                padier                =~bit0;                //只写寄存器
$                adcc                enable,pa0;       
$                adcm                12bit,/8;
$                adcrgc                2v;
.delay                4*400;                //400us
ad_start                =1;
while(!ad_done)        {};
ad_1_a1$1                =adcrh;
ad_1_a1$0                =adcrl;
ad_1_a1                        >>=4;
/**************************************************/

while (1)
{

adc();
dianya();

}
}

/**************************************************/
void                adc()
{
.delay                4*400;                //400us
ad_start                =1;
while(!ad_done)        {};
ad_1_a1$1                =adcrh;
ad_1_a1$0                =adcrl;
ad_1_a1                        >>=4;
//ad_1_a1                        =~ad_1_a1;                //取反变增长

}
/**************************************************/
void                dianya()                //ad反推电压
{
dianya_a1                =0;
dianya_a2                =0;
while(ad_1_a1>685)        //687        //272)
{
ad_1_a1                -=685;                //-=272;
dianya_a1        ++;                        //电压整数
}
while(ad_1_a1>68)                //27
{
ad_1_a1                -=68;                //电压小数
dianya_a2        ++;

}

}

/**************************************************/

/**************************************************/

使用特权

评论回复

相关帖子

发新帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

287

主题

444

帖子

56

粉丝