<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x

    Proteus-PIC-虛擬串口----串口調試仿真

    發布時間:2016-9-13 11:24    發布者:designapp
    關鍵詞: Proteus , 串口
     1、準備工作

    首先,需要準備齊全的軟件:①Proteus;②MPLAB;③串口調試助手;④虛擬串口Virtual Serial Port Driver

    2、繪制簡單電路圖






    用不同的LED燈做指示燈

    注:PIC和COMP1M電路連接:用串口調試助手作為輸入/輸出顯示,相關連線為對應連接,即RX-RXD;TX-TXD(虛擬終端SCMR用于觀察單片機接受到的數據值,可去掉),也可以通過LED指示燈查看程序是否按照設定正常執行。

    3、編寫相應的程序


    應用MPLAB編寫對應的程序:

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

    // 工程: 檢驗-虛擬串口

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

    #include

    /****************定義函數**********************/

    void init_PORT();

    void init_com();

    void interrupt ISR();

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

    __CONFIG(0X3F71);

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

    /*初始化PIC單片機端口*/

    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;//發送數據控制位配置00100100,異步方式、高波特率,波特率=Fosc/16*(SPBTG+1);

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

    RCSTA=0x90;//接收數據控制位配置10010000,設置連續接收數據

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

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

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

    TXIE=1; //發送中斷使能

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

    GIE=1; //總中斷開啟

    }

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

    //中斷服務子程序

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

    void interrupt ISR()

    {

    int RE;

    if(RCIF==1) //接收到數據產生中斷

    {

    RCIF=0;

    RE=RCREG;

    TXREG=RCREG; //將接收到的數據返回給上位機,檢驗接受和發送是否正常

    RD6=0; //進入到中斷,點亮LED-D2

    if( RE==0xCC)

    {

    RC1=0;//接收到0XCC,點亮LED-D3

    RC2=1;

    }

    else

    {

    RD7=0;//接收到數據,且是非0XCC,點亮LED-D1

    RC1=1;

    RC2=0;//點亮LED-D4

    }

    }

    }

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

    主程序

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

    void main()

    {

    init_PORT();

    init_com();

    while(1) ;

    }

    4、設置參數


    ①PIC單片機的晶振設置要與外部鏈接晶振設置一致,本文設置為4MHz,you see!

    ②設置燒寫路徑 Program File,選擇“.hex”文件





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





    ④設置虛擬終端SCMR,參數基本不需要更改









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

    如果輸入的是16進制-----勾選Hex Display mode

    clear screen 是清屏

    echo typed characters 是當你在虛擬終端窗口輸入字符時,輸入的字符顯示在虛擬中斷窗口內。

    ⑤設置虛擬串口Virtual Serial Port Driver和串口調試助手





    標記①處默認是COM1和COM2,可任意選擇,本文選取默認值,點擊旁邊按鈕后,在左側出現標記②,同時標記①處便變成如上圖的COM3和COM4。

    上文提到,Proteus中串口設置為COM1,根據實際情況,選取標記②中的任意一個均可,然后串口調試助手選取標記②中的另外一個,即本文為COM2。

    5、運行






    下圖為正常運行的效果圖:


    本文地址:http://www.portaltwn.com/thread-173714-1-1.html     【打印本頁】

    本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
    您需要登錄后才可以發表評論 登錄 | 立即注冊

    廠商推薦

    • Microchip視頻專區
    • 利用模擬開發工具生態系統進行安全電路設計
    • 你仿真過嗎?使用免費的MPLAB Mindi模擬仿真器降低設計風險
    • 想要避免發生災難,就用MPLAB SiC電源仿真器!
    • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
    • 貿澤電子(Mouser)專區
    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