




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
并口編程技術本文主要介紹并行端口的結構以及簡單的對并口的讀、寫并以及如何獲得端口的狀態。并行接口的分類:SPP(標準并行接口),EPP(增強型并行接口),ECP(擴展型并行端口)標準并行端口(SPP)也是最早的端口定義,主要功能如下,1:并行端口提供了8個數據線以進行并行的字節傳輸,2:計算機能夠通過數據線向打印機發送選能信號,以通知打印機已經準備好接收數據,3:打印機招收到數據后,向計算機發送一個回應信號(NACK)。其各位信號線所代表的意義詳見下表。增強型并行端口(EPP)的出現提供了一種更高性能的連接方式,并東路向下兼容所有在此之前存在的并行接口及外設。與SPP不同之處在于原來17個信號中的重新定義,在這17個信號中,EPP使用了其中的14個信號進行傳輸,握手和選通,剩下的3個信號可以由外設設計者有來自定義。并行接口的大致結構:并行口一般有25個引腳,其中包括8位數據線,5位打印機狀態線,4位控制線.下面將對這些引腳予以詳細說明:(注:1:>出,表示由計算機發向打印機;入,表示由打印機發向計算機,2:>低電平有效信號用上劃線或星號表示(如S7*),高電平有效信號則沒有上劃線或星號)
14AUTOFEEDC1+Cuntrul自動饋送」氐電平有效?E卩機對于每遇到一階E行.15/ERRORS3StatusA錯誤,該.信號由打印機.明打印機處于錯16/INITC2Ccmtrul出初始化,低電平有熱信?對打印機進行17/SELINC3*Control出選擇輸入低電平有歹經選中的打£18GND信號接*19GND信號接土20GND信號接土21GND信號割22GND信號閱23GND信號劇24GND信號劇25GND信呂閱打印機常用端口:對于LPT1:OX378為數據發送地址,0X379為打印機狀態地址,0X37A為計算機向打印機控制地址,通常為了使程序具有通用性我們可以從注冊表中取得這個地址,對于WINDOWSCE而言,這個值被存儲在{HKEY_LOCAL_MACHINE//DRIVERS//BUILTIN//PARALLEL//IOBASE}.然后我們就可以通過對此三個端口進行控制達到簡單的并口編程的目的.下面是對打印機狀態端口及打印機控制端口作一詳細解釋:控制端口:這個0x37A計算機控制打印機的地址,可以產生對打印機進行控制的必要信號,可寫,兩高位(7和8)沒什么用,第6位寫1表示可以向并口輸出數據。第五位中斷信號(IRQEN),利用此信號線,驅動程序可以在STATUS端口信號(nAck)的幫助下,使用該信號對中斷信號的產生與否進行控制。第3,2,1,0位分別控制第17線,第16線,第14線和第1線。(可以控制它們的狀態)具體作用可參見前表狀態端口:Ok379.(-S7)11忙.Css).應答12缺纟氐.網.13聯機(S3)*口L天S281SO0x379為打印機狀態地址,可讀,通過個端口打印機適配器可以很方便的讀取打印機的狀態。標記為S7的信號表示最高位,SO表示為最低位,只有S3-S7五個信號才是真正有用的信號。他們的具體信號功能解釋如下:S7*(busy):打印機使用該信號表示打印機正處于忙狀態,不能再接收數據。需要強調的是,該信號通過適配器板時,進行了反相處理,因此連接器上的低電平到微處理器時就變成了高電平。S6(nAck):當適配器發出選通信號時,打印機就會產生該信號作為響應。通常情況下,該信號是高電平,選通打印機之后,打印機首先把該信號設為低電平,然后再返回高電平。S5(PE):當打印機缺紙時,它就會產生一個這樣的信號,通常情況下,該信號由打印機保持為低電平,打印機紙使用完之后,該信號就會變成高電平。S4(SELECT):當打印機恢復正常操作時,它就會插入一個高電平的該信號。當打印機處于無效狀態時,訪信號就會變成低電平。S3(NERROR):當打印機出現錯誤時就會產生這種郵錯信號。產生出錯的原因很多,如打印紙堵了或產生了內部錯誤。產生錯誤時該信號就會設置成低電平。以下為在WindowsCE下打印機各種狀態時,所對應的狀態寄存器的(AL)的值:1:>在沒接入打印機時寄存器AL值為127,對應二進制是:11111112:>打印機在缺紙燈不亮時寄存器AL值為144,對應二進制是:100100003:>打印機在缺紙燈亮時寄存器AL值為119;對應二進制值是:111011114:>打印機在不缺紙的情況下寄存器AL值223,對應二進制值是:110111115:>打印機在沒開機的情況下得到AH值為207,對應二進制值是:11001111下面介紹對并口的編程控制:(編程控制示例)(為匯編代碼)//此段代碼為并口向打印機進行寫數據,并發送控制信息。#defineLPT_CLEAR_MASK0x40#defineLPT_STROBE_HI0x0D#defineLPT_STROBE_LO0x0C#defineLPT_STATUS_BITS0xF8#defineLPT_BITS_INVERT0x48#defineLPT_NOTBUSY0x80#defineLPT_PAPEROUT0x20#defineLPT_SELECT0x10#defineLPT_NFAULT0x08#defineLPT_TimeOut0x01voidOutByte(ULONGdataport,BYTEdatabyte){#ifx86_asm{movdx,wordptr[dataport]moval,byteptr[databyte]outdx,aloutdx,aladddx,2inal,dxandal,LPT_CLEAR_MASKmovcl,aloral,LPT_STROBE_HIoutdx,aloutdx,aloutdx,aloutdx,alorcl,LPT_STROBE_LOmoval,cloutdx,al}#elseWRITE_PORT_UCHAR((PUCHAR)dataport,databyte);dataport+=2;databyte=(READ_PORT_UCHAR((PUCHAR)dataport)&LPT_CLEAR_MASK)|LPT_STROBE_HI;WRITE_PORT_UCHAR((PUCHAR)dataport,databyte);databyte=(READ_PORT_UCHAR((PUCHAR)dataport)&LPT_CLEAR_MASK)|LPT_STROBE_LO;WRITE_PORT_UCHAR((PUCHAR)dataport,databyte);#endif}//此段代碼為讀取打印機當前狀態。BYTECheckStatus(unsignedport){BYTEbRet;#ifx86_asm{movdx,wordptr[port]Checkme:inal,dxmovah,alnopnopinal,dxcmpal,ahjnzCheckmeandah,LPT_STATUS_BITSxorah,LPT_BITS_INVERTtestah,LPT_PAPEROUTorLPT_NFAULTjnzCS_HasErrortestah,LPT_SELECTjzCS_HasErrorandah,LPT_NOTBUSYjzCS_HasErrorxoreax,eaxCS_HasError:mov[bRet],al}#elseBYTEbStatus;do{bRet=bStatus=READ_PORT_UCHAR((PUCHAR)port);}while(bStatus!=READ_PORT_UCHAR((PUCHAR)port));bStatus&=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 襯砌施工方法及模板裝置
- 健康科技在運動與健身領域的應用考核試卷
- 印刷設備自動化技術培訓與教育體系研究考核試卷
- 庫存風險管理與企業信用風險管理整合考核試卷
- 渠道銷售團隊的銷售技能培訓方法考核試卷
- 藍色星球測試題及答案
- 禮儀生活考試題及答案
- 合成氣制備過程中的噪聲控制技術考核試卷
- 勘查技術更新與淘汰機制研究考核試卷
- 飛行法規試題及答案
- 農村農資采購與供應長期合作協議
- 反假幣培訓課件
- 中山大學強基校測面試題
- 愛回收培訓課件
- 2025年湖南省中考化學真題(解析版)
- 危險品運輸學習通超星期末考試答案章節答案2024年
- 人工智能智慧樹知到期末考試答案章節答案2024年復旦大學
- GB/T 18380.33-2022電纜和光纜在火焰條件下的燃燒試驗第33部分:垂直安裝的成束電線電纜火焰垂直蔓延試驗A類
- cence湘儀TDZ4K離心機使用說明
- qcpcb制作、檢驗及包裝送貨
- 人因工程學課后習題及解答
評論
0/150
提交評論