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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于DHT11的溫濕計設計 OLED12864顯示

  [復制鏈接]
跳轉到指定樓層
樓主
本作品采用STC15F104W單片機和OLED12864(IIC)設計,配合B站上傳的視頻更佳。
B站搜索基于DHT11的溫濕計(UP凌凈清河)即可查到相關視頻(預計2018年7月13日前會審核完畢)。

主要亮點:
1.自定義的顯示函數以滿足顯示需求
2.簡化的字庫以滿足單片機4K Flash的容量需求
次要亮點:
1.使用小巧的STC15F104W單片機

請注意!為防止低成本盜用(雖然寫的不怎么樣),僅展示主程序文件源碼,在附件中有完整版。

  1. #include<STC15.H>
  2. #include "intrins.h"
  3. #include "OLED_Contrul_Hygrothermograph.c"
  4. sbit YLED=P3^1;
  5. sbit RLED=P3^0;
  6. sbit DHT=P3^5;
  7. unsigned int Temperature[3]={1,1,1};
  8. unsigned int Humidity[2]={1,1};
  9. unsigned char Data_Receive[5];
  10. /*#################################################################################
  11. 設計名稱:基于DHT11的溫濕度計(Hygrothermograph)
  12. 設計者:清河

  13. 平臺:STC15F104W
  14. 硬件部分
  15. 顯示:采用OLED12864顯示溫度和濕度
  16. 測量,采用DHT11模塊,模塊信息如下:
  17. ASATR
  18. -----
  19. NA:DHT11
  20. OC:3.3-5.5V
  21. U1:5-95%RH
  22. U2:-20-60℃
  23. U3:±5%RH±2℃
  24. SN:A1712882A

  25. 為保證延時準確,晶振設置為12MHz

  26. 借用了<a href="http://m.zg4o1577.cn/bbs/dpj-38067-1.html" target="_blank">http://m.zg4o1577.cn/bbs/dpj-38067-1.html</a>上的部分程序,在此表示感謝
  27. #################################################################################*/
  28. void Delay30us()
  29. {unsigned char i;i=87;while(--i);}

  30. void Delay20ms()
  31. {unsigned char i,j,k;i=1;j=234;k=113;do{do{while(--k);}while(--j);}while(--i);}

  32. void Delay1s()
  33. {unsigned char i,j,k;i=46;j=153;k=245;do{do{while(--k);}while(--j);}while(--i);}

  34. void OLED_Display()
  35. {OLED_DataDisplay_T(56,4,Temperature);OLED_DataDisplay_H(56,6,Humidity);}

  36. void DHT_Collect()
  37. {unsigned char i,j;unsigned char t;unsigned char dat8=0;unsigned int CheckValue=0;
  38. DHT=0;Delay20ms();DHT=1;Delay30us();
  39. t=80;while(DHT&&t--);if(t==0){DHT=1;}t=250;while(!DHT&&t--);
  40. if(t==0){DHT=1;}t=250;while(DHT&&t--);if(t==0){DHT=1;}
  41. for(j=0;j<5;j++)
  42. {for(i=0;i<8;i++){t=150;while(!DHT&&t--);if(t==0){DHT=1;}t=0;
  43. while(DHT&&++t);dat8<<=1;if(t>30)dat8+=1;}Data_Receive[j]=dat8;}
  44. Delay30us();Delay30us();DHT=1;
  45. for(i=0;i<4;i++){CheckValue+=Data_Receive[i];}
  46. if((unsigned char)CheckValue==Data_Receive[4])
  47. {Temperature[0]=Data_Receive[2]/10;Temperature[1]=Data_Receive[2]%10;Temperature[2]=Data_Receive[3]%10;
  48. Humidity[0]=Data_Receive[0]/10;Humidity[1]=Data_Receive[0]%10;}}

  49. void sys_init()
  50. {YLED=1;RLED=1;OLED_Init();OLED_CLS();
  51. OLED_FormTitle(0,0);OLED_FormName(0,2);OLED_FormLine(0,3);OLED_FormTemp(8,4);OLED_FormHumi(16,6);
  52. OLED_AnyChar_16X16(96,4,TempChar);OLED_AnyChar_8X16(88,6,HumiChar);OLED_AnyChar_8X16(72,4,PointChar);}

  53. void main()
  54. {sys_init();while(1){DHT_Collect();YLED=1;RLED=0;OLED_Display();RLED=1;YLED=0;Delay1s();Delay1s();}}
復制代碼
帶注釋版以及OLED控制文件、字庫文件、底層通信文件在附件中,上面的為主程序文件無注釋緊縮版。
所有代碼排版嚴謹,分級之間使用TAB件,無多余空格,使用Notpad++以c文件形式打開即可正常觀看。

新礦城學習基地 凌凈清河

Keil代碼下載: 基于DHT11的溫濕計 凌凈清河.zip (45.51 KB, 下載次數: 581)

評分

參與人數 3黑幣 +87 收起 理由
aiober + 30 很給力!
hbnpmw + 7
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

