#includereg52.h//51头文件#includestring.h//字串处理函数头文件//#includemath.h#defineucharunsignedcharsbitBUSY=P3^4;//并口打印机的BUSY,串口打印机的CTS/**************************单字节打印函数************************************/voidprint(unsignedcharch){while(BUSY==1)//busy为1时,等待,如数据量小,可不判BUSY{;}SBUF=ch;//busy=0,将数据送到P1口while(TI==0)//当TI为0时,表示数据未发送完成,一直等待,直到为1{;}TI=0;//将TI清0}/*********************串口初始化**********************************************/voidcom_init(void){TH1=0XFD;//波特率值装入计数器,9600BPSTMOD=0X20;//串口设置,定时器1,设为方式2,8位自动重载,用于产生波特率SCON=0X50;//串口发送方式1,8位数据位,1位停止位TR1=1;//开启定时器1}/**********************字符打印函数********************************************/voidprint_chs(ucharch[]){uchari;for(i=0;istrlen(ch);i++)//应用到字串处理函数,故须调用print(ch[i]);}/*************************汉字打印例程***************************************/voidhanzitest(void){//uchari;print(0x1b);print(0x40);//初始化打印机print(0x1b);print(0x38);print(0x00);//调用16*16点阵汉字,24点阵为24*24print(0x1b);print(0x31);print(6);//设置后面的内容行间距为6点,默认为n=3;print_chs(操作人:\n);print(0x0d);print_chs(仪器编号:\n);print(0x0d);print_chs(操作日期:2015年3月12日\n);print(0x0d);print_chs(工序四时间:\n);print(0x0d);print_chs(工序三时间:\n);print(0x0d);print_chs(工序二时间:\n);print(0x0d);print_chs(工序一时间:\n);print(0x0d);/*for(i=0;i1;i++)//搋环打印5次{print(0x1b);print(0x38);print(0x00);//调用16*16点阵汉字,24点阵为24*24//print(0x1b);print(0x38);print(0x04);//调用12*12点阵汉字,24点阵为24*24print(0xc8);print(0xd9);print(0xb4);print(0xef);//打印数据“荣达”print(0x0d);//回车}*/}/*************************左限例程**********************************/voidzuoxian(void){print(0x1b);print(0x40);//初始化打印机print(0x1b);print(0x38);print(0x00);//调用16*16点阵汉字,24点阵为24*24//print_chs(左限测试:\n);//print_chs(12345678901234567890123456789012);//标尺print(0x1b);print(0x6c);print(0x06);//ESCI命令,左限为6//print(0x1b);print(0x69);print(1);//设置下面的文字为反白打印。print_chs(ABCDE仪器);//打印字串//print(0x1b);print(0x69);print(0);//设置下面的文字为禁止反白打印。print(0x0d);//回车print(0x0d);//回车}/************************反白指令例程**********************************//*voidfanbai(void){uchari;print(0x1b);print(0x40);//初始化指令for(i=0;i2;i++)//i为1时,反白打印{print(0x1b);print(0x69);print(i);print(0x1b);print(0x38);print(0);print_chs(反白测试);}print(0x0d);}*/Main(){com_init();hanzitest();zuoxian();//fanbai();//print(0x0d);//回车print(0x0d);//回车print(0x0d);//回车while(1);//死循环}