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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? duijj.c~rf181e118.tmp

?? 單邊帶調(diào)幅對(duì)講機(jī)程序 msp430單片機(jī)控制 實(shí)現(xiàn)無(wú)線數(shù)據(jù)傳輸
?? TMP
字號(hào):
#include "msp430x24x.h"
#include "Init.h"
#include "NOKIA_5110.H"
#include "scancodes.h"
#include "Modem.h"
#include "DS1302.h"
#include "ziku.h"

#define Key_Data P2IN&BIT0
#define Key_CLK  P2IN&BIT1
#define SIDval   P2IN&BIT0

#define uchar unsigned char
#define uint unsigned int
#define Buf_Dp 100

unsigned char IntNum = 0;     //中斷次數(shù)計(jì)數(shù)
unsigned char KeyV;           //鍵值
unsigned char DisNum = 0;     //顯示用指針
unsigned char Key_UP=0, Shift = 0;   //Key_UP是鍵松開標(biāo)識(shí),Shift是Shift鍵按下標(biāo)識(shí)
unsigned char BF = 0;         //標(biāo)識(shí)是否有字符被收到
unsigned char pebit=0xff;    //奇偶校驗(yàn)標(biāo)志位
unsigned char recdata=0;     //接收到的數(shù)據(jù)
unsigned char bitcount=11;   //位計(jì)數(shù)變量
unsigned char x=0,y=0;
unsigned char count=0;
char UART_TX_BUF[Buf_Dp];
char UART_RX_BUF[Buf_Dp];
char Tshow_Puf[100];
char Rshow_Puf[100];
unsigned char RX1_Len_temp;
static unsigned char nRX_Len;
static unsigned char nTX_Len;
static char nRX_Flag;
static char nTX_Flag;
static char Write_Flag=0;
static char Rece_Flag=0;
char signal;

char RX_Flag;
const char TAB_f_Week[][4]={{' ','S','u','n'},
                            {' ','M','o','n'},
                            {' ','T','u','e'},
                            {' ','W','e','d'},
                            {' ','T','h','u'},
                            {' ','F','R','i'},
                            {' ','S','a','t'}
                                            };
char NYR[11]={'2','0','0','8','-','1','1','-','1','8','\0'};
char Xinq[5];
unsigned char SF[5] ={0,2,10,4,4};
unsigned char Setting_Time[7]={ //bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
 0x08,    //--------十位-------|-------個(gè)位--------|年份(當(dāng)前07年)
 0x06,    //                        |-----個(gè)位-----|星期(當(dāng)前周日)
 0x11,    //              |十位|-------個(gè)位--------|月份(當(dāng)前07月)
 0x28,    //         |--十位---|-------個(gè)位--------|日期(當(dāng)前01號(hào))
 0x11,    //-12H|    |--十位---|-------個(gè)位--------|小時(shí)(當(dāng)前18點(diǎn))
 0x25,    //    |-----十位-----|-------個(gè)位--------|分鐘(當(dāng)前20分)
 0x00    //    |-----十位-----|-------個(gè)位--------|秒鐘(當(dāng)前30秒)
};
unsigned char ReadingData[7];  //讀出來(lái)的數(shù)據(jù),同SettingData定義與格式
char A_PM,O_Tm;
char test;
//char test[]="cuit";
void Get_time(unsigned char *ReadingData);
void Tlotal_m(char k);

