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

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、字 節(jié) 打 印/busy為1時(shí),等待,如數(shù)據(jù)量小,/busy二0,將數(shù)據(jù)送到P1 口當(dāng)TI為0時(shí),表示數(shù)據(jù)未發(fā)送將TI清0口初始化void com_init(void) TH1二OXFD;TMOD二0X20;重載,用于產(chǎn)生波特率SCON二0X50;TR1二1; » " " » " » " » » " " » " » " » » " " » " » " » &

2、#187; " " » " » " » » " " » " » " » » " " » " » " » » " " » " » " » » I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I

3、I I I I I I I I I I I I I I I I I I I I I I /新榮達(dá)電子打印機(jī)測(cè)試程序/51單片機(jī),晶振11.0592/時(shí)間:2009-7-10/用與測(cè)試串行接口打印機(jī)/常用打印機(jī)指令以函數(shù)行式體現(xiàn)/可根據(jù)需要自行調(diào)用單一函數(shù) » » " " " » " " » » " " " » " " » » " " " » " " 

4、7; » " " " » " " » » " " " » " " » » " " " » " " » » " " " » " " » » | 4 4 4 | 1 | 4 4 4 | 1 | 4 4 4 | 1 | 4 4 4 | 1 | 4 4 4 | 1 | 4 4

5、4 | 1 | 4 4 4 | 1 |ftinclude<reg52. h>/51 頭文件#include<string. h>/字串處理函數(shù)頭文件#includemath h> #define uchar unsigned charsbit BUSY二P3"4;/并口打印機(jī)的BUSY,串口打印機(jī)的CTS I j j |j 4 | j j |j 4 | j j |j 4 | j j j j j | j 4 1 1 j j j | j 4 1 1 j j j | j 4 1 1 j j j | j 4 1 1 j j j | void print(unsi

6、gned char ch)while (BUSY=1)可不判BUSY;SBUF二 ch;while (TI=0)完成,一直等待,直到為1;TI=0; | 4 j j j | 4 | 4 j j j | 4 | 4 j j j I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I j /波特率值裝入計(jì)數(shù)器,9600BPS串口設(shè)置,定時(shí)器1,設(shè)為方式2,8位自動(dòng)/串口發(fā)送方式1, 8位數(shù)據(jù)位,1位停止位 開(kāi)啟定時(shí)器1/*符 扌 j/ j | j j 4 | 1 j | j

7、j 4 | 1 j | j j 4 | 1 j | j j 4 | 1 j | j j 4 | 1 j | void print_chs(uchar ch)uchar i;for (i=0;i<strlen(ch);i+)print (chi); j j j j j | j j j j j j j | j j j j j j j | j j j 4vaw vaw vawviw vaw vaw vawviw vaw vaw vawviw vaw vaw vawviw vaw vaw vaw vaw tvoid hanzitest(void)uchar1;print (Oxlb) ;prin

8、t (0x40) ;/初始化打印機(jī)print(Oxlb):print(0x38);print(0x00);字,24點(diǎn)陣為24*24print_chs(z/漢字命令測(cè)試:n");for (i=0; i<5; i+)/撅環(huán)打印 5 次調(diào)用16*16點(diǎn)陣漢print (Oxlb):print(0x38);print(0x00); 陣漢字,24點(diǎn)陣為24*24print(OxdO);print(0xc2);調(diào)用16*16點(diǎn)打印數(shù)據(jù)"print (Oxlb):print(0x38):print(0x04);字,24點(diǎn)陣為24*24print (0xc8);print(0xd9)

9、;print(0xb4);print(Oxef); 數(shù)據(jù)“榮達(dá)”print(OxOd);回車(chē)調(diào)用12*12點(diǎn)陣漢打印 » " " » » " " » " " » » " " » " " » » " " » j j |j 4 |jj|j4|jj|j4|j j j j | j 4 1 1 j j j | j 4 1 1 j j j | j 4 1 1 j j j | j 4 1 1

10、 j j j | void hangjianju(void)uchar i;print (Oxlb) :print (0x40) ;/初始化打印機(jī)print(Oxlb) :print(0x38) :print(0x00) :/調(diào)用 16*16 點(diǎn)陣漢字,24點(diǎn)陣為24*24print_chs("行間距測(cè)試:n);for (i=0; i<ll; i二i+2)/循環(huán)打印print(Oxlb);print(0x31):print(i);/ESC 1,設(shè)置行間距print_chs("LINE SPACING");print(0x0a);打印字符吊和換行/JIXT表例

11、程 I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I void shuipingzhaobiao(void)print (Oxlb); print (0x40) ;/初始化打印機(jī)print(Oxlb) :print(0x38) ;print(0x00) :/調(diào)用 16*16 點(diǎn)陣漢字,24點(diǎn)陣為24*24print_chs(,z水平造表測(cè)試:n");print_chs ("1234567890123456") ;/'標(biāo)尺print(OxOd);prin

12、t(Oxlb);print(0x44):print(2):print(9);print(14);print(0);/ESC print(9);/HT命令 print_chs ("HT1");打印字符串 print(9);/HT命令 print_chs ("HT2");打印字符串 print(9);/HT命令 print_chs ("HT3");打印字符串print(OxOd);空格或換行 例 程 » " " " » " " » » "

13、" " » " " » » " " " » " " » » II Ivoid konggehuanhang(void)print(Oxlb);print (0x40) ;/初始化打印機(jī)print(Oxlb) :print(0x38) :print(0x00) :/調(diào)用 16*16 點(diǎn)陣漢字,24點(diǎn)陣為24*24print_chs(,z換行或空格測(cè)試:n); print_chs("TE") ;/打印字符串 “TE”print(O

14、xlb);print(0x66):print(0);print(0x06);/空六格print_chs("ST);/打印字符串 “ST”print (OxOd);回車(chē)print_chs("TE);打印字符串 “TE”print (Oxlb);print(0x66);print(0x01);print(0x06);換6行print_chs("ST") ;/打印字符串 “ST”print (OxOd);回車(chē)/ * * 彳 I p 艮 f列 */void youxian(void)print (Oxlb) ; print (0x40) ;/初始化打印機(jī)prin

