資料介紹
單片機(jī)CPU與外部設(shè)備交換信息通常有如下幾種方式:無(wú)條件傳送方式,查詢傳送方式和中斷傳送方式。我們以單片機(jī)與微型打印機(jī)接口為例講述這三種方式。假定用戶要打印三個(gè)數(shù)據(jù),這三個(gè)數(shù)據(jù)保存在單片機(jī)的內(nèi)部數(shù)據(jù)存儲(chǔ)器10H,11H,和12H中,8051用并口P2與微型打印機(jī)的并行數(shù)據(jù)口DB進(jìn)行數(shù)據(jù)交換。
(1)無(wú)條件傳送方式
這種數(shù)據(jù)傳送方式中沒(méi)有聯(lián)絡(luò)信號(hào),即CPU總是認(rèn)為打印機(jī)在如何時(shí)候都是處于“準(zhǔn)備好”的狀態(tài)。這種傳送方式中只需要在程序中加入數(shù)據(jù)送往P2的指令,數(shù)據(jù)傳送便可以實(shí)現(xiàn)。但這種數(shù)據(jù)傳送方式有一個(gè)致命弱點(diǎn),數(shù)據(jù)易丟失,這是因?yàn)镃PU的速度相當(dāng)快,而打印機(jī)的速度相對(duì)來(lái)說(shuō)較慢,其結(jié)果是在打印機(jī)打印一個(gè)數(shù)據(jù)的時(shí)間內(nèi),CPU已送來(lái)了多個(gè)數(shù)據(jù)。
(2)查詢傳送方式
查詢傳送也稱條件傳送是,在這種傳送方式中,無(wú)論是輸入還是輸出,都是以計(jì)算機(jī)為主動(dòng)一方。為了數(shù)據(jù)傳送的正確性,計(jì)算機(jī)在傳送數(shù)據(jù)之前,要首先查詢外部設(shè)備是否已處于“準(zhǔn)備好”狀態(tài);對(duì)于輸出操作,則要知道外設(shè)是否已把上一次計(jì)算機(jī)輸出的數(shù)據(jù)處理完畢。只有通過(guò)查詢,確信外設(shè)已處于“準(zhǔn)備好”的狀態(tài),計(jì)算機(jī)才能發(fā)出訪問(wèn)外設(shè)的指令,實(shí)現(xiàn)數(shù)據(jù)交換。狀態(tài)信息一般只需要一位二進(jìn)制碼表示“準(zhǔn)備好”和“未準(zhǔn)備好”兩種狀態(tài),所以,在接口中只用一個(gè)D觸發(fā)器就可用來(lái)保存和產(chǎn)生狀態(tài)信息。例如,“準(zhǔn)備好”有D觸發(fā)器Q=1表示;“沒(méi)準(zhǔn)備好”用Q=0表示.查詢方式過(guò)程:查詢,即讀“準(zhǔn)備好”引腳,若該引腳為“準(zhǔn)備好”狀態(tài),則進(jìn)行數(shù)據(jù)傳送,若引腳為“未準(zhǔn)備好”狀態(tài),則繼續(xù)查詢,直到該引腳為“準(zhǔn)備好”狀態(tài),再進(jìn)行數(shù)據(jù)傳送。
在我們這個(gè)例子中可以在打印機(jī)上增加一條名為BUSY的引腳,打印機(jī)開(kāi)始打印一個(gè)數(shù)據(jù)前,使該引腳為高電平,打印完一個(gè)數(shù)據(jù)后,使該引腳為低電 ,該引腳的初始化為0。我們將該引腳與單片機(jī)的引腳INT0相連,單片機(jī)每發(fā)送一個(gè)數(shù)據(jù)前,都查詢?cè)撘_狀態(tài)是否為0,若為0,則發(fā)送數(shù)據(jù)。否則,就繼續(xù)查詢,直到該引腳為0時(shí),再發(fā)送數(shù)據(jù),請(qǐng)看例子:
上電后打印機(jī)的BUSY引腳為0。
單片機(jī)運(yùn)行第一條指令,設(shè)置打印緩沖區(qū)起點(diǎn)。
單片機(jī)運(yùn)行第二條指令,設(shè)置打印字節(jié)。
單片機(jī)運(yùn)行第三條指令,讀入打印機(jī)BUSY引腳的狀態(tài),判斷該狀態(tài)是否為0。為0,則發(fā)送第一個(gè)數(shù)據(jù),打印機(jī)設(shè)置BUSY引腳為0,開(kāi)始打印。
單片機(jī)運(yùn)行下一個(gè)指令,打印緩沖區(qū)加1,使下一次能發(fā)送第二個(gè)數(shù)據(jù)。判斷數(shù)據(jù)是否已經(jīng)發(fā)完,未發(fā)完,準(zhǔn)備發(fā)送下一個(gè)數(shù)據(jù),讀打印機(jī)引腳BUSY的狀態(tài) 。
引腳BUSY狀態(tài)為1,繼續(xù)查詢。
引腳BUSY狀態(tài)為0,發(fā)送第二個(gè)數(shù)據(jù),打印緩沖區(qū)加1,使下一次能發(fā)送第三個(gè)數(shù)據(jù),判斷數(shù)據(jù)是否已經(jīng)發(fā)完,未發(fā)完,準(zhǔn)備發(fā)送下一個(gè)數(shù)據(jù),打印緩沖區(qū)加1,判斷數(shù)據(jù)是否已經(jīng)發(fā)完。三個(gè)數(shù)據(jù)都發(fā)送完,程序結(jié)束。
可以看出,這種方式的缺點(diǎn)是需要有一個(gè)等待的過(guò)程,特別是在連續(xù)進(jìn)行數(shù)據(jù)傳送時(shí),由于外設(shè)工作速度比CPU慢得多,所以CPU在完成一次數(shù)據(jù)傳送后要等待很長(zhǎng)的時(shí)間才能進(jìn)行下一次傳送。在等待過(guò)程中,CPU不能進(jìn)行其他操作,所以效率比較低,提高CPU效率的一個(gè)有效方式是采用中斷方式。
(3)中斷方式
剛才我們講到,無(wú)條件傳送方式不可靠,查詢傳送方式太浪費(fèi)CPU的時(shí)間。
為了解決這個(gè)問(wèn)題,單片機(jī)設(shè)置了另一個(gè)傳送方式—中斷方式。所謂中斷,就是指中央處理器CPU正在處理某件事情的時(shí)候,外部發(fā)生某一事件,請(qǐng)求CPU迅速去處理,于是,CPU暫時(shí)中斷當(dāng)前的工作,轉(zhuǎn)入處理所發(fā)生的事件;中斷服務(wù)處理以后,再回到原來(lái)被中斷的地方,繼續(xù)原來(lái)的工作,這樣的過(guò)程稱為中斷。實(shí)現(xiàn)這種功能的部件稱為中斷系統(tǒng),產(chǎn)生中斷的請(qǐng)求源稱為中斷源。
(mbbeetchina)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 8051單片機(jī)的這三種數(shù)據(jù)傳輸方式,你了解多少?
- 【嵌入式-單片機(jī)筆記1】處理器(MCU)與外部設(shè)備的通信方式(主要就串行通信進(jìn)行總結(jié))
- 單片機(jī)基礎(chǔ)及應(yīng)用:單片機(jī)并行存儲(chǔ)器擴(kuò)展資料下載
- 51單片機(jī)外部中斷的兩種觸發(fā)方式資料下載
- 單片機(jī)最小應(yīng)用系統(tǒng)及外部擴(kuò)展總線資料下載
- 解析單片機(jī)與CPU的區(qū)別資料下載
- 幾種單片機(jī)I/O的常用驅(qū)動(dòng)和隔離電路的設(shè)計(jì)方法資料下載
- 使用單片機(jī)外部中斷的使用C語(yǔ)言程序免費(fèi)下載 9次下載
- 單片機(jī)僅靠CPU和內(nèi)存是無(wú)法運(yùn)行的!資料下載
- 單片機(jī)=CPU、內(nèi)存、外圍功能...如何理解資料下載
- 51單片機(jī)的外部XRAM讀寫(xiě)程序免費(fèi)下載
- 使用51單片機(jī)進(jìn)行串口通信的學(xué)習(xí)資料免費(fèi)下載
- 單片機(jī)入門(mén)匯編之外部中斷1的演示程序資料免費(fèi)下載 5次下載
- 單片機(jī)教程之51系列單片機(jī)的指令系統(tǒng)資料免費(fèi)下載 9次下載
- 51單片機(jī)外部中斷實(shí)例的程序資料說(shuō)明免費(fèi)下載 9次下載
- 外部設(shè)備必須通過(guò)什么與主機(jī) 703次閱讀
- ?51單片機(jī)串口通信詳細(xì)介紹-小白必看 2099次閱讀
- 單片機(jī)外部中斷的好處 2338次閱讀
- 基于單片機(jī)的矩陣鍵盤(pán)檢測(cè)案例 1323次閱讀
- 單片機(jī)程序的幾種常用下載方式介紹 2.1w次閱讀
- 單片機(jī)和外部設(shè)備的通信方式 1.2w次閱讀
- 常用單片機(jī)通信方式綜述 5203次閱讀
- 8051單片機(jī)數(shù)據(jù)傳送的方式有哪些 3103次閱讀
- 如何對(duì)51單片機(jī)進(jìn)行外部擴(kuò)展 1.5w次閱讀
- 解讀單片機(jī)和CPU的區(qū)別及意義 3w次閱讀
- 單片機(jī)串行口介紹,8051單片機(jī)的通信方式 1.6w次閱讀
- 基于8051單片機(jī)的外部設(shè)備交換信息的三種數(shù)據(jù)傳輸方式解析 1w次閱讀
- DMA控制器與單片機(jī)的接口技術(shù) 3390次閱讀
- AVR單片機(jī)的主要特性 964次閱讀
- AVR單片機(jī)有什么優(yōu)點(diǎn)_為什么要選擇AVR單片機(jī) 2528次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開(kāi)關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開(kāi)發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論