void delay(int n)
{  unsigned int i;
   for(;n>0;n--)		       
   for(i=0;i<1000;i++);
}  
void Decode(unsigned char ScanCode) //注意:如SHIFT+G為12H 34H F0H 34H F0H 12H,也就是說(shuō)shift的通碼+G的通碼+shift的斷碼+G的斷碼
{
unsigned char TempCyc;	
 if (!Key_UP)                //當(dāng)鍵盤松開時(shí)
 { 
     if(count==0) {DisNum=0;x=0;y=1; NOKIA5110_set_XY(6*x,y);}
        switch (ScanCode)
          {
	    case 0xF0 :	// 當(dāng)收到0xF0,Key_UP置1表示斷碼開始
		      Key_UP = 1;
		      break;
	    case 0x12 :	// 左 SHIFT
		      Shift = 1;
		      break;
            case 0x59 :	// 右 SHIFT
		      Shift = 1;        
		      break;  
            case 0x76 ://退出
                      Write_Flag=0;
                      Rece_Flag =0;
                      break;
            case 0x66:  //back space                                               
                      if((x == 0) && (y != 1))//如果游標(biāo)在第2行第1位
                          {
                             x = 13;y --; }                                                                                  
                       else if(x != 0) 
                          {  x--;   }                                                                                 
                       else                   //如果游標(biāo)在第1行第1位
                           {;}           //0x20是空格的ASCII碼
                           NOKIA5110_set_XY(6*x,y);
                           if(count!=0)  {count--;DisNum--;}
                           Tshow_Puf[count]='\0';
                           NOKIA5110_w_char(32);
                           NOKIA5110_set_XY(6*x,y);
                        break;             
              case 0x5a:
                        Tshow_Puf[count++]=' ';
                         x=0;y=1;
                        NOKIA5110_set_XY(x,y);
                        nTX_Flag=1;
                        break;

		default:						
			if (DisNum >= 84)
                        break;          
			if(!Shift)	//如果SHIFT沒按下
			  {
				for (TempCyc = 0;(UnShifted[TempCyc][0]!=ScanCode)&&(TempCyc<59); TempCyc++); //查表顯示
				if (UnShifted[TempCyc][0] == ScanCode) NOKIA5110_w_char( UnShifted[TempCyc][1]);
                                Tshow_Puf[count++]=UnShifted[TempCyc][1];
                                DisNum++;
                                x++;
                                if(x>13) 
                                { x=0;y++;
                                  if(y>5){x=0;y=1;}                                     
                                }	
                                NOKIA5110_set_XY(6*x,y);
                           } 
			else  //按下SHIFT
			   {
				for(TempCyc = 0; (Shifted[TempCyc][0]!=ScanCode)&&(TempCyc<59); TempCyc++); //查表顯示
				if (Shifted[TempCyc][0] == ScanCode) NOKIA5110_w_char( Shifted[TempCyc][1]);
                                Tshow_Puf[count++]=Shifted[TempCyc][1];
				DisNum++;
                                x++;
                                if(x>13) 
                                   { x=0;y++;
                                     if(y>5){ x=0;y=1;}
                                   }	
                                NOKIA5110_set_XY(6*x,y);
			    }
			break;
	        }
         }
 else
	{	
	      Key_UP = 0;
	      switch (ScanCode) //當(dāng)鍵松開時(shí)不處理判碼,如G 34H F0H 34H 那么第二個(gè)34H不會(huì)被處理
		{
		     case 0x12 :	// 左 SHIFT
			Shift = 0;break;
		     case 0x59 :	// 右 SHIFT
			Shift = 0;break;
		}                        
	}
 BF = 0; //標(biāo)識(shí)字符處理完了
 KeyV=0;
} 


