国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee

 找回密碼
 注冊
搜索

51單片機(jī) OLED和lcd1602屏幕煙霧溫度報警程序原理圖PCB

[復(fù)制鏈接]
樓主
eng 發(fā)表于 2021-6-20 01:59:49 | 只看該作者 |只看大圖 |倒序瀏覽 |閱讀模式
oled屏幕,煙霧模塊MQ-2模塊,還有ds18b20模塊 有程序有pcb圖 51單片機(jī) OLED和lcd1602屏幕煙霧溫度報警程序原理圖PCB 3.png

Altium Designer畫的原理圖和PCB圖如下:(附件中可下載工程文件)

51單片機(jī) OLED和lcd1602屏幕煙霧溫度報警程序原理圖PCB 1.png 51單片機(jī) OLED和lcd1602屏幕煙霧溫度報警程序原理圖PCB 2.png

部分代碼:完整代碼在本文尾部附件中
  1. uchar ADc()
  2. {
  3.         uchar i,dat11 = 0,dat22 = 0;
  4.         //第一個周期:轉(zhuǎn)換開始
  5.         CS = 0;
  6.         CLK = 0;
  7.         DIO = 1;
  8.         _nop_(); _nop_();//短暫定時2us——也可以寫成delay2us();,那么程序就要有delay2us();的定義了。
  9.         CLK = 1; _nop_(); _nop_();
  10.         
  11.         
  12.         //第二個周期:選擇選擇單通道還是雙通道  DIO=0雙通道差分 或 DIO=1單通道
  13.         CLK = 0; DIO=1; _nop_();_nop_();
  14.         CLK = 1;        _nop_();_nop_();
  15.         
  16.         //第三個周期:DIO選擇CH1-->如果DIO=0 選擇CH0
  17.         CLK = 0;DIO = 0; _nop_();_nop_();
  18.         CLK = 1;DIO = 1; _nop_();_nop_();
  19.         
  20.         //等待
  21.         CLK = 0; DIO = 1; _nop_();_nop_();
  22.         
  23.         //4-11,共8個下降沿讀取數(shù)據(jù)(MSB->LSB) 先進(jìn)來的為最高位,后進(jìn)來為最低位
  24.         for(i=0;i<8;i++)
  25.         {
  26.                 CLK = 1;  _nop_();_nop_();
  27.                 CLK = 0;  _nop_();_nop_();
  28.                 dat11 = dat11<<1|DIO;
  29.         }
  30.         //11-18 共8個下降沿讀取數(shù)據(jù)(LSB->MSB) 先進(jìn)來的為最低位,后進(jìn)來為最高位
  31.         for(i=0;i<8;i++)
  32.         {
  33.                 dat22 = dat22|((uchar)(DIO)<<i);
  34.                 CLK = 1;  _nop_();_nop_();
  35.                 CLK = 0;  _nop_();_nop_();
  36.         }
  37.         
  38.         //禁止片選
  39.         CS = 1;
  40.         //如果MSB->LSB和LSB->MSB讀取數(shù)據(jù)結(jié)果相同,返回讀取結(jié)果,否者0
  41.         return (dat11==dat22) ? dat11 : 0 ;        
  42. }
  43. void keyscan()
  44. {
  45.         if(key1==0)
  46.         {
  47.                 delay(5);
  48.                 if(key1==0)
  49.                 {
  50.                         if(moshi==0){moshi=1;delay(20);}
  51.                         else if(moshi==1){moshi=0;delay(20);}        
  52.                 }
  53.                 while(!key1);
  54.         }
  55.         else if(key2==0)
  56.         {
  57.                 delay(5);
  58.                 if(key2==0)
  59.                 {
  60.                         if(moshi==0)
  61.                         {
  62.                                 if(wendu_h==40) wendu_h=20;
  63.                                 else wendu_h++;
  64.                         }
  65.                         else if(moshi==1)
  66.                         {
  67.                                 if(shidu_h==500) shidu_h=100;
  68.                                 else shidu_h+=50;
復(fù)制代碼


煙霧報警原理圖PCB AD格式.zip (2.31 MB, 售價: 2 E幣)
0.96OLED顯示屏C51_IIC例程.zip (105.86 KB, 售價: 2 E幣)
lcd1602顯示屏例程.rar (34.24 KB, 售價: 2 E幣)
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則

手機(jī)版|小黑屋|ELEOK |網(wǎng)站地圖

GMT+8, 2026-5-26 04:54

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回復(fù) 返回頂部 返回列表