📄 打印机.c
字号:
#include <reg52.h>
#include <stdio.h>
#include <absacc.h>
#define PRINTER XBYTE[0X6200]
#define uchar unsigned char
typedef unsigned char uint8;
typedef unsigned int uint16;
/*********************************
延时子程序
*********************************/
void delay(uint16 time)
{
while(time--);
}
/*********************************
打印机忙状态检测,这里我们直接用
延时等待打印机
*********************************/
void check_printer()
{
delay(1000);
}
/*********************************
打印机写命令字
*********************************/
void write_printer(uint8 dat)
{
check_printer();
PRINTER=dat;
}
/*********************************
打印机初始化
*********************************/
void initial_printer(void)
{
//打印机初始化
write_printer(0x1b);
write_printer(0x40);
//反向打印
write_printer(0x1b);
write_printer(0x63);
write_printer(0x01);
}
/*********************************
打印一个汉字
*********************************/
void PrintChinese(uint8 *dat)
{
write_printer(0x1c);
write_printer(0x26);
write_printer(*dat);
write_printer(*(dat+1));
write_printer(0x1c);
write_printer(0x2E);
}
/*********************************
打印一个字符
*********************************/
void PrintChar(uint8 dat)
{
write_printer(dat);
}
/*********************************
打印一个字符串
*********************************/
void PrintStr(uint8 *str)
{
while(1)
{
if( (*str)=='\0' ) break;
PrintChar(*str++);
}
}
int main()
{
initial_printer();
PrintChinese("西");
PrintChinese("安");
PrintChinese("交");
PrintChinese("通");
PrintChinese("大");
PrintChinese("学");
PrintChinese("城");
PrintChinese("市");
PrintChinese("学");
PrintChinese("院");
write_printer(0x0d);
delay(10000);
PrintStr("SIUPO MICRO-PRINTER TEST");
write_printer(0x0d);
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -