微型打印机的C语言源程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微型打印机的C语言源程序:
#define uchar unsigned char
#define uint unsigned int
#include
#include
#include
#include
#include
#include
#include
#define PIN XBYTE[0x8000]
#define POUT XBYTE[0x9000]
sbit PRINTSTB =P1^6;
sbit DOG=P1^7;
bdata char pinvalue;
sbit PRINTBUSY=pinvalue^7;
sbit PRINTSEL =pinvalue^6;
sbit PRINTERR =pinvalue^5;
sbit PRINTACK =pinvalue^4;
void PrintString(uchar *String1,uchar *String2);
void initprint(void);
void print(uchar a);
void initprint(void) //打印机初始化子程序
{
pinvalue=PIN;
if((PRINTSEL==1)&&(PRINTERR==1))
{
print(0x1b); print(0x40); print(0x1b); print(0x38); print(0x4);
}
}
void print(uchar a) //打印字符a
{
pinvalue=PIN;
if((PRINTSEL==0)||(PRINTERR==0)) return;
for(;;) {
DOG=~DOG;
pinvalue=PIN;
if(PRINTBUSY==0) break;
}
DOG=~DOG;
POUT=a;
PRINTSTB=1; PRINTSTB=1; PRINTSTB=1; PRINTSTB=1;
PRINTSTB=0; PRINTSTB=0; PRINTSTB=0; PRINTSTB=0;
PRINTSTB=1;
}
void PrintString(uchar *String) //打印字符串后回车
{
uchar CH;
for (;;) {
DOG=~DOG;
CH=*String;
if (CH==0) { print(0x0d); break; }
print(CH);
String++;
}
initprint();
}