亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fangdao.c

?? 本代碼是用C51開發的
?? C
?? 第 1 頁 / 共 2 頁
字號:
#include <fangdao.h>
uchar data int_case;	//中斷標志
#define MAX_TM    97             //一個號碼暫時定為(12手機號碼)*6=72+(ALARM2T:05)*2=20=92
uchar idata uart_buff[MAX_TM]; //通信程序中的緩沖
uchar data send_count,receive_count;
data uchar AT_Command_Type;		//當前發送的命令類型
data uchar AT_Command_Status;		//命令發出以后的返回參數

uchar idata para_temp[MAX_TM-2];
//uchar idata key_temp[MAX_TM];
uchar data read_tmp;             ///讀電話本號參數
//uchar num_tmp;     		///寫電話本號參數
uchar num_tmp1;			///讀短信號碼參數
//uchar PHONE_TMP;
uchar TMP_BUF;         // 萬用 值
uchar sms_tmp;			///參數代碼
uchar  tel_tmp;
uchar  tel_tmp1;			///讀電話碼地址
data uchar  system_tep ;          ///報警功能開啟與關閉參數
uchar data system_server ;    //系統狀態
uint  data timercount;		//50MS定時器,
uchar data timer_1S_cnt;
uchar data timer_100S_cnt;
uchar data timer_200S_cnt;
uchar data sync_count;		//用于TC35控制的計數器
//uchar data Pick_count ;
//uchar data Ring_count;
#define _Nop()    _nop_()
//位變量
bit ring_pin_flag;  		//振鈴腳狀態
bit pickup_pin_flag;        //摘機腳狀態
bit txd_rxd_bit;
bit INT_TMP1;
bit INT_TMP2;
bit at_send_bit;
bit sbc_bit;
//bit Hookoff_bit;
//bit Hookoff_bit1;

void  Int_Timer0(void) interrupt 1 using 3
{


     TH0 = 0xB8;
	TL0 = 0x00; //20ms的時鐘基準
   timercount++;
   timer_1S_cnt++;
   if(timer_1S_cnt==50)    //50&200=10000S
    { timer_100S_cnt++;
      timer_1S_cnt=0;
      timer_200S_cnt++;//IO_SBT=~IO_SBT;
      LED_INT0=~LED_INT0;
    }
    if(timer_100S_cnt==60)
    {  //timer_200S_cnt++;
		timer_100S_cnt=0;
	//IO_SBT=~IO_SBT;

    }

    //2.摘掛機事件
	IO_HKS=1;
	if((pickup_pin_flag!=IO_HKS))
	{

		if(IO_HKS==0)
		{
			//int_case|=INT_HANGOFF;
			//int_case&=~INT_PICKUP;
			INT_TMP1=0;
			system_server=SYS_RING;
		}
		else
		  { system_server=SYS_SMSR;INT_TMP1=1;}
		pickup_pin_flag=IO_HKS;

    }

	IO_RING=1;
	if((ring_pin_flag!=IO_RING))
	{

		if(IO_RING==0)
		{
			//int_case|=INT_RINGOFF;
			//int_case&=~INT_RING;
			INT_TMP2=0;
			system_server=SYS_RING;
		}
		else  {  system_server=SYS_SMSR; INT_TMP2=1; }
		ring_pin_flag=IO_RING;
	}




}
/*****************************************************************************
 *                   TC35 的命令列表,與中斷服務程序                          *
 *****************************************************************************/
