<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Proteus-PIC-虛擬串口----串口調(diào)試仿真

          Proteus-PIC-虛擬串口----串口調(diào)試仿真

          作者: 時(shí)間:2016-09-05 來(lái)源:網(wǎng)絡(luò) 收藏

            1、準(zhǔn)備工作

          本文引用地址:http://www.ex-cimer.com/article/201609/296524.htm

            首先,需要準(zhǔn)備齊全的軟件:①;②MPLAB;③調(diào)試助手;④虛擬Virtual Serial Port Driver

            2、繪制簡(jiǎn)單電路圖

            

           

            用不同的LED燈做指示燈

            注:PIC和COMP1M電路連接:用調(diào)試助手作為輸入/輸出顯示,相關(guān)連線為對(duì)應(yīng)連接,即RX-RXD;TX-TXD(虛擬終端SCMR用于觀察單片機(jī)接受到的數(shù)據(jù)值,可去掉),也可以通過(guò)LED指示燈查看程序是否按照設(shè)定正常執(zhí)行。

            3、編寫相應(yīng)的程序

            應(yīng)用MPLAB編寫對(duì)應(yīng)的程序:

            //*******************************************************

            // 工程: 檢驗(yàn)-虛擬串口

            //*******************************************************

            #include

            /****************定義函數(shù)**********************/

            void init_PORT();

            void init_com();

            void interrupt ISR();

            /*******************************************************/

            __CONFIG(0X3F71);

            /******************************************************/

            /*初始化PIC單片機(jī)端口*/

            void init_PORT()

            {

            TRISC=0x80; //置RC6/TX與RC7/RX分別為UART的傳送與接收引腳

            TRISD=0x00;

            RD7=1;

            RD6=1;

            RC1=1;

            RC2=1;

            }

            //*********************************************************************

            //初始化串口

            //*********************************************************************

            void init_com()

            {

            TXSTA=0x24;//發(fā)送數(shù)據(jù)控制位配置00100100,異步方式、高波特率,波特率=Fosc/16*(SPBTG+1);

            //TXSTA寄存器的D5(TXEN)=1,啟動(dòng)UART的發(fā)送功能

            RCSTA=0x90;//接收數(shù)據(jù)控制位配置10010000,設(shè)置連續(xù)接收數(shù)據(jù)

            //RCSTA寄存器的D4(CREN)=1,啟動(dòng)UART的接收功能

            SPBRG=25; //設(shè)置波特率9600,系統(tǒng)時(shí)鐘4MHZ,波特率=4000000/16/(25+1)=9615(Bps)

            RCIE=1; //接收中斷使能

            TXIE=1; //發(fā)送中斷使能

            PEIE=1; //INTCON的D6(PEIE)=1,外圍中斷開關(guān)打開

            GIE=1; //總中斷開啟

            }

            //***********************************************************************************

            //中斷服務(wù)子程序

            //***********************************************************************************

            void interrupt ISR()

            {

            int RE;

            if(RCIF==1) //接收到數(shù)據(jù)產(chǎn)生中斷

            {

            RCIF=0;

            RE=RCREG;

            TXREG=RCREG; //將接收到的數(shù)據(jù)返回給上位機(jī),檢驗(yàn)接受和發(fā)送是否正常

            RD6=0; //進(jìn)入到中斷,點(diǎn)亮LED-D2

            if( RE==0xCC)

            {

            RC1=0;//接收到0XCC,點(diǎn)亮LED-D3

            RC2=1;

            }

            else

            {

            RD7=0;//接收到數(shù)據(jù),且是非0XCC,點(diǎn)亮LED-D1

            RC1=1;

            RC2=0;//點(diǎn)亮LED-D4

            }

            }

            }

            /***********************************************************

            主程序

            ***********************************************************/

            void main()

            {

            init_PORT();

            init_com();

            while(1) ;

            }

            4、設(shè)置參數(shù)

           ?、貾IC單片機(jī)的晶振設(shè)置要與外部鏈接晶振設(shè)置一致,本文設(shè)置為4MHz,you see!

           ?、谠O(shè)置燒寫路徑 Program File,選擇“.hex”文件

            

           

            ③設(shè)置串口參數(shù),如下圖所示:(注:此處Physical Port選擇的是COM1,其實(shí)選擇任何一個(gè)都可以,但是要配合虛擬串口Virtual Serial Port Driver中的設(shè)定,具體見下文)

            

           

           ?、茉O(shè)置虛擬終端SCMR,參數(shù)基本不需要更改

            

           

            

           

            如果輸入的是ASCII碼----不勾選Hex Display mode

            如果輸入的是16進(jìn)制-----勾選Hex Display mode

            clear screen 是清屏

            echo typed characters 是當(dāng)你在虛擬終端窗口輸入字符時(shí),輸入的字符顯示在虛擬中斷窗口內(nèi)。

           ?、菰O(shè)置虛擬串口Virtual Serial Port Driver和串口調(diào)試助手

            

           

            標(biāo)記①處默認(rèn)是COM1和COM2,可任意選擇,本文選取默認(rèn)值,點(diǎn)擊旁邊按鈕后,在左側(cè)出現(xiàn)標(biāo)記②,同時(shí)標(biāo)記①處便變成如上圖的COM3和COM4。

            上文提到,中串口設(shè)置為COM1,根據(jù)實(shí)際情況,選取標(biāo)記②中的任意一個(gè)均可,然后串口調(diào)試助手選取標(biāo)記②中的另外一個(gè),即本文為COM2。

            5、運(yùn)行

            

           

            下圖為正常運(yùn)行的效果圖:

            



          關(guān)鍵詞: Proteus 串口

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();