亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lcd.c

?? 基于三星S6B0741芯片的LCD
?? C
字號:

#include <util/delay.h>
#include <avr/pgmspace.h>
#include "lcd.h"

#include "font6x8.h"
#include "font8x16.h"
#include "my_type.h"





/****************************************
 * output a byte to lcd
 ***************************************/ 
void send_byte (u8 temp)
{
	u8 i;
	
	for (i=0;i<8;i++)
	{
		CLR_CLK();
		
		if (temp & 0x80) SET_DATA();
		else 			  CLR_DATA();									
		temp <<= 1;
		
		SET_CLK();
	}
}
/****************************************
	send one command to lcd
*****************************************/
void lcd_send_command (u8 command)
{
	CLR_CS();
	CLR_RS();
	send_byte (command);
	SET_CS();
}

/****************************************
	send one data to lcd
*****************************************/
void lcd_send_data (u8 data)
{
	CLR_CS();
	SET_RS();
	send_byte (data);
	SET_CS();
}
/****************************************
 *  set page value
 *
 *
 *
 *	page : 0 ~ 16 ( now this lcd only have 12 page)
 **************************************/
void lcd_set_page (u8 page)
{
	lcd_send_command (0xb0 | page);

}

/****************************************
 *	set column value
 *
 *
 *
 *   column : 0 ~ 0x7f( total 128  column)
 **************************************/
void lcd_set_column (u8 column)
{
	lcd_send_command (0x10 | (column>>4));
	lcd_send_command (0x0f & column);
}

void lcd_init (void)
{
    LCD_IO_INIT();
	CLR_RST();
	_delay_ms (5);
	SET_RST();

	lcd_send_command (0x48);		//set display duty
	lcd_send_command (0x60);
	
	lcd_send_command (0xa1);		//set ADC
	
	lcd_send_command (0xc8);		//set SHL
	
	lcd_send_command (0x44);		//set COM0
	lcd_send_command (0x10);
	
	lcd_send_command (0x40);		//set start line 
	lcd_send_command (0x00);
	
	lcd_send_command (0xab);		//start oscillator
	
	lcd_send_command (0x66);		//DC-DC boost 5 times
	
	lcd_send_command (0x27);		//set regulator resistor
	
	lcd_send_command (0x81);		//set EV
	lcd_send_command (0x20);	
	lcd_send_command (0x54);		//set LCD bias resistor
	
	lcd_send_command (0x94);		//set  FRC PWM
	/**********************************************/
	lcd_send_command (0x88);		//set white gray
	lcd_send_command (0x00);
	
	lcd_send_command (0x89);	lcd_send_command (0x00);
	
	lcd_send_command (0x8a);		//set light gray
	lcd_send_command (0x09);
	
	lcd_send_command (0x8b);
	lcd_send_command (0x00);
	
	lcd_send_command (0x8C);		//set dark gray
	lcd_send_command (0x99);
	
	lcd_send_command (0x8d);
	lcd_send_command (0x00);
	
	lcd_send_command (0x8e);   		//set black gray
	lcd_send_command (0x99);
	
	lcd_send_command (0x8f);
	lcd_send_command (0x09);
	/**********************************************/
	lcd_send_command (0x2c);		//power control, open VC
	_delay_ms (2);
	lcd_send_command (0x2e);		//open VR
	_delay_ms (2);
	lcd_send_command (0x2f);		//open VF
	_delay_ms (2);
	lcd_send_command (0xaf);		//display ON
	_delay_ms (2);
	
	lcd_clr_all();
}




void lcd_set_xy (u8 page,u8 column)
{

	lcd_set_page(page);
	lcd_set_column(column);
}


void lcd_put_char (u8 asc)
{
	u8 i;
    u8 buf[6];
	asc -= 0x20;
	
	memcpy_P (buf,font6x8[asc],6);
	
	for (i=0;i<6;i++)
	{
		lcd_send_data (buf[i]);
		lcd_send_data (buf[i]);
	}
}

