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

📄 displayv2.c

📁 lpc2368 source files
💻 C
📖 第 1 页 / 共 2 页
字号:
				{
					temp1[i]= read_display();
					temp1[i] = temp1[i] & 0xf0;
				}
				disp_inst();
				write_display((col>>4)|0x10);		  
				write_display((col & 0x0f)| 0x00);		  
				disp_data();
				for(i=0;i<6;i++)
				{
					write_display((ravi_font[disp_temp*6 + i]>>2) |(ravi_font1[disp_temp*6 + i]<<6));
				}
				break;
		case 3:

				row = (row * 12)/8;
 			    //row--;
				disp_inst();
				write_display(0xb0 |row);
				write_display((col>>4)|0x10);		  
				write_display((col & 0x0f)| 0x00);
				disp_data();
				temp = read_display();		  
				for(i=0;i<6;i++)
				{
					temp1[i]= read_display();
					temp1[i] = temp1[i] & 0x0f;
				}
				disp_inst();
				write_display((col>>4)|0x10);		  
				write_display((col & 0x0f)| 0x00);
				disp_data();
				for(i=0;i<6;i++)
				{
					temp = ravi_font[disp_temp*6 + i]<<1;// <<4;
					write_display( (temp1[i]|temp));
				}
				
				disp_inst();
				write_display((0xb0|row)+1 );
				write_display((col>>4)|0x10);		  
				write_display((col & 0x0f)| 0x00);		  
				disp_data();
				for(i=0;i<6;i++)
				{
					//write_display((ravi_font[disp_temp*6 + i]>>4) |(ravi_font1[disp_temp*6 + i]<<4));
					write_display((ravi_font[disp_temp*6 + i]>>7) |(ravi_font1[disp_temp*6 + i]<<1));
				}
				break;
		case 4:
				row = (row * 12)/8; 
				row--;
				disp_inst();
				write_display(0xb0 |row);
				write_display((col>>4)|0x10);		  
				write_display((col & 0x0f)| 0x00);
				disp_data();
				temp = read_display();		  
				for(i=0;i<6;i++)
				{
					temp1[i]= read_display();
					temp1[i] = temp1[i] & 0x0f;
				}
				disp_inst();
				write_display((col>>4)|0x10);		  
				write_display((col & 0x0f)| 0x00);
				disp_data();
				for(i=0;i<6;i++)
				{
					temp = ravi_font[disp_temp*6 + i]<<4;
					write_display((temp1[i]|temp));
				}
				disp_inst();
				write_display((0xb0 |row) +1);
				write_display((col>>4)|0x10);		  
				write_display((col & 0x0f)| 0x00);		  
				disp_data();
				temp = read_display();		  
				for(i=0;i<6;i++)
				{
					temp1[i]= read_display();
					temp1[i] = temp1[i] & 0xf0;
				}
				disp_inst();
				write_display((col>>4)|0x10);		  
				write_display((col & 0x0f)| 0x00);		  
				disp_data();
				for(i=0;i<6;i++)
				{
					//write_display((ravi_font[disp_temp*6 + i]>>4) |(ravi_font1[disp_temp*6 + i]<<4));
					write_display((ravi_font[disp_temp*6 + i]>>4)|ravi_font1[disp_temp*6 + i]<<4);
				}
				break;
		case 5:
				row = (row * 12)/8;
 			    row--;
				disp_inst();
				write_display(0xb0 |row);
				write_display((col>>4)|0x10);		  
				write_display((col & 0x0f)| 0x00);
				disp_data();
				temp = read_display();		  
				for(i=0;i<6;i++)
				{
					temp1[i]= read_display();
					temp1[i] = temp1[i] & 0xff;
				}
				
				disp_inst();
				write_display((col>>4)|0x10);		  
				write_display((col & 0x0f)| 0x00);
				disp_data();
				for(i=0;i<6;i++)
				{
					temp = ravi_font[disp_temp*6 + i]<<7;// <<4;
					write_display( (temp1[i]|temp));
				}
				
				disp_inst();
				write_display((0xb0|row)+1 );
				write_display((col>>4)|0x10);		  
				write_display((col & 0x0f)| 0x00);		  
				disp_data();
				for(i=0;i<6;i++)
				{
					//write_display((ravi_font[disp_temp*6 + i]>>4) |(ravi_font1[disp_temp*6 + i]<<4));
					write_display((ravi_font[disp_temp*6 + i]>>1) |(ravi_font1[disp_temp*6 + i]<<7));
				}
				break;
		default:
				break;	
		}
  	disp_count++;
	if(disp_count >119)//99
	  {disp_count = 0;
	  row = 0;
	  col = 0;}
}


