コード例 #1
0
ファイル: Watch.c プロジェクト: amiteshsah/Embedded-System
void lcd_init(void)
{
	
	dis_cmd(0x02);
	dis_cmd(0x28);
	dis_cmd(0x0c);
	dis_cmd(0x01);
}
コード例 #2
0
ファイル: Watch.c プロジェクト: amiteshsah/Embedded-System
void LCD_number(unsigned int value)
{	dis_cmd(0x04);//for decrementing the cursor position
	unsigned int a=0;
	while(value!=0)
	{	a=value%10;
		dis_data(a+48);
		value=value/10;
	}
	dis_cmd(0x06);// for again incrementing the cursor position
}
コード例 #3
0
ファイル: LCD.c プロジェクト: mouellette-umo09/ECE402
void LCD_position (unsigned char row, unsigned char col)
{
	if (row==1)
	{
		row=0x80;
		dis_cmd(row+(col-1));
	}	
	
	if (row==2)
	{
		row=0xC0;
		dis_cmd(row+(col-1));
	}	
	
	
}
コード例 #4
0
ファイル: LCD.c プロジェクト: mouellette-umo09/ECE402
void init_LCD(void)
{
	dis_cmd(0x02);  //sets in 4 bit mode
	_delay_ms(1);

	dis_cmd(0x28);  //sets in 2 line mode
	_delay_ms(1);
	
	dis_cmd(0x01);  //clears LCD
	_delay_ms(1);
	
	dis_cmd(0x0E);  //turns cursor on
	_delay_ms(1);
	
	dis_cmd(0x80);  //turns on LCD
	_delay_ms(1);
}
コード例 #5
0
void LCD_write_string_custom(char addr,char *data0)
{
        int jj = 0;
        dis_cmd(addr);
	_delay_ms(20);
	while(data0[jj]!='\0')
	{
		dis_data(data0[jj]);
		_delay_ms(5);
		jj++;
	}
}
コード例 #6
0
void LCD_write_string_line1(char *data0)
{
        int jj = 0;
        dis_cmd(0x80);
	_delay_ms(20);
	while(data0[jj]!='\0')
	{
		dis_data(data0[jj]);
		_delay_ms(5);
		jj++;
	}
}
コード例 #7
0
void LCD_write_string_line2(char *data1)
{
        int i=0;
	dis_cmd(0xC0);
        _delay_ms(20);
	i=0;
	while(data1[i]!='\0')
	{
		dis_data(data1[i]);
		_delay_ms(5);
		i++;
	}
        
}
コード例 #8
0
ファイル: Watch.c プロジェクト: amiteshsah/Embedded-System
int main()
{	DDRD=0XFF;
		
	while(1)
	{
	lcd_init();
for(int i=0;i<=12;i++)
	{	dis_cmd(0x81);
	LCD_number(i);
	_delay_ms(1000);
	for(int j=0;j<60;j++)
		{ dis_cmd(0x85);
		LCD_number(j);
		_delay_ms(1000); 
			for(int k=0;k<60;k++)
			{dis_cmd(0x89);
			LCD_number(k);
			_delay_ms(1000);}dis_cmd(0x01);
		}dis_cmd(0x01);
}
	
}
	return 0;
}
コード例 #9
0
void LCD_write_string(char LINE_INDEX,char addr,char *data0)
{
	if (LINE_INDEX == 1)
	{
		addr = addr + 0x80;
	}
	else
	{
		addr = addr + 0xC0;
	}
        int jj = 0;
        dis_cmd(addr);
	_delay_ms(20);
	while(data0[jj]!='\0')
	{
		dis_data(data0[jj]);
		_delay_ms(5);
		jj++;
	}
}
コード例 #10
0
void lcd_init()	// fuction for intialize 
{

        
        LCD_PORT_DIR |= 0xFF; //Make LCD port output
        _delay_ms(500);
        dis_cmd(0x33);		//to initialize LCD 
        _delay_ms(100);
        dis_cmd(0x32);		//to initialize LCD 
        _delay_ms(100);
        dis_cmd(0x28);		//to initialize LCD in 2 lines, 5X8 dots and 4bit mode.
        _delay_ms(100);
        dis_cmd(0x0C);          // to set entire Display on, cursor on, blinking cursor on
        _delay_ms(100);
        dis_cmd(0x01);		// clear LCD
        _delay_ms(100);
        dis_cmd(0x06);          // to move cursor to right after each character display
        _delay_ms(100);
		dis_cmd(0x02);		// to set DDRAM Address to 0
        _delay_ms(200);
        
}
コード例 #11
0
int selectc()
{
	int c, r;
	int ret;
	char h, l;
	unsigned int k_ch;
	
	c = (curchar / 16);
	r = (curchar % 16);

	for(;;)
	{
		dis_cmd("   Select Character");
		
		sel_mode();

		curchar = r + (c*16);

		display(curchar);

		h = ((mvwinch(set_win,(r+1),((c*2)+1))) & A_CHARTEXT);
		l = ((mvwinch(set_win,(r+1),((c*2)+2))) & A_CHARTEXT);
		wattron(set_win,A_REVERSE);
		mvwprintw(set_win,(r+1),((c*2)+1),"%c%c",h,l);
		wattroff(set_win,A_REVERSE);		
		wmove(set_win,(r+1),((c*2)+1));
		wrefresh(set_win);
		
		k_ch = wgetch(set_win);
		
		switch(k_ch)
		{
			case K_LEFT:
			case KEY_LEFT:
				if(c > 0)
				{
					normal_set(r,c);
					c--;
				}
				break;

			case K_DOWN:
			case KEY_DOWN:
				if(r < 15)
				{
					normal_set(r,c);
					r++;
				}
				break;

			case K_UP:
			case KEY_UP:
				if(r > 0)
				{
					normal_set(r,c);
					r--;
				}
				break;

			case K_RIGHT:
			case KEY_RIGHT:
				if(c < 15)
				{
					normal_set(r,c);
					c++;
				}
				break;

			case 'e':
			case 'E':			
				edit_mode();
				dis_cmd("   Edit Character");
				display(curchar);
				ret = edit();
				if(ret == 1)
					save_ch();
				break;

			case 'g':
			case 'G':
				dis_cmd("   Exchange: select Destination, then press RETURN or any other Key to ABORT");
				sr = r;
				sc = c;
				scurchar = curchar;
				if((curchar = sel_dest()) == -1)
				{ /* failsafe */
					r = sr;
					c = sc;
					curchar = scurchar;
				}
				else
				{ /* valid return */
					normal_set(r,c);
					c = (curchar / 16);
					r = (curchar % 16);
					xchg_ch(scurchar,curchar);
				}
				break;

			case 'm':
			case 'M':
				dis_cmd("   Move: select Destination, then press RETURN or any other Key to ABORT");
				sr = r;
				sc = c;
				scurchar = curchar;
				if((curchar = sel_dest()) == -1)
				{ /* failsafe */
					r = sr;
					c = sc;
					curchar = scurchar;
				}
				else
				{ /* valid return */
					normal_set(r,c);
					c = (curchar / 16);
					r = (curchar % 16);
					move_ch(scurchar,curchar);
				}
				break;

			case 'q':
			case 'Q':
				normal_set(r,c);
				wrefresh(set_win);			
				return(1);
				break;
			
			case 'x':
			case 'X':
				normal_set(r,c);
				wrefresh(set_win);			
				return(0);
				break;

			case 0x0c:
				wrefresh(curscr);
				break;
			
			default:
				beep();
				break;
				
		}
	}
}