/******************************************************************************
 * Function:        void lcd_put_str (u8 page,u8 column,u8 *str)
 *
 * PreCondition:    None
 *
 * Input:           u8 page: page number
 *					u8 column: column number
 *					u8 *str: string point
 * Output:          None
 *
 * Side Effects:    None
 *
 * Overview:        This routine put 6*8 dot character on lcd.
 *
 * Note:            None.
 *****************************************************************************/
void lcd_put_str (u8 page,u8 column,u8 *str)
{
	lcd_set_xy(page,column);
	while ( * str )
	{	
		lcd_put_char (* str++);
	}
}

/***************************************************

****************************************************/
u8 page_temp;
u8 column_temp;
void lcd_put_big_char (u8 asc)
{
	u8 i;
    u8 buf[16];
	asc -= 0x20;
	
	memcpy_P (buf,font8x16[asc],16);
	
	for (i=0;i<8;i++)
	{
		lcd_send_data (buf[i]);
		lcd_send_data (buf[i]);
	}
	lcd_set_page (page_temp + 1);
	lcd_set_column (column_temp);
	for (i=8;i<16;i++)
	{
		lcd_send_data (buf[i]);
		lcd_send_data (buf[i]);
	}	
	lcd_set_page (page_temp);
	column_temp += 8;
}
/******************************************************************************
 * Function:        void lcd_put_big_str (u8 page,u8 column,u8 *str)
 *
 * PreCondition:    None
 *
 * Input:           u8 page: page number
 *					u8 column: column number
 *					u8 *str: string point
 * Output:          None
 *
 * Side Effects:    None
 *
 * Overview:        This routine put 16*8 dot character on lcd.
 *
 * Note:            It use the follow page.
 *****************************************************************************/
void lcd_put_big_str (u8 page,u8 column,u8 *str)
{
	lcd_set_xy(page,column);
	page_temp = page;
	column_temp = column;
	while ( * str )
	{	
		lcd_put_big_char (* str++);
	}
}


/*************************************
 * clear one page( 8 row).
 ************************************/

void lcd_clr_page(u8 page)
{
	u8 i = 0;
	lcd_set_page(page);
	
	/* 
	 * write 0 to this page
	 * write 256 times.( 128 dot/row, two data/dot)
	 *
	 */
	while (-- i)
		lcd_send_data(0);
	lcd_send_data(0);
}
/************************************
 * clear all screen.
 ***********************************/
void lcd_clr_all(void)
{
	u8 i;
	for (i=0;i<12;i++)
		lcd_clr_page(i);

}

/********************************************************************
	below's fuction is for test.
********************************************************************/

void font_test (void)
{

	lcd_put_str (0,0,"how are you ?");

	lcd_put_str (3,0,"how are you ?");
	
	lcd_put_big_str (7,0,"how are you ?");

	lcd_put_big_str (10,0,"how are you ?");
}