char putchar1(char c)
{

    unsigned char  lcd_i;
 	
	if (c == 0x0a)
    {
        for (lcd_i=disp_count%20;lcd_i<20;lcd_i++)
        {
            disp_char(' ');
        }
    }
    else if(c == 0x0d)
    {
        disp_count = disp_count - (disp_count%20);
    }
	else if (c == 8)
    {
            disp_count--;
	
			disp_char(' ');
			disp_count--;
    
    }
    else
    {
		disp_char(c);
    }

    return c;
}


void clrscr(void)
{
    unsigned char row,col;
	for(row =0; row <8; row++)
	{
        disp_inst();
		write_display(0xb0 | row);
        write_display(0x10);
        write_display(0x00);
        disp_data();
		for(col=0;col<128;col++)  //128
		{
          write_display(0x00);
		}
	}
  disp_count = 0;
  row_count = 0;
  col_count = 0;
}

void Disp_cur_rev(void)
{
	//unsigned char temp,temp_char,width,flag;
    disp_count--;
	disp_char(' ');
	disp_count--;
	/*
	flag = 0;
	width = 0;
	if(disp_count == 0)
	 {
	   if(row_count != 0)
 	    {
		  row_count --;
		  row_select();
		  disp_count = *(row_no + 0);
		  flag = 1;
		  for(temp=1;temp<=disp_count;temp++)
		  {
			  temp_char = *(row_no + temp);
			  width = width + long_font[8*temp_char]+1;
		  }
		  col_count = width;
		}
	 }
	 else flag = 1;
	 if(flag == 1)
	  {
	    temp = *(row_no + disp_count);
	    width = long_font[8*temp];
		col_count = col_count - width - 1;
	    blank_disp(width + 1);
	    disp_count--;
   	    *(row_no + 0) = disp_count;
      }*/
}
void blank_disp(unsigned char blank_count)
{
   unsigned char row,i,temp1[20];
	   
   disp_inst();
   if(row_count%2)
	{
		row = (row_count * 12)/8; 
		disp_inst();
		write_display(0xb0 |row);
		write_display((col_count>>4)|0x10);		  
		write_display((col_count & 0x0f)| 0x00);
		disp_data();
		temp1[0] = read_display();
		for(i=0;i<blank_count;i++)
		{
		   temp1[i] = read_display();
		   temp1[i] = temp1[i] & 0x0f;
		}
		disp_inst();
		write_display((col_count>>4)|0x10);		  
		write_display((col_count & 0x0f)| 0x00);
		disp_data();
		for(i=0;i<blank_count;i++)
		  write_display( temp1[i]);
		 
	     disp_inst();
		 write_display((0xb0|row) + 1);
		 write_display((col_count>>4)|0x10);		  
		 write_display((col_count & 0x0f)| 0x00);		  
		 disp_data();
		 for(i=0;i<blank_count;i++)
			write_display(0x00);
	} 	 
	   
   else
   {
	  row = (row_count * 12)/8; 
	  disp_inst();
      write_display(0xb0 |row);
	  write_display((col_count>>4)|0x10);		  
	  write_display((col_count & 0x0f)| 0x00);
	  disp_data();		  
	  for(i=0;i<blank_count;i++)
	  {
		write_display(0x00);
	  }
      disp_inst();
 	  write_display((0xb0|row) + 1);
	  write_display((col_count>>4)|0x10);		  
	  write_display((col_count & 0x0f)| 0x00);		  
	  disp_data();
      temp1[0] = read_display();
      for(i=0;i<blank_count;i++)
       {
    	 temp1[i] = read_display();
		 temp1[i] = temp1[i] & 0xf0;
	   }	  
	  disp_inst();
 	  write_display((0xb0|row) + 1);
	  write_display((col_count>>4)|0x10);		  
	  write_display((col_count & 0x0f)| 0x00);		  
	  disp_data();
	  for(i=0;i<blank_count;i++)
	  {
	    write_display(temp1[i]);
	  }
  }
  disp_inst();
}