來自 2#
ID:60663 發表于 2018-8-15 21:58 | 只看該作者
樓主,我仿制了一個,我想把數字的字體加大到16*32,程序怎么改,我試了多次,提示void OLED_Set_Pos(unsigned char x, unsigned char y) 這里出錯,請樓主幫忙,謝謝了。

評分

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

查看全部評分

回復

使用道具 舉報

來自 3#
ID:362076 發表于 2018-8-27 09:25 | 只看該作者
kodak0818 發表于 2018-8-26 17:51
樓主,感謝分享,順便問一下,怎么鑒定oled12864是不是壞的,我燒你的hex,oled不顯示啊

確定連線都是按照程序中位定義連接的么?OLED的初始化操作正確執行了么?這兩步完成程序應該會有顯示了。OLED對延時要求不是很高呀。和DHT相關的部分倒是要改一下精準延時函數。
回復

使用道具 舉報

來自 4#
ID:362076 發表于 2018-8-27 09:27 | 只看該作者
kodak0818 發表于 2018-8-26 17:51
樓主,感謝分享,順便問一下,怎么鑒定oled12864是不是壞的,我燒你的hex,oled不顯示啊

如果不是按照程序中的引腳定義連線的,要改一下OLED_Hygrothermograph.h中的串行數據/時鐘的定義,應該是沒有改吧?
回復

使用道具 舉報

