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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機熱敏電阻測溫源代碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:77322 發表于 2018-1-21 11:51 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
單片機熱敏電阻測溫
源程序如下:

  1. #include<reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char

  4. sfr P1ASF=0x9d;
  5. sfr ADC_RES=0xbd;
  6. sfr ADC_CONTR=0xbc;

  7. #define ADC_POWER 0x80
  8. #define ADC_FLAG 0x10
  9. #define ADC_START 0x08

  10. #define ADC_SPEEDLL 0x00 //0000 0000
  11. #define ADC_SPEEDL 0x20  //0010 0000
  12. #define ADC_SPEEDH 0x40  //0100 0000
  13. #define ADC_SPEEDHH 0x60 //0110 0000

  14. void delay(uint z); //延時函數
  15. void initADC();        //初始化AD功能


  16. uint code Ttable[42][2]={// 此數組保存熱敏電阻的溫度值(從2-43攝氏度),2℃對應25.7K;超出無效
  17. {2,257},{3,246},{4,236},{5,225},{6,216},
  18. {7,207},{8,198},{9,190},{10,182},{11,174},
  19. {12,167},{13,160},{14,154},{15,148},{16,142},
  20. {17,136},{18,131},{19,126},{20,121},{21,116},
  21. {22,112},{23,107},{24,103},{25,100},{26,96},
  22. {27,92},{28,89},{29,86},{30,82},{31,80},{32,77},
  23. {33,74},{34,71},{35,69},{36,66},{37,64},{38,62},
  24. {39,60},{40,58},{41,56},{42,54},{43,52}
  25. };   

  26. uchar code table[13]={//共陰 數碼管數字0-9
  27. 0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D,0x7D, 0x07, 0x7F, 0x6F/*0-9*/,
  28. 0x00/*無*/, 0x02/*|*/, 0x39/*C*/,};

  29. uchar code table_wela [4]={//數碼管位置0-3
  30. 0xef,0xdf,0xbf,0x7f};//1110 1111;        1101 1111;        1011 1111;        0111 1111

  31. uchar  show[4];

  32. void delay(uint z)
  33. {
  34.         uint x,y;
  35.         for(x=20;x>0;x--)
  36.         for(y=z;y>0;y--);
  37. }

  38. /****************************************************
  39. 函數名稱 : void adc_isr() interrupt 5
  40. 功能描述 : AD 中斷 , 獲取 AD 數據
  41. 輸 入 : 無
  42. 輸 出 : show
  43. 全局變量 : show
  44. 調用模塊 : delay **************************/
  45. void Adc_isr() interrupt 5//Interrupt Service Routines=ISR中斷服務程序
  46. {
  47.         uchar i;
  48.         uint m;
  49.         m=ADC_RES; // 計算此時熱敏電阻阻值
  50.         m=(100*m)/(255-m); // 計算此時的溫度值
  51.         for(i=41;i<42;i--)
  52.         {
  53.                 if(m>=Ttable[i][1]&&m<Ttable[i-1][1])
  54.                 {
  55.                         show[0]=(Ttable[i][0]+1)/10; //十位
  56.                         show[1]=(Ttable[i][0]+1)%10; //個位
  57.                         show[2]=11;                                 //溫度符號       
  58.                         show[3]=12;
  59.                         break;
  60.                 }
  61.         }
  62.         ADC_CONTR=ADC_POWER|ADC_SPEEDLL|ADC_START|0x01; // 重新 使能 AD 轉換
  63. }

  64. /******************************************************
  65. 函數名稱 : void initADC()
  66. 功能描述 : 初始化 AD 功能
  67. 輸 入 : 無
  68. 輸 出 : 無
  69. 全局變量 : 無
  70. 調用模塊 : delay *********************************************************/
  71. void initADC()
  72. {
  73.         P1ASF=0xff;
  74.         ADC_RES=0;
  75.         delay(800);
  76.         ADC_CONTR=ADC_POWER|ADC_SPEEDLL|ADC_START|0x01;// 使能 P11 為 AD 輸入
  77.         IE=0xa0;//1010 0000等價于: EA=1; EADC=1;
  78.         delay(5);
  79. }

  80. void main()
  81. {
  82. ……………………

  83. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
附源碼-單片機設計之熱敏電阻測溫.rar (1.33 KB, 下載次數: 85)


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 激情欧美一区二区三区 | 91久久久久久 | 久久99精品久久久久久 | 成人精品久久久 | 久久99视频免费观看 | 亚洲国产欧美在线 | 欧美国产日韩一区二区三区 | 久精品久久 | 欧美又大粗又爽又黄大片视频 | 欧美一级毛片免费观看 | 午夜影院在线观看 | 一道本在线 | 国产一区二区日韩 | 久久精品亚洲欧美日韩久久 | 免费一级毛片 | 碰碰视频 | 成人精品一区二区三区中文字幕 | 激情a| 日韩一区二区三区在线观看视频 | 日韩成人精品 | 91精品亚洲 | 成人在线免费网站 | 国产精品免费一区二区三区四区 | 羞羞视频网站在线观看 | 在线免费观看视频黄 | 色综合视频 | 欧美a区 | 亚洲精品一区中文字幕乱码 | 夜夜艹 | 免费一区二区三区在线视频 | 日韩精品在线网站 | 国产精品久久久久久吹潮 | 羞羞色视频 | 国产美女精品 | 天堂一区 | 日本天堂视频在线观看 | 精品欧美一区二区精品久久久 | 日韩一区二区三区视频在线播放 | 日韩久久久一区二区 | 一区二区三区免费在线观看 | 国产精品视频999 |