找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

MSP430單片機用12864液晶繪制DS18B20溫度曲線源代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:135102 發(fā)表于 2017-7-11 19:16 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
MSP430單片機用12864液晶繪制DS18B20溫度曲線源代碼,keil4文件



單片機源程序如下:
  1. #include <msp430x14x.h>
  2. #include "Lcd12864.h"
  3. #include "DS18B20.h"
  4. #include "bmp.h"

  5. #define CPU_F ((double)8000000)
  6. #define delayus(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
  7. #define delayms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))

  8. #define uchar unsigned char
  9. #define uint unsigned int

  10. //=========================================
  11. //函數(shù)功能:初始化時鐘
  12. //=========================================
  13. void Init_CLK()
  14. {
  15.         unsigned int i;
  16.         WDTCTL = WDTPW + WDTHOLD;         //停止看門狗
  17.         BCSCTL1 &= ~XT2OFF;                         //打開XT2振蕩器
  18.         do
  19.         {
  20.                 IFG1 &= ~OFIFG;                         //清除振蕩器失效標(biāo)志
  21.                 for(i = 0xff;i > 0;i--); //延時,等待XT2起振
  22.         }
  23.         while((IFG1 & OFIFG) != 0);  //直到震蕩失效標(biāo)志不存在
  24.         BCSCTL2 = SELM_2 + SELS;           //選擇MCLK、SMCLK為XT2
  25. }

  26. //=========================================
  27. //函數(shù)功能:主函數(shù)
  28. //=========================================
  29. void main()
  30. {   
  31.         uchar table[6];
  32.     uint temp,XPonit,YPoint;
  33.         float Point;
  34.         Init_CLK();
  35.           InitLcd12864();
  36.         Init_DS18B20();
  37.         FillGdram(0x00);
  38.         DisplayBMP(bmp);
  39.     while(1)
  40.     {
  41.                 for(XPonit=8;XPonit<=127;XPonit++)
  42.                 {        
  43.                         temp = Get_Temp();
  44.                         delayms(100);
  45.                         table[0] = temp / 100 + '0';
  46.                         table[1] = temp % 100 / 10 + '0';
  47.                         table[2] = '.';
  48.                         table[3] = temp % 10 + '0';
  49.                         table[4] = 'C';
  50.                         table[5] = '\0';
  51.                         DisplayString(1,6,table);                  //顯示第一行,從第1個位置開始
  52.                         Point = (float)temp / 10 + 0.5;
  53.                         YPoint = 63 - ((int)Point + 7);
  54.                         DrawPoint(XPonit,YPoint,1);
  55.                 }
  56.                 if(XPonit == 128)
  57.                 {        
  58.                         XPonit = 8;
  59.                         FillGdram(0x00);
  60.                         DisplayBMP(bmp);
  61.                 }
  62.     }
  63.         /*
  64.     //DrawPoint(7,7,1); // 畫點(7,7)
  65.          // 8 x 8 表格程序段開始
  66.         
  67.           DrawHorizontalLine(0,127,0,1);
  68.         
  69.          
  70.           DrawHorizontalLine(0,127,15,1);
  71.           DrawHorizontalLine(0,127,23,1);
  72.           DrawHorizontalLine(0,127,31,1);
  73.           DrawHorizontalLine(0,127,39,1);
  74.           DrawHorizontalLine(0,127,47,1);
  75.           DrawHorizontalLine(0,127,55,1);
  76.           DrawHorizontalLine(0,127,63,1);
  77.           DrawVerticalLine(0,0,63,1);
  78.           DrawVerticalLine(15,0,63,1);
  79.           DrawVerticalLine(31,0,63,1);
  80.           DrawVerticalLine(47,0,63,1);
  81.           DrawVerticalLine(63,0,63,1);
  82.           DrawVerticalLine(79,0,63,1);
  83.           DrawVerticalLine(95,0,63,1);
  84.           DrawVerticalLine(111,0,63,1);
  85. ……………………

  86. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
MSP430單片機用12864液晶繪制DS18B20溫度曲線源代碼.rar (62.2 KB, 下載次數(shù): 32)


評分

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

查看全部評分

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

使用道具 舉報

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

本版積分規(guī)則

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

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

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