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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STM32智能家居源碼

[復制鏈接]
跳轉到指定樓層
樓主
智能家居源碼

單片機源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "key.h"
  4. #include "sys.h"
  5. #include "lcd43.h"
  6. #include "usart.h"         
  7. #include "24cxx.h"
  8. #include "touch.h"         
  9. #include "gui.h"
  10. #include "gui_time.h"
  11. #include "mygui.h"
  12. #include "sram.h"
  13. #include "24l01.h"
  14. #include "timer.h"
  15. #include "beep.h"
  16. #include "mygui_clock.h"
  17. #include "exfuns.h"
  18. #include "malloc.h"
  19. #include "mygui_inc.h"
  20. #include "myfont.h"
  21. #include "sim900a.h"
  22. #include "USART2.h"
  23. /******************************************************************/
  24. /*本程序只供學習使用,未經作者許可,不得用于其它任何用途                  */
  25. /*本程序接口按神舟Ⅲ號stm開發板設計,如有錯誤,誠請指正!                  */
  26. /*本程序中部分內容來自互聯網,若未注明原作者,懇請諒解!                    */
  27. /*作者 :XING ZHE REN                                                                                           */         
  28. /*建立日期: 2014.1.18                                                                                          */
  29. /*版本:V2.0                                                                                                          */
  30. /*Copyright(C) DATOU                                                                                          */
  31. /******************************************************************/
  32. extern void TIM4_Int_Init(u16 arr,u16 psc);
  33. extern u8 TIM4_USE;



  34. int main(void)
  35. {       
  36.         DIR picdir;                         //圖片目錄         
  37.         delay_init();                     //延時函數初始化          
  38.         NVIC_Configuration();          //設置NVIC中斷分組2:2位搶占優先級,2位響應優先級
  39.         uart_init(9600);                 //串口初始化為9600
  40.         LED_Init();                             //LED端口初始化
  41.         LCD43_Init();       
  42.         KEY_Init();
  43.         FSMC_SRAM_Init();                        // Init  sram          
  44.         TIM3_Init(2,36000-1);
  45.         RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC, ENABLE);  //必須加!!!!!
  46.         GUI_Init();
  47.         tp_dev.init();
  48.          
  49.         NRF24L01_Init();
  50.         BEEP_Init();
  51.          
  52.         while(NRF24L01_Check());
  53.         mem_init(SRAMIN);        //初始化內部內存池
  54.         exfuns_init();                                        //為fatfs相關變量申請內存
  55.         f_mount(0,fs[0]);                                  //掛載SD卡
  56.         while(f_opendir(&picdir,"0:/PICTURE"))//打開圖片文件夾
  57.         {            
  58.                 LCD_ShowString(0,0,200,16,16,"PICTURE ER");
  59.                 delay_ms(200);                                  
  60.                 LCD_Fill(60,150,240,146,WHITE);//清除顯示             
  61.                 delay_ms(200);                                  
  62.         }           
  63.        
  64.         KEY_Init();
  65.         USART2_Init(36,115200);         
  66.         USE_XBF_YAHEI_9();
  67.         GUI_SetFont(&Font_YAHEI9);       
  68.         GUI_SetTextMode(GUI_TM_TRANS);
  69. //        GUI_SetColor(BLACK);

  70.         while(1)
  71.         {               
  72.                
  73.         //        sim900a_test();
  74.                 Main_Task();         
  75.         }

  76. }
