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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STC15單片機+DS3231+DS18B20+DHT11+OLED12864+ESP8266_01S組成網絡時間 有待改善

  [復制鏈接]
跳轉到指定樓層
#
每個文件分開   可以少點彎路   


制作出來的實物圖如下:


單片機源程序如下:
  1. #include "delay.h"
  2. #include "oled12864.h"
  3. #include "uart.h"
  4. #include "esp8266.h"
  5. #include "ds18b20.h"
  6. #include "DHT11.h"
  7. #include "DS3231.h"

  8. sbit led1=P0^6;
  9. sbit led2=P0^7;
  10. uint8 a,wendu;
  11. uint16 b,c;

  12. void riqi(void);
  13. void shijian(void);
  14. void Uart2_Init(void);

  15. /*********************定時器函數************************************/

  16. void Timer0Init()                //100微秒@22.1184MHz
  17. {
  18.         AUXR |= 0x80;                //定時器時鐘1T模式
  19.         TMOD &= 0xF0;                //設置定時器模式
  20.         TL0 = 0x5C;                //設置定時初始值
  21.         TH0 = 0xF7;                //設置定時初始值
  22.         TF0 = 0;                //清除TF0標志
  23.         TR0 = 1;                //定時器0開始計時
  24. }
  25. void Timer1Init()                //1000微秒@22.1184MHz
  26. {
  27.         AUXR |= 0x40;                //定時器時鐘1T模式
  28.         TMOD &= 0x0F;                //設置定時器模式
  29.         TL1 = 0x9A;                //設置定時初始值
  30.         TH1 = 0xA9;                //設置定時初始值
  31.         TF1 = 0;                //清除TF1標志
  32.         TR1 = 1;                //定時器1開始計時
  33. }
  34. void timer0() interrupt 1
  35. {
  36.         TL0 = 0x5C;                //設置定時初始值
  37.         TH0 = 0xF7;                //設置定時初始值
  38.         TF0 = 0;
  39.         b++;
  40.         if(b>1000)
  41.         {
  42.         b=0;
  43.         led1=~led1;
  44.         }
  45. }
  46. void timer1() interrupt 3 //定時器1的中斷
  47. {
  48.         TL1 = 0x9A;                //設置定時初始值
  49.         TH1 = 0xA9;                //設置定時初始值
  50.         c++;
  51.         if(c>1000)
  52.         {
  53.         c=0;
  54.         led2=~led2;
  55.         }
  56. }

  57. void duishi()
  58. {
  59.        
  60.         delayms(1000);
  61.         UART2_SendStr("GET http://api.k780.com:88/?app=life.time&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json\r\n\r\n");
  62.         nian=(Data[6]-48)*10+(Data[7]-48);
  63.         yue=(Data[9]-48)*10+(Data[10]-48);
  64.         ri=(Data[12]-48)*10+(Data[13]-48);
  65.         zhou=Data2[4]-48;
  66.         shi=(Data[15]-48)*10+(Data[16]-48);
  67.         fen=(Data[18]-48)*10+(Data[19]-48);
  68.         miao=(Data[21]-48)*10+(Data[22]-48)+4;
  69.         if(miao>60)  {miao=60;fen+=1;}
  70.         Ds3231Init();
  71.         //SendString("+++");

  72. }

  73. void main()
  74. {
  75.         Timer0Init();//初始化定時器0
  76.         Timer1Init();//初始化定時器1
  77.        
  78.         EA=1;//開啟總中斷
  79.         ET0=1;//開啟定時器0中斷
  80.         ET1=1;//開啟定時器1中斷
  81.        
  82.         Delayus(6000);
  83.         P0M0=0X00;P0M1=0X00;
  84.         P1M0=0X00;P1M1=0X00;
  85.         P2M0=0X00;P2M1=0X00;
  86.         P3M0=0X00;P3M1=0X00;
  87.         P4M0=0X00;P4M1=0X00;
  88.         P5M0=0X00;P5M1=0X00;
  89.         P6M0=0X00;P6M1=0X00;

  90.         OLED_Init();
  91.         OLED_Fill(0xff);
  92.         delayms(200);
  93.         OLED_Fill(0x00);
  94.         delayms(200);
  95.         OLED_CLS();
  96.        
  97.         Uart2_Init();
  98.        
  99.         zhoucqh();

  100.         ESP8266_Init();
  101.         duishi();

  102.        

  103.        
  104.         while(1)
  105.         {
  106.                 temget();
  107.                 wendu=temget();
  108.                
  109.                 DHT11_receive();
  110.                
  111.                 Ds3231ReadTime();
  112.                 shijian();
  113.                 riqi();
  114.         }       
  115. }

  116. void riqi(void)
  117. {
  118.         OLED_P8x16Ch(0,0,yue/10);
  119.         OLED_P8x16Ch(8,0,yue%10);  
  120.         OLED_P8x16Ch(16,0,13);
  121.         OLED_P8x16Ch(24,0,ri/10);
  122.         OLED_P8x16Ch(32,0,ri%10);
  123.         OLED_P8x16Ch(80,0,12);
  124.         OLED_P8x16Ch(88,0,wendu%100/10);
  125.         OLED_P8x16Ch(96,0,wendu%10);
  126.         OLED_P8x16Ch(104,0,11);
  127.         OLED_P8x16Ch(112,0,RH/10);
  128.         OLED_P8x16Ch(120,0,RH%10);
  129. }
  130. void shijian(void)
  131. {
  132.         OLED_P16x32Ch(0,2,shi/10);
  133.         OLED_P16x32Ch(16,2,shi%10);
  134.         OLED_P16x32Ch(32,2,10);
  135.         OLED_P16x32Ch(48,2,fen/10);
  136.         OLED_P16x32Ch(64,2,fen%10);
  137.         OLED_P16x32Ch(80,2,10);
  138.         OLED_P16x32Ch(96,2,miao/10);
  139.         OLED_P16x32Ch(112,2,miao%10);
  140.        
  141.         OLED_P16x16Ch(0,6,24);
  142.         OLED_P16x16Ch(16,6,25);
  143.         if(zhou==0)OLED_P16x16Ch(32,6,26);
  144.         else OLED_P16x16Ch(32,6,zhou);
  145. }
