欢迎来到天天文库
浏览记录
ID:59221755
大小:39.50 KB
页数:8页
时间:2020-09-09
《单片机控制打印机例程(北京荣达-串口).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、/*********************************************************//新荣达电子打印机测试程序//51单片机,晶振11.0592//时间:2009-7-10//用与测试串行接口打印机//常用打印机指令以函数行式体现//可根据需要自行调用单一函数**********************************************************/#include//51头文件#include//字串处理函数头文件#include#defineuc
2、harunsignedcharsbitBUSY=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}/***********
3、**********串口初始化**********************************************/voidcom_init(void){TH1=0XFD;//波特率值装入计数器,9600BPSTMOD=0X20;//串口设置,定时器1,设为方式2,8位自动重载,用于产生波特率SCON=0X50;//串口发送方式1,8位数据位,1位停止位TR1=1;//开启定时器1}/**********************字符打印函数********************************************/voidprint_chs
4、(ucharch[]){uchari;for(i=0;i5、i++)//搋环打印5次{print(0x1b);print(0x38);print(0x00);//调用16*16点阵汉字,24点阵为24*24print(0xd0);print(0xc2);//打印数据"新"print(0x1b);print(0x38);print(0x04);//调用12*12点阵汉字,24点阵为24*24print(0xc8);print(0xd9);print(0xb4);print(0xef);//打印数据“荣达”print(0x0d);//回车}}/*************************行间距例程***********6、*************************/voidhangjianju(void){uchari;print(0x1b);print(0x40);//初始化打印机print(0x1b);print(0x38);print(0x00);//调用16*16点阵汉字,24点阵为24*24print_chs("行间距测试:");for(i=0;i<11;i=i+2)//循环打印{print(0x1b);print(0x31);print(i);//ESC1,设置行间距print_chs("LINESPACING");print(0x0a);//打印字符串和7、换行}}/*************************水平造表例程***************************************/voidshuipingzhaobiao(void){print(0x1b);print(0x40);//初始化打印机print(0x1b);print(0x38);print(0x00);//调用16*16点阵汉字,24点阵为24*24print_chs("水平造表测试:");print_chs("23456");//'标尺print(0x0d);print(0x1b);print(0x44);print(8、2);print(9);
5、i++)//搋环打印5次{print(0x1b);print(0x38);print(0x00);//调用16*16点阵汉字,24点阵为24*24print(0xd0);print(0xc2);//打印数据"新"print(0x1b);print(0x38);print(0x04);//调用12*12点阵汉字,24点阵为24*24print(0xc8);print(0xd9);print(0xb4);print(0xef);//打印数据“荣达”print(0x0d);//回车}}/*************************行间距例程***********
6、*************************/voidhangjianju(void){uchari;print(0x1b);print(0x40);//初始化打印机print(0x1b);print(0x38);print(0x00);//调用16*16点阵汉字,24点阵为24*24print_chs("行间距测试:");for(i=0;i<11;i=i+2)//循环打印{print(0x1b);print(0x31);print(i);//ESC1,设置行间距print_chs("LINESPACING");print(0x0a);//打印字符串和
7、换行}}/*************************水平造表例程***************************************/voidshuipingzhaobiao(void){print(0x1b);print(0x40);//初始化打印机print(0x1b);print(0x38);print(0x00);//调用16*16点阵汉字,24点阵为24*24print_chs("水平造表测试:");print_chs("23456");//'标尺print(0x0d);print(0x1b);print(0x44);print(
8、2);print(9);
此文档下载收益归作者所有