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

QQ登錄

只需一步,快速開(kāi)始

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

溫度檢測(cè)TFT(ILI9328)波形顯示單片機(jī)源碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
基于單片機(jī)的問(wèn)的波形顯示程序

單片機(jī)源程序如下:
  1. //==================================================================================================
  2. //  工程功能:
  3. //  工程等級(jí):工程級(jí)/驅(qū)動(dòng)級(jí)
  4. //  工程硬件:STC12C5A60S2
  5. //  工程軟件:Keil C51 uVision4
  6. //  工程作者:智心科技(ZhiXinKeJi)
  7. //  工程創(chuàng)建:10-31
  8. //  工程版次:1
  9. //  工程修改:10-31
  10. //  修改內(nèi)容:
  11. //==================================================================================================

  12. //==============================包含的頭文件========================================================
  13. #include"STC12C5A60S2.H"
  14. #include"TFT(ILI9328).H"                    // 包含外設(shè)頭文件,TFT-液晶顯示屏
  15. #include"DS18B20.H"                         // 包含外設(shè)頭文件,DS18B20-溫度傳感器
  16. #include"DELAY.H"                           // 包含應(yīng)用頭文件,DELAY-延時(shí)

  17. //==============================定義全局變量=======================================================
  18. #define PI   3.1415                                                        // 宏定義數(shù)學(xué)中π值

  19. int Current_Temperature=0;                                        // 當(dāng)前溫度
  20. int Frist_Temperature=0;
  21. unsigned int xdata Temperature_Record[200]=0;

  22. unsigned char Count=0;                                                // 溫度采集次數(shù)


  23. //==================================================================================================
  24. //  實(shí)現(xiàn)功能:主函數(shù)
  25. //  函數(shù)說(shuō)明:
  26. //  函數(shù)備注:
  27. //==================================================================================================
  28. void main(void)
  29. {        
  30.         unsigned char i;
  31.        
  32. //        TIME_Cnfg();                                                        // 配置 TIME-定時(shí)器
  33.        
  34.         TFT_Init();                                                                // 初始化 TFT-液晶顯示屏
  35.         DS18B20_Init();                                                        // 初始化 DS18B20-溫度傳感器

  36.         TFT_ShowArea(0,0,240,320,TFT_White);         // 清屏操作
  37.        
  38.         // 繪制坐標(biāo)系統(tǒng)
  39.         TFT_DrawLine(39,40,39,300,TFT_Black);        // 中間起點(diǎn)坐標(biāo)(40,170)

  40.         // 數(shù)字顯示溫度
  41.         // 顯示內(nèi)容"溫度:+XX.X℃"
  42.         TFT_ShowStrg_16x16(72,10,"溫度:+XX.X℃",TFT_Black,TFT_White);

  43.         // DS18B20 第一次采集溫度,后面波形以該第一次為基礎(chǔ)點(diǎn)
  44.         DS18B20_Gets();
  45.         Frist_Temperature=DS18B20_INFO.DS18B20_Temp*10;
  46.                                        
  47.         while(1)
  48.         {       
  49.                 // DS18B20 采集溫度
  50.                 DS18B20_Gets();
  51.                 Current_Temperature=DS18B20_INFO.DS18B20_Temp*10;
  52.                
  53.                 // 數(shù)字顯示溫度
  54.                 TFT_ShowChar_08x16(120,10,Current_Temperature/100%10+0x30,TFT_Black,TFT_White);        // 顯示十位
  55.                 TFT_ShowChar_08x16(128,10,Current_Temperature/10 %10+0x30,TFT_Black,TFT_White);        // 顯示個(gè)位
  56.                 TFT_ShowChar_08x16(144,10,Current_Temperature/1  %10+0x30,TFT_Black,TFT_White);        // 顯示分位

  57.                 // 記錄溫度數(shù)據(jù)
  58.                 Temperature_Record[Count]=Current_Temperature;
  59.        


  60.                 // 繪制波形
  61.                 for(i=1;i<199;i++)
  62.                 {
  63.                         // 如果該點(diǎn)數(shù)據(jù)沒(méi)有,則不執(zhí)行以下
  64.                         if(Temperature_Record[i]!=0)
  65.                         {
  66.                                 // 高溫 紅色
  67.                                 if(Temperature_Record[i]>Frist_Temperature)
  68.                                 {
  69.                                         TFT_DrawLine(40+i-1,170+(Frist_Temperature-Temperature_Record[i-1])*2,
  70.                                                      40+i  ,170+(Frist_Temperature-Temperature_Record[i  ])*2,
  71.                                                                  TFT_Red);
  72.                                 }
  73.                                 // 低溫 綠色
  74.                                 else
  75.                                 {
  76.                                         TFT_DrawLine(40+i-1,170+(Frist_Temperature-Temperature_Record[i-1])*2,
  77.                                                      40+i  ,170+(Frist_Temperature-Temperature_Record[i  ])*2,
  78.                                                                  TFT_Green);
  79.                                 }
  80.                         }       

  81.                 }

  82.                 DELAY_nMS(500);

  83.                 // 清除波形
  84.                 for(i=1;i<199;i++)
  85.                 {
  86.                         // 如果該點(diǎn)數(shù)據(jù)沒(méi)有,則不執(zhí)行以下
  87.                         if(Temperature_Record[i]!=0)
  88.                         {
  89.                         TFT_DrawLine(40+i-1,170+(Frist_Temperature-Temperature_Record[i-1])*2,
  90.                                      40+i  ,170+(Frist_Temperature-Temperature_Record[i  ])*2,
  91.                                                  TFT_White);
  92.                         }       

  93.                 }

  94.                 // 計(jì)數(shù)
  95.                 Count++;
  96.                 if(Count>199)
  97.                 {
  98.                         Count=199;
  99.                         // 波形移動(dòng)        ,相當(dāng)于延遲
  100.                         for(i=0;i<199;i++)
  101.                         {
  102.                                 Temperature_Record[i]=Temperature_Record[i+1];
  103.                         }
  104.                 }




  105.         }
  106. }
復(fù)制代碼

所有資料51hei提供下載:
2016-09-25 溫度波形顯示.rar (91.24 KB, 下載次數(shù): 32)


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

使用道具 舉報(bào)

沙發(fā)
ID:105039 發(fā)表于 2024-12-24 15:07 | 只看該作者
下載學(xué)習(xí)一下,感謝分享
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表