復制代碼

  1. #include<stc12c5a.h>
  2. #include"24l01.h"
  3. #include"18b20.h"
  4. #include"usart.h"
  5. #include"spi.h"
  6. #include"1602.h"
  7. #include"delay.h"
  8. #include"bujin.h"
  9. #include"control_dev.h"
  10. #include"ds1302.h"

  11. uchar Buff[32];
  12. bit ReadTimeFlag;//定義讀時間標志

  13. _CONTROL_DEV CONTROL_DEV = {
  14.         0,       //窗簾
  15.         0,                                //燈光
  16.         0,                                //火焰
  17.         0,                                //煙霧
  18. };
  19. /******************************************
  20.              控制器各位初始化
  21. *******************************************
  22. */
  23. void CONTROL_DEV_Init(void)
  24. {
  25.         CONTROL_DEV.Curtain_sta = Buff[CURTAIN];
  26.         Buff[LIGHTING] = 1;
  27.         Buff[FIRE]=1;
  28.         Buff[SMOG]=1;
  29. //        Buff[NRF_TERMINAL_MODE_CHANGE] = OFF;
  30. }

  31. void Timer0Init(void)                //1??@11.0592MHz
  32. {
  33.         AUXR |= 0x80;                //?????1T??
  34.         TMOD &= 0xF0;                //???????
  35.         TMOD |= 0x01;                //???????
  36.         TL0 = 0xCD;                //??????
  37.         TH0 = 0xD4;                //??????
  38.         TF0 = 0;                //??TF0??       
  39.         ET0 = 1;
  40.         EA  = 1;
  41.         TR0 = 1;                //???0????
  42. }

  43. void Timer0_isr(void) interrupt 1
  44. {
  45.         static unsigned int num;
  46.         TL0 = 0xCD;                //??????
  47.         TH0 = 0xD4;                //??????
  48.         num++;
  49.         if(num==100)        //大致100ms
  50.    {
  51.     num=0;
  52.     ReadTimeFlag=1; //讀標志位置1
  53.         }
  54. }

  55. void main(void)
  56. {  
  57.         unsigned char temp[16];//定義顯示區域臨時存儲數組
  58.         int i;                 //注意i須為有符號型
  59.         uchar cnt=0;
  60.         uchar NRF_Mode=0;
  61.         LCD_Init();
  62.         UsartInit();
  63.         Timer0Init();
  64.         Ds1302_Init();
  65.         CONTROL_DEV_Init();
  66.        
  67.         while(NRF24L01_Check())//檢測24L01
  68.         {
  69.                 LCD_Str(0,0,"CHECK 24L01 !"); delay_ms(500);
  70.                 LCD_Str(0,0,"             "); delay_ms(500);
  71.                 } LCD_Str(0,0," NRF_connect:OK");
  72.                 LCD_Str(8,1,"Fire:FT");
  73.                 LCD_Str(8,1,"Fire:OK");
  74.                 LCD_Str(0,1,"Smog:FT ");
  75.                 LCD_Str(0,1,"Smog:OK ");
  76.         RX_Mode();                                                        //重要,不加程序跑飛
  77.         NRF_Mode=RECEIVE;
  78.         Ds1302_Write_Time();       
  79.         while(1)
  80.         {

  81.                 printf("mode:%d\n",(int)NRF_Mode);
  82.                 if(NRF_Mode==RECEIVE)                        //0接收
  83.                 {                               
  84.                         if(NRF24L01_RxPacket(Buff)==0)
  85.                         {       
  86.                                 NRF_Mode=SEND;                //printf("  RX_OK");
  87.                                 TX_Mode();                                                       
  88.                                 if(CONTROL_DEV.Curtain_sta != Buff[CURTAIN])
  89.                                 {
  90.                                         i=Buff[CURTAIN] - CONTROL_DEV.Curtain_sta;                                       
  91.                                         if(i>0)         
  92.                                                 go(i*8, 1);
  93.                                         else if(i<0)
  94.                                                 back((0-i*8), 1);                //printf("back");                           注意數值的符號!!!!1                       
  95.                                         CONTROL_DEV.Curtain_sta = Buff[CURTAIN];
  96.                                         i=0;
  97.                                 }
  98.                                 if( Buff[LIGHTING] == 0)
  99.                                 {
  100.                                         Light = 0;
  101.                                 }else if ( Buff[LIGHTING] == 1)
  102.                                         Light = 1;
  103.                         }
  104.                 }else if(NRF_Mode==SEND)                        //發送
  105.                 {                                       
  106.                         Buff[FIRE]=Fire;
  107.                         Buff[SMOG]=Smog;
  108.                         if(NRF24L01_TxPacket(Buff)==TX_OK)
  109.                         {
  110.                                 NRF_Mode=RECEIVE;
  111.                                 RX_Mode();                                                //printf("  TX_OK");
  112.                         }
  113.                 }

  114.                
  115. /*                 if(ReadTimeFlag==1) //定時讀取ds1302 定時時間到 則標志位置1,處理過時間參數標志位清零
  116.                 {
  117.                   ReadTimeFlag=0;  //標志位清零
  118.                   Ds1302_Read_Time();//讀取時間參數
  119. //                  sprintf(temp,"DATE %02d-%02d-%02d %d",(int)time_buf1[1],(int)time_buf1[2],(int)time_buf1[3],(int)time_buf1[7]);//年月日周
  120. //                  LCD_Str(0,0,temp);//顯示第一行
  121. //                  sprintf(temp,"TIME %02d:%02d:%02d",(int)time_buf1[4],(int)time_buf1[5],(int)time_buf1[6]);//時分秒
  122. //                  LCD_Str(0,1,temp);//顯示第二行
  123.                         //printf("TIME %02d:%02d:%02d",(int)time_buf1[4],(int)time_buf1[5],(int)time_buf1[6]);//時分秒
  124.                 }

  125.    */
  126.   
  127.         }       
  128. }















  129. //void Temp_Change(uchar i)
  130. //{
  131. //        temp=ReadTemp()*20/32;
  132. //        Buff[i++]=temp%1000/100+'0';
  133. //        Buff[i++]=temp%100/10+'0';
  134. //        Buff[i++]='.';
  135. //        Buff[i++]=temp%10+'0';
  136. //        Buff[i]='\0';
  137. //        LCD_Str(12,0,&Buff[9]);       
  138. //}
復制代碼


所有資料51hei提供下載:
智能家居系統源代碼.7z (2.67 MB, 下載次數: 15)


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

使用道具 舉報

沙發
ID:1 發表于 2020-5-15 17:09 | 只看該作者
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: a看片 | a级毛片国产 | 欧美午夜一区 | 超碰人人插 | 天天插天天操 | 一区二区精品 | 国产成人福利在线 | 色女人天堂 | 成人一区在线观看 | 午夜影院在线观看 | 国内久久精品 | 中文字幕在线一区 | 中文字幕一级毛片视频 | 亚洲成人一级 | 一级黄a | 一区二区三区在线播放 | 国产69精品久久99不卡免费版 | 国产专区免费 | 亚洲一区二区免费电影 | 一二三四在线视频观看社区 | 国产成人免费在线观看 | 欧美日韩免费一区二区三区 | 91精品国产综合久久久动漫日韩 | av电影一区二区 | 久色激情 | 麻豆成人在线视频 | 综合久久久久久久 | 夜夜艹| 永久免费在线观看 | 国产一区二区影院 | 亚洲成人av | 粉嫩一区二区三区国产精品 | 亚洲精品www久久久久久广东 | 欧美日韩三级 | 欧美日韩毛片 | 精品视频一区在线 | 最新国产在线 | 国产精品免费观看 | 成人a视频在线观看 | 亚洲精品乱 | 久久久精品久 |