void main( )  
{  char i,j=0; 
   WDTCTL = WDTPW + WDTHOLD;          // Stop WDT
  // P6DIR |=BIT6+BIT7;
  // P6OUT |=BIT6+BIT7;
   P5DIR =0XFF;
   P5OUT =0XFF;
   P3DIR |=BIT4+BIT5;
   P4DIR =0xff;
   P4OUT =0xff;
   P2SEL = 0x00; 
   P2DIR &=~ BIT1;     //Clock接P1.7,設(shè)置為輸入
   P2DIR &=~ BIT0;     //SID接P4.6,設(shè)置為輸入
   P2IES |=  BIT1; 
   P1SEL = 0x00;       //P1口作為IO使用
   P1DIR &=~ (BIT3+BIT2);
   P1IES |= BIT2+BIT3;      //下降沿中斷
   P1IFG = 0x00;            //中斷標(biāo)志清零
   P2IFG = 0x00; 
   
   P1IE  |= BIT2+BIT3;      //使能時(shí)鐘端口中斷
   nRX_Len=0;
   nTX_Len=0;
   nRX_Flag=0;
   nTX_Flag=0;
   RX_Flag=0;
   initSys();
   NOKIA5110_init();
   NOKIA5110_draw_bmp(0,0,Start_p,82,47);
   Uart_init();
   Timerb_init();
   DS1302_Reset();
   //DS1302_SettingData(Setting_Time);
   Set_mb1504_1(3700);
   Set_mb1504_2(4800);
   ADC12_init();
   _EINT();        //打開全局中斷控制
   P3OUT |= 0x30;
   Rx_Mode();
   //test=0xff;
 while(1)
{ 
/*  P3OUT |= 0x30;
  Tx_Mode();
  delay(1000);
  usart_putchar(test);*/
  
  if((Write_Flag!=0)|(Rece_Flag!=0))
    { 
        TBCCTL0=0x00;
        NOKIA5110_clear();
        x=0;y=0;
        NOKIA5110_set_XY(6*x,y);
        NOKIA5110_w_char_string(0,0,"=chat=");
        if(Write_Flag!=0)   NOKIA5110_w_char_string(42,0,"write: ");
        else if(Rece_Flag!=0 )   NOKIA5110_w_char_string(42,0,"Read: ");
        count=0;
        P2IE |= BIT1;
        while(1)
        {                           
          if(nTX_Flag==1)
            { 
            P3OUT |= 0x30;  
            Tx_Mode();
            delay(1000);
            nTX_Len=PackData(UART_TX_BUF,Tshow_Puf,count);  
            String_printf(UART_TX_BUF);
            for(i=0;i<=nTX_Len;i++)
            { Tshow_Puf[i]='\0'; 
            UART_TX_BUF[i]='\0';}  
             nTX_Flag=0;  
            //DisNum=0;
            count=0;
            delay(10);
            P3OUT |= 0x30;  
            Rx_Mode();
            j=0x01;}
              
           if(j==0x01){j=0x00; break;}
    
           if ( nRX_Flag==1 )
           { 
             NOKIA5110_clear();
             count=0;
             NOKIA5110_w_char_string(0,0,"=chat=");
             NOKIA5110_w_char_string(42,0,"Read: ");
             NOKIA5110_w_char_string(0,1,UART_RX_BUF);
             for(i=Buf_Dp-1;i!=0;i--)
             { UART_RX_BUF[i]='\0'; }
             RX1_Len_temp=0;
             nRX_Flag=0;
             Write_Flag=1;
           }    
          if( Rece_Flag==1&count!=0)
              {Rece_Flag=0;count=0;
               NOKIA5110_clear();
               NOKIA5110_w_char_string(0,0,"=chat=");
               if(Write_Flag!=0) 
                NOKIA5110_w_char_string(42,0,"write: ");}
          if((Write_Flag==0)&(Rece_Flag==0)) 
            {   NOKIA5110_clear();
                 x=0;y=0; break;
            }
        }  
        TBCCTL0=CCIE;
      } 
  else  { P2IE &=~BIT1;}
  }
}
#pragma vector=PORT2_VECTOR
__interrupt void  PORT2_ISR(void)
{
    if(P2IFG & BIT1)            //如果是clock的中斷
    {
        P2IFG &=~ BIT1;         //清除中斷標(biāo)志      
        if(bitcount == 11)      //接收第1位
        {
            if(SIDval)          //如果不是起始位
               return;
            else  
                bitcount--;
        } 
        else if(bitcount == 2)    //接收奇偶校驗(yàn)位
        {   
            if(SIDval)          //如果校驗(yàn)位等于1
                pebit = 1;
            else
                pebit = 0;
            bitcount--;
        }
        else if(bitcount == 1)    //接收停止位
        {
            if(SIDval)          //若停止位正確
            {
                bitcount = 11;    //復(fù)位位計(jì)數(shù)變量
                 IntNum = 0; //當(dāng)中斷11次后表示一幀數(shù)據(jù)收完,清變量準(zhǔn)備下一次接收
		       BF = 1; //標(biāo)識(shí)有字符輸入完了
		      _DINT(); //關(guān)中斷等顯示完后再開中斷 (注:如這里不用BF和關(guān)中斷直接調(diào)Decode()則所Decode中所調(diào)用的所有函數(shù)要聲明為再入函數(shù))
                 Decode(recdata) ;   //解碼獲得此鍵值的ASCII值并保存
                //    LPM3_EXIT;           //退出低功耗模式
                recdata = 0;          //清除接收數(shù)據(jù)
                _EINT () ; //開中斷
            }
            else                //如果出錯(cuò)
            {
                bitcount = 11;
                recdata = 0;    
            }
        }
        else                    //接收8個(gè)數(shù)據(jù)位
        {
            recdata >>= 1;
            if(SIDval)  recdata |= 0x80;
            bitcount--;
        }
    }
}
 #pragma vector=PORT1_VECTOR
