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

標題: 遠程報警單片機程序 [打印本頁]

作者: 707548342    時間: 2019-5-17 15:26
標題: 遠程報警單片機程序
  1. #include <reg51.h>
  2. #include <stdio.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. sbit P0_0=P0^0;
  6. uchar code dt[]="abc";
  7. uchar code at[] = "AT";
  8. uchar code cmgf[]="AT+CMGF=1";
  9. uchar code csca[]="AT+CSCA=+8613800595500";
  10. uchar code cmgs[]="AT+CMGS=15159753072";
  11. uchar code cnmi[]="AT+CNMI=1,1,2;";   //短信提醒
  12. uchar code cmgr[]="AT+CMGR=1";        //短消息讀取命令
  13. uchar code cmgd[]="AT+CMGD=1";       //刪除短信
  14. uchar code cn[6]="+CMTI";
  15. uchar code cm[4]="GSM";
  16. /*******************TC35變量定義**************/
  17. uchar i_TC35_RECE=0;
  18. uchar i_receive, TC35_MAX, flag, flag0,flag1=0;
  19. xdata uchar  TC35_RE[90];
  20. uchar flag4;
  21. uchar tltemp;         //臨時暫存變量
  22. uchar  temp_value,temp1_value;      //temp_value溫度值正數部分
  23. xdata uchar  TempBuffer[6];
  24. /************************變量定義************************/
  25. uint num,T2=0,TMPL,TMPH,tem;
  26. uchar tab[5]=0,tab1[4],flag3,h,flag2,flag5,count;
  27. uchar code str[20]={"bi ye she ji"};
  28. uchar code str2[10]={"wen  du"};
  29. uchar code str3[10]={"nong du:"};
  30. /************************引腳定義*************************/
  31. sbit lcdrs=P3^7;     //4腳
  32. sbit lcdrw=P3^6;     //5腳
  33. sbit lcde=P3^5;      //6腳
  34. sbit clk=P3^2;
  35. sbit dataout=P3^3;
  36. sbit cs=P3^4;
  37. sbit DQ=P2^0;
  38. sbit la_ba=P0^0 ;
  39. /*********************LCD子函數定義*************************/
  40. void lcdinit(void);                   //lcd初始化
  41. void lcdsendc(uchar c);               //發送lcd指令
  42. void lcdsendd(uchar c);               //發送lcd數據
  43. void lcdbusy(void);                   //判斷忙狀態
  44. void delay1ms(uint time);             //延時子程序
  45. void display(uchar c1,uchar *str);
  46. void delay1ms(uint time);
  47. void display_yanwu();
  48. /*****************采集電壓,讀取AD轉換結果********************/
  49. unsigned char get_val(void)
  50. {
  51. unsigned  i;
  52. unsigned char T;
  53.   cs=1;
  54.   clk=0;
  55.   cs=0;
  56. for(i=0;i<8;i++)
  57. {
  58.   clk=1;
  59.   T=T<<1;
  60.   if(dataout==1)
  61.   T=T+1;
  62.   clk=0;}
  63.   cs=1;
  64.   return T;
  65. }
  66. /***********************煙霧濃度顯示*************************/
  67. void   display_yanwu()
  68. {     uchar shidu_qian,shidu_bai,shidu_shi,shidu_ge;
  69.         T2=get_val();
  70.          num=((float)T2/255)*5000;
  71.           if(num>4000){flag5=1;}
  72.          shidu_qian=0x30+num/1000;
  73.           shidu_bai=0x30+num/100%10;
  74.           shidu_shi=0x30+num/10%10;
  75.           shidu_ge=0x30+num%10;
  76.          tab[0]=shidu_qian;  tab[1]=shidu_bai; tab[2]=shidu_shi; tab[3]=shidu_ge;
  77.          display(0x88,tab);
  78. }
  79. //--------------lcd初始化程序-------------------
  80. void lcdinit()
  81. {
  82.    lcdsendc(0x01);                  //清屏
  83.    delay1ms(100);
  84.    lcdsendc(0x3c);                  //8位 2行   5X10字符
  85.    delay1ms(3);
  86.    lcdsendc(0x0e);                  //開啟顯示,光標顯示,字符閃爍關閉
  87.    lcdsendc(0x02);                  //光標歸位
  88.    delay1ms(2);
  89.    }
  90. //----------------發送lcd命令---------------------
  91. void lcdsendc(uchar c)
  92. {
  93.    P1=c;
  94.    lcdrs=0;
  95.    lcdrw=0;
  96.    lcde=0;
  97.    lcdbusy();
  98.    lcde=1;
  99.    if(c==1)
  100.      delay1ms(2);
  101.    }
  102. //-----------------發送數據----------------------
  103. void lcdsendd(uchar c)
  104. {
  105.    P1=c;
  106.    lcdrs=1;
  107.    lcdrw=0;
  108.    lcde=0;
  109.    lcdbusy();
  110.    lcde=1;
  111.    }
  112. //------------------判斷忙狀態--------------------
  113. void lcdbusy()
  114. {
  115.    P1=0xff;
  116.    lcdrs=0;
  117.    lcdrw=1;
  118.    lcde=0;
  119.    lcde=0;
  120.    lcde=1;
  121.    //delay1ms(1);
  122.    while((P1&0x80)==1);
  123.    }
  124. //------------------延時子程序----------------------
  125. void delay1ms(uint time)
  126. {
  127.    uint i,j;
  128.    for(i=0;i<time;i++)
  129.    for(j=0;j<100;j++);
  130.    }
  131. //-----------------顯示子程序---------------------------
  132. void display(uchar c1,uchar *str)
  133. { uchar a;
  134.   a=c1 ;
  135.   lcdsendc(a);
  136.    while((*str)!= '\0')
  137.     {
  138.          lcdsendd(*str);
  139.          delay1ms(3);
  140.          str++;
  141.      }
  142. }
  143. /***************us級延時函數*****************/
  144. void delay2(unsigned int num)
  145. {
  146.   while( --num ) ;
  147. }
  148. /***************ds18b20模塊********************/
  149. Reset_DS18B20(void)          //復位ds1820
  150. {    DQ = 1 ;                //DQ復位
  151.      delay2(8) ;             //稍做延時
  152.      DQ = 0 ;                 //單片機將DQ拉低
  153.      delay2(90) ;             //精確延時 大于 480us
  154.      DQ = 1 ;                 //拉高總線
  155.      delay2(8) ;
  156.      flag3 = DQ ;             //如果=0則初始化成功 =1則初始化失敗
  157.      delay2(50) ;
  158.      DQ = 1 ;
  159.      return(flag3) ;          //返回信號,0=presence,1= no presence
  160. }
