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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

通過DS18B20結(jié)合直流電機的一個小程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:243642 發(fā)表于 2017-10-28 12:01 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
通過DS18B20結(jié)合直流電機的一個小程序,希望賺一點黑幣去下載附件,新手上路,請多指教

下載:
程序.rar (32.36 KB, 下載次數(shù): 13)

單片機源程序如下:
  1. #include"temp.h"
  2. #include <reg52.h>


  3. typedef unsigned char u8;
  4. typedef unsigned int  u16;                  //定義字符類型


  5. sbit LSA=P2^2;
  6. sbit LSB=P2^3;
  7. sbit LSC=P2^4;
  8. sbit moto=P1^0;
  9. sbit beep=P1^6;                                  // 定義管腳
  10.                                                                        
  11. char num=0;                                                 
  12. u8 DisplayData[8];                                                                               //定義數(shù)組
  13. u8 code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};  //段選顯示數(shù)據(jù)

  14. void delay(u16 i)                  //   延時函數(shù)
  15. {
  16.         while(i--);       
  17. }
  18. void BeepSing(int temp)                  //蜂鳴器(脈沖)
  19. {
  20.     int WD;
  21.         beep=1;
  22.         WD=temp*0.0625*100+0.5;                        //放大100是為了保存小數(shù)點后兩位,加0.5是為了四舍五入,單片機小數(shù)點后都省略
  23.         if(WD>26)
  24.         {
  25.             beep=0;
  26.                 delay(10);
  27.                 beep=1;
  28.                 delay(10);
  29.        
  30.         }
  31.         else
  32.         {
  33.             beep=1;
  34.         }

  35. }

  36. void Motorzd(int temp)                         //電機
  37. {
  38.     int wd;
  39.         moto=0;
  40.         wd=temp*0.0625*100+0.5;
  41.         if(wd>26)
  42.         {
  43.            moto=1;
  44.         }
  45.         else
  46.         {
  47.            moto=0;
  48.         }
  49. }

  50. void datazh(int temp)                                 //溫度中轉(zhuǎn)
  51. {
  52.     float zh;
  53.     if(temp<0)
  54.         {
  55.            DisplayData[0]=0x40;                   //顯示負號
  56.            temp=temp-1;
  57.            temp=~temp;
  58.            zh=temp;
  59.            temp= zh*0.0625*100+0.5;
  60.         }
  61.         else
  62.         {
  63.            DisplayData[0] = 0x00;                   //無顯示
  64.            zh=temp;
  65.            temp= zh*0.0625*100+0.5;
  66.         }
  67.         DisplayData[1] = smgduan[temp / 10000];                                        //百位
  68.         DisplayData[2] = smgduan[temp % 10000 / 1000];                        //十位
  69.         DisplayData[3] = smgduan[temp % 1000 / 100] | 0x80;                        //個位
  70.         DisplayData[4] = smgduan[temp % 100 / 10];                                    //小數(shù)點后一位
  71.         DisplayData[5] = smgduan[temp % 10];                                                //小數(shù)點后兩位

  72. }
  73. void LEDDisplay()                                                                 //LED顯示 ,位選
  74. {
  75.     u8 i;
  76.         for(i=0;i<6;i++)
  77.         {
  78.            switch(i)
  79.            {
  80.                      case(0):
  81.                       LSA=0;LSB=0;LSC=0;break;
  82.                   case(1):
  83.                       LSA=1;LSB=0;LSC=0;break;
  84.                   case(2):
  85.                       LSA=0;LSB=1;LSC=0;break;
  86.                   case(3):
  87.                       LSA=1;LSB=1;LSC=0;break;
  88.                   case(4):
  89.                       LSA=0;LSB=0;LSC=1;break;
  90.                   case(5):
  91.                       LSA=1;LSB=0;LSC=1;break;
  92.                   
  93.            }
  94.            P0=DisplayData[i];
  95.            delay(100);
  96.            P0=0x00;           //消隱
  97.         }
  98. }

  99. void main()
  100. {
  101.       while(1)
  102.           {
  103.            BeepSing(DS18B20RadeTemp());                                  //蜂鳴器
  104.            Motorzd(DS18B20RadeTemp());                                  //電機
  105.            datazh(DS18B20RadeTemp());                                 //數(shù)據(jù)處理
  106.            LEDDisplay();                                                        //數(shù)顯
  107.           }

  108. }

復(fù)制代碼

所有資料51hei提供下載:



評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美高清hd | 在线一区二区三区 | 天天躁人人躁人人躁狂躁 | 久久国际精品 | 久久香蕉精品视频 | 2019精品手机国产品在线 | 日韩资源 | 精品日韩| 91网站在线观看视频 | 亚洲欧美日韩系列 | 欧美成人h版在线观看 | 国产一区在线免费观看 | 毛色毛片免费看 | 久久国产日韩 | 欧美一区二区三区在线免费观看 | 久久国产日本 | 久久影音先锋 | 欧美精品黄 | 国产福利一区二区 | 午夜视频一区二区三区 | 99精品一级欧美片免费播放 | 一区二区三区精品在线 | 91精品国产乱码久久蜜臀 | 久久一区二区免费视频 | 欧美日韩一二三区 | 欧美日韩综合视频 | 精品一区二区视频 | 久久精品无码一区二区三区 | 欧美日韩一 | 精品视频在线播放 | 日韩手机在线看片 | 夜夜骑天天干 | 午夜伊人 | 日韩欧美一区二区三区免费观看 | 少妇一级淫片aaaaaaaaa | 三级视频在线观看电影 | 久久久久久亚洲精品 | 国产成人精品999在线观看 | 久久男人| 青青久草 | 91亚洲国产成人久久精品网站 |