コード例 #1
0
ファイル: my_lcd.c プロジェクト: Ichimonji10/impedimenta
/*-============================================================================/
Takes an integer as its argument, prints out its hex equivalent.
/============================================================================-*/
void LCD_numint_out(int decimalNum) {
    char numbuff[17] = "0123456789ABCDEF";

    if(decimalNum < 16 && decimalNum >= 0) {
        LCD_write_char(numbuff[decimalNum]);
    } else {
        LCD_write_char(' ');
    }
}
コード例 #2
0
void LCD_write_str(INT8U x,INT8U Y,INT8U *s)
{
	LCD_write_char(0,' ');
	LCD_set_xy( x, Y ); //写地址
	while (*s) // 写显示字符
	{
		LCD_write_char( 0, *s );
		s ++;
	}
}
コード例 #3
0
ファイル: tad_LCD.c プロジェクト: xiamin/TA_D
int LCD_PutStr(unsigned char *DData,int pos, int size)
{
    unsigned char i;

    if(pos==-1)
    {
        LCD_write_command(0x01); //清屏
        rt_thread_delay(2);
        pos=0;
    }

    while ((*DData)!='\0' && size)
    {
        switch(*DData)
        {
        case '\n': //如果是\n,则换行
        {
            if(pos<17)
            {
                for(i=pos; i<16; i++) LCD_write_char(i%16, i/16, ' ');
                pos=16;
            }
            else
            {
                for(i=pos; i<32; i++) LCD_write_char(i%16, i/16, ' ');
                pos=0;
            }
            break;
        }
        case '\b': //如果是\b,则退格
        {
            if(pos>0) pos--;
            LCD_write_char(pos%16, pos/16, ' ');
            break;
        }
        default:
        {
            if((*DData)<0x20)
            {
                *DData=' ';
            }
            LCD_write_char(pos%16, pos/16, *DData);
            pos++;
            break;
        }
        }
        DData++;
        size--;
    }
    return(pos);
}
コード例 #4
0
ファイル: lcdCan.c プロジェクト: SimoneR2/lcdCan.X
void main(void) {
    configurazione();
    LCD_initialize(16);
    while (1) {
        id = msg.identifier;
        data = msg.data[0];
        LCD_goto_xy(1, 0);
        LCD_write_message("id");
        LCD_goto_xy(1, 3);
        LCD_write_char(id);
        LCD_goto_xy(2, 0);
        LCD_write_char(data);
        delay_ms(1000);
        LCD_clear();
    }
}
コード例 #5
0
ファイル: LCD4884.cpp プロジェクト: brucetsao/nano1768
void LCD4884::LCD_write_string(byte X, byte Y, const char *s,
		char mode) {
	LCD_set_XY(X, Y);
	while (*s) {
		LCD_write_char(*s, mode);
		s++;
	}
}
コード例 #6
0
ファイル: lcd_kinetis.c プロジェクト: juanml/kinetis
//**************************************************************************
//* Write a string on the display
//**************************************************************************
//* Calling arguments:
//* char *c : pointer to the string
//**************************************************************************
void LCD_write_string (char *c)
{
	while (*c)
	{
	  LCD_write_char(*c);
	  c++;
	}
}
コード例 #7
0
ファイル: my_lcd.c プロジェクト: Ichimonji10/impedimenta
//**************************************************************************
//* Write a string on the display
//**************************************************************************
//* Calling arguments:
//* char *c : pointer to the string
//**************************************************************************
void LCD_write_string (char *c)
{
	char count=0;
	while (*c)
	{
	  LCD_write_char(*c);
	  c++;
	}
}
コード例 #8
0
void LCD_Display_String(unsigned char X,unsigned char Y, uint8 *s)
{
  LCD_set_XY(X, Y);
  while(*s != 0)
  {
    LCD_write_char(*s);
    s++;
  }
}
コード例 #9
0
ファイル: lcd4884.cpp プロジェクト: denrusio/vak-opensource
void LCD4884::LCD_write_string(unsigned char X,unsigned char Y,char *s, char mode)
{
    LCD_set_XY(X,Y);
    while (*s)
      {
	 LCD_write_char(*s, mode);
	 s++;
      }
}
コード例 #10
0
/*-----------------------------------------------------------------------
LCD_write_english_String  : 英文字符串显示函数

输入参数:*s      :英文字符串指针;
          X、Y    : 显示字符串的位置,x 0-83 ,y 0-5

编写日期          :2004-8-10 
最后修改日期      :2004-8-10 		
-----------------------------------------------------------------------*/
void LCD_write_english_string(unsigned char X,unsigned char Y,char *s)
  {
    LCD_set_XY(X,Y);
    while (*s) 
      {
	 LCD_write_char(*s);
	 s++;
      }
  }