//********************************************************************
//				Added Ones
//********************************************************************


void Disp_bcd1(unsigned char bcd_i)
{
    bcd_i = (bcd_i &0x0f) + 0x30;
    printf("%c",bcd_i);
}

void set_cursor(unsigned char disp_tempt)
{
  gotoxy(disp_tempt,1);
}
/*
void Disp_date(void)
{
  Disp_int(date[0]);
  printf("/");
  Disp_int(date[1]);
  printf("/");
  Disp_int(date[2]);
  printf(" ");
}

void Disp_time(void)
{
  Disp_int(time[0]);
  printf(":");
  Disp_int(time[1]);
  printf(":");
  Disp_int(time[2]);
}*/
void Disp_int(unsigned int bcd_i)
{
  if(bcd_i<10) printf("0%d",bcd_i); 
	else printf("%d",bcd_i);
}

void Disp_bcd2(unsigned char bcd_i)
{
    unsigned char bcd_i1;
    bcd_i1 = (bcd_i & 0xf0) + 0x30;
	printf("%c",bcd_i1); 
    bcd_i1 = (bcd_i & 0x0f) + 0x30;
 	printf("%c",bcd_i1);
}
/*
void Disp_int(unsigned int Dint,unsigned char Dlimit)
{
    unsigned char idata  Dint_i;
    if(Dlimit >5) Dlimit = 5;
    for(Dint_i=0;Dint_i<Dlimit;Dint_i++)
    {
        Dint_rem[4-Dint_i] = Dint%10;
        Dint = Dint /10;
    } 
    for(Dint_i=5-Dlimit;Dint_i<5;Dint_i++)
    {
        Disp_bcd1(Dint_rem[Dint_i]);
    }
}
void Disp_asc(unsigned char asc_i)
{
    disp_data();

    DATAOUT_A = asc_i;
    disp_enable();
    delay_us(10);
}
 */

//----------------Battery Level Indication---------------------

unsigned char bat_chk(void)
{
	float adc_val[4];
	unsigned char blvl,blv_count,i2_db;
	init_ADC(2);
	blvl=0;

	for(i2_db=0;i2_db<4;i2_db++)
	{
		adc_val[i2_db] = read_ADC(2);
		adc_val[i2_db] = adc_val[i2_db] * 10.89/1024; //10.89  12.23 
		delay_Ms(1);
	}

	adc_val[0] = adc_val[0]+adc_val[1]+adc_val[2]+adc_val[3];
	adc_val[0] = adc_val[0]/4 + 0.48;
	//printf("%f\n",adc_val[0]);

 	
		 if (adc_val[0] > 8.0)  blvl = 8;
	else if (adc_val[0] > 7.6)	blvl = 7;
	else if (adc_val[0] > 7.2)	blvl = 6;
	else if (adc_val[0] > 6.8)	blvl = 5;
	else if (adc_val[0] > 6.4)	blvl = 4;
	else if (adc_val[0] > 6.0)	blvl = 3;

	for (i2_db=0;i2_db<8-blvl;i2_db--)
	{
		disp_inst();
		write_display(0xb0 | i2_db);
        write_display(0x17);		  
		write_display(0x09);
        disp_data();
		for(blv_count=0;blv_count<7;blv_count++)
		 write_display(0x00);
	}
	for (i2_db = 0;i2_db<blvl;i2_db++)
	{
		disp_inst();
		write_display(0xb0 | (7 - i2_db));
        write_display(0x17);		  
		write_display(0x09);
        disp_data();
		for(blv_count=0;blv_count<7;blv_count++)
		   write_display(batt_graph[7*i2_db+ blv_count]);
	}
//	for(i1=0;i1<3;i1++)
//	{
//	  delay_Ms(500);
//	  FIO0SET = (1 << 27);//OFF 
//	  delay_Ms(500);
//	  FIO0CLR = (1 << 27);//ON 
//	}

	return (blvl-3);
}

⌨️ 快捷键说明

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