中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機(jī)學(xué)習(xí)之十九:串行通訊程序-單片機(jī)接收

        單片機(jī)學(xué)習(xí)之十九:串行通訊程序-單片機(jī)接收

        作者: 時間:2016-11-18 來源:網(wǎng)絡(luò) 收藏
        一、實驗現(xiàn)象:

        本文引用地址:http://www.antipu.com.cn/article/201611/315893.htm

        當(dāng)電腦向單片機(jī)發(fā)送一個數(shù)據(jù)后,P0口發(fā)生燈光變換。

        二、實驗任務(wù)分析:

        這個試驗我們?nèi)匀徊捎梅绞?來完成。在上一個試驗的通訊理論介紹中,我們知道,當(dāng)單片機(jī)接受到一幀信號后,會置位串行口接受中斷標(biāo)志RI,從而向單片機(jī)申請中斷。如果單片機(jī)開放中斷,就會進(jìn)入中斷服務(wù)程序,我們就把燈光變化的任務(wù)放到中斷程序中來完成即可。

        當(dāng)然,這個試驗功能的實現(xiàn)不只是這么一種方法。我們還可以采用在主程序中查詢RI的方式來實現(xiàn)。這個試驗我們就分別用這兩種方式來現(xiàn)它。同樣,在這個試驗中,我們也利用串口調(diào)試助手來完成向單片機(jī)發(fā)送數(shù)據(jù)的過程。具體設(shè)置方法可見下圖:

        三、實驗程序

        1、 中斷方式實現(xiàn)

        org 0000h

        ajmp main

        org 0023h ;串行口中斷入口地址

        ajmp serial ;跳轉(zhuǎn)至中斷服務(wù)程序

        main: clr p1.5

        mov p0,#55h ;讓8個led從右到左依次為亮、滅(注意跳線jmp0置于12)

        mov scon,#50h ;單片機(jī)工作于方式1,可以接受數(shù)據(jù)

        mov tmod,#20h ;T1設(shè)置為工作方式2

        mov tl1,#0f3h ;按照波特率為2400計算初值

        mov th1,#0f3h ;把計數(shù)初值送入常數(shù)緩沖器

        mov pcon,#80h ;smod=1,波特率變成4800

        setb tr1 ;啟動定時器T1開始定時

        setb ea ;cpu開放中斷

        setb es ;開放串行口中斷

        ajmp $ ;等待中斷

        serial: clr ea ;cpu關(guān)閉中斷

        clr ri ;清除串口接受中斷標(biāo)志

        mov a,p0

        cpl a

        mov p0,a ;p0口燈光變化

        setb ea ;cpu開放中斷

        reti ;返回主程序,等待下一次響應(yīng)中斷

        end

        2、 查詢方式實現(xiàn):

        org 0000h

        ajmp main

        main: clr p1.5

        mov p0,#55h ;讓8個led從右到左依次為亮、滅(注意跳線jmp0置于12)

        mov scon,#50h ;單片機(jī)工作于方式1,可以接受數(shù)據(jù)

        mov tmod,#20h ;T1設(shè)置為工作方式2

        mov tl1,#0f3h ;按照波特率為2400計算初值

        mov th1,#0f3h ;把計數(shù)初值送入常數(shù)緩沖器

        mov pcon,#80h ;smod=1,波特率變成4800

        setb tr1 ;啟動定時器T1開始定時

        wait: jnb ri,wait ;如果停止位是0,表示信息沒有發(fā)送完畢,等待

        clr ri ;清除停止位

        mov a,p0

        cpl a

        mov p0,a ;p0口燈光變化

        ajmp wait

        end

        把上面的程序下載到測試板上,然后在串口調(diào)試助手中隨便寫入一個數(shù)據(jù),每一次按下串口調(diào)試程序中的手動發(fā)送按鍵,就會發(fā)現(xiàn)led的燈光發(fā)生變化。



        評論


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

        關(guān)閉