新聞中心

        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,所以對表頭要打印的漢字將其區位碼轉換成內碼后存儲起來,按先高字節,后低字節的順序,在打印命令之后寫入打印機即可。


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 斗六市| 教育| 苏尼特左旗| 克东县| 诏安县| 佛学| 资兴市| 胶州市| 靖远县| 进贤县| 冕宁县| 湟中县| 库尔勒市| 余姚市| 东阳市| 额尔古纳市| 策勒县| 克拉玛依市| 枞阳县| 武陟县| 确山县| 兴化市| 明水县| 阿瓦提县| 灌阳县| 宿州市| 永靖县| 宜丰县| 壶关县| 施甸县| 吴桥县| 东兴市| 柳河县| 玉林市| 金昌市| 奎屯市| 卓尼县| 台湾省| 凉山| 海安县| 兰溪市|