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

📄 mbb225_2.c

📁 基于2104的热敏打印机控制程序
💻 C
📖 第 1 页 / 共 5 页
字号:
			LCD_write(high_bit);
			delay0();
			if(move_mode==1)
			{
				address = address + 40;
			}else
			{
				address = address - 40;
			}
		}
	}else if((move_mode==3)||(move_mode==4))
	{
		if(move_mode==3)
		{
			for(i=0;i<40;i++)
			{
				for(j=0;j<8;j++)
				{
					LCD_order(0x5a);
					LCD_write(j);
				}
				high_bit = (address >> 8) & 0xff;
				low_bit = address & 0xff;
				LCD_order(0x44);
				LCD_write(low_bit);
				LCD_write(high_bit);
				LCD_order(0x5a);
				LCD_write(0x00);
				delay4();
				address = address + 1;
			}
		}else
		{
			for(i=0;i<40;i++)
			{
				for(j=7;j>=0;j--)
				{
					LCD_order(0x5a);
					LCD_write(j);
				}
				high_bit = (address >> 8) & 0xff;
				low_bit = address & 0xff;
				LCD_order(0x44);
				LCD_write(low_bit);
				LCD_write(high_bit);
				LCD_order(0x5a);
				LCD_write(0x07);
				delay4();
				address = address - 1;
			}
		}
	}
	LCD_order(0x44);
	LCD_write(0x00);
	LCD_write(0x00);
}

char caculate(unsigned int Data,int mod,unsigned int row,unsigned char column,char a)
{
	unsigned char s[6];
	unsigned  char i,j;
	unsigned char *picture_code[9];
	i=0;
	j=0;
	do
	{
		mod=mod/10;
		s[i]=Data/mod;
		Data=Data%mod;
		i=i+1;
	}while(mod>10);
	s[i]=Data;
	j=i;
	for(i=0;i<=j;i++)
	{
		switch(s[i])
		{
			case 0:
				if((s[0]==0)&(i==0))
					picture_code[i]=char_blank;
				else
				{
					if((s[0]==0)&(s[1]==0)&(i==1))
						picture_code[i]=char_blank;
					else
					{
						if((s[0]==0)&(s[1]==0)&(s[2]==0)&(i==2))
							picture_code[i]=char_blank;
						else
						{
							if((s[0]==0)&(s[1]==0)&(s[2]==0)&(s[3]==0)&(i==3))
								picture_code[i]=char_blank;
							else
							{
								if((s[0]==0)&(s[1]==0)&(s[2]==0)&(s[3]==0)&(s[4]==0)&(i==4))
									picture_code[i]=char_blank;
								else
								{
									if((s[0]==0)&(s[1]==0)&(s[2]==0)&(s[3]==0)&(s[4]==0)&(s[5]==0)&(i==5))
										picture_code[i]=char_blank;
									else
										picture_code[i]=char_0;
								}
							}
						}
					}
				}

			break;
			case 1:
				picture_code[i]=char_1;
				break;
			case 2:
				picture_code[i]=char_2;
				break;
			case 3:
				picture_code[i]=char_3;
				break;
			case 4:
				picture_code[i]=char_4;
				break;
			case 5:
				picture_code[i]=char_5;
				break;
			case 6:
				picture_code[i]=char_6;
				break;
			case 7:
				picture_code[i]=char_7;
				break;
			case 8:
				picture_code[i]=char_8;
				break;
			case 9:
				picture_code[i]=char_9;
				break;
			default:
				break;
		}
	}

				Picture_display(row,column+0,picture_code[0],8,16,1);
				Picture_display(row,column+1,picture_code[1],8,16,1);
				Picture_display(row,column+2,picture_code[2],8,16,1);
				Picture_display(row,column+3,char_point,8,16,1);
				Picture_display(row,column+4,picture_code[3],8,16,1);
				Picture_display(row,column+5,char_degree,8,16,1);
				Picture_display(row,column+6,char_bA,8,16,1);
				//Picture_display(row,column+6,char_bB,8,16,1);
}

void Delay()
{
	;
}

/*发送起始条件*/
void Start(void) /*起始条件*/
{
	Sda=1;
	Scl=1;
	Delay();
	Delay();
	Sda=0;
	Delay();
	Delay();
}