__interrupt void  PORT1_ISR(void)
{
   if(P1IFG & BIT3)
   { delay(100);         //去抖
     P1IFG &=~ BIT3;
     Write_Flag=0x01;
   }
   if(P1IFG & BIT2)
   { delay(100);         //去抖
     P1IFG &=~ BIT2;
     Write_Flag=0x00;
     Rece_Flag=0;
     nRX_Flag=0x00;
   }
}

#pragma vector=USCIAB1RX_VECTOR
__interrupt void USCI1RX_ISR(void)
{  char Resv=0;
     _DINT();
    if(RX_Flag==1)                        //接收標(biāo)志位是否為一,是將數(shù)據(jù)載入緩存
  {
       UART_RX_BUF[RX1_Len_temp] = UCA1RXBUF;
       if( RX1_Len_temp<100) RX1_Len_temp++;
       else  RX1_Len_temp=0;
       if(UART_RX_BUF[RX1_Len_temp-1]=='%')      //收到結(jié)束標(biāo)志,接收完成。
      { 
        UART_RX_BUF[RX1_Len_temp-1]=32;
        UART_RX_BUF[RX1_Len_temp]='*';
        UART_RX_BUF[RX1_Len_temp+1]='*';
        UART_RX_BUF[RX1_Len_temp+2]='E';
        UART_RX_BUF[RX1_Len_temp+3]='N';
        UART_RX_BUF[RX1_Len_temp+4]='D';
        UART_RX_BUF[RX1_Len_temp+5]='*';
        UART_RX_BUF[RX1_Len_temp+6]='*';
        RX_Flag =0;                         //清除接收標(biāo)志
        nRX_Flag =1;                        //接收完成標(biāo)志
        Rece_Flag=1;
      }
  }
  else                                    //等待引導(dǎo)碼
  { Resv = UCA1RXBUF;
    if(Resv =='!')
          RX_Flag=1;
    Resv = 0;   
  }
  _EINT();
}

#pragma vector=TIMERB0_VECTOR
__interrupt void Timer_B0(void)
{ int results[2];
  ADC12CTL0 &= ~ENC;
  
  results[0] =ADC12MEM0;
  results[1] =ADC12MEM1;
  
  if(results[0]>=2500){signal=3;}
  else if((results[0]<2500)&(results[0]>1000)){signal=2;}
  else  {signal=0;}
   
  Tlotal_m(signal);
  ADC12CTL0 |= ENC+ADC12SC;
}