15、t(Oxlb) :print(0x38) :print(0x00) ;/調(diào)用 16*16 點(diǎn)陣漢字,24點(diǎn)陣為24*24print_chs(,/右限測(cè)試:n");print_chs ("12345678901234567890123456789012") ;/標(biāo)尺print(Oxlb);print(0x51);print(0x06):/ESC Q 命令,右限為6/print.chs ("12345678901234567890123456789012*);/打印字串print(OxOd);回車(chē) I I I I I I I I I I I I I I I

16、I I Ivoid zhuoxian(void)print(Oxlb);print(0x40);打印機(jī)print(Oxlb):print(0x38);print(0x00); 字,24點(diǎn)陣為24*24print_chs("左限測(cè)試:n");print_chs("12345678901234567890123456789012"print (Oxlb);print(0x6c);print(0x06);左限為6print_chs("12345678901234567890123456789012" print(OxOd);回車(chē)*1* *

17、*4*1* *1*1* * *4*1* *1*1* * *4* » » " " " » " " » » " " " » " " » » " " " » " " » » " " " » " " » » j | j j 4 | 1 j | | j j 4 | 1

18、j | | j j 4 | 1 j | j j 4 | 1 j | void fangda(void)uchar i;print(Oxlb);print(0x40);print(Oxlb):print(0x38):print(0x00); 字,24點(diǎn)陣為24*24print_chs C放大測(cè)試:n");for(i=l;i<4;i 卄)倍print (Oxlb);print(0x55):print(i); print_chs("RD");print(OxOd);/初始化調(diào)用16*16點(diǎn)陣漢;標(biāo)尺/ESC I 命令,;打印字串/令 例 程/初始化打印機(jī)調(diào)用16*

19、16點(diǎn)陣漢從1到3橫向放大打印字符/回車(chē)命/初始化打印機(jī)print(Oxlb);print(0x40);for(i=l;i<4;i+)從1到3print (Oxlb):print(0x56);print(i); print_chs ("RD");print (OxOd);縱放命令打印字符回車(chē)print(Oxlb);print(0x40);for(i=l;i<4;i+)/初始化打印機(jī)從1到3print (Oxlb):print(0x57);print(i); print_chs ("RD");print (OxOd);橫縱向同時(shí)放大打印字符回車(chē)

20、 j | j j 4 | 1 j | j j 4 | 1 j | j j 4 | 1 j | j j 4 | 1 j | void huaxian(void)print(Oxlb);print(0x40);print(Oxlb):print(0x38);print(0x00); 字,24點(diǎn)陣為24*24/初始化打印機(jī)/調(diào)用16*16點(diǎn)陣漢print_chs(,/劃線測(cè)試:n");print (Oxlb) : print (0x57) ; print (2) ;/放大兩倍打印,便于觀察劃線 print_chs ("RD");打印字串print (Oxlb) :pri

21、nt (0x2d) ;print (1);允許下劃線打印 print.chs(UPT") ;/UPT 打印下劃線print (Oxlb) ; print (0x2d) ;print (0); 禁止下劃線打印 print_chs("RD") ;/打印字串print (OxOd);回車(chē)print (Oxlb) : print (0x40) ;/初始化打印機(jī)print (Oxlb) : print (0x57) ; print (2) ;/放大兩倍打印,便于觀察劃線 print_chs ("RD");打印字串print (Oxlb) :print (

22、0x2b) ;print (1) ;/允許上打印線打印/UPT上打印上劃線禁止上劃線打印字串打印回車(chē)指 令 例 程/初始化打印機(jī)調(diào)用16*16點(diǎn)陣漢放大兩倍打印字符'M'原倍/上標(biāo)命令打印字符'2'回車(chē)print_chs ("UPT");print (Oxlb);print(0x2b):print(0); print_chs ("RD");print(OxOd);/tTwTwTwI、 » " * " » " " » » " * &qu

23、ot; » " " » » " * " » " " » » " * " » " " » » " I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I void shangxiabiao(void)print(Oxlb);print(0x40);print(Oxlb):print(0x38):print(0x00);

24、字,24點(diǎn)陣為24*24print_chs ("上下標(biāo)測(cè)試:);print(Oxlb);print(0x57);print(0x02); print (' M');print(Oxlb);print(0x57);print(0x01);print (Oxlc);print(0x72):print(0); print (J 2,);print(OxOd);print(Oxlb);print(0x57);print(0x01); print (Oxlb);print(0x57);print(0x02); print (' M');print(Oxlc);p

25、rint(0x72):print(1); print (Oxlb);print(0x57):print(0x01); print C 2);print(OxOd); I I I I I I I I I I I I I I I I I I I I I I I I I 原倍放大兩倍打印字符'M'/上標(biāo)命令原倍打印字符'2'回車(chē)向 指 令 例 程/ I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I void hengzhong(void)print (Oxlb):print(0x40

26、);調(diào)用16*16點(diǎn)陣漢print(Oxlb):print(0x38):print(0x00);字,24點(diǎn)陣為24*24/設(shè)置縱向打印打印字符回車(chē)print_chs ("橫縱向測(cè)試:rT); print(Oxlc);print(0x4a); print.chs (,ABCDEFGHI,/); print(OxOd);1卜 j* < aje *i* * * * *1* * *i* * * * *1* * *i* * *II " » » " » " " » " » » &q

27、uot; » " " » " » » " » " " » " » » " » " " » " » I I I I I I 1 I I I I I I I 1 I I I I I I I 1 I I I I I I I 1 I I I print(Oxlb);print(0x40); print (OxlC);print(0x4B); print.chs (,ABCDEFGHI,

28、/);print(OxOd);/設(shè)置橫向打印打印字符回車(chē)指 令 例 程void zidingyi(void)print(Oxlb):print(0x40);print(Oxlb):print(0x38);print(0x00); 字,24點(diǎn)陣為24*24print_chs C自定義字符測(cè)試:n"); print (Oxlb):print(0x36);器,在自定義字符前面要加一個(gè)IB 36指令才行 print(Oxlb);print(0x57):print(2); print (Oxlb);print(0x26);print(65); print (0x02);print(0x7C):

29、print(0x40); print (OxCO);print(0x40):print(0x00);初始化指令調(diào)用16*16點(diǎn)陣漢如是24點(diǎn)陣機(jī)/橫向縱向放大2倍/ESC &命令字模數(shù)據(jù)字模數(shù)據(jù)print(Oxlb);print(0x25):print(65);print(65);print(0); /ESC %print(65);打印定義字符print(Oxlb);print(0x3a); /ESC:命令print (65);復(fù)符集中的字符print(OxOd); » " " " » " " » 

30、7; " " " » " " » » " " " » " " » » | j j 4 | 1 j | j j 4 | 1 j | j j 4 | 1 j | 形 指 令 例 程void tuxing(void)ucharcodetch =0x7c, 0x44, 0x44, Oxff, 0x44, 0x44, 0x7c, 0x00, 0x41, 0x62, 0x54, 0xc8, 0x54 ,0x62, 0x41;uchar i;prin

31、t(Oxlb):print(0x40);初始化指令調(diào)用16*16點(diǎn)陣漢print(Oxlb):print(0x38);print(0x00);字,24點(diǎn)陣為24*24print_chs(,/圖形測(cè)試:n");/print (Oxlb):print(0x57):print(2);/橫向縱向放大2倍/print (Oxlb);print(0x4b):print(15);print(0); ESC K命令for(i=0;i<15;i+) 輸入15個(gè)字節(jié)數(shù)據(jù) print(tchil);print(OxOd);輸入回車(chē)II/L1丄9F| » " * " &#

32、187; " " » » " * " » " " » » " * " » " " » » " * " » " " » » " I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I /僅適用于熱敏打印機(jī)void quxian_2(void)float X;un

33、signed intY,YY;/Yl=50+40*abs (-0. 01*X)*sin (/Y2=50-40*abs (-0. 01*X)*sin (/Y3=50/Y4=50+40*abs(-0. 1*X)/Y5=50-40*abs(-0. 01*X)/你可以用c語(yǔ)言編寫(xiě)如下的程序:/#include <math h>/unsigned int Y, YY, X;print (Oxlb):print(0x40);初始化指令print(Oxlb):print(0x38):print(0x00);字,24點(diǎn)陣為24*24print_chs C曲線 1 測(cè)試:n");for(X

34、二0;X150;X+)打印150點(diǎn)行Y= 40*exp (-0. 01*X);YY= Y*sin(X/10): print (Oxlb);print(39):print(5):print(0);調(diào)用16*16點(diǎn)陣漢/ESC命令,M=5, 0print(50+YY);print(0):print(50-YY):print(0):print(50):print(0); print (50+Y);print(0);print(50-Y):print(0) :print(13);/僅適用于針式打印機(jī) void quxianl(void)float X;unsigned int Y, YY:Yl=50+

35、40*abs (-0. 01*X) *sin (X/10) Y2=50-40*abs (-0. 01*X) *sin (X/10) Y3 二 50Y4=50+40*abs(-0. 1*X)Y5=50-40*abs(-0. 01*X)你可以用c語(yǔ)言編寫(xiě)如下的程序:print(Oxlb);print(0x40);初始化指令調(diào)用16*16點(diǎn)陣漢print(Oxlb):print(0x38):print(0x00); 字,24點(diǎn)陣為24*24print_chs(,z曲線 2 測(cè)試:rT); for(X=0;X<150;X+)打印150點(diǎn)行Y= 40*exp (-0. 01*X);YY= Y*si

36、n(X/10);/ESC 命令,M=5print(Oxlb);print(39):print(5);print (50+YY):;print(50-YY);print(50);print(50+Y);print(50-Y);print(13); void xuanzhuan(void)uchar i;print(Oxlb);print(0x40);初始化指令for (i二0; i<4; i+)/0, 90, 180, 270旋轉(zhuǎn)print (Oxlc):print(0x49):print(i);旋轉(zhuǎn)指令print (Oxlb):print(0x38):print(0);/漢字調(diào)出指令print_chs C 旋 轉(zhuǎn) 測(cè) 試“);打印漢字print(OxOd);回車(chē)/ * 門(mén)f列 /|* * /void fanbai(void)uchar i;print(Oxlb);print(0x40);初始化指令/i為1時(shí),反for(i=0;i<2;i+)白打印

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論