void  Int_Uart(void) interrupt 4 using 3  //串口的中斷程序
{
	if(TI)//數據模式與命令方式共用
	{
    		TI=0;

			if(send_count>=MAX_TM-1)  send_count=0;

			if((uart_buff[send_count]==0)) //應該檢測命令結束代碼,檢測到時結束通信
			{
                	at_send_bit=1;
                	send_count=0xff;
                	uart_buff[0]=0;		//清除接收緩沖區
                	receive_count=0;  return;
            }
			else
			{   if(uart_buff[send_count]<=0xB0)
				  SBUF=uart_buff[send_count++];

                   if((uart_buff[send_count]==0)) //應該檢測命令結束代碼,檢測到時結束通信
					{ at_send_bit=1;
                	 send_count=0xff;
                	 uart_buff[0]=0;		//清除接收緩沖區
                	 receive_count=0;    return;
             		}
			}


    	receive_count=0;
    }

	else
	if(RI) //命令方式
		{
        	RI=0;
        	if(at_send_bit==0)      return;
        	if((send_count==0xff)&&(receive_count<MAX_TM))//沒有發送時才能進行接收
        	{	//所有的命令返回都是處于 0x0A [Result] 0x0D 之間,其他命令,不會出現這種情況

       			uart_buff[receive_count++]=SBUF;

        	}
        	 else
        	 {
       			//ACC=SBUF;
       			return;
       		 }


		if(receive_count>=MAX_TM-1)
       		{
       			if(AT_Command_Type==SMS_CMGR)    receive_count=0;
         		else
		   		 {	receive_count=0;
		   	 		AT_Command_Status=COMMAND_OK;
        			return;
				 }
			     receive_count=0;
 			}

       	if((receive_count==2)&&(uart_buff[1]==0x0d))//沒有包含為其他信息的命令返回
       		{	//接收到一個命令回應,可能為,0-OK  1-CONNECT 2-RING 3-NO CARRIER 4-ERROR
       			//只返回OK

       		//	uart_buff[receive_count]=0;
       			if(uart_buff[0]=='0')
       			{
       				AT_Command_Status=COMMAND_OK;  txd_rxd_bit=1;
       			}
       			else if(uart_buff[0]=='4'||uart_buff[0]=='3')
       		    {  AT_Command_Status=COMMAND_ERROR;}
       			else AT_Command_Status=COMMAND_UNKNOW;
  				 txd_rxd_bit=1;
       			 uart_buff[receive_count]=0;
       			 return;
		    }

   		else if((uart_buff[receive_count-1]==0x0d)
   			  &&(receive_count>=3)
   			  &&(uart_buff[receive_count-3]==0x0a)
   		      &&((uart_buff[receive_count-2]=='0')))
   		    {  ///可能是包含為其他信息的命令返回
        		  uart_buff[receive_count]=0;//RECEIV OK ANSWER, with some message
                  AT_Command_Status=COMMAND_OK;     txd_rxd_bit=1;
        		 // if(uart_buff[receive_count-2]=='0')
        		 // {AT_Command_Status=COMMAND_OK;}
        		// else{ AT_Command_Status=COMMAND_WAIT; receive_count=0;}
        	}

         else if(AT_Command_Type==SMS_CMGS&&uart_buff[3]=='>')
        	{	AT_Command_Status=COMMAND_OK;    txd_rxd_bit=1;
        		return;
        	}


	}//End of if(RI)
}
/*********************************************************************
 *                  C51中字符串函數的擴充                            *
 *********************************************************************/

uchar strsearch(uchar *ptr2)//查字符串*ptr2在*ptr1中的位置
//本函數是用來檢查字符串*ptr2是否完全包含在*ptr1中
//返回:  0  沒有找到
//       1-255 從第N個字符開始相同
{
//、	uchar max_length;
	uchar i,j,k;
	uchar flag;
	if(ptr2[0]==0) return(0);
	//max_length=strlen(ptr)+1;
	flag=0;
	for(i=0,j=0;i<99;i++)
	{
        if(uart_buff[i]==ptr2[j])
        {//第一個字符相同
        	for(k=i;k<70;k++,j++)
        	{
        		if(ptr2[j]==0)//比較正確
        			return(i+1);               //返回值是整數,不含0
        		if(uart_buff[k]!=ptr2[j]) break;
        	}
        	j=0;
        }
	}
	return(0);
}

//============================================
//==========       讀寫短信程序
//====================================================
void read_sms()
{    uchar  i,r;

      for(r=1;r<20;r++)
       {
       	if(r<=7)
       	{
       		P0=(0x80>>r);
       	}
       	else
       	{P0=(0x80>>r-8);}

		timer_200S_cnt=0; while(timer_200S_cnt<1) system_sleep;

       	if(system_server==SYS_RING) return;
       	 num_tmp1=r;
		if(READ_TEL(r)!=1)    //讀一個短信    at+cmgr=1-19      讀指令
		{
			 BELL=1;
			if(system_server==SYS_RING) return;
			timer_200S_cnt=0; while(timer_200S_cnt<2&&(AT_Command_Status==COMMAND_WAIT)) system_sleep;
            if(strsearch("+CMTI:"))  return;
			continue;
		}
		 BELL=1;
		para_temp[3]=0x00;
		if(i=strsearch("START"))   //控制系統開啟
			 {
                    system_tep=1;
			 		system_server=SYS_START;       return;

		  }
		//--------------------//參數查詢命令--為三個語音\三個短信\二個定時時長---------------------------------------------
			else if(i=strsearch("PASST"))  //參數查詢命令
			 {

			 		system_server=SYS_PARA;
                     return;

			}
		else
		{


		 			para_temp[0]=(num_tmp1/10)+0x30;para_temp[1]=(num_tmp1%10)+0x30; para_temp[2]=0x0d;para_temp[3]=0x00;
					Send_AT_Command(SMS_CMGD);
					timer_200S_cnt=0; while(timer_200S_cnt<3&&(AT_Command_Status==COMMAND_WAIT)) system_sleep;
					 return;

       }

			 return;

	   }




}


