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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7621|回復: 7
打印 上一主題 下一主題
收起左側

基于51單片機ADC采集,熱敏電阻制作溫度計程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:284348 發表于 2018-2-25 16:36 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
1602顯示溫度計程序.rar (28.2 KB, 下載次數: 105)


單片機源程序如下:
  1. #include<AT89x51.h>
  2. #include<intrins.h>
  3. #define uint unsigned int
  4. #define uchar unsigned char
  5. //******************adc0832****************************//
  6. //AD
  7. sbit CLK=P2^1;
  8. sbit CS=P2^2;
  9. sbit DO=P2^3;
  10. sbit DI=P2^3;

  11.   //繼電器

  12. sbit jidian=P3^3;
  13. sbit jidguan=P3^0;

  14. //數碼管顯示
  15. sbit fist=P2^7;
  16. sbit seconed=P2^6;
  17.   sbit three=P2^5;
  18.   sbit forth=P2^4;
  19. sbit k1=P3^4;
  20. sbit k2=P3^5;
  21. sbit k3=P3^6;
  22. sbit k4=P3^7;


  23. //char CC[]="11001001";
  24. uchar tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
  25. uchar temp;
  26. int y,a=-13;
  27. uint vvv,i;


  28. //通道的選擇:0x02就是單通道0;0x03就是單通道1;
  29. //0x00就是雙通道ch0="+";   ch0="-"
  30. //0x01就是雙通道ch0="-";   ch0="+"
  31. //*****************************************************//
  32. void delay(int tt)
  33. {       


  34. while(tt--)
  35.   {for(i=0;i<120;i++);}
  36. }
  37. void startADC()                                          
  38. {
  39. CS=1;
  40. _nop_();
  41. _nop_();
  42. CLK=0;
  43. _nop_();
  44. _nop_();
  45. CS=0;
  46. _nop_();
  47. _nop_();
  48. DI=1;
  49. _nop_();
  50. _nop_();
  51. CLK=1;
  52. _nop_();
  53. _nop_();
  54. DI=0;
  55. _nop_();
  56. _nop_();
  57. CLK=0;
  58. _nop_();                                                 
  59. _nop_();
  60. }
  61. void choiceADC(uint CH)//CH為0選擇通道ch0,為1,選擇ch1進行AD轉換
  62. {
  63. startADC();
  64. if(CH==0)
  65. {
  66. DI=1;
  67. _nop_();
  68. CLK=1;//上升沿DI=1
  69. _nop_();
  70. CLK=0;//1個下降沿DI=1
  71. _nop_();
  72. DI=0;
  73. _nop_();
  74. CLK=1;
  75. _nop_();
  76. CLK=0;//第3個上升沿DI=0
  77. _nop_();
  78. }
  79. else
  80. {
  81. CLK=0;
  82. _nop_();
  83. DI=1;
  84. _nop_();
  85. CLK=1;//上升沿DI=1                               
  86. _nop_();
  87. CLK=0;//1個下降沿DI=1
  88. _nop_();
  89. DI=1;
  90. _nop_();
  91. CLK=1;//第3個上升沿DI=0
  92. _nop_();
  93. }
  94. /********通道選擇結束開始讀取轉換后的二進制數****/
  95. CLK=1;
  96. _nop_();
  97. CLK=0;//下降沿讀數,一下進行判斷和處理,共8次
  98. for(i=0;i<8;i++)
  99.       {
  100.    DI=1;
  101.    if(DO)
  102.       {
  103.    temp |=0x01;
  104.    }
  105.     else
  106.       {
  107.    temp &=0xfe;                                  
  108.    }
  109.       CLK=0;
  110.    _nop_();
  111.    CLK=1;
  112.    temp=temp<<1;
  113.    }
  114. //         vvv=temp;
  115. //   if(temp<62)          vvv=30;
  116. //    else         if(temp>62&&temp<68)        vvv=50;
  117. //   else         if(temp>68&&temp<70)        vvv=100;
  118. //   else         if(temp>70&&temp<80)        vvv=101;
  119. //    else         if(temp>80)        vvv=102;
  120.                 y=a/6*(temp+16)+434;
  121.   
  122. }



  123. void display(uint dat)
  124. {
  125. //P2=0x80;
  126. fist=0; delay(1); fist=1;       
  127.            seconed=0;         three=0;  forth=0;
  128. P0=tab[dat/1000];
  129. //delay(1);
  130. //P0=0xff;

  131. //P2=0x40;
  132. seconed=0; delay(1);  seconed=1;       
  133.   fist=0;          three=0; forth=0;
  134. P0=tab[dat%1000/100];
  135. //delay(1);
  136. //P0=0xff;

  137. //P2=0x20;
  138. three=0; delay(1);          three=1;
  139.                         fist=0;         seconed=0; forth=0;
  140. P0=tab[dat%100/10];
  141. //delay(1);
  142. //P0=0xff;

  143. //P2=0x10;
  144. forth=0; delay(1); forth=1;
  145.                         fist=0; seconed=0;         three=0;
  146. P0=tab[dat%10];
  147. //delay(1);
  148. //P0=0xff;
  149. }
  150.    
  151. void main()            
  152. {          int i;
  153. jidian=0;jidguan=0;

  154.         P0=0xff;
  155.         while(1){        
  156.          choiceADC(0);
  157.    delay(1);
  158.    display(temp);       
  159.         if(k3==0){i=1;
  160.    while(i)
  161.    {
  162.       choiceADC(0);
  163.    delay(1);
  164.    
  165.        
  166.   
  167.    

  168.                
  169. //                if(k1==0)
  170. //                {
  171. //          delay(50);
  172. //                if(k1==0)
  173. //                {temp++;
  174. //                if(temp>255) {temp=0;}
  175. //                while(!k1);//
  176. //                }
  177. //          }
  178. //               
  179. //                if(k2==0)
  180. //                {
  181. //         delay(500);
  182. //                if(k2==0)
  183. //                {temp--;
  184. //                if(temp<0) {temp=255;}
  185. //                while(!k2);//
  186. //               
  187. //                }
  188. //          }
  189.                

  190.            display(y);
  191.          if(y<30) { jidian=0;jidguan=0;P1=0xfe; }        //慢  1盞綠燈亮
  192.         else if(y>32) {jidian=1;jidguan=1;P1=0xda; }         //快  3盞綠燈亮
  193.                   
  194.                 if(k4==0) {i=0;jidian=0;jidguan=1;P1=0xf7;}//開關停止,紅燈亮



  195.    }
  196.    }
  197. }
  198.            }