復制代碼

程序還有待改善,大家一起完善下:
oled學習.rar (85.02 KB, 下載次數: 521)


評分

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

查看全部評分

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

使用道具 舉報

來自 12#
ID:834389 發表于 2021-5-8 07:49 | 只看該作者
備注下:mcu頻率為22.1184     esp8266 115200     DHT11對時鐘要求較高,個人修改要注意,  定時器為附帶,可以刪除
回復

使用道具 舉報

11#
ID:140489 發表于 2023-2-7 13:48 | 只看該作者
原來WiFi模塊插上OLED 屏幕就閃,是我的51開發板的3.3V有問題,換單獨的3.3V電源就好了
在串口助手里面設置WiFi模塊方法如下:
esp8266獲取網絡時間
1.使用串口發送指令AT+CWMODE=1設置模塊Wi-Fi應用模式為Station模式;

2.發送指令AT+RST重啟模塊使應用模式更改生效;

3.發送指令AT+CWJAP ="ssid","pwd"連接AP;

4.發送指令AT+CIPMUX=0設置模塊為單路連接模式,模塊默認為單路連接模式;

5.發送指令AT+CIPSTART="TCP","api.k780.com",80 與服務器建立TCP連接 ;

6.發送指令AT+CIPMODE=1設置模塊傳輸模式為透傳模式;

7.發送指令AT+CIPSEND開啟透傳模式向服務器發送數據,模塊收到此指令后先換行后返回“>”

8.剩下只需要發送 GET api.k780:88/?app=life.time&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json&HTTP/1.1 \r\n,就能獲取到年月時間。

51hei截圖20230207134554.png (100.44 KB, 下載次數: 96)

51hei截圖20230207134554.png
回復