void Get_time(unsigned char *ReadingData)
 {
   char i,k;
   DS1302_GetData(ReadingData);
   NYR[2]=(char)(((ReadingData[0]>>4)&0x0f)+48);//年
   NYR[3]=(char)((ReadingData[0]&0x0f)+48);  
   NYR[5]=(char)(((ReadingData[2]>>4)&0x0f)+48);//月
   NYR[6]=(char)((ReadingData[2]&0x0f)+48);   
   NYR[8]=(char)(((ReadingData[3]>>4)&0x0f)+48);//日
   NYR[9]=(char)((ReadingData[3]&0x0f)+48); 
   
   switch(ReadingData[1])
   {
   case  0x01:{k=0;break;}
   case  0x02:{k=1;break;}
   case  0x03:{k=2;break;}
   case  0x04:{k=3;break;}
   case  0x05:{k=4;break;}
   case  0x06:{k=5;break;}
   case  0x07:{k=6;break;}
   default:        break;
   }  
   for(i=0;i<4;i++)
   {  Xinq[i]=TAB_f_Week[k][i];}
   
   O_Tm =(char)((ReadingData[4]>>4)&0x08);
   A_PM =(char)((ReadingData[4]>>4)&0x02);//時(shí)
   
   if(O_Tm==0x08)
   {SF[0]=(char)((ReadingData[4]>>4)&0x01);}//時(shí)
   else 
   {SF[0]=(char)((ReadingData[4]>>4)&0x03);  }
   SF[1]=(char)(ReadingData[4]&0x0f);  
   SF[3]=(char)((ReadingData[5]>>4)&0x0f);//分
   SF[4]=(char)(ReadingData[5]&0x0f);  
}