void send_sms() //發送短信
{  	uchar  j=1,i=1,k;
     Send_AT_Command(SIM_ID);
   	timer_200S_cnt=0; while(timer_200S_cnt<1&&(AT_Command_Status==COMMAND_WAIT)) system_sleep;

           //根據不同的方式發送短消息內容
		switch(sms_tmp)

		{
		//======================發送收到設備開啟指令================================================
			case	smss_alarm:          //ALARM 1
                     IO_OUT=0;

          			 if(!INT_TMP2) read_tmp=0x31;
          			 else read_tmp=0x32;

            		{   TMP_BUF=0;
            			j=PHONE_RD();
            			para_temp[TMP_BUF++]=0x0d;
            			para_temp[TMP_BUF++]=0x0a;
            			para_temp[TMP_BUF++]=0x00;
		 			   timer_200S_cnt=0;
					   Send_AT_Command(SMS_CMGS);
						TMP_BUF=0;
            			para_temp[TMP_BUF++]='S';
            			para_temp[TMP_BUF++]='E';
            			para_temp[TMP_BUF++]='N';
            			para_temp[TMP_BUF++]='D';
            			para_temp[TMP_BUF++]=0x20;
            			para_temp[TMP_BUF++]='O';
            			para_temp[TMP_BUF++]='K';
            			para_temp[TMP_BUF++]=0x20;
            			if(!INT_TMP1) {para_temp[TMP_BUF++]=0x31;   }
            			else if(!INT_TMP2){para_temp[TMP_BUF++]=0x32; }

						para_temp[TMP_BUF++]=0x1a;
            			para_temp[TMP_BUF++]=0x0d;
            			para_temp[TMP_BUF++]=0x00;
            			strcpy(uart_buff,para_temp);
      	 			    Send_AT_Command(AT_COMMAND);
      	 			    at_send_bit=1;
                        send_count=0xff;	//設置接收成功標志
                  		receive_count=0;
      	 			    timer_200S_cnt=0; while(timer_200S_cnt<40&&(AT_Command_Status==COMMAND_WAIT)) system_sleep;

      	 	}
      	 	IO_OUT=1;
      	 		return;
      	 	    break;
       			//tel_tmp
      ////======================================================================
     case  smss_atart  :
               //      num_tmp1=1;
					READ_TEL(num_tmp1);

     				if(i=strsearch("+86"))
     				{
     					for(i=i+2;i<40;i++)
     					{
     						if(uart_buff[i]>='0'&&uart_buff[i]<='9')
				 			para_temp[j++]=uart_buff[i];
                			if(uart_buff[i+1]=='"'&&uart_buff[i+2]==',')
                			{ para_temp[0]=0x20;	para_temp[j++]=0x0d; para_temp[j]=0;break;}
						}
						if(i>=40)     return;
     				}
					timer_200S_cnt=0; while(timer_200S_cnt<2&&(AT_Command_Status==COMMAND_WAIT)) system_sleep;
                    Send_AT_Command(SMS_CMGS);
						TMP_BUF=0;
            			para_temp[TMP_BUF++]='S';
            			para_temp[TMP_BUF++]='E';
            			para_temp[TMP_BUF++]='N';
            			para_temp[TMP_BUF++]='D';

            			para_temp[TMP_BUF++]=0x20;
            			    //" ALARM Disable "  巳打開報警功能
            			if(!system_tep)
            			  {
            			  	para_temp[TMP_BUF++]='O';
            				para_temp[TMP_BUF++]='F';
            				para_temp[TMP_BUF++]='F';

            				para_temp[TMP_BUF++]=0x20;   }
            			else
            			//ALARM Enable
            			  { para_temp[TMP_BUF++]='O';
            				para_temp[TMP_BUF++]='N';
            				para_temp[TMP_BUF++]=0x20;

            			  	}

						para_temp[TMP_BUF++]=0x1a;
            			para_temp[TMP_BUF++]=0x0d;
            			para_temp[TMP_BUF++]=0x00;
      	 			    strcpy(uart_buff,para_temp);
      	 			    Send_AT_Command(AT_COMMAND);
      	 			   timer_200S_cnt=0; while(timer_200S_cnt<5&&(AT_Command_Status==COMMAND_WAIT)) system_sleep;


      	 			break;
//==============發送設備參數查詢返回值=========================================
		  case smss_para:         //參數查詢 記三個可撥號電話,三個可發短信手機號碼,兩個報警延時時長,
          //read_tmp=0x31;    //第一個
          timer_200S_cnt=0;while(timer_200S_cnt<2&&(AT_Command_Status==COMMAND_WAIT)) system_sleep;
          TMP_BUF=0;
           for(read_tmp=0x31;read_tmp<=0x34;read_tmp++)
            {    k=TMP_BUF;
            	j=PHONE_RD();

            	para_temp[TMP_BUF++]=0x0d;
            	para_temp[TMP_BUF++]=0x0a;
            	i=TMP_BUF;
            	timer_200S_cnt=0;while(timer_200S_cnt<2&&(AT_Command_Status==COMMAND_WAIT)) system_sleep;

	      }

		 para_temp[TMP_BUF++]=0x1a;para_temp[TMP_BUF++]=0x0d;para_temp[TMP_BUF++]=0x00;

		       i=80; j=0;
     		 for(k=0;k<=15;k++)
              {
              	uart_buff[i++] =para_temp[k];
     		 }

			READ_TEL(num_tmp1);
            j=0;
     		if(i=strsearch("+86"))
     		{
     					for(i=i+2;i<40;i++)
     					{
     						if(uart_buff[i]>='0'&&uart_buff[i]<='9')
				 			para_temp[j++]=uart_buff[i];
                			if(uart_buff[i+1]=='"'&&uart_buff[i+2]==',')
                			{ para_temp[j++]=0x0d; para_temp[j]=0;break;}
						}
					   if(i>=40)     return;
     		}
        timer_200S_cnt=0; while(timer_200S_cnt<2&&(AT_Command_Status==COMMAND_WAIT)) system_sleep;
	    Send_AT_Command(SMS_CMGS);
		       i=80; j=0; k=20;
     		 for(k=0;k<=15;k++)
              {
              	 para_temp[k]=uart_buff[i++];
     		 }

		 strcpy(uart_buff,para_temp);
      	 Send_AT_Command(AT_COMMAND);

		     break;

		  default:
			break;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一级片网站| 国产欧美一区二区精品婷婷| 国产精品主播直播| 亚洲一区二区三区四区不卡| 欧美激情一区三区| 欧美精品久久天天躁| 成人性生交大片免费看在线播放| 爽爽淫人综合网网站 | 久久精品视频一区二区| 色吊一区二区三区| 国产一区二区久久| 日本91福利区| 亚洲第一搞黄网站| 亚洲男女一区二区三区| 国产精品污网站| 日韩欧美中文字幕制服| 欧美日韩电影在线播放| 色综合久久天天| 国产成人一区在线| 777欧美精品| 在线观看视频一区二区欧美日韩 | 99re8在线精品视频免费播放| 精品一二线国产| 秋霞电影一区二区| 亚洲一区二区三区小说| 一区二区三区在线观看欧美| 成人欧美一区二区三区小说| 国产拍揄自揄精品视频麻豆| 欧美精品一区二区三区很污很色的| 在线成人午夜影院| 欧美高清视频一二三区 | 丝袜a∨在线一区二区三区不卡| 亚洲色图制服丝袜| 国产精品电影院| 国产精品久久久久影院色老大 | 欧美三级中文字| 91蝌蚪国产九色| 91蜜桃婷婷狠狠久久综合9色| 成人免费观看男女羞羞视频| 成人激情校园春色| 成人动漫av在线| 不卡视频免费播放| 99久久国产综合精品色伊| av不卡在线播放| 99久久婷婷国产精品综合| 高清在线观看日韩| 99视频精品免费视频| 93久久精品日日躁夜夜躁欧美| 99久久国产综合色|国产精品| 91网站视频在线观看| 色婷婷狠狠综合| 欧美三级在线看| 日韩精品一区二区三区视频在线观看| 日韩视频免费观看高清完整版 | 精品国产网站在线观看| 久久综合久久综合亚洲| 国产亚洲欧美在线| 国产亚洲va综合人人澡精品| 国产精品国产三级国产三级人妇| 国产精品黄色在线观看| 亚洲精品免费看| 日本伊人精品一区二区三区观看方式| 男女性色大片免费观看一区二区| 激情综合五月天| 成人av网站在线观看免费| 色噜噜久久综合| 欧美狂野另类xxxxoooo| 欧美精品一区二区三区在线播放 | 欧美疯狂做受xxxx富婆| 欧美精品一区二区久久婷婷| 久久九九久精品国产免费直播| 国产精品久久久久久久午夜片| 亚洲精品乱码久久久久久日本蜜臀| 丝袜美腿亚洲综合| 国产老肥熟一区二区三区| 91香蕉国产在线观看软件| 欧美乱妇一区二区三区不卡视频| 精品电影一区二区| 亚洲欧美综合网| 丝袜国产日韩另类美女| 国产福利91精品一区二区三区| 色国产综合视频| 久久免费国产精品| 亚洲男人的天堂在线观看| 久久精品99国产精品日本| a美女胸又www黄视频久久| 69精品人人人人| 国产精品狼人久久影院观看方式| 亚洲国产色一区| 国产成人亚洲精品青草天美| 欧洲精品在线观看| 久久精品一区二区三区四区| 一区二区国产视频| 国产精品一区二区视频| 8x8x8国产精品| 亚洲精选视频免费看| 韩日精品视频一区| 欧美乱妇15p| 亚洲四区在线观看| 国产精品一区二区黑丝| 欧美精品久久一区| 一区二区在线免费| 成人精品免费视频| 日韩三级视频在线观看| 亚洲激情欧美激情| 99久久婷婷国产综合精品| 精品久久国产97色综合| 亚洲制服丝袜一区| 91蜜桃传媒精品久久久一区二区| 精品久久久久久最新网址| 日本美女一区二区| 欧美视频一区在线| 亚洲精品一二三| 粉嫩一区二区三区性色av| 精品国产免费人成在线观看| 亚洲r级在线视频| 日本精品视频一区二区| 久久久久国产精品免费免费搜索| 日本不卡一区二区三区 | 精品国产乱码久久| 天使萌一区二区三区免费观看| 色先锋资源久久综合| 日本一区二区久久| 国产91对白在线观看九色| 久久影院午夜片一区| 免费在线观看一区| 91精品国产综合久久久久| 亚洲一区二区三区美女| 欧美中文字幕不卡| 一区二区在线免费观看| 91丨porny丨最新| 亚洲人精品一区| 波多野结衣91| 亚洲欧洲日本在线| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 老司机精品视频线观看86| 欧美日产在线观看| 亚洲成人精品一区二区| 欧美精品久久久久久久多人混战| 亚洲v日本v欧美v久久精品| 欧美午夜在线一二页| 天天综合色天天综合| 在线播放/欧美激情| 日本美女一区二区三区视频| 日韩精品最新网址| 国内精品嫩模私拍在线| 久久久精品国产免费观看同学| 国产成人在线视频播放| 中文字幕一区二区三区四区 | 91视频www| 一区二区三区四区在线| 精品视频色一区| 蜜臂av日日欢夜夜爽一区| 精品久久久久av影院| 国产盗摄一区二区| 成人欧美一区二区三区在线播放| 99麻豆久久久国产精品免费| 亚洲综合久久av| 欧美一区二区三区婷婷月色| 国内成人精品2018免费看| 亚洲国产精品高清| 色婷婷综合久久久中文一区二区| 亚洲国产三级在线| 精品国产露脸精彩对白| 成人动漫一区二区| 亚洲国产毛片aaaaa无费看| 欧美一区二区福利在线| 国产精品综合久久| 亚洲欧美国产毛片在线| 欧美久久久久久久久中文字幕| 狠狠色狠狠色综合系列| 中文字幕亚洲欧美在线不卡| 欧美喷水一区二区| 国产呦萝稀缺另类资源| 亚洲欧美日韩综合aⅴ视频| 91精品婷婷国产综合久久性色| 狠狠v欧美v日韩v亚洲ⅴ| 悠悠色在线精品| 久久久久国产精品厨房| 色婷婷狠狠综合| 国产一区二区三区四区五区入口| 亚洲人成伊人成综合网小说| 91精品国产福利| 97se狠狠狠综合亚洲狠狠| 麻豆精品一区二区av白丝在线| 国产精品女同互慰在线看| 欧美日韩国产一区| 成人影视亚洲图片在线| 亚洲成人av资源| 国产精品伦一区二区三级视频| 69堂精品视频| 色乱码一区二区三区88 | 5月丁香婷婷综合| av影院午夜一区| 精品一区二区三区在线观看国产| 一区二区三区四区中文字幕| 久久综合色天天久久综合图片| 欧美日韩视频不卡| 成人免费观看视频| 狠狠狠色丁香婷婷综合久久五月|