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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5303|回復: 7
收起左側(cè)

車載 三溫度+GPS程序 (STC12單片機+22.114MHz+2oled+ IIC)

  [復制鏈接]
ID:408809 發(fā)表于 2021-3-5 10:58 | 顯示全部樓層 |閱讀模式
閑來無聊,給小車車增加個 車載 三溫度(水溫+室內(nèi)+室外)+GPS(日期+時間+海拔+定位) ,硬件(STC12+22.114MHz+2oled+ IIC)寫的不好,有待優(yōu)化!
效果圖003.jpg 效果圖.jpg 51hei.png

單片機源程序如下:
  1. /*******************************************************************************

  2.    MCU: STC12C5A60S2  
  3.    晶振: 22.1184MHz
  4.          A_OLED: 0.96寸 128*64
  5.          LCD SCL : P0^6;
  6.          LCD SDA : P0^7;
  7.          GPS : P1^2
  8.          溫度:P1^5.6.7
  9.          
  10.          說明:此版本出了偶爾跳1秒時間外,暫時沒有發(fā)現(xiàn)其他問題
  11.          
  12.          日期、時間、3溫度 、有海拔-星期-分屏顯示(GPS接串口2)

  13. *******************************************************************************/
  14. #include "STC12C5A60S2.h"
  15. #include "reDefine.h"
  16. #include "A_oled.h"
  17. #include "B_oled.h"
  18. #include "GPS.h"
  19. #include "18b20.h"
  20. #include "bmp.h"


  21. bit gUpdateTempFlag = FALSE; //  將溫度標志設置為“假”


  22. void Timer1_Init(void);                   //定時1毫秒@22.1184MHz

  23. //****************************************************
  24. //                        主函數(shù)                   ***
  25. //****************************************************
  26. void main()
  27. {
  28.                 //unsigned long t;
  29.         
  30.           Uart2_Init();                          //串口2初始化

  31.                 A_OLED_Init();                        //初始化A_OLED
  32.                 A_OLED_Clear();     //清屏
  33.           B_OLED_Init();                        //初始化B_OLED  
  34.                 B_OLED_Clear();     //清屏
  35.         
  36.                
  37.                
  38.                 A_OLED_DrawBMP(0,0,132,8,BMP2);   //  顯示 福特的 logo
  39.           B_OLED_DrawBMP(0,0,132,8,BMP5);   //  顯示 福特的 進無止境
  40.                 delay_ms(3000);        
  41.           B_delay_ms(3000);
  42.           A_OLED_Clear();    //清屏
  43.           B_OLED_Clear();    //清屏

  44.          
  45.          

  46.           Timer1_Init();          // 定時器設置初始化
  47.                
  48.                 A_OLED_DrawBMP(0,0,128,8,BMP1);                                                                                    //  顯示 溫度LOGO
  49.                 A_OLED_ShowString(0,0,"....The Temp....",8);                                          //  顯示溫度屏的屏頭
  50.                 B_OLED_DrawBMP(4,0,132,8,BMP3);                        //  顯示 GPS-LOGO               
  51.           B_OLED_ShowString(0,0,"....The  GPS....",8);                                          //  顯示GPS屏的屏頭

  52.         while(1)       // 主循環(huán)開始
  53.                         {
  54.                                 
  55.                                 //for(t=0;t<600000;t++)                 /***** 溫度 部分******/        
  56.                                         //{                                
  57.                                                         if (gUpdateTempFlag)  // 如果溫度標志為 “真”,開始執(zhí)行溫度讀取操作                                       
  58.                                                                 {
  59.                                                                                         gUpdateTempFlag = FALSE;  //  將溫度標志設置為“假”  ( 0 )復位
  60.                                                                                                                         
  61.                                                                                         datapros(Ds18b20ReadTemp());           //溫度數(shù)據(jù)處理函數(shù)        
  62.                                                                                         dataprosN(Ds18b20ReadTempN());         //溫度數(shù)據(jù)處理函數(shù)        
  63.                                                                                         dataprosS(Ds18b20ReadTempS());         //溫度數(shù)據(jù)處理函數(shù)
  64.                                                                         
  65.                                                                                         A_OLED_ShowString(3,2,"N:",16);  //(2:從第幾列開始 ,6:從6頁開始,  16:占用2頁空間顯示(32:占用1頁空間顯示)    )
  66.                                                                                         A_OLED_ShowString(3,4,"W:",16);     
  67.                                                                                         A_OLED_ShowString(3,6,"S:",16);      
  68.                                                                                        
  69.                                                                  }
  70.                                         //}
  71.                                                                

  72.                                 //for(t=0;t<1000000;t++)    /***** GPS 部分*****/        
  73.                                          //{        
  74.                                                         if ((gIsRecvGNRMC) || (gIsRecvGNZDA))  // 只要其中一條語句接受完成就執(zhí)行
  75.                                                                
  76.                                                                 {
  77.                                                                         GPS_JieXi();        
  78.                                                                 }
  79.                                                                
  80.                                          //}                                 
  81.                         }
  82. }


  83. //=======================================================================================================

  84. void Timer1_Init(void)                // 定時器設置,1毫秒@22.1184MHz   波特率9600
  85. {
  86.         AUXR |= 0x40;                //定時器時鐘1T模式
  87.         TMOD &= 0x0F;                //設置定時器模式
  88.         TL1 = 0x9A;                        //設置定時初值
  89.         TH1 = 0xA9;                        //設置定時初值
  90.         TF1 = 0;                                //清除TF1標志
  91.         TR1 = 1;                                //定時器1開始計時
  92.         ET1 = 1;
  93. }

  94. //-------------------------------------------------------------------------------------

  95. void Timer() interrupt 3   // GPS數(shù)據(jù)接收中斷
  96. {        
  97.     static unsigned int _1msCnt = 0;    // static 是數(shù)據(jù)儲存類型,unsigned int 是數(shù)據(jù)類型

  98.     if(++_1msCnt >= 1000)   // 每隔1000ms,執(zhí)行1 次
  99.                         {
  100.         _1msCnt = 0;          // 將毫秒計數(shù)復位
  101.                         
  102.         gUpdateTempFlag = TRUE;    // 將溫度標志設置為 “真”  ( 1 )
  103.                         }

  104.                 if (gRecGPSDataTimeCnt > 0)                        //GPS數(shù)據(jù)接收超時檢測
  105.                         {
  106.                                 gRecGPSDataTimeCnt --;
  107.                
  108.                                 if (gRecGPSDataTimeCnt == 0)
  109.                                         {
  110.                                                 gGPSIndex = 0;
  111.                                         }
  112.                         }
  113. }