void Stop(void) /*停止条件*/
{
	Sda=0;
	Scl=1;
	Delay();
	Delay();
	Sda=1;
	Delay();
	Delay();
}

void Ack(void) /*应答位*/
{
	Sda=0;
	Delay();
	Delay();
	Scl=1;
	Delay();
	Delay();
	Scl=0;
}

void NoAck(void) /*反向应答位*/
{
	Sda=1;
	Delay();
	Delay();
	Scl=1;
	Delay();
	Delay();
	Scl=0;
}

//发送数据子程序,Data为要求发送的数据
void Send(unsigned char Data)
{
unsigned char BitCounter=8; //位数控制
unsigned char temp; //中间变量控制
	do
	{
		temp=Data;
		Scl=0;
		Delay();
		Delay();
		if((temp&0x80)==0x80)// 如果最高位是1
			Sda=1;
		else
			Sda=0;
		Scl=1;
		temp=Data<<1; //RLC
		Data=temp;
		BitCounter--;
	}while(BitCounter);
	Scl=0;
}

//读一个字节的数据,并返回该字节值
unsigned char Read(void)
{
unsigned char temp=0;
unsigned char temp1=0;
unsigned char BitCounter=8;
	Sda=1;
	do
	{
		Scl=0;
		Delay();
		Delay();
		Delay();
		Delay();
		Scl=1;
		Delay();
		Delay();
		Delay();
		Delay();
		if(Sda) //如果Sda=1;
			temp=temp|0x01; //temp的最低位置1
		else
			temp=temp&0xfe; //否则temp的最低位清0
		if(BitCounter-1)
		{
			temp1=temp<<1;
			temp=temp1;
		}
		BitCounter--;
	}while(BitCounter);
	return(temp);
}

//发送行数据
void SendLINE(unsigned char Data)
{
	Start();
	Send(0x44);
	Ack();
	Send(Data);
	Ack();
	Stop();
	Delay();
}

//接收列数据
void GetROW()
{
	Start();
	Send(0x45);
	Ack();
	GET=Read();
	NoAck();
	Stop();
}

void display_shu(unsigned char a,unsigned char b,unsigned char c,unsigned char d,
                 unsigned char e,unsigned char f,unsigned char g,unsigned char h,
                 unsigned char i,unsigned char j,unsigned char k,unsigned char l,
                 unsigned char m,unsigned char n,unsigned char o,unsigned char p,
                 unsigned char q,unsigned char r,unsigned char s)
                      