復制代碼



作者: admin    時間: 2019-5-18 03:41
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 欧美福利视频一区 | 国产综合久久久久久鬼色 | 欧美性乱 | 亚州精品天堂中文字幕 | 亚洲视频一区二区三区 | www.亚洲精品| 一区二区三区亚洲视频 | 欧美日韩一区二区视频在线观看 | 亚洲视频在线观看 | 国产美女在线免费观看 | 国产一级片91 | 91精品在线播放 | 国产精品久久午夜夜伦鲁鲁 | 日韩最新网站 | 99久久久无码国产精品 | 91精品久久久久久久久 | 天天干 夜夜操 | 亚洲精品国产综合区久久久久久久 | 成人av一区| 久草视频在线播放 | 午夜影视在线观看 | 韩三级在线观看 | 国产精品国产成人国产三级 | 午夜寂寞影院列表 | 久久久精品一区二区三区 | 欧美福利在线 | 看a网站| 人干人人 | 日本一二三区在线观看 | 免费a v网站| 成人av色| 五月激情婷婷六月 | 久久激情网 | 天堂一区 | 亚洲精品乱码久久久久久黑人 | 中文字幕日本一区二区 | 在线亚洲电影 | 国产一级一级毛片 | 欧美日韩不卡合集视频 | 五月婷婷 六月丁香 | 亚洲成av人片在线观看 |