使用道具 舉報

10#
ID:140489 發表于 2023-2-1 15:18 | 只看該作者
按照樓主的程序,單片機用的STC15F2K60S2,接上WiFi模塊(接在單片機的串口2),OLED 屏幕閃爍,不顯示字符,不接WiFi模塊OLED能正常顯示,請教這是什么原因呢?

51hei圖片_20230201145845.jpg (72.31 KB, 下載次數: 114)

51hei圖片_20230201145845.jpg

51hei圖片編輯_20230201145817.jpg (41.3 KB, 下載次數: 109)

51hei圖片編輯_20230201145817.jpg
回復

使用道具 舉報

9#
ID:140489 發表于 2023-2-1 14:42 | 只看該作者
我單片機用的15F2K60S2,不接WiFi模塊OLED能正常顯示,接上WiFi模塊OLED 屏幕就不停的閃,是什么原因呢?     WiFi模塊用串口助手調試能獲取到網絡時間

51hei圖片編輯_20230201145817.jpg (41.3 KB, 下載次數: 109)

51hei圖片編輯_20230201145817.jpg

51hei圖片_20230201145845.jpg (72.31 KB, 下載次數: 98)

51hei圖片_20230201145845.jpg
回復

使用道具 舉報

8#
ID:507540 發表于 2022-5-9 16:24 | 只看該作者
稍稍修改一下,ESP8266.c中的串口2中斷函數里面,變量a,b應該為static
回復

使用道具 舉報

7#
ID:507540 發表于 2022-4-24 14:49 | 只看該作者
非常不錯,實測可用
回復

使用道具 舉報

6#
ID:644764 發表于 2022-3-3 12:12 | 只看該作者
我正在進行中,學習一下
回復

使用道具 舉報

5#
ID:466595 發表于 2022-2-10 17:55 | 只看該作者

謝謝,正在學習。十分感謝。
回復

使用道具 舉報

地板
ID:1004419 發表于 2022-2-8 17:12 | 只看該作者
謝謝啦,可以學習一下,可以使用stm32單片機開發
回復

使用道具 舉報

板凳
ID:507540 發表于 2021-12-14 16:16 | 只看該作者
相當不錯的資源,下載來研究研究
回復

使用道具 舉報

沙發
ID:270740 發表于 2021-6-3 10:27 | 只看該作者
謝謝啦,可以學習一下,可以使用stm32單片機開發
回復

使用道具 舉報

樓主
ID:161785 發表于 2021-5-14 21:25 來自手機 | 只看該作者
謝謝,正在學習。十分感謝。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕一区二区三区四区五区 | 亚洲欧美中文日韩在线v日本 | 精品一区二区三区视频在线观看 | 在线播放亚洲 | 欧美日韩在线一区二区 | 国产精品国产三级国产aⅴ中文 | 男女下面一进一出网站 | 成人欧美一区二区三区黑人孕妇 | 天堂va在线 | 亚洲一二视频 | 亚洲午夜精品视频 | 91免费观看在线 | 91麻豆精品国产91久久久久久久久 | 亚洲视频一区 | 国产福利免费视频 | 国产精品美女视频 | 一区二区三区在线播放 | 草草影院ccyy | 欧美一区二区在线 | 一级片在线观看 | 国产一区二区免费 | 精品国产乱码久久久久久蜜柚 | 亚洲色在线视频 | 国产一级特黄真人毛片 | 99精品一区二区 | 精品亚洲一区二区三区四区五区 | 黄色av一区 | 夜夜爽99久久国产综合精品女不卡 | 亚洲欧美日韩在线一区二区 | 成人高清在线 | 99热在线免费 | 国产精品毛片一区二区在线看 | 日韩网站在线观看 | 久久蜜桃精品 | 久久y| 成人精品一区二区三区中文字幕 | 国产一区二区三区四区三区四 | 国产精品99久久久久久久vr | 一区二区三区视频在线免费观看 | 亚洲91精品 | 国产精品福利视频 |