單片機(jī)控制打印機(jī)例程(北京榮達(dá)_第1頁
單片機(jī)控制打印機(jī)例程(北京榮達(dá)_第2頁
單片機(jī)控制打印機(jī)例程(北京榮達(dá)_第3頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論