新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 微型打印機與FPGA的硬件接口及軟件設計

        微型打印機與FPGA的硬件接口及軟件設計

        作者: 時間:2010-12-28 來源:網絡 收藏

        e.JPG

        2.2 打印機控制命令及程序設計
        RD-E型提供了39條打印命令,打印命令與多數打印機兼容。其中,漢字打印命令其格式由16進制數表示,則為x“1B”x“3 8”x“n”。在連續3次接收數據后若接收到的是該命令,打印機將根據n值的不同選擇不同點陣的漢字。在漢字打印方式中,打印機接收的漢字代碼是2個字節對應一個漢字的標準機內碼,即打印機每接收2個字節的機內碼可調出一個漢字。打印機先接收機內碼的高位字節,再接收低位字節。設計中,由于欲打印的數據分 16×16和12×12兩種點陣漢字,所以n值設置為0或4,當n=O選擇16×16點陣漢字打印,n=4選擇12×12點陣漢字印,n的默認值為0。另一條命令是紙給進命令,即換行命令,其格式用16進制數表示為:x“OA”打印機打印當前緩沖器里的數據,并向前走紙一行,如果緩沖器里沒有數據,則只執行向前走紙一行。打印空格或空行命令,其格式用16進制數表示為:x“1B”x“6 6”x“M”x“n”。如果M=O,該命令將打印n個空格;如果M=1,該命令將打印n個空行。由于打印數據必須與表頭的欄目一一對應,而且每行打印的字符點陣不會完全相同,所以編程過程中對空格數的控制是需要花功夫的,調試時便出現過打印的已處理數據與表頭不對應的情況。由于打印機內嵌選擇字符集1和自定義字符集2,打印的數據中含有自定義字符集中的字符,所以還需選擇打印輸出字符集數據。字符集選擇由命令x“1B”x“36和x“1B”x“37”來實現。回車命令的命令字為x“0D”。打印機收到本命令后,即對緩沖區內的命令和字符進行處理,并按要求打印緩沖區內的全部字符或漢字。
        打印機內置的漢字代碼為標準漢字內碼,高字節數值范圍A1H~F7H,對應1~87區漢字;低字節數值范圍A1H~FEH,對應每一區中的漢字位碼1~94。漢字的區位碼與機內碼之間相互計算的方法為:
        區碼轉換為16進制數,位碼轉換為16進制數
        機內碼高字節=區碼+AOH
        機內碼低字節=位碼+AOH
        例如電阻的“阻”字區位碼為5572,即55區,第2個字,其機內碼為D7E8,將55(十進制)轉為37(16進制),37H+AOH=D7H;將 72(十進制)轉為48(16進制),48H+AOH=E8H,所以對表頭要打印的漢字將其區位碼轉換成內碼后存儲起來,按先高字節,后低字節的順序,在打印命令之后寫入打印機即可。


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 高青县| 建瓯市| 尉氏县| 夏河县| 芦山县| 高尔夫| 丰都县| 东海县| 天全县| 桐庐县| 淮滨县| 临清市| 巴中市| 漯河市| 兴山县| 仪征市| 洪泽县| 泊头市| 扎兰屯市| 兴和县| 客服| 徐闻县| 密山市| 河津市| 阿克苏市| 西平县| 旬阳县| 霍邱县| 同心县| 招远市| 延川县| 磐安县| 会宁县| 嵊泗县| 苍梧县| 天峨县| 安宁市| 清河县| 集贤县| 永吉县| 罗山县|