void Tlotal_m(char k)
    {  char i;
    NOKIA5110_clear();
    NOKIA5110_draw_bmp(0,0,TX,8,8);
    for(i=0;i<=k;i++)
    NOKIA5110_w_Symbol(i);
    Get_time(ReadingData);
    NOKIA5110_w_char_string(0,1,"SSB interphone");
      for(i=0;i<5;i++)
    { Write_shuzi((i+2)*8,2,b[SF[i]]);}
    
    if(O_Tm==0x08)
    { if(A_PM==0x02) Write_hanzi(64,2,PM);
      else           Write_hanzi(64,2,AM);}
    
    NOKIA5110_w_char_string(0,4,NYR);
    NOKIA5110_w_char_string(10*6,4,Xinq);
    NOKIA5110_w_char_string(0,5,"Message");
    NOKIA5110_w_char_string(10*6,5,"Back");
    }

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线看国产日韩| 国产美女精品一区二区三区| 肉丝袜脚交视频一区二区| 人妖欧美一区二区| 国产一区二区导航在线播放| av中文字幕亚洲| 欧美久久久一区| 久久久久久影视| 夜夜精品浪潮av一区二区三区| 毛片一区二区三区| 一本一道波多野结衣一区二区| 欧美一卡在线观看| 国产精品久久久久久久久动漫 | 国产一区 二区| 91在线一区二区| 欧美一区二区三区人| 国产欧美综合在线| 亚洲韩国精品一区| 国产麻豆午夜三级精品| 在线免费观看一区| 国产欧美日韩中文久久| 天天射综合影视| www.欧美日韩国产在线| 日韩午夜av电影| 亚洲色图第一区| 另类中文字幕网| 在线观看视频一区二区欧美日韩| 久久久久九九视频| 日日摸夜夜添夜夜添精品视频 | 国产精品区一区二区三区| 午夜免费欧美电影| 99久精品国产| 久久久久久一二三区| 亚洲高清久久久| fc2成人免费人成在线观看播放 | 国模娜娜一区二区三区| 欧美体内she精高潮| 国产精品色哟哟网站| 裸体在线国模精品偷拍| 欧洲国内综合视频| 国产精品久久久久久久久搜平片| 石原莉奈在线亚洲二区| 色老头久久综合| 国产精品福利电影一区二区三区四区 | 成人激情校园春色| 精品剧情在线观看| 日韩国产欧美视频| 色综合久久久久综合体| 国产精品久久看| 国产精品一区在线| 91精品国产综合久久小美女| 亚洲一区免费观看| 91丨porny丨最新| 中文字幕精品一区| 国产露脸91国语对白| 日韩一区二区在线看片| 亚洲第一狼人社区| 在线观看亚洲精品| 亚洲黄色尤物视频| 91啪在线观看| 亚洲欧美中日韩| 成人97人人超碰人人99| 国产精品久久免费看| 粉嫩蜜臀av国产精品网站| 久久综合av免费| 久久国产尿小便嘘嘘| 日韩精品一区二区三区在线观看 | 欧美老人xxxx18| 亚洲午夜精品一区二区三区他趣| 91久久线看在观草草青青| 亚洲色图视频网| 99国产精品久久久久久久久久 | 91女人视频在线观看| 国产精品久99| 91在线你懂得| 亚洲激情男女视频| 欧美探花视频资源| 亚洲va韩国va欧美va| 欧美精品aⅴ在线视频| 丝袜美腿一区二区三区| 日韩亚洲欧美在线| 精品一区二区三区影院在线午夜| 2023国产精品| 懂色av中文一区二区三区| 中文字幕av一区 二区| aaa国产一区| 一区二区三区四区在线播放| 欧美日韩在线播放一区| 午夜精品成人在线| 日韩欧美黄色影院| 国产一区二区影院| 自拍av一区二区三区| 欧美自拍偷拍一区| 日韩电影网1区2区| 久久久精品免费免费| 成人在线一区二区三区| 自拍视频在线观看一区二区| 欧美视频一区在线| 美女网站一区二区| 欧美激情资源网| 色婷婷av一区二区| 日本强好片久久久久久aaa| 精品国产区一区| proumb性欧美在线观看| 亚洲永久精品大片| 精品国产一二三| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 亚洲激情在线激情| 91精品国产黑色紧身裤美女| 国产一区二区三区综合| 国产精品久久久久影院老司| 欧美伊人久久久久久午夜久久久久| 日本视频一区二区三区| 国产欧美一区二区精品婷婷 | 一区二区三区欧美在线观看| 欧美一区永久视频免费观看| 国产suv一区二区三区88区| 欧美三级一区二区| 国产精品成人免费| 欧美日韩国产综合一区二区| 国产一区三区三区| 一区二区三区蜜桃网| 精品国产伦一区二区三区免费 | 国产精品视频一二| 欧美日韩成人在线| 懂色av一区二区夜夜嗨| 亚洲r级在线视频| 久久久久亚洲蜜桃| 欧美美女喷水视频| 成人免费毛片app| 免费成人在线视频观看| 亚洲欧洲制服丝袜| 精品国产sm最大网站免费看| 99精品视频在线观看| 久久成人av少妇免费| 一区二区久久久久| 久久影音资源网| 欧美日韩久久久| 99久久综合狠狠综合久久| 理论电影国产精品| 亚洲午夜精品17c| 欧美国产在线观看| 91麻豆精品国产91久久久资源速度| 99在线视频精品| 国精产品一区一区三区mba桃花| 一级中文字幕一区二区| 国产精品每日更新| 久久综合999| 日韩欧美中文字幕精品| 在线视频你懂得一区| 国产91精品免费| 久久精品国产成人一区二区三区 | 欧美日韩精品欧美日韩精品一综合| 粉嫩av亚洲一区二区图片| 麻豆精品一二三| 天堂久久一区二区三区| 亚洲女厕所小便bbb| 国产欧美精品国产国产专区| 日韩欧美在线综合网| 欧美区视频在线观看| 一本大道久久a久久综合婷婷| 国产麻豆成人传媒免费观看| 日本欧美在线观看| 五月婷婷综合激情| 亚洲国产精品一区二区www在线| 亚洲免费观看高清在线观看| 国产精品久久久久国产精品日日| 久久综合999| 久久噜噜亚洲综合| 26uuu亚洲| 精品国产a毛片| www欧美成人18+| xnxx国产精品| 久久久精品影视| 久久影音资源网| 久久精品人人做人人爽97 | 国产91精品一区二区| 国产一区二区精品久久99| 国模无码大尺度一区二区三区| 精品制服美女久久| 久久er精品视频| 国产一区二区三区国产| 国产精品一级黄| 成人免费视频视频| 97久久精品人人爽人人爽蜜臀| 成人免费福利片| 色综合视频在线观看| 91免费看`日韩一区二区| 91在线云播放| 欧美午夜在线一二页| 911精品产国品一二三产区| 欧美精品视频www在线观看| www.色综合.com| 欧美国产精品v| 亚洲嫩草精品久久| 亚洲二区在线视频| 日本在线不卡一区| 黄色日韩网站视频| 成人自拍视频在线观看| 91女厕偷拍女厕偷拍高清|