找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2327|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

源基于STC89C52單片機的智能家居管理系統(tǒng)源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:76201 發(fā)表于 2018-7-31 17:56 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
源基于STC89C52單片機的智能家居管理系統(tǒng)ceshi_5

單片機源程序如下:
  1. /*****************************
  2. * @File Name: MENU.C
  3. * @Author        : JZHG
  4. * @Time     : 2012-12-06
  5. * @Version  : V1.0
  6. ******************************/

  7. #include "MENU.h"
  8. #include "LCD12864.h"
  9. #include "KEY.h"
  10. #include "IRDA.h"
  11. #include "DS1302.h"
  12. #include "DS18B20.h"
  13. #include "GTM900.h"
  14. #include "JD.h"
  15. #include "yanwu.h"
  16. #include "Counter.h"

  17. u8 Alarm_Temp=200;

  18. /***********************************************************
  19. * 函數(shù)名稱:MENU_X
  20. * 函數(shù)功能:系統(tǒng)菜單函數(shù)
  21. *           入口參數(shù):無     出口參數(shù):無
  22. ***********************************************************/


  23. /*********************************
  24.         一級菜單
  25. **********************************/

  26. void MENU_A0( void )
  27. {
  28.       LCD12864_Clear();        // 清屏函數(shù)
  29.             LCD12864_Show_hz(0,0,"★〓〓主菜單〓〓");
  30.           LCD12864_Show_hz(0,1,"1.家電  2.通信  ");
  31.           LCD12864_Show_hz(0,2,"3.設(shè)置  4.工具  ");
  32.           LCD12864_Show_hz(0,3,"5.娛樂  6.退出  ");
  33. }

  34. /*********************************
  35.         二級菜單
  36. **********************************/

  37. void MENU_B0( void )
  38. {
  39.       LCD12864_Clear();        // 清屏函數(shù)
  40.             LCD12864_Show_hz(0,0,"〓〓  家電  〓〓");
  41.           LCD12864_Show_hz(0,1,"1.電燈  2.電冰箱");
  42.           LCD12864_Show_hz(0,2,"3.空調(diào)  4.飲水機");
  43.           LCD12864_Show_hz(0,3,"5.音箱  6.電風扇");
  44. }

  45. void MENU_B1( void )
  46. {
  47.       LCD12864_Clear();        // 清屏函數(shù)
  48.             LCD12864_Show_hz(0,0,"〓〓  通信  〓〓");
  49.           LCD12864_Show_hz(0,1,"撥電話    掛電話");
  50.           LCD12864_Show_hz(0,2,"接電話    發(fā)短信");
  51.           LCD12864_Show_hz(0,3,"通訊錄    收件箱");
  52. }

  53. void MENU_B2( void )
  54. {
  55.       LCD12864_Clear();        // 清屏函數(shù)
  56.       LCD12864_Show_hz(0,0,"〓〓  設(shè)置  〓〓");
  57.           LCD12864_Show_hz(0,1,"報警溫度  時間  ");
  58.       LCD12864_Show_hz(0,2,"報警號碼  鈴聲  ");
  59.           LCD12864_Show_hz(0,3,"模式設(shè)置  背光  ");
  60. }

  61. void MENU_B3( void )
  62. {        
  63.   LCD12864_Clear();        // 清屏函數(shù)                                   
  64.   LCD12864_Show_hz(0,0,"〓〓  工具  〓〓");
  65.   LCD12864_Show_hz(0,1,"1.計算器  2.鬧鐘");
  66.   LCD12864_Show_hz(0,2,"3.收音機  4.秒表");                                         
  67.   LCD12864_Show_hz(0,3,"5.手電筒  6.版本");  
  68. }

  69. void MENU_B4( void )
  70. {
  71.   LCD12864_Clear();        // 清屏函數(shù)
  72.   LCD12864_Show_hz(0,0,"〓〓  娛樂  〓〓");
  73.   LCD12864_Show_hz(0,1,"1.相機  2.音樂  ");
  74.   LCD12864_Show_hz(0,2,"3.小說  4.電影  ");
  75.   LCD12864_Show_hz(0,3,"5.圖庫  6.游戲  ");  
  76. }

  77. /*********************************
  78.         三級菜單
  79. **********************************/

  80. void MENU_NULL( void )
  81. {
  82.   LCD12864_Clear();        // 清屏函數(shù)
  83.   LCD12864_Show_hz(0,0,"尊敬的用戶您好!");
  84.   LCD12864_Show_hz(0,1,"該功能暫不支持  ");
  85.   LCD12864_Show_hz(0,2,"  請按返回鍵    ");
  86.   LCD12864_Show_hz(0,3,"  返回上一級    ");
  87. }

  88. /************************************
  89. *                   計算器菜單
  90. *************************************/

  91. void MENU_Counter( void )
  92. {
  93.          LCD12864_Clear();        // 清屏函數(shù)
  94.          counter( ); // 計算器函數(shù)
  95. }



  96. /************************************
  97. *                   家電菜單
  98. *************************************/

  99. void MENU_JD( u8 num )
  100. {
  101.   static state_value[5]={0}; // 保存狀態(tài)值
  102.   LCD12864_Clear();        // 清屏函數(shù)
  103.   switch ( num )
  104.   {
  105.           case 0:LCD12864_Show_hz(0,0,"〓〓  電燈  〓〓");break;
  106.         case 1:LCD12864_Show_hz(0,0,"〓  電冰箱  〓  ");break;
  107.         case 2:LCD12864_Show_hz(0,0,"〓〓  空調(diào)  〓〓");break;
  108.         case 3:LCD12864_Show_hz(0,0,"〓  飲水機  〓  ");break;
  109.         case 4:LCD12864_Show_hz(0,0,"〓〓  音箱  〓〓");break;
  110.         case 5:LCD12864_Show_hz(0,0,"〓  電風扇  〓  ");break;
  111.         default: break;
  112.   }
  113.   LCD12864_Show_hz(0,1,"1.開啟  2.關(guān)閉  ");
  114.   LCD12864_Show_hz(0,2,"按返回鍵:返回  ");
  115.   if  ( state_value[num] == 1 )LCD12864_Show_hz(0,3,"當前狀態(tài):開啟  ");
  116.   else LCD12864_Show_hz(0,3,"當前狀態(tài):關(guān)閉  ");
  117.    while ( IRDA_key != 12)
  118.     {
  119.           IRDA_key=255;
  120.           while( IRDA_key==255 );
  121.           if ( IRDA_key==1 )
  122.           {
  123.                    JD_Drive( num ,ON); // 家電驅(qū)動函數(shù)
  124.                  LCD12864_Show_hz(5,3,"開啟");
  125.              state_value[num]=1;
  126.           }
  127.           else if ( IRDA_key==2)
  128.           {
  129.             
  130.                   JD_Drive( num ,OFF); // 家電驅(qū)動函數(shù)
  131.                 LCD12864_Show_hz(5,3,"關(guān)閉");
  132.                 state_value[num]=0;
  133.           }
  134.    }
  135. }


  136. void MENU_Version( void )
  137. {
  138.   LCD12864_Clear();        // 清屏函數(shù)
  139.   LCD12864_Show_hz(0,0,"智能家居管理系統(tǒng)");
  140.   LCD12864_Show_hz(0,1,"制作人:劉清泉  ");
  141.   LCD12864_Show_hz(0,2,"        雙  鋒  ");   
  142.   LCD12864_Show_hz(0,3,"版  本:V1.0    ");
  143. }

  144. void MENU_CallON( void )
  145. {

  146.     LCD12864_Clear();        // 清屏函數(shù)
  147.     LCD12864_Show_hz(0,0,"撥號......");
  148.     Call(CALLON);   // 撥號
  149.         LCD12864_Show_hz(0,0,"撥號: ");
  150.         LCD12864_Show_hz(2,0,CALL_ON+3);
  151.         LCD12864_Show_hz(0,1,"成功 ^_^");
  152.     LCD12864_Show_hz(0,2,"    請按返回鍵  ");
  153.     LCD12864_Show_hz(0,3,"        返回    ");

  154. }
  155. void MENU_CallOFF( void )
  156. {

  157.     LCD12864_Clear();        // 清屏函數(shù)
  158.     LCD12864_Show_hz(0,0,"掛電話中......");
  159.     Call(CALLOFF);   // 撥號
  160.           LCD12864_Show_hz(0,0,"掛機: ");
  161.         LCD12864_Show_hz(2,0,CALL_ON+3);
  162.         LCD12864_Show_hz(0,1,"成功 ^_^");
  163.         LCD12864_Show_hz(2,2,"請按返回鍵");
  164.     LCD12864_Show_hz(3,3,"返回");

  165. }
  166. void MENU_GetCall( void )
  167. {

  168.     LCD12864_Clear();        // 清屏函數(shù)
  169.         if ( USART_flag )
  170.         {
  171.                 USART_flag=0;
  172.             LCD12864_Show_hz(0,0,"連接中......");
  173.             Call(GETCALL);   // 撥號
  174.                   LCD12864_Show_hz(0,0,"連接:  ");
  175.                 LCD12864_Show_hz(2,0,CALL_ON+3);
  176.                 LCD12864_Show_hz(0,1,"成功 ^_^");
  177.                 Delay_nms(500);
  178.         }
  179.         else
  180.         {
  181.             LCD12864_Show_hz(0,0,"尊敬的用戶您好!");
  182.                 LCD12864_Show_hz(0,1,"沒收到來電。");        
  183.         }
  184.   LCD12864_Show_hz(2,2,"請按返回鍵");
  185.   LCD12864_Show_hz(3,3,"返回");
  186. }

  187. void MENU_News( void )
  188. {
  189.   LCD12864_Clear();        // 清屏函數(shù)
  190.   LCD12864_Show_hz(0,0,"發(fā)送短信。。。");
  191.   Send_ENNews(  );  // 發(fā)送英文短信
  192.   if ( USART_flag )
  193.   {
  194.      USART_flag = 0;
  195.            LCD12864_Show_hz(0,0,"發(fā)送短信成功 ^_^");
  196.   }
  197.   else
  198.   {
  199.            LCD12864_Show_hz(0,0,"發(fā)送短信失敗....");
  200.   }
  201.   LCD12864_Show_hz(2,2,"請按返回鍵");
  202.   LCD12864_Show_hz(3,3,"返回");
  203. }

  204. //void MENU_SetNewsNum( void )
  205. //{
  206. //    u8 cnt=0;
  207. //
  208. //    IRDA_key=255;
  209. //    LCD12864_Clear();        // 清屏函數(shù)
  210. //    LCD12864_Show_hz(0,0,"請輸入手機號碼");
  211. //    IRDA_key=255;
  212. //    while(IRDA_key==255);
  213. //        LCD12864_SetXY(0,2);            // LCD設(shè)置坐標函數(shù)
  214. //    while(IRDA_key!=12)                     //不是返回鍵
  215. //    {
  216. //                if(IRDA_key<10&&cnt<11)                        //11位手機號碼
  217. //                {
  218. //                    
  219. //                        NEWS_LENGT[(cnt++)+3]=IRDA_key+48;
  220. //                LCD12864_Write_Data( LCD12864_DAT,IRDA_key+48);                                                               
  221. //                }
  222. //        IRDA_key=255;
  223. //        while(IRDA_key==255);                        //等待有鍵按下              
  224. //    }
  225. //    IRDA_key=255;
  226. //        LCD12864_Show_hz(0,2,NEWS_LENGT);
  227. //        LCD12864_Show_hz(2,3,"輸入成功!");
  228. //        Delay_nms(500);
  229. //}

  230. void MENU_SetTime( void )
  231. {
  232.         u8 temp=0,i, cnt=0;
  233.         for(i=6;i>0;i--) //星期不設(shè)置
  234.         {
  235.                 LCD12864_Clear();        // 清屏函數(shù)
  236.                         switch(i)
  237.                         {
  238.                                 case 6:LCD12864_Show_hz(0,0,"請輸入年:");break;
  239.                                 case 5:LCD12864_Show_hz(0,0,"請輸入月:");break;
  240.                                 case 4:LCD12864_Show_hz(0,0,"請輸入日:");break;
  241.                                 case 3:LCD12864_Show_hz(0,0,"請輸入時:");break;
  242.                                 case 2:LCD12864_Show_hz(0,0,"請輸入分:");break;
  243.                                 case 1:LCD12864_Show_hz(0,0,"請輸入秒:");break;
  244.                                 default:break;
  245.                         }
  246.                     temp=0; // 清零
  247.                 LCD12864_SetXY(0,2);         // LCD設(shè)置坐標函數(shù)
  248.                     while(cnt<2)                              //輸入的是兩位數(shù)
  249.                 {
  250.                                   IRDA_key=255;  
  251.                             while(IRDA_key==255);                //等待有鍵按下
  252.                     temp=(temp*10)+IRDA_key;
  253.                     LCD12864_Write_Data( LCD12864_DAT, IRDA_key+48);  
  254.                                 cnt++;
  255.                 }
  256.                    temp = ((temp /10)<<4) +(temp%10);           // 轉(zhuǎn)化BCD碼
  257.                    DS1302_WriteByteToAddr( DS1302_CONTROL_WRITE, WP_STOP );// 取消寫保護
  258.                    switch(i)
  259.                    {
  260.                                    case 1: DS1302_WriteByteToAddr( DS1302_SECOND_WRITE, temp);break; // 調(diào)節(jié)的時間
  261.                                 case 2: DS1302_WriteByteToAddr( DS1302_MINUTE_WRITE, temp);break; // 調(diào)節(jié)的時間
  262.                                 case 3: DS1302_WriteByteToAddr( DS1302_HOUR_WRITE,   temp);break; // 調(diào)節(jié)的時間
  263.                                 case 4: DS1302_WriteByteToAddr( DS1302_DATE_WRITE,   temp);break; // 調(diào)節(jié)的時間
  264.                                 case 5: DS1302_WriteByteToAddr( DS1302_MONTH_WRITE,  temp);break; // 調(diào)節(jié)的時間
  265.                         case 6: DS1302_WriteByteToAddr( DS1302_YEAR_WRITE,   temp);break; // 調(diào)節(jié)的時間
  266.                                 default: break;
  267.                    }
  268.                    DS1302_WriteByteToAddr( DS1302_CONTROL_WRITE, WP_START );//
  269.                    IRDA_key=255;  
  270.                    while(IRDA_key==255);                //等待有鍵按下
  271.                    cnt=0;
  272.                 }
  273.                 IRDA_key=255;
  274.                 LCD12864_Show_hz(2,3,"修改成功!");
  275. }

  276. void MENU_SetAlarmTemp( void )
  277. {
  278.     u8 temp=0;
  279.     LCD12864_Clear();        // 清屏函數(shù)
  280.     LCD12864_Show_hz(0,0,"請輸入報警溫度");
  281.     IRDA_key=255;
  282.     while(IRDA_key==255);
  283.           LCD12864_SetXY(0,2);         // LCD設(shè)置坐標函數(shù)
  284.     while(IRDA_key!=12)                                     //不是確認鍵
  285.     {
  286.         temp=(temp*10)+IRDA_key;
  287.         LCD12864_Write_Data( LCD12864_DAT,IRDA_key+48);
  288.         IRDA_key=255;
  289.         while(IRDA_key==255);                        //等待有鍵按下              
  290.     }                                         
  291.     IRDA_key=255;
  292.     Alarm_Temp=temp;                   //更新報警溫度
  293.         LCD12864_Show_hz(2,3,"修改成功!");
  294. }
  295. /***********************************************************
  296. * 函數(shù)名稱:MENU_ShowTime
  297. * 函數(shù)功能:顯示時間函數(shù)
  298. *           入口參數(shù):無    出口參數(shù):無
  299. ***********************************************************/

  300. void MENU_ShowTime( void )
  301. {           

  302.    u8 T[8], D[8];
  303.    DS1302_ReadTime( );// DS1302讀取時間保存在時間結(jié)構(gòu)體中
  304.    T[0]= CurrentTime.Hour >>4;                // 時
  305.    T[1]= CurrentTime.Hour &0x0f;
  306.    T[2]= -3;
  307.    T[3]= CurrentTime.Minute >>4;        // 分
  308.    T[4]= CurrentTime.Minute &0x0f;
  309.    T[5]= -3;
  310.    T[6]= CurrentTime.Second >>4;        // 秒
  311.    T[7]= CurrentTime.Second &0x0f;

  312.    D[0]= CurrentTime.Year >>4;            // 年
  313.    D[1]= CurrentTime.Year &0x0f;
  314.    D[2]= -3;
  315.    D[3]= CurrentTime.Month >>4;            // 月
  316.    D[4]= CurrentTime.Month &0x0f;
  317.    D[5]= -3;
  318.    D[6]= CurrentTime.Date >>4;            // 日
  319.    D[7]= CurrentTime.Date &0x0f;
  320. //   D[8]= CurrentTime.Week&0x0f;     // 星期
  321.    LCD12864_Show_hz(0,2,"日期:"); // LCD顯示字符函數(shù)
  322.    LCD12864_Show_hz(0,3,"時間:"); // LCD顯示字符函數(shù)
  323. //   LCD12864_ShowChar(2,0,"星期:"); // LCD顯示字符函數(shù)

  324.    LCD12864_ShowNumS(3,2,8,D);        // 顯示日期
  325.    LCD12864_ShowNumS(3,3,8,T);        // 顯示時間
  326. //   LCD12864_ShowNum( 2, 3, D[8]); // LCD顯示一位數(shù)字函數(shù)
  327. }

  328. /***********************************************************
  329. * 函數(shù)名稱:MENU_ShowTemperature
  330. * 函數(shù)功能:處理顯示溫度函數(shù)
  331. *           入口參數(shù): 無     出口參數(shù):無
  332. ***********************************************************/

  333. void MENU_ShowTemperature(void)
  334. {
  335.         LCD12864_Show_hz(0,0,"智能家居管理系統(tǒng)");
  336.         LCD12864_Show_hz(0,1,"環(huán)境溫度:");
  337.         Read_18B20();
  338.         LCD12864_SetXY(5,1);          // LCD設(shè)置坐標函數(shù)
  339.         LCD12864_Write_Data( LCD12864_DAT,(zhengshu%100)/10+48);
  340.         LCD12864_Write_Data( LCD12864_DAT,zhengshu%10+48);
  341.         LCD12864_Write_Data( LCD12864_DAT,'.');
  342.         LCD12864_Write_Data( LCD12864_DAT,xiaoshu1+48);
  343.         LCD12864_Show_hz(7,1,"℃");
  344.         while(zhengshu>=Alarm_Temp)
  345.         {
  346.                 LCD12864_Clear();    // LCD清除文本函數(shù)
  347.                 LCD12864_Show_hz(0,0,"發(fā)送短信....");
  348.                 Delay_nms(500);
  349.                 Send_CHNews();  // 發(fā)送中文短信
  350.                 if ( USART_flag )
  351.                   {
  352.                      USART_flag = 0;
  353.                            LCD12864_Show_hz(0,0,"發(fā)送短信成功 ^_^");
  354.                   }
  355.                 Read_18B20();
  356.         }
  357. }
  358. /***********************************************************
  359. * 函數(shù)名稱:MENU_Yanwu
  360. * 函數(shù)功能:處理煙霧傳感器函數(shù)
  361. *           入口參數(shù): 無     出口參數(shù):無
  362. ***********************************************************/

  363. void MENU_YANWU( void )
  364. {
  365.         YanWu();   //
  366. }


  367. /***********************************************************
  368. * 函數(shù)名稱:MENU_FB
  369. * 函數(shù)功能:菜單反白函數(shù)
  370. *           入口參數(shù):loca, mode    出口參數(shù):無
  371. ***********************************************************/

  372. void MENU_FB(u8 loca,u8 mode)
  373. {
  374. u8 temp[6]={0};
  375. if ( mode )   // mode=1 反白
  376. {
  377.          temp[loca]=0xff;
  378.          LCD12864_FB(0,1,temp[0],8);  LCD12864_FB(4,1,temp[1],8);
  379.          LCD12864_FB(8,0,temp[2],8);  LCD12864_FB(12,0,temp[3],8);
  380.          LCD12864_FB(8,1,temp[4],8);  LCD12864_FB(12,1,temp[5],8);
  381. }  
  382. else
  383. {
  384.             temp[loca]=0x00;
  385.          LCD12864_FB(0,1,temp[0],8);  LCD12864_FB(4,1,temp[1],8);
  386.          LCD12864_FB(8,0,temp[2],8);  LCD12864_FB(12,0,temp[3],8);
  387.          LCD12864_FB(8,1,temp[4],8);  LCD12864_FB(12,1,temp[5],8);
  388. }
  389. }

  390. /***********************************************************
  391. * 函數(shù)名稱:System_Init
  392. * 函數(shù)功能:系統(tǒng)初始化函數(shù)
  393. *           入口參數(shù):無     出口參數(shù):無
  394. ***********************************************************/

  395. void System_Init( void )
  396. {
  397.         USART_Init();                         // 串口初始化函數(shù)
  398.         KEY_Init( );                                                // 按鍵初始化函數(shù)
  399.         Red_Init();
  400.         DS1302_Init();          // DS1302初始化函數(shù)
  401.         Read_18B20();
  402.         LCD12864_Init( );                                     // LCD初始化函數(shù)
  403.         LCD12864_Clear_GDRAM( );                        // 擴充指令清屏函數(shù)
  404.         LCD12864_Clear();                                    // 清屏函數(shù)
  405. }


  406. /***********************************************************
  407. * 函數(shù)名稱:MENU_KEYHandle
  408. * 函數(shù)功能:菜單按鍵處理函數(shù)
  409. *           入口參數(shù):無     出口參數(shù):無
  410. ***********************************************************/

  411. void MENU_Handle( void )
  412. {
  413.         u8 key;
  414.         u8 caidan[3]={0};
  415.         u8 caidan_ji=0;
  416.         u8 flag=0;        // 按鍵標志
  417.           MENU_YANWU( );  // 煙霧傳感器
  418.           MENU_ShowTemperature();// 處理顯示溫度函數(shù)
  419.           MENU_ShowTime( );      // 顯示時間菜單函數(shù)
  420.           if ( IRDA_key==17 )
  421.           {
  422.                           flag=1;
  423.                         LCD12864_Clear();                                                 // 清屏函數(shù)
  424.                         MENU_A0();
  425.           }
  426.           else flag=0;
  427.                   while(flag)
  428.                   {
  429.                           while(1)
  430.                          {
  431.                                   key=KEY_Scan();
  432.                                   if((key==1)||(IRDA_key==10))
  433.                                   {
  434.                                            IRDA_key = 255;
  435.                                            if(caidan[caidan_ji]>0)
  436.                                             caidan[caidan_ji]--;
  437.                                            else
  438.                                             caidan[caidan_ji]=5;
  439.                                   }
  440.                                  
  441.                                   if((key==2)||(IRDA_key==11))
  442.                                   {
  443.                                        IRDA_key = 255;
  444.                                            if(caidan[caidan_ji]<5)
  445.                                             caidan[caidan_ji]++;
  446.                                            else
  447.                                             caidan[caidan_ji]=0;
  448.                                   }
  449.                                  
  450.                                   if((key==3)||(IRDA_key==13))
  451.                                   {
  452.                                    if(caidan_ji<2)
  453.                                     caidan_ji++;
  454.                                   }
  455.                                  
  456.                                   if((key==4)||(IRDA_key==12))
  457.                                   {
  458.                                    if(caidan_ji>0)
  459.                                     caidan_ji--;
  460.                               }
  461.                                   if((key==3)||(key==4)||(IRDA_key==12)||(IRDA_key==13))
  462.                                     { IRDA_key = 255; break;}
  463.                                 if ( (caidan_ji!=2) )
  464.                                   MENU_FB(caidan[caidan_ji], 1 );
  465.                          }
  466.                          switch(caidan_ji)
  467.                          {
  468.                                   case 0:
  469.                                   {   
  470.                                           MENU_A0();
  471.                                       caidan[1]=0;
  472.                                   }break;
  473.                                   case 1:
  474.                                   {
  475.                                           switch(caidan[0])
  476.                                             {
  477.                                                      case 0 :
  478.                                                          {
  479.                                                           MENU_FB(caidan[1], 1);
  480.                                                                   MENU_B0();
  481.                                                      }break;
  482.                                                      case 1 :
  483.                                                          {
  484.                                                           MENU_FB(caidan[1], 1);
  485.                                                                   MENU_B1();
  486.                                                        }break;
  487.                                                      case 2 :
  488.                                                          {
  489.                                                           MENU_FB(caidan[1], 1);
  490.                                                                   MENU_B2();
  491.                                                      }break;
  492.                                                      case 3 :
  493.                                                          {
  494.                                                               MENU_FB(caidan[1], 1);
  495.                                                                   MENU_B3();
  496.                                                      }break;
  497.                                                      case 4 :
  498.                                                          {
  499.                                                           MENU_FB(caidan[1], 1);
  500.                                                                   MENU_B4();
  501.                                                      } break;
  502.                                                      case 5 :
  503.                                                          {
  504.                                                           flag=0;
  505.                                                                   MENU_FB(caidan[1], 0);
  506.                                                      }break;
  507.                                                  default: break;
  508.                                             }
  509.                           }break;
  510.                           case 2:
  511.                           {        
  512.                                    switch (caidan[0])
  513.                                  {
  514.                                      case 0:
  515.                                     {
  516.                                               switch(caidan[1])// 三級菜單
  517.                                             {         
  518.                                                      case 0:MENU_JD(0);break;
  519.                                                          case 1:MENU_JD(1);break;
  520.                                                          case 2:MENU_JD(2);break;
  521.                                                          case 3:MENU_JD(3);break;
  522.                                                          case 4:MENU_JD(4);break;
  523.                                                          case 5:MENU_JD(5);break;
  524. ……………………

  525. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
源基于STC89C52單片機的智能家居管理系統(tǒng)ceshi_5.zip (171.27 KB, 下載次數(shù): 25)



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

使用道具 舉報

沙發(fā)
ID:1 發(fā)表于 2018-7-31 18:14 | 只看該作者
本帖需要補全原理圖后才可獲得積分
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

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