版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單片機(jī)控制打印機(jī)例程 達(dá)-串口)(北京榮/*/新榮達(dá)電子打印機(jī)測(cè)試程序51單片機(jī),晶振11.0592時(shí)間:2009-7-10用與測(cè)試串行接口打印機(jī)常用打印機(jī)指令以函數(shù)行式體現(xiàn) 可根據(jù)需要自行調(diào)用單一函數(shù)單字節(jié)打印/busy為1時(shí),等待,如數(shù)據(jù)* */#i nclude<reg52.h>51 頭文件#i ncludevstri ng.h>字串處理函數(shù)頭文件#in clude<math.h> #defi ne uchar un sig ned charsbit BUSY=P3八4;II并口打印機(jī)的 BUSY,串口打印機(jī)的CTS/* * void print(un si
2、g ned char ch) while (BUS Y=1)量小,可不判BUSY;SBUF= ch;busy=O,將數(shù)據(jù)送到 P1 口while(TI=O)/當(dāng)TI為0時(shí),表示數(shù)據(jù)未發(fā)送完成,;TI=0;/*/將TI清0一直等待,直到為1串 口 初 始 化* void comn it(void)TH仁0XFD;/波特率值裝入計(jì)數(shù)器,9600BPSTMOD=0X20;串口設(shè)置,定時(shí)器1,設(shè)為方式2,8位自動(dòng)重載,用于產(chǎn)生波特率串口發(fā)送方式1,8位數(shù)據(jù)位,1SCON=0X50;TR 1=1;/*開啟定時(shí)器1位停止位字符打 印 函數(shù)*/void prin t_chs(uchar ch) uchar
3、i;for(i=0;i<strle n( ch);i+) prin t(chi);/*漢字打印例程*/void han zitest(void)uchar i;prin t(0x1b);pri nt(0x40);/ 初始化打印機(jī)prin t(0x1b);pri nt(0x38);pri nt(OxOO);/ 調(diào)用 16*陣漢字,24點(diǎn)陣為24*24print_chs("漢字命令測(cè)試:n");for(i=0;i<5;i+)搋環(huán)打印 5 次prin t(0x1b);pri nt(0x38);pri nt(OxOO);點(diǎn)陣漢字,24點(diǎn)陣為24*24print(OxdO
4、);print(0xc2);打印數(shù)據(jù)"新"print(0x1b);print(0x38);print(0x04); /調(diào)用 12*12 點(diǎn)陣漢字,24點(diǎn)陣為24*24prin t(0xc8);pri nt(0xd9);pri nt(0xb4);pri nt(0xef);數(shù)據(jù)“榮達(dá)”prin t(OxOd); / 回車/*/調(diào)用行 間 距16點(diǎn)16*16/打印16*16 點(diǎn)設(shè)置行間/打印字例程16*16 點(diǎn)* void han gjia nju (void)uchar i;prin t(Ox1b);pri nt(0x40);/ 初始化打印機(jī)prin t(0x1b);pri n
5、t(0x38);pri nt(OxOO);/ 調(diào)用陣漢字,24點(diǎn)陣為24*24print_chs("行間距測(cè)試:n");for(i=0;i<11;i=i+2)循環(huán)打印prin t(0x1b);pri nt(0x31);pri nt(i);/ESC 1距prin t_chs("LINESPACING");pri nt(OxOa);符串和換行水平造表/* * void shuip in gzhaobiao(void)prin t(0x1b);pri nt(0x40);/ 初始化打印機(jī)prin t(0x1b);pri nt(0x38);pri nt(Ox
6、OO);/ 調(diào)用陣漢字,24點(diǎn)陣為24*24print_chs("水平造表測(cè)試:n");prin t_chs("1234567890123456");'標(biāo)尺prin t(OxOd);prin t(0x1b);pri nt(0x44);pri nt(2);pri nt(9);pri nt(14);pri nt(0 );/ESC Dprin t(9);prin t_chs("HT1");prin t(9);prin t_chs("HT2");prin t(9);prin t_chs("HT3"
7、;);prin t(OxOd);/*/HT命令/打印字符串/HT命令/打印字符串/HT命令打印字符串打印空格或換行例程void kon ggehua nhan g(void) prin t(Ox1b);pri nt(0x40);初始化打印機(jī)print(0x1b);print(0x38);print(OxOO);/調(diào)用 16*16 點(diǎn)陣漢字,24點(diǎn)陣為24*24print_chs("換行或空格測(cè)試:n");print_chs("TE");打印字符串“ TE ”print(0x1b);print(0x66);print(O);print(0x06);/ 空六
8、格prin t_chs("ST");打印字符串“ ST”prin t(OxOd);回車/print_chs("TE");打印字符串“ TE ”prin t(0x1b);pri nt(0x66);pri nt(OxO1);pri nt(0x06); 6行打印字符串“ ST”回車prin t_chs("ST");prin t(OxOd);/* * void youxia n( void)初始化打印機(jī)調(diào)用16占八、*16prin t(Ox1b);pri nt(0x40);prin t(0x1b);pri nt(0x38);pri nt(Ox
9、OO);陣漢字,24點(diǎn)陣為24*24print_chs("右限測(cè)試:n");print_chs("12345678901234567890123456789012"); 標(biāo)尺prin t(0x1b);pri nt(0x51);pri nt(0x06);/ESC Q命令,右限為6/回車print_chs("12345678901234567890123456789012");/ 打 印 字串prin t(OxOd);/*左限 例 程* void zhuoxia n( void) /初始化打印機(jī)/調(diào)用16*16點(diǎn)prin t(Ox1b);
10、pri nt(0x40);prin t(0x1b);pri nt(0x38);pri nt(OxOO);陣漢字,24點(diǎn)陣為24*24print_chs("左限測(cè)試:n");print_chs("12345678901234567890123456789012"); 標(biāo)尺print(0x1b);print(0x6c);print(0x06);/ESC I 命令,左限為6print_chs("12345678901234567890123456789012"); 打 印字串prin t(OxOd);II 回車放大指令例程I* * void
11、 fan gda(void)uchar i;prin t(0x1b);pri nt(0x40);II 初始化打印機(jī)print(0x1b);print(0x38);print(OxOO);II調(diào)用 16*16 點(diǎn)陣漢字,24點(diǎn)陣為24*24從1到3print_chs("放大測(cè)試:n"); for(i=1;i<4;i+)倍rin t (0x1b);pri nt(0x55);pri nt(i);/橫向放大rin t_chs("RD");/打印字符t(0x0d);/回車命令t(Ox1b);prin t(0x40);/初始化打印機(jī)=1;i<4;i+)/
12、從rin t (0x1b);pri nt(0x56);pri nt(i);/縱放命令rin t_chs("RD");/打印字符rin t(0x0d);回車t(0x1b);prin t(0x40);/初始化打印機(jī)=1;i<4;i+)/從1到3倍print (0x1b);pri nt(0x57);pri nt(i);/ 橫縱向PPprinprin1至U 3for(i倍PPPfor(i放大打印字符/回車prin t_chs("RD");prin t(OxOd);/*劃線指令例程*/void huaxia n( void)prin t(0x1b);pri
13、nt(0x40);初始化打印機(jī)16點(diǎn)prin t(0x1b);pri nt(0x38);pri nt(OxOO);/ 調(diào)用 16*陣漢字,24點(diǎn)陣為24*24print_chs("劃線測(cè)試:n");prin t(0x1b);pri nt(0x57);pri nt(2);放大兩倍打印,便于觀察劃線prin t_chs("RD");打印字串prin t(0x1b);pri nt(0x2d);pri nt(1);允許下劃線打印print_chs("UPT");UPT 打印下劃線prin t(0x1b);pri nt(0x2d);pri nt
14、(O);禁止下劃線打印prin t_chs("RD");打印字串prin t(OxOd);/ 回車prin t(0x1b);pri nt(0x40);初始化打印機(jī)prin t(0x1b);pri nt(0x57);pri nt(2);放大兩倍打印,便于觀察劃線prin t_chs("RD");打印字串prin t(0x1b);pri nt(0x2b);pri nt(1);/ 允許上打印線打印print_chs("UPT");UPT 上打印上劃線prin t(0x1b);pri nt(0x2b);pri nt(0);禁止上劃線prin
15、t_chs("RD");打印字串prin t(OxOd);打印回車/*上下標(biāo)指令*void sha ngxiabiao(void)prin t(0x1b);pri nt(0x40);/ 初始化打印機(jī)prin t(0x1b);pri nt(0x38);pri nt(OxOO);陣漢字,24點(diǎn)陣為24*24print_chs("上下標(biāo)測(cè)試:n");prin t(0x1b);pri nt(0x57);pri nt(0x02);prin t('M');prin t(0x1b);pri nt(0x57);pri nt(0x01);prin t(0x
16、1c);pri nt(0x72);pri nt(0);prin t('2');prin t(OxOd);/調(diào)用16*放大兩倍打印字符'M'原倍上標(biāo)命令/打印字符回車16'2'占八、prin t(0x1b);pri nt(0x57);pri nt(OxO1);prin t(0x1b);pri nt(0x57);pri nt(0x02);prin t('M');原倍放大兩倍/打印字符'M'prin t(0x1c);pri nt(0x72);pri nt(1);prin t(0x1b);pri nt(0x57);pri
17、nt(0x01);prin t('2');prin t(OxOd); /*上標(biāo)命令原倍/打印字符2/回車向指令例程*void hen gzh on g(void)prin t(0x1b);pri nt(0x40);prin t(0x1b);pri nt(0x38);pri nt(OxOO);陣漢字,24點(diǎn)陣為24*24print_chs("橫縱向測(cè)試:n");/調(diào)用16*16點(diǎn)prin t(0x1c);pri nt(0x4a);prin t_chs("ABCDEFGHI");prin t(OxOd);/設(shè)置縱向打印/打印字符回車prin
18、t(Ox1b);pri nt(0x40);prin t(0x1C);pri nt(0x4B); 印prin t_chs("ABCDEFGHI");prin t(OxOd);/設(shè)置橫向打/打印字符回車/*自定義指令例程*void zidi ngyi(void)prin t(0x1b);pri nt(0x40);prin t(0x1b);pri nt(0x38);pri nt(OxOO);陣漢字,24點(diǎn)陣為24*24print_chs("自定義字符測(cè)試:n");prin t(0x1b);pri nt(0x36);如是自定義字符前面要加一個(gè)1B 36指令才行p
19、rin t(0x1b);pri nt(0x57);pri nt(2);大2倍初始化指令/調(diào)用16*16點(diǎn)24點(diǎn)陣機(jī)器,在/橫向縱向放prin t(0x1b);pri nt(0x26);pri nt(65);prin t(0x02);pri nt(0x7C);pri nt(0x40);prin t(OxCO);pri nt(0x40);pri nt(OxOO);/ESC &命令/字模數(shù)據(jù)/字模數(shù)據(jù)prin t(0x1b);pri nt(0x25);pri nt(65);pri nt(65);pri nt(0);/ESC %prin t(65);符prin t(0x1b);pri nt(0
20、x3a); /ESC :命令prin t(65);prin t(OxOd);打印定義字/復(fù)符集中的字符/*圖形指令例程*void tux in g(void) ucharcodetch =0x7c,0x44,0x44,0xff,0x44,0x44,0x7c,0x00,0x41,0x62,0 x54,0xc8,0x54,0x62,0x41;uchar i;prin t(0x1b);pri nt(0x40);prin t(0x1b);pri nt(0x38);pri nt(OxOO);陣漢字,24點(diǎn)陣為24*24print_chs("圖形測(cè)試:n");/prin t(0x1b)
21、;pri nt(0x57);pri nt(2);/初始化指令/調(diào)用16*16點(diǎn)/橫向縱向放大2倍prin t(Ox1b);pri nt(0x4b);pri nt(15);pri nt(0);命令/ESC Kfor(i=0;i<15;i+) prin t(tchi); prin t(OxOd);輸入15個(gè)字節(jié)數(shù)據(jù)/輸入回車/*曲線II 指令例程*/僅適用于熱敏打印機(jī)void quxia n_2(void)float X;un sig ned int Y,YY;/Y1=50+40*abs (-0.01*X) *sin (X/10)/Y2=50-40*abs (-0.01*X ) *sin (
22、X/10)/Y 3=50/Y4=50+40*abs(-0.1*X)/Y5=50-40*abs(-0.01*X)/你可以用C語言編寫如下的程序:/#in clude <math.h>/un sig ned int Y,YY,X;/初始化指令/調(diào)用16*16點(diǎn)打印150點(diǎn)行prin t(0x1b);pri nt(0x40);prin t(0x1b);pri nt(0x38);pri nt(0x00); 陣漢字,24點(diǎn)陣為24*24print_chs("曲線 1 測(cè)試:n");for(X=0;X<150;X+)Y= 40*exp(-0.01*X);YY= Y *
23、si n( X/10);print(0x1b);print(39);print(5);print(0);/ESC 命令,M=5,0prin t(50+YY);prin t(0);pri nt(50-YY) ;pri nt(0);pri nt(50);pri nt(0);prin t(50+Y);pri nt(0);pri nt(50-Y);pri nt(0);pri nt(13); /*/僅適用于針式打印機(jī)void quxia n_1(void)float X;un sig ned int Y,YY;/Y1=50+40*abs( -0.01*X)*sinY2=50-40*abs(-0.01*X
24、)*sinY3=50Y4=50+40*abs(-0.1*X)Y5=50-40*abs(-0.01*X)你可以用C語言編寫如下的程序:#in clude <math.h>(X/10)(X/10)unsigned int Y,YY,X;/prin t(0x1b);pri nt(0x40);prin t(0x1b);pri nt(0x38);pri nt(0x00); 陣漢字,24點(diǎn)陣為24*24print_chs("曲線 2 測(cè)試:n");for(X=0;X<150;X+)/初始化指令/調(diào)用16*16點(diǎn)打印150點(diǎn)行Y 40*exp(-0.01*X);YY=
25、Y *si n( X/10);print(0x1b);print(39);print(5);/ESC 命令,M=5prin t(50+YY );pri nt(50-YY );pri nt(50);prin t(50+Y);pri nt(50-Y);pri nt(13);旋轉(zhuǎn)指令例程/*void xua nzhua n( void)uchar i;/初始化指令0,90,180,270 旋轉(zhuǎn)prin t(0x1b);pri nt(0x40);for(i=0;i<4;i+)print(0x1c);print(0x49);print(i);/ 旋 轉(zhuǎn)指令print(0x1b);print(0x3
26、8);print(0);II漢字調(diào) 出指令打印漢字回車print_chs("旋轉(zhuǎn)測(cè)試");prin t(OxOd);/*反白指令例* void fan bai(void)uchar i;prin t(Ox1b);pri nt(0x40);/ 初始化指令for(i=0;i<2;i+)/i 為 1 時(shí),反白打印pri nt(0x1b);pr in t(0x69);pr in t(i);pri nt(0x1b);pr in t(0x38);pr in t(0); print_chs("反白測(cè)試");pri nt(0x0d);反向指令例/*void fan xia ng(void)uchar i;/初始化指令/i為1時(shí),禁止反向prin t(0x1b);pri nt(0x40);for(i=0;i<2;i+)prin t(0x1b);pri nt(0x63);pri nt(i); prin t(0x1b);pri nt(0x38);pri nt(0); print_chs("反向測(cè)試");prin t(OxOd);/* * /只有部分型號(hào)的打印機(jī)支持此指令void tiaoma(void)prin t(Ox1b);pri nt(0x40);prin
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 河南省重點(diǎn)中學(xué)2025屆數(shù)學(xué)高三上期末經(jīng)典試題含解析
- 2025屆四川省成都市龍泉驛區(qū)第一中學(xué)校生物高一第一學(xué)期期末檢測(cè)模擬試題含解析
- 河北省深州市中學(xué)2025屆高二數(shù)學(xué)第一學(xué)期期末統(tǒng)考模擬試題含解析
- 2025屆上海理工大附中生物高一上期末聯(lián)考試題含解析
- 吉林省長春汽車經(jīng)濟(jì)開發(fā)區(qū)第六中學(xué)2025屆高一數(shù)學(xué)第一學(xué)期期末達(dá)標(biāo)檢測(cè)模擬試題含解析
- 2025屆新疆維吾爾自治區(qū)生產(chǎn)建設(shè)兵團(tuán)第二中學(xué)高二數(shù)學(xué)第一學(xué)期期末質(zhì)量檢測(cè)試題含解析
- 2025屆吉林省延邊朝鮮族自治州延吉市第二中學(xué)英語高三第一學(xué)期期末預(yù)測(cè)試題含解析
- 山東師范大學(xué)附中2025屆生物高三上期末聯(lián)考模擬試題含解析
- 2025屆廣東省梅州市蕉嶺中學(xué)高二數(shù)學(xué)第一學(xué)期期末監(jiān)測(cè)模擬試題含解析
- 江蘇省徐州市豐縣中學(xué)2025屆數(shù)學(xué)高三上期末質(zhì)量跟蹤監(jiān)視試題含解析
- 醫(yī)院總務(wù)科培訓(xùn)課件
- 高中生社會(huì)實(shí)踐表模板電子版
- 數(shù)字化系列研究之財(cái)務(wù)數(shù)智化篇:大型集團(tuán)企業(yè)財(cái)務(wù)管理的數(shù)智化
- 學(xué)生輟學(xué)勸返記錄表
- 學(xué)校秋季腹瀉知識(shí)講座
- 設(shè)立招投標(biāo)代理公司可行性研究報(bào)告
- 小學(xué)一年級(jí)禁毒教育
- PCBA工藝管制制程稽查表
- 小學(xué)書法大賽評(píng)價(jià)準(zhǔn)則與打分表
- 《朱蘭質(zhì)量手冊(cè)》課件
- 幼兒保育學(xué)前教育專業(yè)教師教學(xué)創(chuàng)新團(tuán)隊(duì)建設(shè)方案
評(píng)論
0/150
提交評(píng)論