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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于單片機的GSM安防系統 論文+原理圖+程序

[復制鏈接]
跳轉到指定樓層
樓主
該項目并不完美,如果要做這個項目的朋友,有此項目幫助相信會容易很多。

在此說明一下該GSM發送短信的方式,這里采用的是PDU模式,但不是直接發送PDU短信,而是先把要發送的短信存到SIM卡上,再從SIM卡上轉發出去。如果要直接發送,只要再代碼內改一下相應的AT指令即可。

另外,PCB上與實際電路有點不符,因為當時做出板來后,焊上元件,但是還是有小小的問題,所以在硬件上調好后,就沒有把PCB上的也改了。放心,原理圖上是正確滴。

沐雨青林在此多謝各位的支持。

若需要該項目的相關芯片資料或者GSM實際調試返回指令的可以聯系俺。對此有疑問的也可以問俺。

沐雨青林原創
基于AT89S52單片機的安防系統設計論文

指導老師:                                          譚雄樂

開發人員:                                          林國友
                                                                                                                徐健俊
任務分配:林國友(編寫程序、硬件測試、硬件焊接、程序調試)。                              徐健。ó婸CB電路)。


  • 功能介紹
    通過AT89S52單片機主控,掃描檢測紅外、煙霧、煤氣等傳感器信號達到監控家里情況的效果。當信號發生時,S52單片機就會通過串口通信連接GSM模塊向預先設定好的手機號碼發送相應的警報情況。此時,單片機控制的外圍電路會發生警報聲,同時亮燈。只有當單片機接收到目標號碼發送過來的控制短信后,才會關閉警報和指示燈。(由于本人勢單力薄,所以程序的功能并不完善。在控制方面沒有用定時控制警報發生后每隔一段時間發送短信到目標號碼,直到接收到相應的控制短信才停止。同時在解除警報后也沒有再發送短信到目標號碼以示情況。)
警報發生:紅外警報→發送“紅外警報”短信
燃氣警報→發送“燃氣警報”短信
煙霧警報→發送“煙霧警報”短信
收到短信:“家里情況”→發送短信“一切正!保o警報時)
“關閉紅外”→關閉紅外警報,關閉蜂鳴器,關紅外指示燈
“關閉燃氣”→關閉燃氣警報,關閉蜂鳴器,關燃氣指示燈
“關閉煙霧”→關閉煙霧警報,關閉蜂鳴器,關煙霧指示燈
“關閉所有”→關所有警報,關蜂鳴器,關警報指示燈,開正常指示燈
實物圖:
硬件接線圖請參考:AT89S52單片機的安防系統硬件接線圖.doc
  • 程序說明及流程圖
    • 主程序流程圖
2、 鍵盤中斷流程圖
  • 硬件原理圖及PCB
原理圖:
AT89S52外圍I/O接口:
P1.0~P1.7為矩陣鍵盤輸入,P1.0~P1.3為行,P1.4~P1.7為列。
P0.3為蜂鳴器(低電平有效),P0.4~P0.7為LED指示燈(低電平有效)
P2.0~P2.2為安防信號掃描入口P2.1、P2.2、P2.0(高電平有效)
P2.0接紅外探測器,P2.1接燃氣探測器,P2.2接煙霧探測器
P3.0、P3.1用作串口接收發送,P3.2用作鍵盤外部中斷輸入,P3.6、 P3.7分別接24C02的SCL和SDA
RST按鍵復位,XTAL1、XTAL2接12M晶振
P0.0、P2.4~P2.7用作NOKIA5110顯示屏。
PCB(硬件在調試時有更改,但相差不大):
  • 程序部分代碼:
主函數代碼:
  1. /****************************************************************
  2. ****************************************************************
  3. ****                            main.c  主函數                                                        *****
  4. ****                                                                                                                *****
  5. ****                                本程序都是采用PDU格式                                        *****
  6. ****************************************************************
  7. ****************************************************************/


  8. #include
  9. #include
  10. #include
  11. #include
  12. #include
  13. #include
  14. #include

  15. extern bit scan_Security();//安全監控掃描
  16. //警報掃描初始化  初始化所有檢測電平,等待警報電平進入
  17. extern void init_security();
  18.                
  19. extern uchar idata phonenum[15];//存放要發送對象的號碼
  20. extern uchar Nindex[];//存放發送到SIM卡中短信返回的index
  21. extern void test_code(uchar n_delay,uchar n_wait);/*測試函數*/
  22. void init_pho_msg();//號碼和短信初始化

  23. void main()
  24. {
  25.         
  26.         lcd_disp0();
  27.         I2C_Init();//I2C總線初始化

  28.         P0_4=0;//
  29.         LCD_clear();//清屏
  30.         LCD_write_String(8,4,"GSM");
  31.         disp16_16(2,2,16);//安
  32.         disp16_16(4,2,17);//防
  33.         disp16_16(6,2,18);//系
  34.         disp16_16(8,2,19);//統
  35.         delayms_100ms();

  36.         init_interrupt();                        //外部中斷0初始化  鍵盤
  37.         init_security();                        //警報掃描初始化

  38.         P0_4=1;//
  39.         P0_5=0;//
  40.         LCD_clear();//清屏
  41.         disp16_16(0,0,29);//指
  42.         disp16_16(2,0,30);//導
  43.         disp16_16(4,0,31);//老
  44.         disp16_16(6,0,32);//師
  45.         LCD_write_char(':');
  46.         disp16_16(2,2,33);//譚
  47.         disp16_16(4,2,34);//雄
  48.         disp16_16(6,2,35);//樂

  49.         init_uart();                                //初始化串口
  50.         while(!connect_gsm());                  //發送聯機指令
  51.         test_code(1,0);//

  52.         P0_5=1;//
  53.         P0_6=0;//
  54.         LCD_clear();//清屏
  55.         disp16_16(0,0,20);//制
  56.         disp16_16(2,0,21);//作
  57.         disp16_16(4,0,22);//人
  58.         LCD_write_char(':');

  59.         init_gsm();                                        //禁止回顯,設置為pdu模式
  60.         
  61.         P0_6=1;//
  62.         P0_7=0;//
  63. //        LCD_clear();//清屏
  64.         disp16_16(2,2,23);//林
  65.         disp16_16(4,2,24);//國
  66.         disp16_16(6,2,25);//友
  67.         
  68.         disp16_16(2,4,26);//徐
  69.         disp16_16(4,4,27);//健
  70.         disp16_16(6,4,28);//俊
  71.         while(!connect_gsmnet());         //獲取網絡注冊情況
  72.         init_sim();                                        //不接受廣播短信
  73.         test_code(5,0);//響鈴500ms提示初始化成功

  74.         init_pho_msg();//號碼和短信初始化
  75.         P0_7=1;//
  76.                                                                
  77.         test_code(1,0);//響鈴100ms提示進入系統監控狀態
  78.         while(1)
  79.         {               
  80.                 scan_Security();//安全監控掃描
  81.                 key_out();//鍵盤處理跳出               
  82.                 Chk_Read_Do();//檢測讀取新短信執行控制命令

  83.         }
  84.          
  85. }

  86. //號碼和短信初始化
  87. void init_pho_msg()
  88. {
  89.         uchar i,n_addr=0x0;
  90. //讀取目標號碼到phonenum
  91.         for(i=0,n_addr=0x0;i<13;i++)
  92.                 I2C_On(I2C_SrRECV, 0xA0, n_addr++, &phonenum[i], 1);//讀n_addr地址內容到phonenum
  93.         phonenum[13] = '';
  94.         if(phonenum[12]<0 && phonenum[12]>9)
  95.         {
  96.                 strcpy(phonenum,"8618998361948");//設定初始號碼
  97.                 for(i=0,n_addr=0x0;i<14;i++)
  98.                 {
  99.                         I2C_On(I2C_SEND, 0xA0, n_addr++, &phonenum[i], 1);//寫phonenum內容到n_addr地址
  100.                         delayms_10ms();
  101.                 }
  102.                 phonenum[13] = '';
  103.                 while( !init_Send_sms_sim(phonenum) );                //初始化將所有要發送的短信寫到SIM卡
  104.         }
  105.         LCD_clear();//清屏
  106.         LCD_write_String(0,0,"Read Phone number");
  107.         LCD_write_String(0,2,phonenum);
  108.         
  109.         delayms_1000ms();        
  110. }
復制代碼

AT89S52單片機的安防系統硬件接線說明
紅外:藍(信號負輸入)青(信號正輸入)黑(9V電源負)紅(9V電源正)
燃氣:藍(信號負輸入)青(信號正輸入)黑(9V電源負)紅(9V電源正)
煙霧:藍(信號負輸入)青(信號正輸入)黑(9V電源負)紅(9V電源正)
具體接線請看圖上注解

注意:燃氣和紅外的藍色線不需要接上

元件清單:
芯片:AT89S52、MAX232、TLP521-4光耦。
傳感器:紅外、煙霧、燃氣


按鍵 17個
串口(針) 1個
AT89S52 底座 1個
16針底座 2個
DC直插式電源座(普通) 1個
蜂鳴器 1個
11.0592晶振 1個
PNP管 1個
HT7133A 1個
LM7805穩壓管 1個
電容104
電容22uF(復位鍵用) 1個
電容22pF(晶振用) 2個
LED燈 5個
電阻10K(復位) 1個 (R10)
電阻1K 7個 (R1,R2,R3,R5,R6,R14,R15,R16,R20)
電阻330 3個 (R4,R7,R8)
二極管(鍵盤用) 4個
排針、排座若干


注意:原理圖中的C1電容在PCB封裝中刪除了,那是不對的,當時我們做好后,就因為這個原因,屏幕顯示就出問題了。

具體請看原件參數圖





所有資料打包下載地址(包含論文+程序+原理圖等全套資料):
http://www.zg4o1577.cn/bbs/dpj-4591-1.html
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:289826 發表于 2021-9-26 21:51 | 只看該作者
謝謝分享哈, 正在學習發送短信。。。。。。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品久久香蕉国产线看观看亚洲 | 日日噜噜噜夜夜爽爽狠狠视频, | 国产精品日韩欧美一区二区三区 | av黄色在线观看 | 国产一区二区在线免费视频 | 91精品国产91久久久久青草 | 91亚洲免费 | 日日干日日操 | 亚洲91视频 | 久久精品国内 | 福利电影在线 | 国产精品一区二区在线 | 亚洲国产精品一区二区第一页 | 精品一区二区久久久久久久网站 | 激情视频中文字幕 | 日韩无 | 国产美女久久 | 国产精品毛片无码 | 亚洲欧洲国产视频 | 伊人亚洲| 欧美精品一区在线观看 | 黄久久久| 色偷偷人人澡人人爽人人模 | 亚洲精品久久久久久国产精华液 | 91pron在线| 91免费入口 | 欧美影院| 欧美黄色一级毛片 | 欧美性久久 | 国产精品毛片无码 | 免费黄色片视频 | 亚洲h视频 | 视频在线一区二区 | 日韩在线一区视频 | 欧美成人自拍视频 | 高清黄色| 好姑娘高清在线观看电影 | 国产精品高潮呻吟久久av野狼 | 日韩免费视频 | 午夜丰满少妇一级毛片 | 亚洲一区二区三区高清 |