⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dyonoff.c

📁 打印机控制程序
💻 C
字号:

#include <REGX52.H>

#include "config.h"
#include"intrins.h"
#include"key.h"
#include"tupian.h"
#define uchar unsigned char
#define uint unsigned int


bit	fXonXoff;

uchar code print_hzinit[4]={0x1b,0x56,0x01,0x00};
uchar code print_tui[4]={0x1b,0x6a,0xf0};
uchar code print_jin[3]={0x1b,0x4a,0xf0};
//永泰和电子






/*
code unsigned char print_da[24][3]={0x00,0x00,0x00,0x01,0x80,0x00,0x01,0xc0,0x00,0x01,0xc0,0x00,
0x01,0xc0,0x00,0x01,0x80,0xfc,0x01,0x9f,0xfe,0x01,0xfe,0xc0,
0x1f,0xc0,0xc0,0x0d,0x80,0xc0,0x01,0xe0,0xc0,0x01,0xc0,0xc0,
0x01,0x80,0xc0,0x07,0x80,0xc0,0x1f,0x80,0xc0,0x79,0x80,0xc0,
0x71,0x80,0xc0,0x01,0x86,0xc0,0x07,0x83,0xc0,0x03,0x81,0xc0,
0x03,0x81,0xc0,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00};     //打

code unsigned char print_yin[24][3]={0x00,0x00,0x00,0x00,0xc0,0x00,0x01,0xe0,0x00,0x01,0xe0,0x00,
0x03,0x80,0xf8,0x3e,0x0f,0xf8,0x38,0x0c,0x38,0x18,0xcc,0x30,
0x1b,0xcc,0x30,0x1f,0x0c,0x30,0x18,0x0c,0x30,0x08,0x6d,0xf0,
0x09,0xcc,0xf0,0x1f,0x0c,0x60,0x1e,0x0c,0x00,0x1c,0x0c,0x00,
0x18,0x0c,0x00,0x00,0x0c,0x00,0x00,0x0c,0x00,0x00,0x0c,0x00,
0x00,0x0c,0x00,0x00,0x0c,0x00,0x00,0x04,0x00,0x00,0x00,0x00};  //印

code unsigned char print_shi1[24][3]={0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x03,0x80,0x00,0x01,0x80,
0x00,0x01,0x80,0x03,0x81,0x80,0x7f,0x81,0x80,0x31,0x81,0xbc,
0x31,0xbf,0xfc,0x31,0xff,0x80,0x3f,0x81,0x80,0x3d,0xb1,0x80,
0x31,0x99,0x80,0x31,0x9d,0x80,0x71,0x89,0x80,0x71,0x81,0x80,
0x7f,0x81,0x80,0x63,0x81,0x80,0x01,0x01,0xc0,0x00,0x07,0xc0,
0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00};      //时

code unsigned char print_jian[24][3]={0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x01,0xe0,0x03,0x9f,0xf0,
0x01,0x98,0x30,0x18,0x00,0x30,0x18,0x00,0x30,0x18,0x9e,0x30,
0x18,0xff,0x30,0x18,0xc6,0x30,0x18,0xd6,0x30,0x18,0xfe,0x30,
0x18,0xc6,0x30,0x18,0xc6,0x30,0x18,0xfe,0x30,0x18,0xce,0x30,
0x38,0x84,0x30,0x38,0x00,0x30,0x38,0x01,0xf0,0x10,0x00,0xf0,
0x00,0x00,0x60,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00};     //间
										*/





void service_uart() interrupt 4
{
	if(RI==1)
	{	//process recevice
		if(SBUF == 0x13)
		{	fXonXoff = 0;
		//process over
		}
		else
		{
			fXonXoff=1;
		}
	RI=0;
	}
}

//打印初始化
void print_init()
{
	SCON=0X50;    
	T2CON=0X34;   //波特率为115200
	RCAP2H=0XFF;
	RCAP2L=0XFD;
	REN=1;

}

//向串口发送一个字符 
void psend_char_com(unsigned char ch)  
{
	while(1)
	{	
	 	if(fXonXoff==1)
		{	  SBUF=ch;
			  while(TI==0);
			  TI=0;
       		  break;
		}
	}

}
//向串口发送一个字符串,strlen为该字符串长度 
void  psend_string_com(unsigned char *str,unsigned int strlen)
{
    unsigned int k=0;
    do 
    {
        psend_char_com(*(str + k));
        k++;
    } while(k < strlen);
}


void print_pic(unsigned char *picture,unsigned char height)
{
	unsigned char *pic_addr;
	unsigned char pic_temp;
	pic_addr=picture;
	for(pic_temp=0;pic_temp<height;pic_temp++)
	{
		psend_string_com(print_hzinit,4);
		psend_string_com(pic_addr,48);
		pic_addr+=48;
	}	

}


void main()
{
//	unsigned char h,k,a;
	unsigned char key_num;
	fXonXoff = 1;
    delay1();
	print_init();
	IE=0x90;
	while(1)
	{
		delay1();
		key_num=wait_key();
		{
			switch(key_num)
			{
				case KEY1:
					
				/*	for(a=0;a<20;a++)
					{	
						for(h=0;h<24;h++)               //打印时间:
						{
							psend_string_com(print_hzinit,4);
							psend_string_com(print_da[h],3);
						    psend_string_com(print_yin[h],3);
							psend_string_com(print_shi1[h],3);
							psend_string_com(print_jian[h],3);
							for(k=0;k<45;k++)
							{
								psend_char_com(0x00);
							}  		
						}
					}*/
					psend_string_com(print_jin,3);delay1();
					break;
				case KEY2:
					psend_string_com(print_tui,3);delay1();
					break;
				case KEY3:
					print_pic(pic,162);
					break;
				default:
					break;
			}
		}
				
	}
	
}

⌨️ 快捷键说明

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