{
	
	               Picture_display(1,1,char_cheng,16,16,a);
	               Picture_display(1,3,char_xu,16,16,a);
		       Picture_display(1,5,char_hao,16,16,a);
	               Picture_display(1,8,char_maohao,14,14,a);

                       Picture_display(20,1,char_han,16,16,b);
                       Picture_display(20,3,char_qiang,16,16,b);
                       Picture_display(20,5,char_xing,16,16,b);
                       Picture_display(20,7,char_hao,16,16,b);
                       Picture_display(20,10,char_maohao,14,14,b);

                       Picture_display(40,1,char_jii,16,16,c);
                       Picture_display(40,3,char_tou,16,16,c);
                       Picture_display(40,5,char_dai,16,16,c);
                       Picture_display(40,7,char_ma,16,16,c);
                       Picture_display(40,10,char_maohao,14,14,c);         

                       Picture_display(60,1,char_gong,16,16,d);
                       Picture_display(60,3,char_jiann,16,16,d);
                       Picture_display(60,5,char_zhii,16,16,d);
                       Picture_display(60,7,char_jing,16,16,d);
                       Picture_display(60,10,char_maohao,14,14,d);	               

                       Picture_display(80,1,char_dian,16,16,e);
                       Picture_display(80,3,char_hu,16,16,e);
                       Picture_display(80,5,char_fang,16,16,e);
                       Picture_display(80,7,char_shii,16,16,e);
                       Picture_display(80,10,char_maohao,14,14,e);

                       Picture_display(100,1,char_dian,16,16,f); 
                       Picture_display(100,3,char_liu,16,16,f); 
                       Picture_display(100,5,char_fang,16,16,f); 
                       Picture_display(100,7,char_shii,16,16,f); 
                       Picture_display(100,10,char_maohao,14,14,f);

                       Picture_display(120,1,char_die,16,16,g); 
                       Picture_display(120,3,char_jia,16,16,g);
                       Picture_display(120,5,char_gao,16,16,g); 
                       Picture_display(120,7,char_pin,16,16,g);
                       Picture_display(120,10,char_maohao,14,14,g);

                       Picture_display(140,1,char_xuan,16,16,h);  
                       Picture_display(140,3,char_zhuan,16,16,h);  
        	       Picture_display(140,5,char_fang,16,16,h);  
                       Picture_display(140,7,char_xiang,16,16,h);  
                       Picture_display(140,10,char_maohao,14,14,h);

                       Picture_display(160,1,char_mai,16,16,i);  
                       Picture_display(160,3,char_dong,16,16,i);  
                       Picture_display(160,5,char_xuan,16,16,i);  
                       Picture_display(160,7,char_zhuan,16,16,i); 
                       Picture_display(160,10,char_maohao,14,14,i);

                        Picture_display(180,1,char_song,16,16,j);  
                       Picture_display(180,3,char_si,16,16,j);  
                       Picture_display(180,5,char_jii,16,16,j);  
                       Picture_display(180,8,char_maohao,14,14,j);
 
                       Picture_display(1,24,char_shiii,16,16,k); 
                       Picture_display(1,26,char_fou,16,16,k);  
                       Picture_display(1,28,char_song,16,16,k); 
                       Picture_display(1,30,char_si,16,16,k);  
                       Picture_display(1,33,char_maohao,14,14,k); 
                       
                       Picture_display(20,24,char_mai,16,16,l);  
                       Picture_display(20,26,char_dong,16,16,l);  
                       Picture_display(20,28,char_song,16,16,l);  
                       Picture_display(20,30,char_si,16,16,l);  
                       Picture_display(20,33,char_maohao,14,14,l);
 
                       Picture_display(40,24,char_shiii,16,16,m);  
                       Picture_display(40,26,char_fou,16,16,m);  
                       Picture_display(40,28,char_heng,16,16,m);  
                       Picture_display(40,30,char_bai,16,16,m); 
                       Picture_display(40,33,char_maohao,14,14,m);
	
                       Picture_display(60,24,char_bian,16,16,n); 
                       Picture_display(60,26,char_yuan,16,16,n);   
                       Picture_display(60,28,char_suo,16,16,n); 
                       Picture_display(60,30,char_ding,16,16,n);  
                       Picture_display(60,33,char_maohao,14,14,n); 
                       
                       Picture_display(80,24,char_hu,16,16,o);  
                       Picture_display(80,26,char_chang,16,16,o); 
                       Picture_display(80,28,char_gen,16,16,o);  
                       Picture_display(80,30,char_zong,16,16,o);  
                       Picture_display(80,33,char_maohao,14,14,o);
                       
                       Picture_display(100,24,char_gen,16,16,p); 
                       Picture_display(100,26,char_zong,16,16,p);  
                       Picture_display(100,28,char_fang,16,16,p); 
                       Picture_display(100,30,char_shii,16,16,p);  
                       Picture_display(100,33,char_maohao,14,14,p); 
                       
                       Picture_display(120,24,char_qi,16,16,q); 
                       Picture_display(120,26,char_tii,16,16,q);  
                       Picture_display(120,28,char_2,14,14,q);  
                       Picture_display(120,29,char_siii,16,16,q); 
                       Picture_display(120,31,char_neng,16,16,q); 
                       Picture_display(120,34,char_maohao,14,14,q); 
                       
                       Picture_display(140,24,char_qu,16,16,r);  
                       Picture_display(140,26,char_jian,16,16,r);  
                       Picture_display(140,28,char_ge,16,16,r);  
                       Picture_display(140,30,char_shuu,16,16,r); 
                       Picture_display(140,33,char_maohao,14,14,r); 
                       
                       Picture_display(160,24,char_yuu,16,16,s); 
                       Picture_display(160,26,char_yan,16,16,s);  
                       Picture_display(160,28,char_xuann,16,16,s);  
                       Picture_display(160,30,char_ze,16,

⌨️ 快捷键说明

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