復制代碼
程序: 2021.2.2---雙屏幕顯示-SH1106 OLED GPS 溫度 - 優(yōu)化版.7z (55.94 KB, 下載次數(shù): 121)

評分

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

查看全部評分

回復

使用道具 舉報

ID:408809 發(fā)表于 2021-3-5 22:36 | 顯示全部樓層
感覺還是可以的
000001.jpg
回復

使用道具 舉報

ID:137349 發(fā)表于 2021-3-14 16:11 | 顯示全部樓層
樓主厲害 !第一代顯示不好,角度小,費電。第二代就牛了!!!
回復

使用道具 舉報

ID:430492 發(fā)表于 2021-3-22 15:28 | 顯示全部樓層
顏色居然跟車內(nèi)弄得一樣一樣的,不錯!!
回復

使用道具 舉報

ID:47032 發(fā)表于 2021-7-13 19:28 | 顯示全部樓層
沒有分享原理圖,還是給你點贊
回復

使用道具 舉報

ID:951974 發(fā)表于 2021-8-19 21:24 | 顯示全部樓層
居然是兩個屏  厲害了
回復

使用道具 舉報

ID:466595 發(fā)表于 2022-2-12 10:02 | 顯示全部樓層
大佬,水溫數(shù)據(jù)你是接哪里讀取的?
回復

使用道具 舉報

ID:386467 發(fā)表于 2022-5-20 13:28 | 顯示全部樓層
gps.h不在文件里面
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 97国产超碰 | 成人免费大片黄在线播放 | 91在线精品秘密一区二区 | 1区2区3区视频 | 免费日韩av | 国产一区二区三区久久 | 日韩精品在线一区 | 亚洲国产小视频 | 91精品国产综合久久久久 | 91精品国产自产精品男人的天堂 | 精品福利在线 | 99精品网 | 色综网 | 91久久网站 | 午夜伦理影院 | 亚洲欧美日韩精品久久亚洲区 | 欧美高清一级片 | 91麻豆蜜桃一区二区三区 | 亚洲视频欧美视频 | 免费视频一区二区 | 成人精品鲁一区一区二区 | 精品国产乱码久久久久久中文 | 色播久久 | 密乳av| 亚洲一区二区三区四区五区中文 | 亚洲第一女人av | 色精品视频 | 在线播放亚洲 | 国产免费观看一区 | 久久久久久国产精品 | 亚洲国产在 | 国产福利在线播放 | 中文字幕免费 | 四虎在线观看 | 中文字幕第十一页 | 欧美一区二区三区在线免费观看 | 成在线人视频免费视频 | 久久国产精品一区二区三区 | 亚洲国产欧美精品 | 在线国产99| 操人网 |