復制代碼




評分

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

查看全部評分

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

使用道具 舉報

沙發
ID:301273 發表于 2018-4-3 08:58 | 只看該作者
好東西,多謝分享
回復

使用道具 舉報

板凳
ID:164172 發表于 2018-4-3 10:35 | 只看該作者
精度做到多少?回頭再研究你的代碼……
回復

使用道具 舉報

地板
ID:444215 發表于 2019-3-22 14:17 | 只看該作者
長知識啦
回復

使用道具 舉報

5#
ID:444215 發表于 2019-3-22 14:18 | 只看該作者
非常不錯
回復

使用道具 舉報

6#
ID:685140 發表于 2020-1-14 21:33 | 只看該作者
謝謝大神
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美精品中文字幕久久二区 | 国产大片黄色 | 成人免费久久 | 四虎精品在线 | 国产成人综合久久 | 天天在线操 | 成人午夜精品 | 中文字幕久久精品 | 久久国产精品视频 | 免费亚洲婷婷 | 伊人久久综合影院 | 欧美一区不卡 | 激情小说综合网 | 亚洲一区二区三区在线 | 美国十次成人欧美色导视频 | 欧美一区免费在线观看 | 国产激情精品 | 中文字幕一级 | 天天干视频 | 2021天天躁夜夜看 | 亚洲高清在线观看 | 久久久久国产 | 国产福利视频网站 | 日韩在线中文 | 日韩人体在线 | 国产视频一区在线 | 日本一区二区三区在线观看 | 91久久| 羞羞视频网站免费观看 | 97视频在线免费 | 成年人免费在线视频 | 欧美精品二区 | 欧美国产日韩在线观看成人 | 色综合天天天天做夜夜夜夜做 | 国产ts一区 | 国产一级淫片免费视频 | 在线视频 亚洲 | 狠狠狠色丁香婷婷综合久久五月 | 日韩中文一区二区三区 | 国产成人在线一区二区 | 日本一区二区三区精品视频 |