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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5859|回復: 23
收起左側

STC8G1K08A單片機硬IIC 1.3 OLED DS18B20光敏傳感器白天晚上圖片切換程序

  [復制鏈接]
ID:921294 發表于 2022-11-17 13:25 | 顯示全部樓層 |閱讀模式
     利用空閑時間自學單片機 ,用1.3寸OLED DS18B20 光敏傳感器來顯示溫度,白天和晚上圖片切換。本人用的是1.3寸OLED,若用0.96寸OLED部分代碼要做修改(代碼中有注釋),光敏傳感器中的靈敏度可以調整。由于本人時間不是很足,又是自學,有不足的地方還請大家能指正,能學習和進步得更快一些。代碼在附件中。

制作出來的實物圖如下:
baitian.jpg wanshang.jpg

單片機源程序如下:
  1. #include "oled.h"
  2. #include "DS18b20.h"
  3. #include "gmcg.h"
  4. #include "bmp.h"



  5. int main(void)
  6. {        
  7.         
  8.          P3M1 = 0;   
  9.      P3M0 = 0;                                //P3設置為準雙向口
  10.          P5M1 = 0;   
  11.      P5M0 = 0;                                //P3設置為準雙向口
  12.          
  13.          iicInit();                               //硬件iic初始化
  14.      P_SW2 = 0x80;        
  15.          OLED_Init();                             //初始化OLED  
  16.          OLED_Clear();                            //清屏
  17.         

  18.             OLED_ShowCHinese(78,6,0);          //顯示漢字好
  19.                 OLED_ShowCHinese(96,6,1);          //顯示漢字開
  20.             OLED_ShowCHinese(114,6,2);         //顯示漢字心
  21.                  OLED_ShowCHinese(0,6,3);          //顯示漢字溫
  22.                 OLED_ShowCHinese(18,6,4);         //顯示漢字度
  23.              OLED_ShowString(34,6,":",16);
  24.             OLED_DrawBMP(90,1,128,5,BMP1);    //顯示BMP1笑臉圖片
  25.          
  26.         while(1)
  27.         {        
  28.         gettemp();
  29.                 OLED_Showm(43,6,TH,16);
  30.             delay_ms(1000);
  31.          
  32.                 if(gmIN == 0)                     //光敏傳感器檢測光強度高于一定值,AO針腳輸出低電平
  33.      {      
  34.                 OLED_DrawBMP(0,0,88,5,BMP2) ;          //顯示BMP2 白天太陽云朵
  35.          }
  36.          
  37.          else                                 //光敏傳感器檢測光強度低于一定值,AO針腳輸出高電平
  38.          {
  39.                 OLED_DrawBMP(0,0,88,5,BMP5);               //顯示BMP6 晚上月亮星星云朵
  40.          }

  41.         }         
  42.         
  43. }
  44.         
復制代碼

Keil代碼下載(附件內只含代碼,不含其他任何文件):
(5)STC8G1K08A 硬IIC光敏傳感器白天晚上圖片切換.zip (181.26 KB, 下載次數: 149)

評分

參與人數 2黑幣 +80 收起 理由
wpppmlah + 30 贊一個!
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:921294 發表于 2022-11-17 13:27 | 顯示全部樓層
燒錄頻率要設為22.1184MHZ
回復

使用道具 舉報

ID:237354 發表于 2022-11-17 22:04 | 顯示全部樓層
鎖緊座電路板起什么作用?
回復

使用道具 舉報

ID:921294 發表于 2022-11-18 09:10 | 顯示全部樓層
那是STC燒錄器,也可以燒錄插件IC
回復

使用道具 舉報

ID:1047308 發表于 2022-11-18 12:06 | 顯示全部樓層
我也在自學,有不明白的地方還要請教
回復

使用道具 舉報

ID:688905 發表于 2022-11-18 13:59 來自觸屏版 | 顯示全部樓層
給樓主點贊!我也是初學者,請問STC8G1K08A能否實現這個功能:同時輸出2路pwm信號。一路頻率固定占空比可調,用于產生穩定的直流可調電壓;一路輸出占空比50%頻率可在1-4mhz間調整,用作測試信號。
回復

使用道具 舉報

ID:468878 發表于 2022-11-18 14:39 | 顯示全部樓層
skyrusher 發表于 2022-11-18 13:59
給樓主點贊!我也是初學者,請問STC8G1K08A能否實現這個功能:同時輸出2路pwm信號。一路頻率固定占空比可調 ...

你這個功能是可以,但是以單片機的速率,輸出4MHZ應該是不可能的,幾百PWMK都很勉強。可以輸出分頻主時鐘信號,頻率會高點,但也到不了4M。
回復

使用道具 舉報

ID:921294 發表于 2022-11-18 17:43 | 顯示全部樓層
  用STC8G1K08A可以實現同時輸出2路PWM,用PCA    T0    T1  都可以實現PWM,可以參考一下STC—ISP下載軟件上的范例程序。和樓上的意見相同,用系統時鐘分頻,最后輸出頻率到不了那么高。
回復

使用道具 舉報

ID:688905 發表于 2022-11-18 19:02 | 顯示全部樓層
:handshake 謝謝上面兩位耐心解答!
回復

使用道具 舉報

ID:1042619 發表于 2022-11-30 14:38 | 顯示全部樓層
JPG.2.png
回復

