📄 打印机1.c
字号:
#include<reg51.h>
#include<string.h>
#include<INTRINS.H>
sbit STB=P1^0; //PSTB 接P1^0
sbit BUSY=P1^2; //PBUSY 接P1^2
/************** 并口打印子程序**************/
void pprint(unsigned char ch)
{
while(BUSY)
{};
P0=ch;
STB=0; //STB 置0
_nop_();
_nop_();
STB=1; //STB 置1
}
/****************打印直线 *******************/
void ESC2(int len)//热敏打印命令
{
int i;
if(len-256>0)
{
pprint(0x1b);pprint(0x27);pprint(len-256);pprint(1);
for(i=len-256-1;i>=0;i--)
{
pprint(i);pprint(1);
}
for(i=0;i<256;i++)
{
pprint(i);pprint(0);
}
pprint(0x0d);
}
else
{
pprint(0x1b);pprint(0x27); pprint(len);pprint(0);
for(i=len-1;i>=0;i--)
{
pprint(i);pprint(0);
}
pprint(0x0d);
}
}
/****************自定义字符*****************/
void ESC1()
{
pprint(0X1b);pprint(36); //选择字符集1
pprint('A');pprint('B');pprint('C'); //打印ABC
pprint(0X0A); //换行
pprint(0X1B);pprint(0X26);pprint(0X42);pprint(0X02);pprint(0X7C);pprint(0X40);pprint(0XC0);pprint(0X40);pprint(0); //自定义字符
pprint(0X1B);pprint(0X25);pprint(0X42);pprint('A') ;pprint(0x00); //替换用户定义字符
// pprint(0X1b);pprint(36); //选择字符集1
pprint(0x41);pprint('B');pprint('C'); //打印ABC
pprint(0X1B);pprint(0X3A); //恢复字符集中的字符
pprint('A');pprint('B');pprint('C');
}
/**************主函数***********************/
main()
{while(1)
{
int i;
char ch[]="苏果超市欢迎您!";
pprint(0x1b);pprint(0x38); //选择不同点阵汉子打印
//pprint(0x1c);pprint(0x4a); //设置纵向打印
//pprint(0x1c);pprint(0x49);pprint(0x01b); //设置字符旋转90度
pprint(0x1b);pprint(0x57);pprint(0x02); //横向纵向放大2倍
//pprint(0x1b);pprint(0x63);pprint(0x01); //允许反向打印
//pprint(0x1b);pprint(0x69);pprint(0x01); //允许反白打印
//pprint(0x1b);pprint(0x2d);pprint(0x01); //允许下划线打印
pprint(0x1b);pprint(0x72);pprint(0x2b);pprint(0x3f); //打印深度变浅
//pprint(0x1b);pprint(0x27);pprint(0x05);pprint(0x05);pprint(0x38);pprint(0x7c);pprint(0x30);pprint(0x58);pprint(0x14);pprint(0x34);pprint(0x88);pprint(0x6c);pprint(0x41);pprint(0xab);
//pprint(0x1b);pprint(0x26);pprint(0x32);pprint(0x54);pprint(0x38);pprint(0x7c);pprint(0x30);pprint(0x58);pprint(0x14); //自定义字符
//pprint(0x1b);pprint(0x45);pprint(0x40);pprint(0x34);pprint(0x88);pprint(0x6c);pprint(0x41);pprint(0xab);pprint(0x00); //打印条形码
pprint(0x00); //调用汉字出库指令
for(i=0;i<strlen(ch);i++)
pprint(ch[i]);
//ESC1();
//ESC2(0xfd);
pprint(0x0d); //回车
};
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -