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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2403|回復: 2
收起左側

單片機家居控制系統制作 附源程序

[復制鏈接]
ID:535176 發表于 2019-11-26 18:37 | 顯示全部樓層 |閱讀模式
學校的一個嵌入式設計大賽,做的一個家居系統,用的是實驗室的板子,單片機型號是STC8A8K64S4A12,因為用的模塊較多,所以可能接線有點亂,在這里附上程序,算給大家一個借鑒。

制作出來的實物圖如下:
51hei圖片20191126183405.jpg 51hei圖片20191126183402_風影看圖王.jpg 51hei圖片20191126183358.jpg 51hei圖片20191126183355.jpg 51hei圖片20191126183351.jpg 51hei圖片20191126183348.jpg 51hei圖片20191126183343.jpg 51hei圖片20191126183313.jpg

單片機源程序如下:
  1. #include<All.h>

  2. //uchar idata i;
  3. //定時器0產生PWM用來控制直流電機的轉速

  4. void DC_Motor_Allocate()
  5. {
  6.    
  7.         //  Motor_Scan();//電機開關掃描按鍵
  8.           Ray_Key_Scan();//紅外按鍵掃描
  9.       Ray_decode_Ser();//紅外控制
  10.           Temperature_Auto_control_fan();//溫控風扇

  11. }

  12. void LCD1602_Allocate()
  13. {
  14.         //static uchar xdata count=0;
  15.        
  16.         //if(count==2)
  17.         //{
  18.         //        count=0;
  19.            LCD1602_menu();//LCD1602菜單界面
  20.         //}
  21. //count++;
  22. }

  23. void OLED_Allocate()
  24. {
  25.         static uchar xdata count=0;
  26.         if(count<10)
  27.         {
  28.                  Picture2();//顯示第一行
  29.                Home_On_Off();
  30.                         Home_On_Off1();//顯示固定的漢字
  31.         }
  32.    else if(count<15)
  33.            Picture1();
  34.    else if(count==15)
  35.            count=0;
  36.    count++;
  37. }
  38. //        switch(count)
  39. //        {
  40. //                case 0,1,2,3,4,5: break;//家居開關顯示界面
  41. //                case 6,7,8,9,10: count=0;break;
  42. //        }
  43.         //count++;
  44. ////        if(count==10)
  45. ////        {
  46. //                //count=0;
  47. //      //OLED_menu();//OLED菜單界面
  48. //        //}
  49. //        static uchar xdata Music_count=0;
  50. //        switch(Music_count)
  51. //        {
  52. //                case 0:OLED_Display_Music_Nomatter();break;
  53. //               
  54. //                case 1:OLED_Display_Music_Nomatter2();break;
  55. //                //case 2:OLED_Display_Music_timian();break;
  56. //        }
  57. //        Music_count++;
  58. //        if(Music_count==2)
  59. //                Music_count=0;
  60. //}
  61. //紅外對管 數據分配
  62. void Ray_Allocate()
  63. {
  64.   static uchar xdata count=0;
  65.         if(count==3)
  66.         {
  67.                 count=0;
  68.             Gesture();//手勢控制音樂
  69.         }
  70.         count++;
  71. }
  72. void main()
  73. {
  74.         LCD12864_Init();
  75.         LCD1602_Init();
  76.         DS1302_Init();
  77.         OLED_Init();//OLED初始化
  78.         Timer0_INT0_Init();//紅外遙控  定時器0 外部中斷0 初始化
  79.         Picture();//顯示需要的圖標
  80.      ADC_Init();
  81.   
  82.         //ultrasonic_Init();//定時器1  超聲波測距
  83.         //Timer1Init();//定時器1  產生電機PWM
  84.        
  85.         while(1)
  86.         {
  87.                 Smog_Alarm();//煙霧報警
  88.                 Touch_Key_Scan();
  89.                  Motor_Scan();//電機開關掃描按鍵
  90.           LCD12864_menu();//LCD12864菜單界面
  91.          LCD1602_Allocate();//LCD1602菜單界面
  92.      OLED_Allocate();
  93.      DC_Motor_Allocate();//溫控風扇數據分配
  94.          Ray_Allocate();//紅外對管
  95.                
  96.                
  97.          //Home_On_Off();
  98.        
  99.                 //LED_Bright();
  100. //        //OLED音樂界面刷新
  101. //        OLED_Music_Flag++;//OLED音樂圖片切換標志
  102. //                if(OLED_Music_Flag==3)
  103. //                        OLED_Music_Flag=0;//循環切換
  104.         }
  105.   
  106. }
復制代碼

所有資料51hei提供下載:
智能家居8A.zip (469.9 KB, 下載次數: 12)
STC8A8K原理圖.pdf (258.34 KB, 下載次數: 13)

評分

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

查看全部評分

回復

使用道具 舉報

ID:648281 發表于 2019-11-27 19:59 | 顯示全部樓層
規模宏大
回復

使用道具 舉報

ID:535176 發表于 2020-3-12 20:14 | 顯示全部樓層

確實,外設比較多
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表