コード例 #11
0
ファイル: lcd_nokia5110.c プロジェクト: haodoan/MyProjects
/*FUNCTION*-------------------------------------------------------------------
* 
* Function Name    : LCD_write_String
* Returned Value   : void 
* Comments         :
*   This function put a string to LCD
*
*END*----------------------------------------------------------------------*/
void LCD_write_String(unsigned char X,unsigned char Y,unsigned char invert,char *s)
{
	LCD_set_XY(X,Y);
	while (*s) 
	{
		LCD_write_char(*s,invert);
		s++;
	}
} 
コード例 #12
0
void LCD_set_xy( INT8U x,INT8U y ) //写地址函数
{
    INT8U address;
	if (y == 0) 
		address = 0x80 + x;
	else
		address = 0xc0 + x;
		LCD_write_char( address, 0 );
}
コード例 #13
0
ファイル: main.c プロジェクト: JasperWong/StateMachine_Avr
void main()
{	
	uchar *p;
	p="by Jasper";	
	Init();
	IsReset=0;
	IsReset=eeprom_read(100);
	
	if(!IsReset)										//首次进入输入密码和显示欢迎界面
	{
		Confirm();
		LCD_clear();
		delay_ms(200);
		LCD_write_str(5,0,"welcome");
	
		while(*p)									
		{
			LCD_write_char(i,1,*p);
			p++;
			i++;
			delay_ms(100);
		}
	}
	
													
	LCD_clear();										//正式进入系统
	LCD_write_str(0,0,"1bell2led3motor");				
	LCD_write_str(0,1,"4fix_password");
	
	while(1)
	{
		eeprom_write(100,0);
		if(select=='1')  								//蜂鸣器模式
		{
			LCD_clear();
			LCD_write_str(0,0,"buzz..send * or");
			LCD_write_str(0,1,"shutdown to exit");
			Bell();
		}
		
		if(select=='2')  LED(); 						//led模式
		
		if(select=='3')  Motor();						//电机模式
		
		if(select=='4')  Write_password();				//修改密码模式
		
	}
		
}
コード例 #14
0
/*********************************************************** 
函数功能:线束数字
***********************************************************/
void LCD_Display_Num(int16 num)
{
  uint8 temp,i=0,string[18] = {0};
  if(num==0)
  {
     LCD_write_char('0');
    return ;
  }
  if(num<0)
  {
     //LPLD_UART_PutChar(UART0,'-');
     num = -num;
  }
  while(num!=0)
  {
    temp = num%10;
    string[i++] = temp;
    num = num/10;
  }
  while(i--)
  {
    LCD_write_char(string[i] + '0');
  }
}
コード例 #15
0
void LCD_write_num(u8 X, u8 Y, int num)
{
  u8 b[6], i;
  LCD_set_XY(X,Y);
  
  for(i = 0; i < 6; i++)
  {
    b[5-i] = (num % 10) + '0';
    num = num / 10;
  }
  
  for(i = 0; i < 6; i++)
  {
    LCD_write_char(b[i]);
  } 
}
コード例 #16
0
void Init_Lcd() //LCD 初始化
{
	LCD_write_char(0x38,0);
	Delay_ms(5);
	LCD_write_char(0x38,0);
	Delay_ms(5);
	LCD_write_char(0x38,0);
	Delay_ms(5);
	LCD_write_char(0x0c,0);
	Delay_ms(5);
	LCD_write_char(0x06,0);
	Delay_ms(5);
	LCD_write_char(0x0c,0);
	Delay_ms(5);
}
コード例 #17
0
ファイル: power_display.c プロジェクト: dengfuli/softwore
/***********显示电源电压*************/
void power_display(void)
{
    
              u8 a,b,c;
              a=(u8)((power_get()/100)+48);
              b=(u8)(((power_get()%100)/10)+48);
              c=(u8)((power_get()%10)+48);
              LCD_set_XY(0,0);
              LCD_write_char('P');
              LCD_write_char('O');
              LCD_write_char('W');
              LCD_write_char('E');
              LCD_write_char('R');
              LCD_write_char(':');
              LCD_write_char(a);
              LCD_write_char('.');
              LCD_write_char(b);
              LCD_write_char(c);
              LCD_write_char('V');
  
}
コード例 #18
0
ファイル: calculation.c プロジェクト: Magicwangs/IAR
/*********************************************************** 
函数名称:LCDTIME
函数功能:液晶显示和
入口参数:c	:  显示的字符
出口参数:无 
备 注: 
***********************************************************/
void LCDTIME(void){
  
              
              u8 AspeedS0, AspeedS1, AspeedS2, AspeedS3;
              LCD_set_XY(0, 0) ;
              LCD_write_char('L');
              LCD_write_char('a');
              LCD_write_char('n');
              LCD_write_char('d');
              LCD_write_char('z');
              LCD_write_char('o'); 
             /**************
              第二行显示内容
             ************* */
       
              AspeedS0 = (u8) ((ASPeed1/1000)  + 48 );
              AspeedS1 = (u8) (((ASPeed1%1000)/100) +48 ) ;
              AspeedS2 = (u8) (((ASPeed1%100)/10)  + 48 ); 
              AspeedS3 = (u8) ((ASPeed1%10)  + 48 );

              LCD_set_XY(0, 1) ;
              LCD_write_char('S');
              LCD_write_char('p');
              LCD_write_char('e');
              LCD_write_char('e');
              LCD_write_char('d');
              LCD_write_char('0');
              LCD_write_char(':');
              LCD_write_char(AspeedS0);
              LCD_write_char(AspeedS1);
              LCD_write_char(AspeedS2);
              LCD_write_char(AspeedS3);
             /**************
              第三行显示内容
            **************/ 

              AspeedS0 = (u8) ((ASPeed2/1000)  + 48 );
              AspeedS1 = (u8) (((ASPeed2%1000)/100) +48 ) ;
              AspeedS2 = (u8) (((ASPeed2%100)/10)  + 48 ); 
              AspeedS3 = (u8) ((ASPeed2%10)  + 48 );
              

             LCD_set_XY(0, 2) ;  
              LCD_write_char('S');
              LCD_write_char('p');
              LCD_write_char('e');
              LCD_write_char('e');
              LCD_write_char('d');
              LCD_write_char('1');
              LCD_write_char(':');
              LCD_write_char(AspeedS0);
              LCD_write_char(AspeedS1);
              LCD_write_char(AspeedS2);
              LCD_write_char(AspeedS3);
             /**************
              第四行显示内容
             **************/ 
              AspeedS0 = (u8) ((ASPeed3/1000)  + 48 );
              AspeedS1 = (u8) (((ASPeed3%1000)/100) +48 ) ;
              AspeedS2 = (u8) (((ASPeed3%100)/10)  + 48 ); 
              AspeedS3 = (u8) ((ASPeed3%10)  + 48 );
             LCD_set_XY(0, 3) ;
              LCD_write_char('S');
              LCD_write_char('p');
              LCD_write_char('e');
              LCD_write_char('e');
              LCD_write_char('d');
              LCD_write_char('2');
              LCD_write_char(':');
              LCD_write_char(AspeedS0);
              LCD_write_char(AspeedS1);
              LCD_write_char(AspeedS2);
              LCD_write_char(AspeedS3);
             /**************
              第五行显示内容
             **************/ 
              AspeedS0 = (u8) ((ASPeed4/1000)  + 48 );
              AspeedS1 = (u8) (((ASPeed4%1000)/100) +48 ) ;
              AspeedS2 = (u8) (((ASPeed4%100)/10)  + 48 ); 
              AspeedS3 = (u8) ((ASPeed4%10)  + 48 );
             LCD_set_XY(0, 4) ;
              LCD_write_char('S');
              LCD_write_char('p');
              LCD_write_char('e');
              LCD_write_char('e');
              LCD_write_char('d');
              LCD_write_char('3');
              LCD_write_char(':');
              LCD_write_char(AspeedS0);
              LCD_write_char(AspeedS1);
              LCD_write_char(AspeedS2);
              LCD_write_char(AspeedS3);
             /**************
              第六行显示内容
             **************/  
              AspeedS0 = (u8) ((ASPeed5/1000)  + 48 );
              AspeedS1 = (u8) (((ASPeed5%1000)/100) +48 ) ;
              AspeedS2 = (u8) (((ASPeed5%100)/10)  + 48 ); 
              AspeedS3 = (u8) ((ASPeed5%10)  + 48 );
              LCD_set_XY(0, 5) ;
              LCD_write_char('S');
              LCD_write_char('p');
              LCD_write_char('e');
              LCD_write_char('e');
              LCD_write_char('d');
              LCD_write_char('4');
              LCD_write_char(':');
              LCD_write_char(AspeedS0);
              LCD_write_char(AspeedS1);
              LCD_write_char(AspeedS2);
              LCD_write_char(AspeedS3);
        
      
}
コード例 #19
0
ファイル: calculation.c プロジェクト: Magicwangs/IAR
void KYELCD(void){
  

static u8 t8rmp0 = 0,t8rmp1 = 0;
static u8 AupDown  ;
u8 AspeedS0, AspeedS1, AspeedS2, AspeedS3;

   if(key8flg >= 1)  {
         
          keyflg = 0 ;
          key8flg -- ;
          if(AupDown > 0)
          {
            AupDown -- ;
          }
        }
      

         if(key11flg >= 1)  {
          if(AupDown < 5)
          {
            AupDown ++ ;
          }
          keyflg = 0 ;
          key11flg -- ;
        }

      /*********************
      160ms程序执行代码段
      *********************/
      if(TIME0flag_80ms == 1)
      {
        TIME0flag_80ms = 0 ; 
        
     
           if(AupDown == 0)
           {
                if(key9flg >= 1)  {
                 keyflg = 0 ;
                 ASPeed0 += key9flg ;
                 key9flg = 0 ;            
              }
              if(key10flg >= 1){
                  keyflg = 0 ; 
                  if((ASPeed0-key10flg) < 0)
                  {
                    ASPeed0 = 0 ; 
                    key10flg = 0 ;
                  } else 
                  {
                    ASPeed0 -= key10flg ; 
                    key10flg = 0 ;
                  }
              }
           }           
           else if(AupDown == 1)
           {

             
              if(key9flg >= 1)  {
                 keyflg = 0 ;
                 ASPeed1 += key9flg ;
                 key9flg = 0 ;            
              }
              if(key10flg >= 1){
                  keyflg = 0 ; 
                  if((ASPeed1-key10flg) < 0)
                  {
                    ASPeed1 = 0 ; 
                    key10flg = 0 ;
                  } else 
                  {
                    ASPeed1 -= key10flg ; 
                    key10flg = 0 ;
                  }
              }
           }
           else if(AupDown == 2)
           {
                if(key9flg >= 1)  {
                 keyflg = 0 ;
                 ASPeed2 += key9flg ;
                 key9flg = 0 ;            
              }
              if(key10flg >= 1){
                  keyflg = 0 ; 
                  if((ASPeed2-key10flg) < 0)
                  {
                    ASPeed2 = 0 ; 
                    key10flg = 0 ;
                  } else 
                  {
                    ASPeed2 -= key10flg ; 
                    key10flg = 0 ;
                  }
              }
           }
           else if(AupDown == 3)
           {
                if(key9flg >= 1)  {
                 keyflg = 0 ;
                 ASPeed3 += key9flg ;
                 key9flg = 0 ;            
              }
              if(key10flg >= 1){
                  keyflg = 0 ; 
                  if((ASPeed3-key10flg) < 0)
                  {
                    ASPeed3 = 0 ; 
                    key10flg = 0 ;
                  } else 
                  {
                    ASPeed3 -= key10flg ; 
                    key10flg = 0 ;
                  }
              }
           }
           else if(AupDown == 4)
           {
                if(key9flg >= 1)  {
                 keyflg = 0 ;
                 ASPeed4 += key9flg ;
                 key9flg = 0 ;            
              }
              if(key10flg >= 1){
                  keyflg = 0 ; 
                  if((ASPeed4-key10flg) < 0)
                  {
                    ASPeed4 = 0 ; 
                    key10flg = 0 ;
                  } else 
                  {
                    ASPeed4 -= key10flg ; 
                    key10flg = 0 ;
                  }
              }
           }
           else if(AupDown == 5)
           {
                if(key9flg >= 1)  {
                 keyflg = 0 ;
                 ASPeed5 += key9flg ;
                 key9flg = 0 ;            
              }
              if(key10flg >= 1){
                  keyflg = 0 ; 
                  if((ASPeed5-key10flg) < 0)
                  {
                    ASPeed5 = 0 ; 
                    key10flg = 0 ;
                  } else 
                  {
                    ASPeed5 -= key10flg ; 
                    key10flg = 0 ;
                  }
              }
           }
        
        
           



              
        if(t8rmp0 == 1)
        {
             
          t8rmp0 = 0 ;

           if(AupDown == 0)
            LCD_set_XY(0, 0) ;
           else if(AupDown == 1)
            LCD_set_XY(0, 1) ; 
           else if(AupDown == 2)
            LCD_set_XY(0, 2) ; 
           else if(AupDown == 3)
            LCD_set_XY(0, 3) ; 
           else if(AupDown == 4)
            LCD_set_XY(0, 4) ; 
           else if(AupDown == 5)
            LCD_set_XY(0, 5) ; 
            for(t8rmp1 = 0 ; t8rmp1 < 83 ;t8rmp1 ++)
                  {  LCD_write_byte(0, 1);   }   
        }
        else{
 
             t8rmp0 = 1 ; 
 
              LCD_set_XY(0, 0) ;
              LCD_write_char('L');
              LCD_write_char('a');
              LCD_write_char('n');
              LCD_write_char('d');
              LCD_write_char('z');
              LCD_write_char('o'); 
             /**************
              第二行显示内容
             ************* */
       
              AspeedS0 = (u8) ((ASPeed1/1000)  + 48 );
              AspeedS1 = (u8) (((ASPeed1%1000)/100) +48 ) ;
              AspeedS2 = (u8) (((ASPeed1%100)/10)  + 48 ); 
              AspeedS3 = (u8) ((ASPeed1%10)  + 48 );

              LCD_set_XY(0, 1) ;
              LCD_write_char('S');
              LCD_write_char('p');
              LCD_write_char('e');
              LCD_write_char('e');
              LCD_write_char('d');
              LCD_write_char('0');
              LCD_write_char(':');
              LCD_write_char(AspeedS0);
              LCD_write_char(AspeedS1);
              LCD_write_char(AspeedS2);
              LCD_write_char(AspeedS3);
             /**************
              第三行显示内容
            **************/ 

              AspeedS0 = (u8) ((ASPeed2/1000)  + 48 );
              AspeedS1 = (u8) (((ASPeed2%1000)/100) +48 ) ;
              AspeedS2 = (u8) (((ASPeed2%100)/10)  + 48 ); 
              AspeedS3 = (u8) ((ASPeed2%10)  + 48 );
              

             LCD_set_XY(0, 2) ;  
              LCD_write_char('S');
              LCD_write_char('p');
              LCD_write_char('e');
              LCD_write_char('e');
              LCD_write_char('d');
              LCD_write_char('1');
              LCD_write_char(':');
              LCD_write_char(AspeedS0);
              LCD_write_char(AspeedS1);
              LCD_write_char(AspeedS2);
              LCD_write_char(AspeedS3);
             /**************
              第四行显示内容
             **************/ 
              AspeedS0 = (u8) ((ASPeed3/1000)  + 48 );
              AspeedS1 = (u8) (((ASPeed3%1000)/100) +48 ) ;
              AspeedS2 = (u8) (((ASPeed3%100)/10)  + 48 ); 
              AspeedS3 = (u8) ((ASPeed3%10)  + 48 );
             LCD_set_XY(0, 3) ;
              LCD_write_char('S');
              LCD_write_char('p');
              LCD_write_char('e');
              LCD_write_char('e');
              LCD_write_char('d');
              LCD_write_char('2');
              LCD_write_char(':');
              LCD_write_char(AspeedS0);
              LCD_write_char(AspeedS1);
              LCD_write_char(AspeedS2);
              LCD_write_char(AspeedS3);
             /**************
              第五行显示内容
             **************/ 
              AspeedS0 = (u8) ((ASPeed4/1000)  + 48 );
              AspeedS1 = (u8) (((ASPeed4%1000)/100) +48 ) ;
              AspeedS2 = (u8) (((ASPeed4%100)/10)  + 48 ); 
              AspeedS3 = (u8) ((ASPeed4%10)  + 48 );
             LCD_set_XY(0, 4) ;
              LCD_write_char('S');
              LCD_write_char('p');
              LCD_write_char('e');
              LCD_write_char('e');
              LCD_write_char('d');
              LCD_write_char('3');
              LCD_write_char(':');
              LCD_write_char(AspeedS0);
              LCD_write_char(AspeedS1);
              LCD_write_char(AspeedS2);
              LCD_write_char(AspeedS3);
             /**************
              第六行显示内容
             **************/  
              AspeedS0 = (u8) ((ASPeed5/1000)  + 48 );
              AspeedS1 = (u8) (((ASPeed5%1000)/100) +48 ) ;
              AspeedS2 = (u8) (((ASPeed5%100)/10)  + 48 ); 
              AspeedS3 = (u8) ((ASPeed5%10)  + 48 );
              LCD_set_XY(0, 5) ;
              LCD_write_char('S');
              LCD_write_char('p');
              LCD_write_char('e');
              LCD_write_char('e');
              LCD_write_char('d');
              LCD_write_char('4');
              LCD_write_char(':');
              LCD_write_char(AspeedS0);
              LCD_write_char(AspeedS1);
              LCD_write_char(AspeedS2);
              LCD_write_char(AspeedS3);
        }
      }

}
コード例 #20
0
ファイル: main.c プロジェクト: mariuscoto/littleSnake
int main(void) 
{
	double axg = 0, ayg = 0, azg = 0;
	double gxds = 0, gyds = 0, gzds = 0;

	//init mpu6050
	mpu6050_init();
	_delay_ms(50);

	LCD_init();
	LCD_clear();

	put_food();

	// INtro
	while (1) {
		// Read current parameters
		mpu6050_getConvData(&axg, &ayg, &azg, &gxds, &gyds, &gzds);

		LCD_write_string(0,0," Little Snake ");
		LCD_write_string(0,3,"  >> Move << ");
		if (axg > LIMIT || axg < -LIMIT ||ayg < -LIMIT || ayg >  LIMIT)
			break;
	}

    	// Init snake, both on screen and array
	screen[3][5] = SNAKE;
	screen[3][6] = SNAKE;
	screen[3][7] = SNAKE;
	snake[0].x = 3; snake[0].y = 5;
	snake[1].x = 3; snake[1].y = 6;
	snake[2].x = 3; snake[2].y = 7;

	snake_tail = 0; snake_len = 3;
	for (int z=snake_len; z<MAX_LEN; z++) snake[z].x = -1;
	

	while(game) {

		// Read current parameters
		mpu6050_getConvData(&axg, &ayg, &azg, &gxds, &gyds, &gzds);

		// Take a decision
		if(axg >  LIMIT)      {if (direction !=    UP) direction = DOWN;}
		else if(axg < -LIMIT) {if (direction !=  DOWN) direction = UP;}
		if(ayg >  LIMIT)      {if (direction !=  LEFT) direction = RIGHT;}
		else if(ayg < -LIMIT) {if (direction != RIGHT) direction = LEFT;}

		// Make it happen
		change_dir();

		// Check end game
		if (!game) break;

		LCD_init();
     	   	LCD_clear();
	
		// Print entire screen
       		for (int x=0; x<HEIGHT; x++) {
       			for (int y=0; y<WIDTH; y++) {
				if (x == snake[snake_len-1].x && y == snake[snake_len-1].y) {
					LCD_write_char(HEAD);
				} else if (screen[x][y] == SNAKE) {
					LCD_write_char(SNAKE);
				} else if (screen[x][y] == FOOD) {
					LCD_write_char(FOOD);
				} else {
					LCD_write_char(SPACE);
				}
			}
        	}

		_delay_ms(250);
	}
}