void gray_test (void)
{
	u8 i,j,k,l,m = 0xff,n = 0xff;
/*	
	lcd_send_command (0x10);
	lcd_send_command (0x00);

	lcd_set_column (0);
	for (k=0;k<6;k++)
	{
		
		//lcd_send_command (0xb6 + k);
		lcd_set_page (k);
		for (j=0;j<2;j++)
		{
			m = ~m;
			for (i=0;i<2;i++)
			{
				n = ~n;
				for (l=0;l<32;l++)
				{
					lcd_send_data (m);
					lcd_send_data (n);
				}
			
			}
		}
	}

*/
	for ( j=0;j<3;j++)
	{
		lcd_set_page(4*j);
		lcd_set_column(0);
		for (i= 0;i<=128;i++)
		{
			lcd_send_data (0xff);
			lcd_send_data (0xff);
		}
		
		lcd_set_page(4*j + 1);
		lcd_set_column(0);
		for (i= 0;i<=128;i++)
		{
			lcd_send_data (0xff);
			lcd_send_data (0);
		}
		
		lcd_set_page(4*j + 2);
		lcd_set_column(0);
		for (i= 0;i<=128;i++)
		{
			lcd_send_data (0);
			lcd_send_data (0xff);
		}
		
		lcd_set_page(4*j + 3);
		lcd_set_column(0);
		for (i= 0;i<=128;i++)
		{
			lcd_send_data (0);
			lcd_send_data (0);
		}
	}
/*		

	lcd_set_page(2);
	lcd_set_column(0);
	for (i= 0;i<255;i++)
		lcd_send_data (0xff);
lcd_send_data (0);	
	lcd_set_page(3);
	lcd_set_column(0);
	for (i= 0;i<255;i++)
		lcd_send_data (0);
lcd_send_data (0);
	lcd_set_page(4);
	lcd_set_column(0);
	for (i= 0;i<255;i++)
		lcd_send_data (0xff);		
lcd_send_data (0);		
	lcd_set_page(5 );
	lcd_set_column(0);
	for (i= 0;i<255;i++)
lcd_send_data (0);		lcd_send_data (0);		

*/


}

 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合久久99| 欧美一区二区大片| 国产精品亚洲视频| 日韩精品亚洲专区| 亚洲蜜桃精久久久久久久| 久久亚洲二区三区| 精品日韩一区二区三区| 欧美日韩一区中文字幕| 91丝袜国产在线播放| 国产激情91久久精品导航 | 久久天天做天天爱综合色| 欧美色图天堂网| 91麻豆国产在线观看| 成人av在线资源| 成人手机在线视频| 成人性生交大片免费看中文网站| 麻豆精品久久久| 久久精品av麻豆的观看方式| 亚洲黄色免费电影| 亚洲一区二区三区四区在线免费观看| 日本一区二区免费在线| 中文字幕av一区二区三区免费看| 久久久蜜桃精品| 国产欧美视频在线观看| 国产欧美日本一区二区三区| 国产精品久久久久久久蜜臀| 国产精品久久久久久久久免费相片| 欧美激情综合在线| 蜜臀av性久久久久蜜臀av麻豆 | 国产在线视视频有精品| 国产真实乱子伦精品视频| 久久66热re国产| 国产美女精品在线| 91免费视频网址| 欧美一区二区三区视频| 久久久亚洲国产美女国产盗摄 | 亚洲精品国产第一综合99久久| 一区二区三区国产精品| 美女在线观看视频一区二区| 国产综合久久久久久鬼色| jlzzjlzz欧美大全| 欧美精品在欧美一区二区少妇| 亚洲天天做日日做天天谢日日欢 | 国产精品视频麻豆| 亚洲大片精品永久免费| 国产**成人网毛片九色| 欧美片网站yy| 亚洲视频香蕉人妖| 美女在线视频一区| 欧美三级韩国三级日本三斤| 国产亚洲精品bt天堂精选| 亚洲靠逼com| 国产馆精品极品| 欧美成人三级在线| 亚洲大尺度视频在线观看| 成人免费看视频| 精品国产露脸精彩对白| 午夜精品成人在线视频| 色噜噜狠狠成人网p站| 国产丝袜美腿一区二区三区| 日韩国产精品91| 欧美精品久久一区| 亚洲一区二区精品3399| 91论坛在线播放| 成人欧美一区二区三区白人 | 久久奇米777| 久久精品国产免费| 精品国产凹凸成av人导航| 秋霞午夜av一区二区三区| 欧美精品1区2区3区| 亚洲h在线观看| 欧美日韩成人激情| 日本欧美一区二区三区乱码| 日韩一级大片在线观看| 久久精品久久精品| 国产网站一区二区| caoporm超碰国产精品| 一区二区成人在线观看| 欧美三级视频在线观看| 美国毛片一区二区三区| 欧美电影免费观看高清完整版在| 捆绑调教美女网站视频一区| 日韩三级在线免费观看| 国产酒店精品激情| 天堂va蜜桃一区二区三区漫画版| 欧美专区亚洲专区| 美女一区二区视频| 国产精品毛片久久久久久久| 欧美午夜电影在线播放| 九九视频精品免费| 亚洲人成网站影音先锋播放| 欧美肥妇free| 成人理论电影网| 日本va欧美va精品| 国产精品毛片高清在线完整版| 一本到三区不卡视频| 蜜臀久久久久久久| 自拍偷拍欧美激情| 日韩欧美一级二级三级久久久| 国产一区二区在线免费观看| 亚洲乱码国产乱码精品精小说| 精品国产伦理网| 欧洲av在线精品| 国产99久久久国产精品潘金| 亚洲www啪成人一区二区麻豆 | 亚洲一级片在线观看| 国产日韩精品久久久| 欧美日韩国产高清一区| 色狠狠一区二区| 成人国产电影网| 国产91综合一区在线观看| 美女视频黄a大片欧美| 日韩和欧美一区二区三区| 亚洲免费观看高清完整版在线观看熊| 久久色在线视频| 不卡电影一区二区三区| 紧缚奴在线一区二区三区| 欧美日韩免费观看一区二区三区 | 成人爱爱电影网址| 国内精品写真在线观看| 麻豆91精品视频| 蜜桃91丨九色丨蝌蚪91桃色| 国产不卡视频一区二区三区| 日本欧美在线观看| 久久精品噜噜噜成人av农村| 久久er精品视频| 国产另类ts人妖一区二区| 国产在线视频一区二区三区| 国产乱码精品1区2区3区| 大白屁股一区二区视频| 91麻豆国产在线观看| 欧美性猛交xxxx黑人交| 欧美一区二区三区影视| 久久久午夜电影| 一区二区三区成人| 久久精品国产色蜜蜜麻豆| 国产成人精品三级麻豆| 在线观看中文字幕不卡| 精品理论电影在线观看 | 日韩电影一区二区三区四区| 男人的天堂亚洲一区| 成人av电影在线网| 欧美老年两性高潮| 中文久久乱码一区二区| 亚洲一区二区在线播放相泽| 黄色小说综合网站| 欧美亚洲尤物久久| 久久先锋资源网| 洋洋成人永久网站入口| 国产在线精品一区二区不卡了 | 国产电影精品久久禁18| 欧美色成人综合| 自拍偷在线精品自拍偷无码专区 | 国产精品亚洲一区二区三区在线 | 91福利在线免费观看| 国产精品美女久久久久久久久| 亚洲动漫第一页| 9人人澡人人爽人人精品| 精品少妇一区二区三区在线播放 | 欧美zozozo| 亚洲成人午夜电影| 在线观看日韩毛片| 国产精品夫妻自拍| 国内久久精品视频| 日韩一区二区不卡| 日韩二区三区四区| 欧美日韩国产成人在线91| 一区二区三区精品在线观看| 色综合久久六月婷婷中文字幕| 欧美韩日一区二区三区四区| 国产一区二区成人久久免费影院| 欧美日韩一区在线观看| 亚洲永久精品大片| 欧美性受极品xxxx喷水| 亚洲精品国久久99热| 色婷婷亚洲综合| 亚洲一二三区在线观看| 欧美午夜影院一区| 亚洲国产sm捆绑调教视频 | 国产精品久久久一本精品| 国产不卡视频在线观看| 亚洲乱码中文字幕综合| 欧美丝袜第三区| 免费观看30秒视频久久| 精品成a人在线观看| 丁香激情综合国产| 亚洲品质自拍视频| 欧美一级欧美三级在线观看| 日韩av成人高清| 国产欧美日韩视频在线观看| 99在线精品视频| 日韩专区中文字幕一区二区| 久久噜噜亚洲综合| 欧美性受极品xxxx喷水| 麻豆成人av在线| 综合av第一页| 日韩欧美国产一区二区在线播放 | 成人午夜av在线| 视频一区欧美精品| 日本一区二区三级电影在线观看|