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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

最近做個一個燈光控制系統,含代碼

[復制鏈接]
跳轉到指定樓層
樓主
這是最近參加一個比賽做的一個智能燈光控制系統,
可以實現的功能是用光強傳感器感應強度來使燈光強度變化,
手動是通過app來控制燈的顏色變化,
還有閃爍模式,燈光閃爍加顏色變化,比較絢麗,
最后是一個睡眠模式和驅蚊模式。還有人來燈亮人走燈滅的功能。
用oled來顯示,沒有字庫,自己取模來顯示。
比較簡單。
附上代碼

流程圖 副本.JPG (216.65 KB, 下載次數: 239)

流程圖 副本.JPG

截圖00.png (213.25 KB, 下載次數: 216)

截圖00.png

截圖01.png (187.08 KB, 下載次數: 267)

截圖01.png

截圖02.png (23.06 KB, 下載次數: 221)

截圖02.png

截圖03.png (693.61 KB, 下載次數: 211)

截圖03.png

截圖04.png (429.75 KB, 下載次數: 215)

截圖04.png

0.png (10.81 KB, 下載次數: 179)

0.png

多級系統.zip

76.39 KB, 下載次數: 71, 下載積分: 黑幣 -5

評分

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

查看全部評分

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

使用道具 舉報

沙發
ID:239150 發表于 2017-12-13 13:24 | 只看該作者
樓主你好,下載的時候顯示指定板塊不存在,請問應該怎么辦
回復

使用道具 舉報

板凳
ID:1 發表于 2017-12-13 13:58 | 只看該作者
樓主的主程序:
  1. #include "reg52.h"
  2. #include "oled.h"
  3. sbit led = P1^0;
  4. unsigned char step = 0;
  5. unsigned char oprt = 0;
  6. unsigned char xuhao = 0;

  7. signed long num1 = 0;
  8. signed long num2 = 0;
  9. signed long result = 0;
  10. unsigned char T0RH = 0;
  11. unsigned char T0RL = 0;
  12. void ConfigTimer0(unsigned int ms);
  13. extern void KeyScan();
  14. extern void KeyDriver(unsigned char xuhao);
  15. void jia();
  16. void jian();
  17. void jian()
  18. {
  19.         if(xuhao==0)
  20.         xuhao=2;
  21.         else
  22.         xuhao--;
  23.         led = ~led;
  24. }
  25. void jia()
  26. {       
  27.         if(xuhao<2)
  28.         xuhao++;
  29.         else
  30.         xuhao=0;
  31.         led = ~led;
  32. }

  33. void main(void)
  34. {                u8 t;
  35.                 EA = 1;           //開總中斷
  36.         ConfigTimer0(1);  //配置T0定時1ms
  37.                         OLED_Init();                        //初始化OLED  
  38.                 OLED_Clear()          ;
  39.                 t=' ';
  40.                 led =1;
  41.         while(1)
  42.         {               
  43.                  KeyDriver(xuhao);  //調用按鍵驅動
  44.         }          
  45. }
  46. void Reset()
  47. {
  48.         num1 = 0;
  49.         num2 = 0;
  50.         step = 0;
  51.         OLED_Clear();
  52.                 OLED_ShowString(5,0,"1.",16);
  53.                 OLED_ShowCHinese(18,0,0);//
  54.                 OLED_ShowCHinese(36,0,1);//
  55.                 OLED_ShowCHinese(54,0,2);
  56.                 OLED_ShowCHinese(72,0,3);
  57.                 OLED_ShowString(5,2,"2.",16);
  58.                 OLED_ShowCHinese1(18,2,0);
  59.                 OLED_ShowCHinese1(36,2,1);
  60.                 OLED_ShowCHinese1(54,2,2);
  61.                 OLED_ShowCHinese1(72,2,3);
  62.                   OLED_ShowString(5,4,"3.",16);
  63.                 OLED_ShowCHinese1(18,4,0);
  64.                 OLED_ShowCHinese1(36,4,1);
  65.                 OLED_ShowCHinese1(54,4,2);
  66.                 OLED_ShowCHinese1(72,4,3);
  67.                 delay_ms(8000);
  68. }

  69. void OprtKeyAction(unsigned char type)
  70. {  
  71.         switch(type)
  72.         {
  73.                 case 0: jian(); break;
  74.                 case 1:        jia(); break;       
  75.                 default: break;
  76.         }
  77. }
  78. void ConfigTimer0(unsigned int ms)
  79. {
  80.     unsigned long tmp;  //臨時變量
  81.    
  82.     tmp = 11059200 / 12;      //定時器計數頻率
  83.     tmp = (tmp * ms) / 1000;  //計算所需的計數值
  84.     tmp = 65536 - tmp;        //計算定時器重載值
  85.     tmp = tmp + 12;           //補償中斷響應延時造成的誤差
  86.     T0RH = (unsigned char)(tmp>>8);  //定時器重載值拆分為高低字節
  87.     T0RL = (unsigned char)tmp;
  88.     TMOD &= 0xF0;   //清零T0的控制位
  89.     TMOD |= 0x01;   //配置T0為模式1
  90.     TH0 = T0RH;     //加載T0重載值
  91.     TL0 = T0RL;
  92.     ET0 = 1;        //使能T0中斷
  93.     TR0 = 1;        //啟動T0
  94. }
  95. /* T0中斷服務函數,執行按鍵掃描 */
  96. void InterruptTimer0() interrupt 1
  97. {
  98.     TH0 = T0RH;  //重新加載重載值
  99.     TL0 = T0RL;
  100.     KeyScan();   //按鍵掃描
  101.        
  102.        
  103. }
復制代碼
回復

使用道具 舉報

地板
ID:1115541 發表于 2024-4-7 21:19 | 只看該作者
請問這個光敏電阻的DO輸出連接到哪個IO口呀
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久男女视频 | 成人av在线播放 | 日韩高清一区 | 国产一区二区在线免费播放 | 91就要激情 | 亚洲一区二区在线 | 天天干天天爽 | 亚洲视频免费在线观看 | 日韩一区二区在线观看 | 国产乱人伦精品一区二区 | 欧美中文字幕一区二区三区亚洲 | 日本在线视频一区二区 | 亚洲视频在线看 | 亚洲成人一级片 | 成人不卡在线 | 99热在这里只有精品 | 91国在线| 欧美老妇交乱视频 | 欧美激情久久久 | 午夜天堂 | 国产黄色网址在线观看 | 亚洲精品国产偷自在线观看 | 国产视频二区 | 一区二区三区四区在线 | 亚洲国产精久久久久久久 | 久久三区 | 成人做爰9片免费看网站 | 欧美性另类 | 天天亚洲 | 亚洲欧美aⅴ | 色就干 | 亚洲成在线观看 | 成人做爰www免费看视频网站 | 亚洲成人中文字幕 | 国产一区欧美 | 欧美lesbianxxxxhd视频社区 | 亚洲第1页 | 国产在线精品免费 | 国产精品a久久久久 | 91精品国产乱码久久蜜臀 | 久久久妇女国产精品影视 |