來自 5#
ID:362076 發表于 2018-9-5 12:27 | 只看該作者
twelveboy 發表于 2018-8-15 21:58
樓主,我仿制了一個,我想把數字的字體加大到16*32,程序怎么改,我試了多次,提示void OLED_Set_Pos(unsig ...

不好意思,之前瀏覽回復的時候竟然沒有注意到你的問題。但是我并沒能想清楚你的問題出現在哪里,OLED_Set_Pos的作用類似于打印機將打印頭移動到要寫入數據的位置處。本不應該出現錯誤的,推測是你的上級調用函數出了問題?
增大字號的話,先是擴充取模數組,對應著取模的方式重寫顯示函數,要考慮到每一個字符占的位置大小,每一個字節的顯示順序等等,當需要開始新一行(8個縱點)的時候就要重新設置Pos,如此分行多次寫完一個字模。
回復

使用道具 舉報

來自 6#
ID:362076 發表于 2018-9-5 12:31 | 只看該作者
kodak0818 發表于 2018-8-27 22:25
線序是對的,燒了好多hex 都沒有反應,自己也寫了一些全屏顯示的代碼,沒有反應,估計屏幕是壞的。放棄了 ...

OLED12864在淘寶上最便宜有12塊錢包郵的,小貓芯城價格15元,15元也是大多數“便宜”賣家給出的價格,至于20塊左右或者更高價格的,直接pass吧,我買過幾個便宜的,用著也沒什么問題。
回復

使用道具 舉報

來自 7#
ID:362076 發表于 2018-9-5 12:33 | 只看該作者
pk可樂 發表于 2018-8-28 15:56
謝謝,想學習一下12864與單片機的鏈接

連接...IIC的話除了P0要加上拉之外,SDA和SCL隨便連接哪一個IO都可以啊~
回復

使用道具 舉報

來自 8#
ID:362076 發表于 2018-9-12 10:04 | 只看該作者

不大,如果是用我的程序直接燒錄的話,難度就是5個IO和器件的連接,因為屏幕是IIC的,所以連接起來較SPI的更方便。
制作成本的話,按主要的算,屏幕13+洞洞板0.8元+DTH11 5.7+microUSB小板0.8+STC15F104W 1.8+雜項,大約不到25元。
回復

使用道具 舉報

9#
ID:102963 發表于 2018-7-13 13:57 | 只看該作者
不錯的設計,新穎的單片機,好!
回復

使用道具 舉報

10#
ID:87193 發表于 2018-7-17 14:46 | 只看該作者
回復看看咯,希望有驚喜
回復

使用道具 舉報

11#
ID:373734 發表于 2018-7-18 00:51 | 只看該作者
謝謝樓主
回復

使用道具 舉報

12#
ID:163705 發表于 2018-7-18 09:29 | 只看該作者
不錯,學習了
回復

使用道具 舉報

13#
ID:44037 發表于 2018-7-18 10:13 | 只看該作者
謝謝分享  回復看看咯,希望有驚喜
回復

使用道具 舉報

14#
ID:373808 發表于 2018-7-18 10:56 | 只看該作者
厲害了樓主
回復

使用道具 舉報

15#
ID:256485 發表于 2018-7-19 15:27 | 只看該作者
謝謝分享!
回復

使用道具 舉報

16#
ID:374973 發表于 2018-7-19 16:25 來自觸屏版 | 只看該作者
謝謝分享~
回復

使用道具 舉報

17#
ID:75461 發表于 2018-7-24 00:05 | 只看該作者
謝謝分享,學習中
回復

使用道具 舉報

18#
ID:371205 發表于 2018-7-24 13:44 | 只看該作者
你好  您的基于DHT1112864顯示   我能下載嗎”
回復

使用道具 舉報

19#
ID:104846 發表于 2018-7-24 17:06 | 只看該作者
好,學學兮兮
回復

使用道具 舉報

20#
ID:362076 發表于 2018-7-24 20:50 | 只看該作者
hjklk 發表于 2018-7-24 13:44
你好  您的基于DHT1112864顯示   我能下載嗎”

這算是試探性的回復么?>v<
只要回帖就可以下載的。
回復

使用道具 舉報

21#
ID:242127 發表于 2018-7-24 22:54 | 只看該作者
很好的代碼
回復

使用道具 舉報

22#
ID:199210 發表于 2018-7-24 23:13 | 只看該作者
牛人
回復

使用道具 舉報

23#
ID:375381 發表于 2018-7-25 18:59 來自觸屏版 | 只看該作者
可以可以,很好
回復

使用道具 舉報

24#
ID:60663 發表于 2018-8-5 18:06 | 只看該作者
正找這個呢
回復

使用道具 舉報

25#
ID:201191 發表于 2018-8-8 12:10 | 只看該作者
看看如何
回復

使用道具 舉報

26#
ID:163046 發表于 2018-8-8 16:14 | 只看該作者
不錯的設計
回復

使用道具 舉報

27#
ID:383124 發表于 2018-8-8 16:39 來自觸屏版 | 只看該作者
多謝分享
回復

使用道具 舉報

28#
ID:379563 發表于 2018-8-13 10:01 | 只看該作者
正嘗試STM32的DHT11溫濕度 前來參考參考
回復

使用道具 舉報

29#
ID:272158 發表于 2018-8-13 14:53 | 只看該作者
收藏學習一下,研究一下小發明
回復

使用道具 舉報

30#
ID:82738 發表于 2018-8-15 07:45 來自觸屏版 | 只看該作者
不錯的設計;下載學習
回復

使用道具 舉報

31#
ID:228731 發表于 2018-8-15 09:01 | 只看該作者
不錯 謝謝分享!
回復

使用道具 舉報

32#
ID:229445 發表于 2018-8-15 19:44 | 只看該作者
想要學習oled遂來討教
回復

使用道具 舉報

33#
ID:358930 發表于 2018-8-15 23:33 來自觸屏版 | 只看該作者
很好,簡單的就好
回復

使用道具 舉報

34#
ID:387116 發表于 2018-8-17 09:44 | 只看該作者
很好的資料
回復

使用道具 舉報

35#
ID:371023 發表于 2018-8-17 13:58 | 只看該作者
回復看看咯,希望有驚喜
回復

使用道具 舉報

36#
ID:57896 發表于 2018-8-18 18:28 | 只看該作者
謝謝分享,51黑有你更精彩
回復

使用道具 舉報

37#
ID:57896 發表于 2018-8-18 18:29 | 只看該作者
謝謝分享,支持原創
回復

使用道具 舉報

38#
ID:246638 發表于 2018-8-23 21:25 | 只看該作者
不錯的資料
回復

使用道具 舉報

39#
ID:366539 發表于 2018-8-24 22:03 | 只看該作者
謝謝樓主
回復

使用道具 舉報

40#
ID:142687 發表于 2018-8-25 00:26 | 只看該作者
感謝分享
回復

使用道具 舉報

41#
ID:374724 發表于 2018-8-25 06:49 來自觸屏版 | 只看該作者
菜鳥來學習一下
回復

使用道具 舉報

42#
ID:243394 發表于 2018-8-26 12:38 | 只看該作者
不錯,學習了
回復

使用道具 舉報

43#
ID:159122 發表于 2018-8-26 12:57 | 只看該作者
感謝樓主分享,學習了e
回復

使用道具 舉報

44#
ID:159122 發表于 2018-8-26 17:51 | 只看該作者
樓主,感謝分享,順便問一下,怎么鑒定oled12864是不是壞的,我燒你的hex,oled不顯示啊
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产免费一级一级 | 中文字幕视频在线观看 | 日韩精品在线网站 | 日日摸日日碰夜夜爽亚洲精品蜜乳 | 欧美久久久 | 久久久精品一区二区三区 | 国产中的精品av涩差av | 盗摄精品av一区二区三区 | 香蕉久久a毛片 | 羞羞视频在线免费 | 色综合天天天天做夜夜夜夜做 | 成人免费视频网站在线观看 | 91资源在线 | 精品亚洲国产成av人片传媒 | av激情在线| 拍真实国产伦偷精品 | 亚洲中字在线 | 婷婷久| 欧美日韩国产在线观看 | 国产伦精品一区二区三区照片91 | 久久国产精品无码网站 | 福利成人 | 一级做a爰片性色毛片视频停止 | www.亚洲免费 | 亚洲一区二区三区在线视频 | 欧美一级二级在线观看 | 在线视频h| 伊人久久综合 | 精品国产一区二区三区久久 | 国产精品久久久久久久久 | 啪啪毛片 | 91久久久久久久久 | 久久精品欧美一区二区三区不卡 | 激情五月婷婷综合 | 免费高潮视频95在线观看网站 | 一区二区国产精品 | 久久99精品久久久久久国产越南 | 精品欧美激情在线观看 | 91色啪 | 免费看爱爱视频 | eeuss国产一区二区三区四区 |