0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于8051單片機的外部設(shè)備交換信息的三種數(shù)據(jù)傳輸方式解析

貿(mào)澤電子設(shè)計圈 ? 2018-01-09 15:50 ? 次閱讀

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

(1)無條件傳送方式

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

(2)查詢傳送方式

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

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

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

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

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

單片機運行下一個指令,打印緩沖區(qū)加1,使下一次能發(fā)送第二個數(shù)據(jù)。判斷數(shù)據(jù)是否已經(jīng)發(fā)完,未發(fā)完,準(zhǔn)備發(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ā)完,準(zhǔn)備發(fā)送下一個數(shù)據(jù),打印緩沖區(qū)加1,判斷數(shù)據(jù)是否已經(jīng)發(fā)完。三個數(shù)據(jù)都發(fā)送完,程序結(jié)束。

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

(3)中斷方式

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6023

    文章

    44376

    瀏覽量

    628326
  • 數(shù)據(jù)傳輸
    +關(guān)注

    關(guān)注

    9

    文章

    1698

    瀏覽量

    64211
  • 8051
    +關(guān)注

    關(guān)注

    3

    文章

    309

    瀏覽量

    51306

原文標(biāo)題:8051單片機的這三種數(shù)據(jù)傳輸方式,你了解多少?

文章出處:【微信號:Mouser-Community,微信公眾號:貿(mào)澤電子設(shè)計圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    單片機三種數(shù)據(jù)傳輸方式介紹

    完成雙向通訊,速度慢SPI:一串行傳輸方式,線制,網(wǎng)上可找到其通信協(xié)議和用法的 3根線實現(xiàn)數(shù)據(jù)雙向
    發(fā)表于 03-02 21:59

    單片機CPU與外部設(shè)備交換信息有哪幾種方式

    單片機CPU與外部設(shè)備交換信息的幾種方式
    發(fā)表于 03-29 07:18

    stm32的幾種數(shù)據(jù)傳輸總結(jié)

    引言在一般的項目開發(fā)過程中,往往需要兩塊或以上單片機進行通信完成數(shù)據(jù)傳輸,例如四旋翼無人機在飛行過程中無線傳輸數(shù)據(jù)回到地面站,治療儀器需要實時將患者和機器運轉(zhuǎn)情況傳回上位
    發(fā)表于 08-23 07:32

    如何去構(gòu)建一基于單片機的點對點無線數(shù)據(jù)傳輸系統(tǒng)

    接觸RF智能卡等。本次設(shè)計主要是利用無線收發(fā)電路,加上單片機控制與液晶顯示制成一套完整的無線數(shù)據(jù)收發(fā)系統(tǒng)。無線數(shù)據(jù)傳輸系統(tǒng)有點對點,點對多點和多點對多點三種。本系統(tǒng)由于實際應(yīng)用的需要,
    發(fā)表于 12-09 08:09

    介紹一STM32數(shù)據(jù)傳輸方式SPI

    之前介紹了STM32數(shù)據(jù)傳輸的一方式IIC,這次我將進行另外一種數(shù)據(jù)傳輸方式SPI。
    發(fā)表于 02-17 06:02

    數(shù)據(jù)傳輸的通信系統(tǒng)設(shè)計

    本文主要針對單片機在有線數(shù)據(jù)傳輸方面的應(yīng)用,介紹了一基于單片機MSP430 實現(xiàn)的MODEM 的數(shù)據(jù)傳輸系統(tǒng)。方案采用一個嵌入式的MODE
    發(fā)表于 06-13 13:38 ?21次下載

    單片機網(wǎng)絡(luò)數(shù)據(jù)傳輸

    單片機網(wǎng)絡(luò)數(shù)據(jù)傳輸器是由單片機以及有關(guān)電子電路組成的,可以通過互聯(lián)網(wǎng)絡(luò)來實現(xiàn)遠程監(jiān)控的一傳輸裝置。用戶有了
    發(fā)表于 06-29 18:21 ?1972次閱讀

    淺談8051單片機進行外部數(shù)據(jù)交換的3方式

    單片機CPU與外部設(shè)備交換信息通常有如下幾種方式:無條件傳送方式,查詢傳送
    的頭像 發(fā)表于 10-15 08:16 ?1w次閱讀

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

    單片機CPU與外部設(shè)備交換信息通常有如下幾種方式:無條件傳送方式,查詢傳送
    發(fā)表于 04-11 15:54 ?2980次閱讀

    AT89C52單片機與PC之間的無線數(shù)據(jù)傳輸設(shè)計

    在一些特殊的應(yīng)用場合,單片機通信不能采用有線數(shù)據(jù)傳輸方式,而需要采用短距離的無線數(shù)據(jù)傳輸方式。短距離的無線
    發(fā)表于 08-16 17:36 ?5166次閱讀
    AT89C52<b class='flag-5'>單片機</b>與PC<b class='flag-5'>機</b>之間的無線<b class='flag-5'>數(shù)據(jù)傳輸</b>設(shè)計

    單片機外部設(shè)備的通信方式

    單片機外部設(shè)備或者器件進行通信,目前主要IC,UART,SPI,SDIO,F(xiàn)SMC或者私有時序等幾種通信方式。
    的頭像 發(fā)表于 09-28 08:46 ?1.2w次閱讀
    <b class='flag-5'>單片機</b>和<b class='flag-5'>外部設(shè)備</b>的通信<b class='flag-5'>方式</b>

    IEEE802.15.4協(xié)議的數(shù)據(jù)傳輸模型解析

    存在三種類型的數(shù)據(jù)傳輸方式。第一個,設(shè)備發(fā)送數(shù)據(jù)給協(xié)調(diào)器,第二個,協(xié)調(diào)器發(fā)送數(shù)據(jù)
    的頭像 發(fā)表于 08-30 10:01 ?3863次閱讀
    IEEE802.15.4協(xié)議的<b class='flag-5'>數(shù)據(jù)傳輸</b>模型<b class='flag-5'>解析</b>

    單片機CPU與外部設(shè)備交換信息的幾種方式資料下載

    電子發(fā)燒友網(wǎng)為你提供單片機CPU與外部設(shè)備交換信息的幾種方式資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資
    發(fā)表于 04-02 08:44 ?13次下載
    <b class='flag-5'>單片機</b>CPU與<b class='flag-5'>外部設(shè)備</b><b class='flag-5'>交換</b><b class='flag-5'>信息</b>的幾種<b class='flag-5'>方式</b>資料下載

    8051單片機的這三種數(shù)據(jù)傳輸方式,你了解多少?

    單片機CPU與外部設(shè)備交換信息通常有如下幾種方式:無條件傳送方式,查詢傳送
    發(fā)表于 02-10 11:00 ?1次下載
    <b class='flag-5'>8051</b><b class='flag-5'>單片機</b>的這<b class='flag-5'>三種數(shù)據(jù)傳輸</b><b class='flag-5'>方式</b>,你了解多少?

    單片機三種總線結(jié)構(gòu)

    單片機三種總線結(jié)構(gòu)包括地址總線(Address Bus, AB)、數(shù)據(jù)總線(Data Bus, DB)和控制總線(Control Bus, CB)。這三種總線在
    的頭像 發(fā)表于 09-10 11:32 ?361次閱讀