久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2412|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

溫度傳感器DS18B20反饋pwm控制電機(jī)轉(zhuǎn)速 單片機(jī)程序問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:515073 發(fā)表于 2019-5-23 22:12 來自手機(jī) | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
100黑幣
想用溫度傳感器反饋一個(gè)pwm信號(hào)控制電機(jī)轉(zhuǎn)速(程序如下),程序在34.5之前輸出電壓在2V以下,在34.5之后輸出為12v,小白搞不定他,有沒有大神解解惑,萬分感謝。
源程序:
#include "reg52.h"                        #include"temp.h"
#include<intrins.h>        
typedef unsigned int u16;         
typedef unsigned char u8;
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
sbit beep=P1^5;
sbit PWM1=P1^1;//
sbit PWM2=P1^2;
sbit ENA=P1^3;
char num=0;
uchar time=0;
uchar ting; uchar zou;
u8 DisplayData[8];
u8 code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
u8 start1=0;
u8 start2=0;
int flag=0;

void delay(u16 i)
{        while(i--);        }

void sound1()
{        u8 i=100;
        while(i--)        
{      beep=~beep;               
delay(10);               
}  
start1=0;        
beep=1;        
}

void sound2()
{        u8 i=100;        
while(i--)        
{        beep=~beep;               
         delay(100);               
}
start2=0;        
beep=1;        }


void datapros(int temp)         
{           float tp;         
if(temp< 0)                                          
{        DisplayData[0] = 0x40;           //                 
       temp=temp-1;               
        temp=~temp;               
       tp=temp;               
      temp=tp*0.0625*100+0.5;                           
}         
else         
{        DisplayData[0] = 0x00;               
        tp=temp;               
        temp=tp*0.0625*100+0.5;                }        
       DisplayData[1] = smgduan[temp / 10000];        
       DisplayData[2] = smgduan[temp % 10000 / 1000];        
       DisplayData[3] = smgduan[temp % 1000 / 100] | 0x80;        
      DisplayData[4] = smgduan[temp % 100 / 10];        
     DisplayData[5] = smgduan[temp % 10];}void

baojing(int temp)
{  float
mmp,tempH,tempL,tempM1,tmp,tempM2,tempM3,tempM4,tempM5,tempM6,tempM7,tempM8;        
tempH=35;        
tempM1=31;        
tempM2=31.5;        
tempM3=32;        
tempM4=32.5;        
tempM5=33;        
tempM6=33.5;        
tempM7=34;        
tempM8=34.5;        
tempL=28;        
mmp=(float)temp;        
tmp=(mmp*0.0625*100+0.5)/100;                if(tmp>=tempH)  
        {         start2=1;        
                  ting=100;        }        
else if(tmp<=tempL)        
       {           start1=1;                 
           ting=95;               
        }               
else if (tmp>=tempM8)               
{                  start1=1;                        
                  ting=89;               
}               
else if (tmp>=tempM7)               
{                  start1=1;                        
ting=87;               
}               
else if (tmp>=tempM6)        
{                  start1=1;        
                ting=85;               
}               
else if (tmp>=tempM5)               
{                  start1=1;        
                ting=83;        
}               
else if (tmp>=tempM4)               
{                  start1=1;        
                ting=80;               
}               
else if (tmp>=tempM3)               
{                  start1=1;               
                 ting=78;               
}               
else if (tmp>=tempM2)               
{          start1=1;               
        ting=75;               
}               
else if (tmp>=tempM1)        
{                  start1=1;        
                ting=70;               
}               
else               
{                beep=1;        
        ting=65;               
}}

void DigDisplay()
{        u8 i;        for(i=0;i<6;i++)        
{                switch(i)                         {                        case(0):                LSA=0;LSB=0;LSC=0; break;                        case(1):                LSA=1;LSB=0;LSC=0; break;                        case(2):                LSA=0;LSB=1;LSC=0; break;                        case(3):                LSA=1;LSB=1;LSC=0; break;                        case(4):                LSA=0;LSB=0;LSC=1; break;                        case(5):                LSA=1;LSB=0;LSC=1; break;                }               
P0=DisplayData[5-i];               
delay(10);                 
P0=0x00;        }               
}
void Timer0Init()
{        TMOD=0x01;   
       TH0=0xff;   
        TL0=0xf7;   
        EA=1;   
        ET0=1;   
       TR0=1;}

void main()
{        ting=40;        
        Timer0Init();                        
while(1)        {        
       if(start1==1)               
{        sound1();               
}               
else if(start2==1)               
{                 
sound2();        }               
else                {        beep=1;               
}                          }                        
}                        

void tim0() interrupt 1
{          if(flag==0)        
{
datapros(Ds18b20ReadTemp());                   DigDisplay();   
baojing(Ds18b20ReadTemp());                        flag=1;               
  }
TR0=0;  
TH0=0xff;
TL0=0xf7;   
TR0=1;
time++;  
  if(time>=100)   
{datapros(Ds18b20ReadTemp());                     DigDisplay();   
baojing(Ds18b20ReadTemp());                          time=0;                }

    if(time<=ting)      
  {        PWM1=1;   
        PWM2=0;         
    //  ENA=1;    }      
else         
{         PWM1=0;         
         PWM2=0;        
//  ENA=0;   }
  }  

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:515073 發(fā)表于 2019-5-25 22:07 來自手機(jī) | 只看該作者
有沒有大哥幫小弟瞧一瞧撒
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲不卡在线观看 | 日韩精品免费视频 | 麻豆天堂 | 国产精品国产成人国产三级 | 精品视频在线一区 | 国产成人一区二区三区 | 国产精品久久久久久久久久久久冷 | 国产精品九九九 | 国产乱码精品一区二区三区中文 | 久久久av | 日韩成人av在线 | 亚洲免费精品一区 | 久久麻豆精品 | av大片| 手机看片169 | 97超碰人人 | 亚洲精品99 | 久久夜视频 | 一区二区亚洲 | 午夜视频在线免费观看 | 91麻豆精品一区二区三区 | 黄色网址在线免费观看 | 亚洲九九色 | 亚洲一区久久 | 亚洲午夜av久久乱码 | 国产成人99久久亚洲综合精品 | 男女啪啪高潮无遮挡免费动态 | 久久噜噜噜精品国产亚洲综合 | 91婷婷韩国欧美一区二区 | 人人爽人人爽 | 精品国产一区二区在线 | 男人天堂午夜 | 欧美精品在线免费观看 | 91国在线视频 | 在线āv视频| 久久久久久一区 | 国产目拍亚洲精品99久久精品 | 国产精品视频一二三区 | 国产日韩精品一区 | 99re在线观看| 97视频在线观看免费 |