131 1300 0010
其他
當前位置: 首頁>> 元件技術(shù)>>其他>>
  • 導航欄目
  • 二極管
  • 整流橋
  • MOS管
  • 其他
  • 8051單片機數(shù)據(jù)傳送的方式有哪些
    8051單片機數(shù)據(jù)傳送的方式有哪些
  • 8051單片機數(shù)據(jù)傳送的方式有哪些
  •   發(fā)布日期: 2019-04-12  瀏覽次數(shù): 1,454

    單片機CPU與外部設備交換信息通常有如下幾種方式:無條件傳送方式,查詢傳送方式和中斷傳送方式。我們以單片機與微型打印機接口為例講述這三種方式。假定用戶要打印三個數(shù)據(jù),這三個數(shù)據(jù)保存在單片機的內(nèi)部數(shù)據(jù)存儲器10H,11H,和12H中,8051用并口P2與微型打印機的并行數(shù)據(jù)口DB進行數(shù)據(jù)交換。

    8051單片機數(shù)據(jù)傳送的方式有哪些

     

    (1)無條件傳送方式

    這種數(shù)據(jù)傳送方式中沒有聯(lián)絡信號,即CPU總是認為打印機在如何時候都是處于“準備好”的狀態(tài)。這種傳送方式中只需要在程序中加入數(shù)據(jù)送往P2的指令,數(shù)據(jù)傳送便可以實現(xiàn)。但這種數(shù)據(jù)傳送方式有一個致命弱點,數(shù)據(jù)易丟失,這是因為CPU的速度相當快,而打印機的速度相對來說較慢,其結(jié)果是在打印機打印一個數(shù)據(jù)的時間內(nèi),CPU已送來了多個數(shù)據(jù)。

    (2)查詢傳送方式

    查詢傳送也稱條件傳送是,在這種傳送方式中,無論是輸入還是輸出,都是以計算機為主動一方。為了數(shù)據(jù)傳送的正確性,計算機在傳送數(shù)據(jù)之前,要首先查詢外部設備是否已處于“準備好”狀態(tài);對于輸出操作,則要知道外設是否已把上一次計算機輸出的數(shù)據(jù)處理完畢。只有通過查詢,確信外設已處于“準備好”的狀態(tài),計算機才能發(fā)出訪問外設的指令,實現(xiàn)數(shù)據(jù)交換。狀態(tài)信息一般只需要一位二進制碼表示“準備好”和“未準備好”兩種狀態(tài),所以,在接口中只用一個D觸發(fā)器就可用來保存和產(chǎn)生狀態(tài)信息。例如,“準備好”有D觸發(fā)器Q=1表示;“沒準備好”用Q=0表示。查詢方式過程:查詢,即讀“準備好”引腳,若該引腳為“準備好”狀態(tài),則進行數(shù)據(jù)傳送,若引腳為“未準備好”狀態(tài),則繼續(xù)查詢,直到該引腳為“準備好”狀態(tài),再進行數(shù)據(jù)傳送。

    在我們這個例子中可以在打印機上增加一條名為BUSY的引腳,打印機開始打印一個數(shù)據(jù)前,使該引腳為高電平,打印完一個數(shù)據(jù)后,使該引腳為低電 ,該引腳的初始化為0。我們將該引腳與單片機的引腳INT0相連,單片機每發(fā)送一個數(shù)據(jù)前,都查詢該引腳狀態(tài)是否為0,若為0,則發(fā)送數(shù)據(jù)。否則,就繼續(xù)查詢,直到該引腳為0時,再發(fā)送數(shù)據(jù),請看例子:

    8051單片機數(shù)據(jù)傳送的方式有哪些

    上電后打印機的BUSY引腳為0。

    單片機運行第一條指令,設置打印緩沖區(qū)起點。

    單片機運行第二條指令,設置打印字節(jié)。

    單片機運行第三條指令,讀入打印機BUSY引腳的狀態(tài),判斷該狀態(tài)是否為0。為0,則發(fā)送第一個數(shù)據(jù),打印機設置BUSY引腳為0,開始打印。

    單片機運行下一個指令,打印緩沖區(qū)加1,使下一次能發(fā)送第二個數(shù)據(jù)。判斷數(shù)據(jù)是否已經(jīng)發(fā)完,未發(fā)完,準備發(fā)送下一個數(shù)據(jù),讀打印機引腳BUSY的狀態(tài) 。

    引腳BUSY狀態(tài)為1,繼續(xù)查詢。

    引腳BUSY狀態(tài)為0,發(fā)送第二個數(shù)據(jù),打印緩沖區(qū)加1,使下一次能發(fā)送第三個數(shù)據(jù),判斷數(shù)據(jù)是否已經(jīng)發(fā)完,未發(fā)完,準備發(fā)送下一個數(shù)據(jù),打印緩沖區(qū)加1,判斷數(shù)據(jù)是否已經(jīng)發(fā)完。三個數(shù)據(jù)都發(fā)送完,程序結(jié)束。

    可以看出,這種方式的缺點是需要有一個等待的過程,特別是在連續(xù)進行數(shù)據(jù)傳送時,由于外設工作速度比CPU慢得多,所以CPU在完成一次數(shù)據(jù)傳送后要等待很長的時間才能進行下一次傳送。在等待過程中,CPU不能進行其他操作,所以效率比較低,提高CPU效率的一個有效方式是采用中斷方式。

    (3)中斷方式

    剛才我們講到,無條件傳送方式不可靠,查詢傳送方式太浪費CPU的時間。

    為了解決這個問題,單片機設置了另一個傳送方式—中斷方式。所謂中斷,就是指中央處理器CPU正在處理某件事情的時候,外部發(fā)生某一事件,請求CPU迅速去處理,于是,CPU暫時中斷當前的工作,轉(zhuǎn)入處理所發(fā)生的事件;中斷服務處理以后,再回到原來被中斷的地方,繼續(xù)原來的工作,這樣的過程稱為中斷。實現(xiàn)這種功能的部件稱為中斷系統(tǒng),產(chǎn)生中斷的請求源稱為中斷源。


  • ·上一篇:
    ·下一篇:
  • 其他關(guān)聯(lián)資訊
    深圳市日月辰科技有限公司
    地址:深圳市寶安區(qū)松崗鎮(zhèn)潭頭第二工業(yè)城A區(qū)27棟3樓
    電話:0755-2955 6626
    傳真:0755-2978 1585
    手機:131 1300 0010
    郵箱:hu@szryc.com

    深圳市日月辰科技有限公司 版權(quán)所有:Copyright?2010-2023 xbquwah.cn 電話:13113000010 粵ICP備2021111333號