打印

李想测温01 (3)

[复制链接]
271|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
34af9uc|  楼主 | 2021-1-7 21:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/********************李想测温**********************/
/******************qq:774145445********************/
/*****************快手:共同学习stm8****************/
/******************20210102************************/
//                pms150g
//            _______@______
//           |1 vdd    gnd 8|---------------------|地
//           |2 pa7    pa0 7|--jiance20r---|      |
//           |3 pa6    pa4 6|--dianzu100k--|--||--|
//           |4_pa5____pa3_5|--ntc100k-----|  103
/**************************************************/
#include        "extern.h"
void                cewen();                //测温
void                jisuan();                //计算温度

jiance                bit                        pa.0;                //检测脚
dianzu                bit                        pa.4;                //标准电阻100k
ntc                        bit                        pa.3;                //ntc电阻100k
word                cewen_a1,cewen_a2,cewen_a3;
byte                xianshi_hong,xianshi_lv;
byte                temp;                                        //温度
/**************************************************/
void        FPPA0 (void)
{
.ADJUST_IC        SYSCLK=IHRC/4                //        SYSCLK=IHRC/4
word                a1;
word                b1;
while (1)
{
cewen();                //第一次舍弃
cewen();
jisuan();
}
}

/**************************************************/                //测温
void                cewen()
{
cewen_a1                =0;
cewen_a2                =0;
/**************************************************/                //1放电
$                jiance                out,low;
$                dianzu                out,low;
$                ntc                        out,low;
.delay                1000;
/**************************************************/                //2计算标准电阻充电时间
$                jiance                in;
$                dianzu                out,high;
$                ntc                        in;
while(!jiance)
{
cewen_a1++;
}
/**************************************************/                //3放电
$                jiance                out,low;
$                dianzu                out,low;
$                ntc                        out,low;
.delay                1000;
/**************************************************/                //4计算ntc电阻充电时间
$                jiance                in;
$                dianzu                in;
$                ntc                        out,high;
while(!jiance)
{
cewen_a2++;
}
}

/**************************************************/                //计算温度
void                jisuan()
{
cewen_a3                =0;
if(cewen_a1 < cewen_a2)                                                //低于20度
{
xianshi_hong        =0; xianshi_lv                =1;                //绿灯亮
cewen_a3        =cewen_a2 - cewen_a1;

if        (cewen_a3 < 215)        {temp        =20;        return;}
if        (cewen_a3 <        848)        {temp        =10;        return;}
if        (cewen_a3 <        1976)        {temp        =0;                return;}
}

else                                                                                //高于20度
{
xianshi_hong        =1; xianshi_lv                =0;                //红灯亮
cewen_a3        =cewen_a1 - cewen_a2;
if        (cewen_a3 > 819)        {temp        =100;        return;}
if        (cewen_a3 > 792)        {temp        =90;        return;}
if        (cewen_a3 > 760)        {temp        =80;        return;}
if        (cewen_a3 > 710)        {temp        =70;        return;}
if        (cewen_a3 > 653)        {temp        =60;        return;}
if        (cewen_a3 > 553)        {temp        =50;        return;}
if        (cewen_a3 > 404)        {temp        =40;        return;}
if        (cewen_a3 > 168)        {temp        =30;        return;}
}


}
/**************************************************/

使用特权

评论回复

相关帖子

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

本版积分规则

300

主题

457

帖子

60

粉丝