printer.c

来自「这七个程序都是本人为51系列单片机开发的应用程序」· C语言 代码 · 共 63 行

C
63
字号

//printer.c
/********************************************************************
	filename: 	printer.c
	created:	2006/01/11  15:37:03
	author:		Astario

	purpose:	并口打印机程序
*********************************************************************/
#include "userdef.h"
#include "device.h"
#include "generalfunc.h"
#include "AD8255.h"
#include "printer.h"
#include "clock.h"
#ifdef INCLUDE_printer


bit InitPrinter()
{
	if(!printPutc(0x1b))
		return 0;
	printPutc(0x40);
	return 1;
}
bit printPutc(BYTE c)
{
	 WORD xdata tm,tmNow;
	tmNow=tm=GetTMCount();
	while(TestPrinterBUSY() && tmNow-tm<COUNTperSECOND*5)
	{
		tmNow=GetTMCount();
	} //BUSY=1,打印机忙,等待BUSY 为0 再发数
	if(TestPrinterBUSY())
		return 0;
	//delay_Nms(1);
	SetPrinterSTB(0);
	//_nop_();
	//_nop_();
	AD8255_Write(c,AD8255chB);
	SetPrinterSTB(1); //给出数据锁存时钟
	_nop_();
	_nop_();
	//tmNow=tm=GetTMCount();
	//while (TestPrinterACK() && tmNow-tm<COUNTperSECOND*5)
	//{
	//	tmNow=GetTMCount();
	//}
	return 1;
}

bit printPutString(BYTE* str)
{
	while(*str)
	{
		if(!printPutc(*str))
			return 0;
		str++;
	}
	return 1;
}

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?