在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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>

            新聞中心

            STC12C5A16S2雙串口的使用

            作者: 時(shí)間:2016-11-18 來(lái)源:網(wǎng)絡(luò) 收藏
            stc雙串口的使用:

            MCU:STC15C5A16S2

            本文引用地址:http://www.biyoush.com/article/201611/315597.htm

            時(shí)鐘:11.0592

            S2SMOD=1,BRTX12=1;

            串口波特率:9600

            #include
            #define uint8 unsigned char
            #define uint16 unsigned int

            #define Fclk 11059200UL /*使用22.1184M晶體*/
            #define BitRate 9600UL /*波特率定義為9600*/
            #define RELOAD_COUNT 0Xb8

            volatile uint8 Buf[4]={0x00,0x00,0x00,0x00};//
            volatile uint8 BufBack[4]={0x00,0x00,0x00,0x00};
            uint8 Num=4;


            void UartInit()
            {
            SCON=0X50;//8位可變波特率,無(wú)奇偶校驗(yàn)
            TMOD=0X21; //設(shè)置定時(shí)器1,自動(dòng)重裝數(shù)
            TH1=256-Fclk/(BitRate*12*16); //計(jì)算定時(shí)器重裝值
            TL1=256-Fclk/(BitRate*12*16);
            PCON|=0X80; //波特率加倍
            TR1=1; //開定時(shí)器1
            REN=1; //允許接收
            ES=1; //允許串口1中斷
            EA=1; //開總中斷
            }
            void UartSendByte(unsigned char i)
            {
            ES=0;
            TI=0;
            SBUF=i;
            while(TI==0);
            TI=0;
            ES=1;
            }


            /********************************************************************
            函數(shù)功能:串口中斷處理。
            入口參數(shù):無(wú)。
            返 回:無(wú)。
            備 注:無(wú)。
            ********************************************************************/
            void UartISR(void) interrupt 4
            {
            if(RI) //收到數(shù)據(jù)
            {
            if(Num>0)
            {
            Buf[4-Num]=SBUF;
            Num--;
            }
            RI=0; //清中斷請(qǐng)求
            }
            }

            /********************以上為串口1收發(fā)程序***********************/
            /********************以下為串口2收發(fā)程序***********************/
            void UartInit2()
            {
            S2CON=0X50; //8位可變波特率,無(wú)奇偶校驗(yàn)
            BRT=RELOAD_COUNT;//波特率發(fā)生器裝載
            AUXR=0X1c;

            IE2=0X01; //允許串口2中斷
            EA=1;
            }


            void UartSendByte2(unsigned char i)
            {
            uint8 temp=0;
            IE2=0X00;
            S2CON=S2CON&0XFD;
            S2BUF=i;
            do{
            temp=S2CON;
            temp=temp&0x02;
            }while(temp==0);
            S2CON=S2CON&0XFD;
            IE2=0X01;
            }

            void UartISR2(void) interrupt 8
            {
            unsigned char k=0;
            k=S2CON;
            k=k&0X01;
            if(k==1)
            {
            S2CON=S2CON&0XFE;
            if(Num>0)
            {
            BufBack[4-Num]=S2BUF;//
            Num--;
            }
            }
            else
            {
            S2CON=S2CON&0XFD;
            }
            }


            void main()
            {
            UartInit();
            UartInit2();
            //接收電腦發(fā)來(lái)的數(shù)組
            while(Num>0);
            //把接收到的數(shù)組發(fā)給從機(jī)

            UartSendByte2(Buf[0]);
            UartSendByte2(Buf[1]);
            UartSendByte2(Buf[2]);
            UartSendByte2(Buf[3]);

            //接收從機(jī)回來(lái)的數(shù)據(jù)
            Num=4;
            while(Num>0);
            //把從機(jī)回來(lái)的數(shù)據(jù)發(fā)回給電腦
            UartSendByte(BufBack[0]);
            UartSendByte(BufBack[1]);
            UartSendByte(BufBack[2]);
            UartSendByte(BufBack[3]);
            while(1);
            }



            關(guān)鍵詞: STC12C5A16S2雙串

            評(píng)論


            技術(shù)專區(qū)

            關(guān)閉