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

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)編程-虛擬串口

            51單片機(jī)編程-虛擬串口

            作者: 時(shí)間:2016-11-11 來(lái)源:網(wǎng)絡(luò) 收藏
            串口通信在一些通信方面的項(xiàng)目中用的很多,但是學(xué)習(xí)起來(lái)往往條件不夠充分。這里我介紹一款軟件“虛擬串口”助你學(xué)。SUDT SerialNull V1.7http://www.skycn.com/soft/27579.html

            1.安裝完畢后打開(kāi)該軟件

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

            上面為你實(shí)際的物理串行口COM3,COM4(注意我的電腦兩個(gè)串口壞了,換上了PCI 串口卡(長(zhǎng)的很像內(nèi)存條),裝了驅(qū)動(dòng)就設(shè)置為COM3,COM4,你的沒(méi)壞的話應(yīng)該是COM1,COM2,新增虛擬物理串口就是COM3,COM4了),下面是虛擬的物理串行口。下面我們來(lái)增加一對(duì)虛擬串行口。

            因?yàn)橐话愕碾娔X最多為兩個(gè)串行口,在這個(gè)畫(huà)面上,我們?cè)O(shè)置為com3,com4,點(diǎn)擊add pair就可以增加一對(duì)虛擬串口(如上圖所示)。這兩對(duì)端口是通過(guò)這個(gè)軟件物理連接的,并且是rs232電平連接。

            這樣我們就完成里串口的設(shè)置,可以把此軟件關(guān)閉,這兩個(gè)端口將會(huì)一直存在于你的電腦中,下次直接使用就可以了。

            打開(kāi)兩個(gè)串口調(diào)試助手。一個(gè)選COM1,發(fā)ABCDEFGHI,選中“自動(dòng)發(fā)送”,另外一個(gè)選中COM2,發(fā)123456789,同樣選中“自動(dòng)發(fā)送”。看看兩個(gè)串口是不是已經(jīng)忙活起來(lái)了。呵呵,帥吧。

            OK,現(xiàn)在開(kāi)始模仿單片機(jī)與PC機(jī)的串行通信吧。PROTEUS就不用介紹了吧。

            注意:這里的單片機(jī)的RXD要與P1的RXD, 單片機(jī)的TXD要與P1的TXD,P1設(shè)置為COM1(虛擬串口中的一個(gè)),波特率就設(shè)為2400,然后打開(kāi)串口調(diào)試助手,設(shè)為COM2(虛擬串口的另外一個(gè)),波特率就設(shè)為2400。點(diǎn)擊PROTEUS中的PLAY,點(diǎn)擊BUTTON,看看串口調(diào)試助手里面的東東吧。是不是點(diǎn)擊一下BUTTON就發(fā)一串字符到串口調(diào)試助手。

            有了這東東,以后學(xué)習(xí)串口就不用發(fā)愁了。這是我從網(wǎng)上一片文章中借鑒的,你可以上網(wǎng)查查,把串口這一塊吃透。

            源程序如下:

            #include

            #include

            char code str[] = "I love MCU nr";

            void send_int(void);

            void delayms(unsigned char ms);

            void send_char(unsigned char txd);

            void send_str();

            sbit K1 = P1^4;

            main()

            {

            send_int();

            TR1 = 1; // 啟動(dòng)定時(shí)器1

            while(1)

            {

            if(!K1) // 掃描按鍵

            {

            delayms(10); // 延時(shí)去抖動(dòng)

            if(!K1) // 再次掃描

            {

            send_str();

            while(!K1);

            }

            }

            }

            }

            void send_int(void)

            { TMOD = 0x20; // 定時(shí)器1工作于8位自動(dòng)重載模式, 用于產(chǎn)生波特率

            TH1 = 0xF3; // 波特率2400

            TL1 = 0xF3;

            SCON = 0x50; // 設(shè)定串行口工作方式

            PCON&= 0xef; // 波特率不倍增

            IE = 0x0; // 禁止任何中斷

            }

            void send_char(unsigned char txd)

            // 傳送一個(gè)字符

            {

            SBUF = txd;

            while(!TI); // 等特?cái)?shù)據(jù)傳送

            TI = 0; // 清除數(shù)據(jù)傳送標(biāo)志

            }

            void send_str()

            // 傳送字串

            {

            unsigned char i = 0;

            while(str[i] !=