<ol id="glfvi"></ol>

    <fieldset id="glfvi"></fieldset>

    1. <mark id="glfvi"></mark>
        <var id="glfvi"></var>

        <big id="glfvi"></big>

        天堂8在线天堂资源BT_一区二区在线 | 国_天堂SV在线最新版在线_97在线观看视频_欧美成人影院在线观看

        機(jī)電之家資源網(wǎng)
        單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
        培訓(xùn)信息
        贊助商
        pic單片機(jī)雙機(jī)異步通信
        pic單片機(jī)雙機(jī)異步通信
         更新時(shí)間:2009-12-9 11:39:16  點(diǎn)擊數(shù):0
        【字體: 字體顏色
         單片機(jī)PIC1編程(發(fā)送部分)
        #include    <pic.h>
        /*該程序?qū)崿F(xiàn)單片機(jī)雙機(jī)異步通信功能,該程序是發(fā)送部分*/
        unsigned    char    tran[8];        /*定義一個(gè)數(shù)組存儲(chǔ)發(fā)送數(shù)據(jù)*/
        unsigned    char    k,data;       /*定義通用寄存器*/
        const  char    table[20]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80,
        0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x7f,0xbf,0x89,0xff};
        /*不帶小數(shù)點(diǎn)的顯示段碼表*/
        /*spi顯示初始化子程序*/
        void  SPIINIT()
        {
            PIR1=0;
            SSPCON=0x30;    
            SSPSTAT=0xC0;
            /*設(shè)置SPI的控制方式,允許SSP方式
            TRISC=0xD7;            /*SDO引腳為輸出,SCK引腳為輸出*/
            TRISA5=0;                /*RA5引腳設(shè)置為輸出,以輸出顯示鎖存信號(hào)*/
        }
        /*給數(shù)組賦初值子程序 */
        void        fuzhi()
        {
            for(k=0;k<8;k++)    

            {
                tran[k]=k+3;
            }
        }
        /*SCI部件初始化子程序*/
        void        sciint()
        {
            SPBRG=0X19;            /*將傳輸?shù)牟ㄌ芈试O(shè)為約9 600位/秒*/
            TXSTA=0X04;            /*選擇異步高速方式傳輸8位數(shù)據(jù)*/
            RCSTA=0X80;            /*允許同步串行口工作*/
            TRISC6=1;
        TRISC7=1;                /*將RC6、RC7設(shè)置為輸入方式,對外部呈高阻狀態(tài)*/
        }    
        /*SPI傳輸數(shù)據(jù)子程序*/
        void      SPILED(data)
        {
            SSPBUF=data;            /*啟動(dòng)發(fā)送*/
            do    {
                      ;
            }while(SSPIF==0);
            SSPIF=0;
        }
        /*顯示子程序,顯示8位數(shù)*/
        void        display()
        {
            RA5=0;                    /*準(zhǔn)備鎖存*/
            for(k=0;k<8;k++)    

            {
                data=tran[k];
                data=table[data];        /*查得顯示的段碼*/
                SPILED(data);        /*發(fā)送顯示段碼*/
            }
            RA5=1;                    /*最后給一個(gè)鎖存信號(hào),代表顯示任務(wù)完成*/     
        }            
        /*主程序*/
        main()
        {
            SPIINIT();
            fuzhi();                    /*給數(shù)組賦初值*/
            sciint();                    /*SCI部件初始化*/
        di();                    /*中斷禁止*/
            TXEN=1;                /*發(fā)送允許*/
            CREN=1;                /*接收數(shù)據(jù)允許*/
            for(k=0;k<8;k++)

            {    
                   TXREG=tran[k];        /*發(fā)出一個(gè)字符*/
                   while(1)

                   {
                         if(TXIF==1)

                         break;
                   }                    /*等待寫入完成*/
                   while(1)

                   {
                          if(RCIF==1)    

                           break;/*若收到響應(yīng)字節(jié),則終止等待*/
                   }
                   RCREG=RCREG;    /*讀響應(yīng)字節(jié),清RCIF*/    
             }    
             display();                /*顯示發(fā)送的數(shù)據(jù)*/
         while(1)

             {
                  ;
              }
        }

        2  單片機(jī)PIC2編程(接收部分)
        #include    <pic.h>
        /*該程序?qū)崿F(xiàn)單片機(jī)雙機(jī)異步通信功能,該程序是接收部分,并把接收的數(shù)據(jù)顯示在8個(gè)LED上*/
        unsigned      char        rece[8];/*定義一個(gè)數(shù)組存儲(chǔ)接收數(shù)據(jù)*/
        unsigned      char       k,data;/*定義通用寄存器*/
        const       char        table[20]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,
        0XD8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x7f,0xbf,0x89,0xff};
        /*不帶小數(shù)點(diǎn)的顯示段碼表*/
        /*spi顯示初始化子程序*/
        void        SPIINIT()
        {
        ;詳細(xì)語句見發(fā)送程序
        }
        /*SCI部件初始化子程序*/
        void        sciint()
        {
            SPBRG=0X19;            /*波特率設(shè)置與PIC1相同,為約9 600位/秒*/
            TXSTA=0X04;            /*異步高速傳輸*/
            RCSTA=0X80;            /*串行口工作使能*/
            TRISC6=1;
            TRISC7=1;                /*將RC6、RC7設(shè)置為輸入方式,對外部呈高阻狀態(tài)*/
        }
        /*SPI傳送數(shù)據(jù)子程序*/
        void      SPILED(data)
        {
        ;詳細(xì)語句與見發(fā)送程序
        }
        /*顯示子程序,顯示4位數(shù)*/
        void    display()
        {
                RA5=0;                    /*準(zhǔn)備鎖存*/
        for(k=0;k<8;k++)

            {
                data=rece[k];
                data=table[data];        /*查得顯示的段碼*/
                SPILED(data);        /*發(fā)送顯示段碼*/
            }
            RA5=1;                    /*最后給一個(gè)鎖存信號(hào),代表顯示任務(wù)完成*/     
        }
        /*主程序*/
        main()
        {
            SPIINIT();                /*spi顯示初始化*/
            sciint();                    /*SCI部件初始化*/
            di();                    /*中斷禁止*/
            CREN=1;                /*接收允許*/
            TXEN=1;                /*發(fā)送允許*/
            for(k=0;k<8;k++)

            {
                   while(1)

                    {
                         if(RCIF==1)   

                         break;
                     }                    /*等待接收數(shù)據(jù)*/
        rece[k]=RCREG;        /*讀取接收數(shù)據(jù),同時(shí)清掉RCIF*/
                     TXREG=rece[k];        /*發(fā)送接收到的數(shù)據(jù)*/
                     while(1)

                     {
                            if(TXIF==1)   

                             break;
                     }                    /*等待寫入完成*/
             }
            display();                /*顯示接收的數(shù)據(jù)*/
            while(1)

            {
                ;
            }
        }

      1. 上一篇: 單片機(jī)與數(shù)字電臺(tái)的串行通信
      2. 下一篇: 沒有了
      3. 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
        熱點(diǎn)文章
         
        推薦文章
         
        相關(guān)文章
        網(wǎng)友評(píng)論:(只顯示最新5條。)
        關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

        點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
        本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
        機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
        Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
        電話:0571-87774297 傳真:0571-87774298
        杭州濱興科技有限公司提供技術(shù)支持

        主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
        中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

        網(wǎng)站經(jīng)營許可證:浙B2-20080178-1
        黑人巨茎大战欧美白妇_一区二区在线 | 国_天堂SV在线最新版在线_97在线观看视频
          <ol id="glfvi"></ol>

          <fieldset id="glfvi"></fieldset>

          1. <mark id="glfvi"></mark>
              <var id="glfvi"></var>

              <big id="glfvi"></big>