在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            8951串口中斷

            作者: 時(shí)間:2016-11-11 來源:網(wǎng)絡(luò) 收藏
            初始化串口中斷
            void InitCOM_Interrupt(void)
            {
            #if 1
            SCON = 0x50; //8bit
            TMOD = 0x20; //timer1 mode 2
            PCON = 0x00; //SMOD=1, double baud
            TL1 = 0xFD;
            TH1 = 0xFD; //Baud = 9600, 11.0592MHz
            //IE |= 0x90; //Serail break enable
            TR1 = 1; //timer1 start
            ES = 1;
            EA = 1; //disable interrupt
            #else
            SCON = = 0x50;
            TH2 = 0XFF;
            TL2 = 0xFD //baud = 115200, 11.0592MHz
            RCAP2H = 0xFF;
            RCAP2L = 0xFD; //
            TCLK = 1;
            RCLK = 1;
            C-T2 = 0;
            TR2 = 1;
            #endif
            }
            中斷函數(shù)
            void UART_Interrupt(void) interrupt 4
            {
            char temp;
            COMWrite("Interruptn");
            if(RI)
            {
            RI=0;
            temp=SBUF;
            COMPutc(temp);
            }
            }
            全部貼上
            /******************************************
            FCT applicaiton
            Flex-B15-TSD
            First:20110916
            Modify: 20111217
            Remark: modify the COM data format. Get the data with n.
            ******************************************/
            #include
            #include
            #include
            #include
            #include
            #define LOW 0
            #define HIGH 1
            #define ACTIVE 0x00
            #define IDLE 0x01
            sfr P1_ADC_EN = 0x97;
            sfr ADC_CONTR = 0xC5;
            sfr ADC_DATA = 0xC6;
            void InitPort()
            {
            //P0 = 0x00;
            //P3 = 0X00;
            P2 = 0xFF;//Out controller P2=0x00
            P1 = 0XFF;//input
            }
            void Delay(unsigned char cnt)
            {
            while(cnt > 0)
            {
            _nop_();
            _nop_();
            _nop_();
            _nop_();
            _nop_();
            cnt--;
            }
            }
            void Delay_Loop(unsigned int loop)
            {
            unsigned int i = 0;
            for(i=0; i
            Delay(0xA0);
            }
            /****************************
            ADC function: voltage = 256*Vin/Vcc
            ****************************/
            unsigned char ADConvert(unsigned char channel)
            {
            ADC_DATA = 0;
            P1_ADC_EN = (0x01 << channel);
            ADC_CONTR = channel;
            Delay(1);
            ADC_CONTR |= 0x08; //set ADC_START =1,
            while(!(ADC_CONTR &0x10)); //wait until ADC_FLAG =1
            ADC_CONTR &= 0xF7;
            return ADC_DATA; //data = 256*Vin/Vcc (Vcc is the vlitage of MCU)
            }
            void InitCOM(void)
            {
            #if 1
            SCON = 0x50; //8bit
            TMOD = 0x20; //timer1 mode 2
            PCON = 0x00; //SMOD=1, double baud
            TL1 = 0xFD;
            TH1 = 0xFD; //Baud = 9600, 11.0592MHz
            //IE |= 0x90; //Serail break enable
            TR1 = 1; //timer1 start
            ES = 0;
            EA = 0; //disable interrupt
            #else
            SCON = = 0x50;
            TH2 = 0XFF;
            TL2 = 0xFD //baud = 115200, 11.0592MHz
            RCAP2H = 0xFF;
            RCAP2L = 0xFD; //
            TCLK = 1;
            RCLK = 1;
            C-T2 = 0;
            TR2 = 1;
            #endif
            }
            void InitCOM_Interrupt(void)
            {
            #if 1
            SCON = 0x50; //8bit
            TMOD = 0x20; //timer1 mode 2
            PCON = 0x00; //SMOD=1, double baud
            TL1 = 0xFD;
            TH1 = 0xFD; //Baud = 9600, 11.0592MHz
            //IE |= 0x90; //Serail break enable
            TR1 = 1; //timer1 start
            ES = 1;
            EA = 1; //disable interrupt
            #else
            SCON = = 0x50;
            TH2 = 0XFF;
            TL2 = 0xFD //baud = 115200, 11.0592MHz
            RCAP2H = 0xFF;
            RCAP2L = 0xFD; //
            TCLK = 1;
            RCLK = 1;
            C-T2 = 0;
            TR2 = 1;
            #endif
            }
            /*****************************
            Send data
            *****************************/
            void COMPutc(char cdata)
            {
            SBUF = cdata;
            while(!TI);
            TI = 0;
            }
            void COMWrite(char* str)
            {
            while(*str)
            COMPutc(*str++);
            }
            void COMWriteNum(int num, char* str)
            {
            char d[32];
            sprintf(d, "%s:%dn", str, num);
            COMWrite(d);
            }
            /********************************
            Read Data
            ********************************/
            char COMGetc(void)
            {
            char temp;
            while(!RI);
            temp = SBUF;
            RI = 0;
            return temp;
            }
            void COMRead(char* str, unsigned char length)
            {
            unsigned char i = 0;
            for(i = 0; i < length; i++)
            {
            str[i] = COMGetc();
            }
            }
            void COMReadEnter(char* str)
            {
            char temp;
            do
            {
            //Delay(1);
            //COMWrite("ndatan");
            temp = COMGetc();
            *str=temp;
            //COMPutc(temp);
            str++;
            }while(temp!=n && temp!=r);
            *str =