欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: STC8G1K08A單片機硬IIC 1.3 OLED DS18B20光敏傳感器白天晚上圖片切換程序 [打印本頁]

作者: gdszt    時間: 2022-11-17 13:25
標題: STC8G1K08A單片機硬IIC 1.3 OLED DS18B20光敏傳感器白天晚上圖片切換程序
     利用空閑時間自學單片機 ,用1.3寸OLED DS18B20 光敏傳感器來顯示溫度,白天和晚上圖片切換。本人用的是1.3寸OLED,若用0.96寸OLED部分代碼要做修改(代碼中有注釋),光敏傳感器中的靈敏度可以調整。由于本人時間不是很足,又是自學,有不足的地方還請大家能指正,能學習和進步得更快一些。代碼在附件中。

制作出來的實物圖如下:


單片機源程序如下:
  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)

作者: gdszt    時間: 2022-11-17 13:27
燒錄頻率要設為22.1184MHZ
作者: oohoh    時間: 2022-11-17 22:04
鎖緊座電路板起什么作用?
作者: gdszt    時間: 2022-11-18 09:10
那是STC燒錄器,也可以燒錄插件IC
作者: zzya1985    時間: 2022-11-18 12:06
我也在自學,有不明白的地方還要請教
作者: skyrusher    時間: 2022-11-18 13:59
給樓主點贊!我也是初學者,請問STC8G1K08A能否實現這個功能:同時輸出2路pwm信號。一路頻率固定占空比可調,用于產生穩定的直流可調電壓;一路輸出占空比50%頻率可在1-4mhz間調整,用作測試信號。
作者: rsx9583    時間: 2022-11-18 14:39
skyrusher 發表于 2022-11-18 13:59
給樓主點贊!我也是初學者,請問STC8G1K08A能否實現這個功能:同時輸出2路pwm信號。一路頻率固定占空比可調 ...

你這個功能是可以,但是以單片機的速率,輸出4MHZ應該是不可能的,幾百PWMK都很勉強。可以輸出分頻主時鐘信號,頻率會高點,但也到不了4M。
作者: gdszt    時間: 2022-11-18 17:43
  用STC8G1K08A可以實現同時輸出2路PWM,用PCA    T0    T1  都可以實現PWM,可以參考一下STC—ISP下載軟件上的范例程序。和樓上的意見相同,用系統時鐘分頻,最后輸出頻率到不了那么高。
作者: skyrusher    時間: 2022-11-18 19:02
:handshake 謝謝上面兩位耐心解答!
作者: 大漠孤煙001    時間: 2022-11-30 14:38


作者: gxgllzh123    時間: 2022-12-2 08:03
0.96的4針可以通用嗎

作者: wkman    時間: 2022-12-2 11:34
gxgllzh123 發表于 2022-12-2 08:03
0.96的4針可以通用嗎

要看oled上的驅動ic是什么型號
作者: gxgllzh123    時間: 2022-12-2 20:26
wkman 發表于 2022-12-2 11:34
要看oled上的驅動ic是什么型號

1306的
作者: gdszt    時間: 2022-12-3 11:11
    我用的是1.3寸的OLED,有2塊分別從2個不同的地方買的,都是IIC的,驅動全是1116的,雖然背面元件排列有點不同,但2個屏完全通用。
作者: asuolellllo    時間: 2022-12-5 09:30

寫的太好了,可以好好學習了
作者: gxgllzh123    時間: 2022-12-11 14:09
我用STC8H8K64U上午芯片點不亮呢?

作者: gxgllzh123    時間: 2022-12-11 15:19
為什么我用STC8H8K64U寫不成功呢
作者: vscos    時間: 2022-12-11 18:46
STC8的芯片好像不能用STC89的燒錄座燒程序了呀!用什么燒錄座才行呀
作者: gdszt    時間: 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)里就好了。
   現在測試好了,顯示正常。

   
作者: 1233389    時間: 2023-10-17 11:07
1306oled屏i2c地址是0x3c還是ox78?我在arduino用3c點亮,怎么keil例程全是0x78?
作者: ly_zhy    時間: 2024-9-13 21:49
正在學習,有參考價值。

作者: easymfk    時間: 2024-9-14 13:51
學習單片機是不是要先把C語言學好呢?
作者: 螞蟻科技    時間: 2024-9-17 08:55
有原理圖嗎?
作者: gdszt    時間: 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腳。




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1