微型打印機接口控制實驗

上傳人:lis****210 文檔編號:55397906 上傳時間:2022-02-17 格式:DOC 頁數(shù):7 大?。?29.50KB
收藏 版權申訴 舉報 下載
微型打印機接口控制實驗_第1頁
第1頁 / 共7頁
微型打印機接口控制實驗_第2頁
第2頁 / 共7頁
微型打印機接口控制實驗_第3頁
第3頁 / 共7頁

本資源只提供3頁預覽,全部文檔請下載后查看!喜歡就下載吧,查找使用更方便

10 積分

下載資源

資源描述:

《微型打印機接口控制實驗》由會員分享,可在線閱讀,更多相關《微型打印機接口控制實驗(7頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、? 實驗內(nèi)容: 將實驗儀接上微型打印機,控制打印機打印出各種效果的漢字和字符。 ? 實驗目的: 1 ? 了解微型打印機接口及其打印字符的方法; 2 ? 了解微型打印機打印漢字的方法; 3. 了解單片機與微型打印機的連線方法。 ? 有關說明: 并行接口連接 接口與引腳定義:本系列打印機并口與 CENTRONIC兼容,支持BUSY/ACK? 手協(xié)議,接口插座如下圖: 井行接口栩座引腳序號 并行接口各引腳信號的定義如下圖表所示: 嚥式弓關 倚號 方M 說 明 1 -STB 入 醐iom發(fā)肚利上升側讀入脳 3,5,7,9.11,13.15,17 DAI

2、A1 入 這騙號刪代耕砌據(jù)的鼾 -至軌飾號」每個鶻當其邏 -DATA8 輒為T時為電齊酈叩為維”電% 19 -ACK 出 回側沖「用電平表示■被殿而關印機齡脳收下 dtf 一 17-1 21 BUSY tb 墻”電平表示打印機正沆' 不瞅收躺 PB 出 腳號彌1此弓|腳為高電平時表示打印戕紅為觥平時表 示打印購址 25 SEL tu 扒卩機內(nèi)略邨肚tr取斛 h表示打印機馥 4 -ERR IE 打印機內(nèi)粥仙卜拉和八「 h林川洞 6} 8 10-26 GND 接亂遺sro”電平 注:1?“入”表示輸入到

3、打印機。2.“出”表示從打印機輸出。3?信號的邏輯 電平為TTL電平。 并行接口引腳信號時序 并口時序如下圖所示: 四. 實驗電路: bust P3.7 /STB /ERR /EA PD.? DT POl 6 ■a V * ■a ?■ POLO DO 8031 I 五. 連線方法: 電路單元 第2單元 打印機 連接1 P0.0-P0.7 Data1-Data8 (3,5,7,9,11 , 13,15,17 )「 連接2 P3.7 /STB (1) 連接3 P3.

4、2 (INT0) BUSY(21) 「 連接4 Gnd 18 六. 程序 #in elude #define PRINTER_DATA P0 // 定義打印機數(shù)據(jù)線端口 sbit BUSY = P3A2; // 定義打印機忙信號引腳 sbit n STB =卩3八7; // sbit PE = P3A3; // 定義打印機nSTB信號引腳 定義打印機紙狀態(tài)檢測信號引腳 定義打印機應答信號引腳 定義打印機錯誤檢測信號引腳 定義打印機在線檢測信號引腳 sbit n ACK =卩3八2; // sbit n ERR =卩3八1; // sbit n

5、SEL = P3A0; // #defi ne CR OxOd #defi ne LF 0x0a void Prin tByte( un sig ned char byte_data); void PrintString(char* str); void PrintByteN(unsigned char* data_src,unsigned char N); void main(void) { char str[] = "Printer demo"; PrintString(" 北京煒煌 WH"); PrintByte(CR); while(1); } #include

6、ntrins.h> void PrintByte(unsigned char byte_data) { while( BUSY == 1 ){} PRINTER_DATA = byte_data; nSTB = 0; _nop_(); // 調(diào)整 nSTB 信號脈寬 nSTB = 1; } void PrintString(char* str) { while( *str ){ PrintByte( *(str++)); } } void PrintByteN( unsigned char* data_src, // pointer to data source

7、 unsigned char N) // number of data(byte) { while( N--){ PrintByte(*(data_src++)); } } 第三部分 打印命令祥解 一、選擇字符集命令 3-1-1 、【選擇字符集 1】 格式: ASCII : ESC 6 10 進制: 27 54 16 進制: 1B 36 在該命令之后的字符將使用字符集 1 的字符進行打 印。 字符集 1 中有字符 224 個,代碼范圍 20H-FFH(32-255) 。 包括 ASCII 字符,及各種圖形符號等。 3-1-2 、【選擇字符集 2】 格式: ASCII

8、: ESC 7 10 進制: 27 55 16 進制: 1B 37 在該命令之后輸入的代碼將選擇字符集 2 的字符打 印。 字符集 2 中有字符 224 個, 代碼范圍 20H-FFH(32-225) 。包括德、法、俄文、日語片假名 等。 3-1-3 、【進入漢字方式】 格式: ASCII : FS & 10 進制: 28 38 16 進制: 1C 26 該命令用于進入漢字方式。在中文打印方式時,打 印機接收的漢字代碼為標準機內(nèi)碼,根據(jù)該代碼尋 找打印機內(nèi)的硬漢字字模,如找到則打印,否則不 打印。打印機接收到單字節(jié)的 ASCII 碼(范圍 20H-7FH)時,打印出相應的 AS

9、CII字符,與漢字等 高 注: ?打印機分 24 點陣與 16 點陣兩種打印機 ?進入字符集 1 和字符集 2 后, 打印機打印 6*8 點陣的 ASCII 碼字符 ?24 點陣打印機默認打印 24*24 點陣一、二級 國標漢字與 20H~7FH 范圍內(nèi)的 12*24 點陣的標準 ASCII 碼字符 ?16 點陣打印機默認打印 16*16 點陣一、二級 國標漢字與 20H~7FH 范圍內(nèi)的 8*16 點陣的標準 ASCII 碼字符 二、進紙命令 3-2-1 、【換行】 格式: ASCII : LF 10 進制: 10 16 進制: 0A 打印緩沖區(qū)內(nèi)容,打印機向前走紙一

10、個字符行,即 ( 字 符行高 +行間距 ) 個點行。若打印緩沖區(qū)內(nèi)無內(nèi)容,則 每執(zhí)行兩個 0A 打印機向前走紙一個字符行。 3-2-2 、【執(zhí)行 n 點行走紙】 格式: ASCII : ESC J n 10 進制: 27 74 n 16 進制: 1B 4A n 打印紙向前進給 n 點行(點為絕對值,不受放大或 縮小命令影響), K n< 255. 三、格式設置命令 3-3-1 、【設置 n 點行間距】 格式: ASCII : ESC 1 n 10 進制: 27 49 n 16 進制: 1B 31 n 為后面的換行命令設置 n 點行間距(點為絕對值, 不受放大或縮小命令影響), OW nW

11、 255,上電或初 始化后 n=3。 3-3-2 、【設置字符間距】 格式: ASCII : ESC p n 1O 進制: 27 112 n 16 進制: 1B 7O n 該命令是設定字符之間的空點。 默認方式為零,即字符之間沒有空點(點為絕對值, 不受放大或縮小命令影響), n在0?255之間。 3-3-3 、【設置垂直造表值】 格式: ASCII : ESC B n1 n2...NUL 10 進制: 27 66 n1 n2...0 16 進制: 1B 42 n1 n2...00 輸入垂直造表間隔間隔值 n1, n2 等,最多可輸入 8 個間隔值。例n1=3,則執(zhí)行垂直造表

12、(VT命令)進紙 到第 3 個單位行開始打印,單位行的高度按 8+行間 距 個點行計算(每單位行高度的實際值是絕對的, 不受字符的放大或縮小命令影響)。數(shù)據(jù) NUL 加在最 后表示該命令的結束。 所有輸入的垂直造表位置,可用該命令以 ESC B NUL 的格式清除。 3-3-4 、【執(zhí)行垂直造表】 格式: ASCII : VT 10 進制: 11 16 進制: 0B 打印紙進給到由 ESC B 命令設置的下一垂直造表位 置。如果垂直造表位置已清除,或當前位置已等于 或超過最后一個垂直造表位置, VT 命令將只走紙一 單位行。 3-3-5 、【設置水平造表值】 格式: ASCII

13、 : ESC D n1 n2...NUL 10 進制: 27 68 n1 n2...0 16 進制: 1B 44 n1 n2...00 輸入水平造表位置 n1, n2 等,最多可輸入 8 個位置, 這些數(shù)據(jù)應在所配打印頭和放大倍數(shù)等制約下的每 行能打印最多字符數(shù)之內(nèi)。例 n1=3, 則執(zhí)行水平造 表(HT命令)時在第3個字符處開始打印,每個字符 的寬度按 (字符點陣寬度 +字間距)個點計算(每個字 符寬度的實際值是相對的,受字符的放大或縮小命 令影響)。數(shù)據(jù) NUL 加在最后表示該命令結束。所有 輸入的水平造表位置,可用該命令以 ESC D NUL 的 格式清除。 當對漢字執(zhí)行水平造表

14、的命令時,因其造表的位置 是按字符設置的,還要受到放大倍數(shù)的影響,設置 時需要注意,以達到預設置效果。 3-3-6 、【執(zhí)行水平造表】 格式: ASCII : HT 10 進制: 9 16 進制: 09 打印位置進行到由 ESC D 命令設置的下一水平造表 如果水平造表位置已清除 , 或當前打印位置已等于 或超過最后一個水平造表位置, HT 命令將不執(zhí)行。 3-3-7 、【打印空格或空行】 格式:ASCII : ESC f m n 10 進制:27 102 m n 16 進制: 1B 66 m n 如果m =0,ESC f NUL n 將打印n個空格,每個空格 的寬度按 (字符點

15、陣寬度 +字間距)計算。 n 值應在所 配打印頭行打印最多字符數(shù)內(nèi)。如果m =1,ESC f SOH n將打印n行單位行(8點行),1 < nW 255。 3-3-8 、【設置右限】 格式: ASCII : ESC Q n 10 進制: 27 81 n 16 進制: 1B 51 n 右限即打印紙右側(打印方向的右側)不打印的字 符數(shù),每個字符的寬度按 ( 字符的點陣寬度 +字間距 ) 計算(每個字符寬度的實際值是相對的,受字符的 放大或縮小命令影響); n 的數(shù)值應在 0 到所配打印 頭的能打印的字符數(shù)內(nèi);上電或初始化后 n=0;即 沒有右限。 3-3-9 、【設置左限】 格

16、式: ASCII : ESC 1 n 10 進制: 27 108 n 16 進制: 1B 6C n 左限即打印紙左側(打印方向的左側)不打印的字 符數(shù),每個字符的寬度按 (字符點陣寬度 +字間距 ) 計算(每個字符寬度的實際值是相對的,受字符的 放大或縮小命令影響); n 的數(shù)值應在 0 到所配打印 頭的行寬范圍內(nèi),上電或初始化后 n=0。 3-3-10 、【灰度打印】 格式: ASCII : ESC m n 10 進制: 27 109 n 16 進制: 1B 6D n n 的值為 0 或1,當 n=0 時,濃度減量。當 n=1 時, 濃度增量。用于針對不同的熱敏紙的顏色深淺不一

17、問題。 四、字符設置命令 3-4-1 、【橫向放大】 格式: ASCII : ESC U n 10 進制: 27 85 n 16 進制: 1B 55 n 該命令之后的字符將以正常寬度的 n 倍進行打印。 1< n w 8,上電或初始化后16點陣n=2, 24點陣n =1 o 3-4-2 、【縱向放大】 格式: ASCII : ESC V n 10 進制: 27 86 n 16 進制: 1B 56 n 該命令之后的字符將以正常高度的 n倍進行打印。1wn w 8,上電或初始化后16點陣n=2,24點陣n = 1。 3-4-3 、【橫向縱向放大】 格式: ASCII : E

18、SC W n 10 進制: 27 87 n 16 進制: 1B 57 n 在該命令之后的字符將以正常寬度和正常高度的 n 倍進行打印。 1w n w 8, 上電或初始化后16點陣n=2, 24點陣n =1。 3-4-4 、【允許 / 禁止下劃線打印】 格式: ASCII : ESC - n 10 進制: 27 45 n 16 進制: 1B 2D n n=1 允許下劃線打印, n=0 禁止下劃線打印,上電或 初始化后 n=0 允許下劃線打印后,所有字符和漢字 包括空格都打印出下劃線。 3-4-5 、【允許 / 禁止上劃線打印】 格式: ASCII : ESC + n 10 進

19、制: 27 43 n 16 進制: 1B 2B n n=1 允許上劃線打印, n=0 禁止上劃線打印,上電或 初始化后 n=0 允許上劃線打印,所有字符和漢字包 括空格都打印出上劃線。 3-4-6 、【允許 / 禁止反白打印】 格式 : ASCII: ESC I n 10 進制 : 27 105 n 16 進制 : 1B 69 n n=1 允許反白打印, n=0 禁止反白打印,上電或初始 化后 n=0。 允許反白打印后的字符和漢字將以黑底白字打印出 來。 3-4-7 、【允許 / 禁止反向打印】 格式 : ASCII: ESC c n 10 進制 : 27 99 n 1

20、6 進制 : 1B 63 n 當 n=0 時,設置字符反向打印,打印方向是由右向左。 當 n=1 時,設置字符正向打印,打印方向是由左向右。 當打印機垂直安裝時,為便于觀察打印結果,應使 用反向字符打印方式。 打印機出廠默認值: n=1。 3-4-8 、【 6x8 字符旋轉打印指令】 格式 : ASCII: FS I n 10 進制 : 28 73 n 16 進制 : 1C 49 N 該命令可以轉動 6*8 點陣的字符 . N=0 時, 字符逆時針轉動 0 度 N=1 時, 字符逆時針轉動 90 度 N=2 時, 字符逆時針轉動 180 度 N=3 時, 字符逆時針轉動 270 度 該命令后,使用初始化命令后可以打印漢字,初始 對6*8 的字符沒有作用,將仍然旋轉,如需恢復必

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!