使用道具 舉報

ID:28625 發表于 2022-12-2 08:03 | 顯示全部樓層
0.96的4針可以通用嗎
回復

使用道具 舉報

ID:433219 發表于 2022-12-2 11:34 | 顯示全部樓層
gxgllzh123 發表于 2022-12-2 08:03
0.96的4針可以通用嗎

要看oled上的驅動ic是什么型號
回復

使用道具 舉報

ID:28625 發表于 2022-12-2 20:26 | 顯示全部樓層
wkman 發表于 2022-12-2 11:34
要看oled上的驅動ic是什么型號

1306的
回復

使用道具 舉報

ID:921294 發表于 2022-12-3 11:11 | 顯示全部樓層
    我用的是1.3寸的OLED,有2塊分別從2個不同的地方買的,都是IIC的,驅動全是1116的,雖然背面元件排列有點不同,但2個屏完全通用。
回復

使用道具 舉報

ID:1042702 發表于 2022-12-5 09:30 | 顯示全部樓層

寫的太好了,可以好好學習了
回復

使用道具 舉報

ID:28625 發表于 2022-12-11 14:09 | 顯示全部樓層
我用STC8H8K64U上午芯片點不亮呢?
回復

使用道具 舉報

ID:28625 發表于 2022-12-11 15:19 | 顯示全部樓層
為什么我用STC8H8K64U寫不成功呢
回復

使用道具 舉報

ID:654797 發表于 2022-12-11 18:46 | 顯示全部樓層
STC8的芯片好像不能用STC89的燒錄座燒程序了呀!用什么燒錄座才行呀
回復

使用道具 舉報

ID:921294 發表于 2022-12-13 19:08 | 顯示全部樓層
    今天下午剛收到了一塊大科電子的STC8H8K64U的最小系統板,測試了一下,燒錄到里面OLED是不亮的。對比了一下8G和8H的手冊硬IIC內容,沒看出來有什么明顯的區別,參照了STC—ISP上的硬IIC例程修改了一下部分代碼,還是不行,但是用軟IIC 8G和8H就都沒有問題。感到一頭霧水,為啥硬IIC 8G行,8H就不行。
     看了一些資料,硬IIC和軟IIC各有優點:
     1. 硬件IIC用法稍復雜,模擬IIC的流程更清楚一些。
     2. 硬件IIC速度比模擬快,并且可以用DMA
     3. 模擬IIC可以在任何管腳上,而硬件只能在固定管腳上。
     想到了前陣子用硬IIC同一個SDA和SCL接2個器件時,就出現問題,用軟IIC也是沒有問題。想到這里,我就把 iicInit(); 從MAIN主函數里直接放到void OLED_Init(void)里就好了。
   現在測試好了,顯示正常。

   
回復

使用道具 舉報

ID:1034178 發表于 2023-10-17 11:07 來自觸屏版 | 顯示全部樓層
1306oled屏i2c地址是0x3c還是ox78?我在arduino用3c點亮,怎么keil例程全是0x78?
回復

使用道具 舉報

ID:1110792 發表于 2024-9-13 21:49 | 顯示全部樓層
正在學習,有參考價值。
回復

使用道具 舉報

ID:1131387 發表于 2024-9-14 13:51 | 顯示全部樓層
學習單片機是不是要先把C語言學好呢?
回復

使用道具 舉報

ID:1067504 發表于 2024-9-17 08:55 來自觸屏版 | 顯示全部樓層
有原理圖嗎?
回復

使用道具 舉報

ID:921294 發表于 2024-9-18 08:50 | 顯示全部樓層
這個芯片相對簡單,只有8個腳,沒有畫原理圖,程序中可以找到接線引腳,光敏傳感器: sbit  gmIN=P5^4   1腳;    OLED :  P_SW2 = 0xb0;   // SCL(3.2   7腳) SDA(3.3     8腳)  ;  RX 3.0  5腳 ;  TX  3.1   6腳; VCC  2腳;GND   4腳。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕久久精品 | 91精品国产综合久久久久久首页 | 中文字幕免费在线 | 美女爽到呻吟久久久久 | 欧美日韩国产一区二区三区 | 精品乱码一区二区三四区 | 欧美日韩在线精品 | 婷婷不卡 | 日韩欧美国产一区二区 | 日韩一区三区 | 超碰导航 | 久久天天综合 | 一级片免费在线观看 | 国产激情视频网址 | 国产成人精品a视频一区www | 欧美综合在线观看 | 久久亚洲天堂 | 日本精品视频一区二区 | 欧美亚洲一区二区三区 | av永久| 日日夜夜精品免费视频 | 97国产精品 | 欧美激情精品久久久久久免费 | 中文字幕国产一区 | 一级免费看 | 狠狠综合久久av一区二区老牛 | 91在线资源| 男人的天堂亚洲 | 日日日操 | 国产精品99久久久久久久久久久久 | 亚洲一区二区视频 | 成人福利在线视频 | 国产91丝袜在线播放 | h视频在线免费 | 亚洲精品一区二区三区在线 | 欧美精品久久久久 | 国产精品精品视频一区二区三区 | 国产精品福利久久久 | 成年人网站免费视频 | 精品无码久久久久久国产 | 男女羞羞的网站 |