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

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

?? pcf8833.c

?? 采用ATMEGA16驅動IC是PCF8533,對應LCD為NOIKA 6610,C語言格式。
?? C
字號:
/*

                         \\\|///
                       \\  - -  //
                        (  @ @  )
+---------------------oOOo-(_)-oOOo-------------------------+
|                                                           |
|                         CPU.c                             |
|                     by Xiaoran Liu                        |
|                        2005.3.16                          |
|                                                           |
|                    ZERO research group                    |
|                        www.the0.net                       |
|                                                           |
|                            Oooo                           |
+----------------------oooO--(   )--------------------------+
                      (   )   ) /
                       \ (   (_/
                        \_)     

*/
// 引入相關芯片的頭文件 
#include <avr/io.h>
#include "PCF8833.h"

/*----------------------------------------------------------*\
 | S1D15G00 Initialize                                      |
\*----------------------------------------------------------*/
void  S1D15G00SpiInit(void) {
//	SPCR |= (1<<MSTR)|(1<<SPE)|(1<<CPOL)|(1<<CPHA);
		// 設置SPI接口模式,MSTR=1,CPOL=1,CPHA=1,LSBF=0, fosc/4
//	SPSR |= (1<<SPI2X);//SPI時鐘倍速
	UCSRB |= (1<<TXEN)|(1<<UCSZ2)/*(1<<TXB8)*/;
		//發送使能;
	UBRRH = 0;
	UBRRL = 0x0c;
	UCSRC |= (1<<URSEL)|(1<<UMSEL)|(1<<UCSZ1)|(1<<UCSZ0)|(1<<UCPOL);
		//同步模式;UCSZ2:UCSZ1:UCSZ0 9Bit模式
	UCSRA |= (1<<MPCM);
/*    while((UCSRA & (1<<UDRE))==0);
	UCSRB &= ~(1<<TXB8);// bit8 = 0 : command
	UDR=Data;
	UCSRA|=(1<<UDRE);
    while((UCSRA & (1<<UDRE))==0);
*/
	}
/*----------------------------------------------------------*\
 | S1D15G00 Write Command                                   |
\*----------------------------------------------------------*/
void  S1D15G00WriteCommand(INT8U Data) {
//	INT16U temp=Data;
	cbi(LCD_CR_PORT,LCD_CS);
	
	sbi(LCD_CR_DDR, LCD_DATA);		//set SDI.DDR = 1
	cbi(LCD_CR_PORT, LCD_CS);		//set CS = L
	cbi(LCD_CR_PORT, LCD_CLK);		//set SCK = L
	cbi(LCD_CR_PORT, LCD_DATA);		//send 0, for command
	sbi(LCD_CR_PORT, LCD_CLK);		//set SCK = H, latch data
//Bit 0(MSB)
	cbi(LCD_CR_PORT, LCD_CLK);
	if(Data & 0x80)
		sbi(LCD_CR_PORT, LCD_DATA);
	else
		cbi(LCD_CR_PORT, LCD_DATA);
	sbi(LCD_CR_PORT, LCD_CLK);
//Bit 1
	cbi(LCD_CR_PORT, LCD_CLK);
	if(Data & 0x40)
		sbi(LCD_CR_PORT, LCD_DATA);
	else
		cbi(LCD_CR_PORT, LCD_DATA);
	sbi(LCD_CR_PORT, LCD_CLK);
//Bit 2
	cbi(LCD_CR_PORT, LCD_CLK);
	if(Data & 0x20)
		sbi(LCD_CR_PORT, LCD_DATA);
	else
		cbi(LCD_CR_PORT, LCD_DATA);
	sbi(LCD_CR_PORT, LCD_CLK);
//Bit 3
	cbi(LCD_CR_PORT, LCD_CLK);
	if(Data & 0x10)
		sbi(LCD_CR_PORT, LCD_DATA);
	else
		cbi(LCD_CR_PORT, LCD_DATA);
	sbi(LCD_CR_PORT, LCD_CLK);
//Bit 4
	cbi(LCD_CR_PORT, LCD_CLK);
	if(Data & 0x08)
		sbi(LCD_CR_PORT, LCD_DATA);
	else
		cbi(LCD_CR_PORT, LCD_DATA);
	sbi(LCD_CR_PORT, LCD_CLK);
//Bit 5
	cbi(LCD_CR_PORT, LCD_CLK);
	if(Data & 0x04)
		sbi(LCD_CR_PORT, LCD_DATA);
	else
		cbi(LCD_CR_PORT, LCD_DATA);
	sbi(LCD_CR_PORT, LCD_CLK);
//Bit 6
	cbi(LCD_CR_PORT, LCD_CLK);
	if(Data & 0x02)
		sbi(LCD_CR_PORT, LCD_DATA);
	else
		cbi(LCD_CR_PORT, LCD_DATA);
	sbi(LCD_CR_PORT, LCD_CLK);
//Bit 7(LSB)
	cbi(LCD_CR_PORT, LCD_CLK);
	if(Data & 0x01)
		sbi(LCD_CR_PORT, LCD_DATA);
	else
		cbi(LCD_CR_PORT, LCD_DATA);
	sbi(LCD_CR_PORT, LCD_CLK);
//done

	sbi(LCD_CR_PORT,LCD_CS);
	}
/*----------------------------------------------------------*\
 | S1D15G00 Write Data                                      |
\*----------------------------------------------------------*/
void  S1D15G00WriteData(INT8U Data) {
//	INT16U temp=Data;
	cbi(LCD_CR_PORT,LCD_CS);
	
	sbi(LCD_CR_DDR, LCD_DATA);		//set SDI.DDR = 1
	cbi(LCD_CR_PORT, LCD_CS);		//set CS = L
	cbi(LCD_CR_PORT, LCD_CLK);		//set SCK = L
	sbi(LCD_CR_PORT, LCD_DATA);		//send 1, for command
	sbi(LCD_CR_PORT, LCD_CLK);		//set SCK = H, latch data
//Bit 0(MSB)
	cbi(LCD_CR_PORT, LCD_CLK);
	if(Data & 0x80)
		sbi(LCD_CR_PORT, LCD_DATA);
	else
		cbi(LCD_CR_PORT, LCD_DATA);
	sbi(LCD_CR_PORT, LCD_CLK);
//Bit 1
	cbi(LCD_CR_PORT, LCD_CLK);
	if(Data & 0x40)
		sbi(LCD_CR_PORT, LCD_DATA);
	else
		cbi(LCD_CR_PORT, LCD_DATA);
	sbi(LCD_CR_PORT, LCD_CLK);
//Bit 2
	cbi(LCD_CR_PORT, LCD_CLK);
	if(Data & 0x20)
		sbi(LCD_CR_PORT, LCD_DATA);
	else
		cbi(LCD_CR_PORT, LCD_DATA);
	sbi(LCD_CR_PORT, LCD_CLK);
//Bit 3
	cbi(LCD_CR_PORT, LCD_CLK);
	if(Data & 0x10)
		sbi(LCD_CR_PORT, LCD_DATA);
	else
		cbi(LCD_CR_PORT, LCD_DATA);
	sbi(LCD_CR_PORT, LCD_CLK);
//Bit 4
	cbi(LCD_CR_PORT, LCD_CLK);
	if(Data & 0x08)
		sbi(LCD_CR_PORT, LCD_DATA);
	else
		cbi(LCD_CR_PORT, LCD_DATA);
	sbi(LCD_CR_PORT, LCD_CLK);
//Bit 5
	cbi(LCD_CR_PORT, LCD_CLK);
	if(Data & 0x04)
		sbi(LCD_CR_PORT, LCD_DATA);
	else
		cbi(LCD_CR_PORT, LCD_DATA);
	sbi(LCD_CR_PORT, LCD_CLK);
//Bit 6
	cbi(LCD_CR_PORT, LCD_CLK);
	if(Data & 0x02)
		sbi(LCD_CR_PORT, LCD_DATA);
	else
		cbi(LCD_CR_PORT, LCD_DATA);
	sbi(LCD_CR_PORT, LCD_CLK);
//Bit 7(LSB)
	cbi(LCD_CR_PORT, LCD_CLK);
	if(Data & 0x01)
		sbi(LCD_CR_PORT, LCD_DATA);
	else
		cbi(LCD_CR_PORT, LCD_DATA);
	sbi(LCD_CR_PORT, LCD_CLK);
//done
	
	sbi(LCD_CR_PORT,LCD_CS);
	}
/*----------------------------------------------------------*\
 | S1D15G00 Set Page Area                                   |
\*----------------------------------------------------------*/
void S1D15G00SetPageArea(char x1, char y1, char x2, char y2) {
	S1D15G00WriteCommand(SET_X_ADDR);
	S1D15G00WriteData(x1);
	S1D15G00WriteData(x2);
	S1D15G00WriteCommand(SET_Y_ADDR);
	S1D15G00WriteData(y1);
	S1D15G00WriteData(y2);
	S1D15G00WriteCommand(MEM_WRITE);
}
/*----------------------------------------------------------*\
 | S1D15G00 Clear LCD                                       |
\*----------------------------------------------------------*/
void S1D15G00ClearLcd(void) {
	unsigned int i;

	S1D15G00SetPageArea(0, 0, GLCD_X_END, GLCD_Y_END);
//	S1D15G00WriteCommand(RAMWR);
	for(i=0; i<(GLCD_PIXELX*GLCD_PIXELY);i++)//(GLCD_PIXELX*GLCD_PIXELY)
	{
		S1D15G00WriteData(0xFF);
		S1D15G00WriteData(0xFF);
	}
}
/*----------------------------------------------------------*\
 | Delay                                                    |
\*----------------------------------------------------------*/
void  Delay(INT32U  dly) {
	INT32U  i;

	for(; dly>0; dly--) 
		for(i=0; i<50000; i++);
	}
/*----------------------------------------------------------*\
 | S1D15G00 Initial                                         |
\*----------------------------------------------------------*/
void  S1D15G00Init(void) {
	sbi(LCD_CR_DDR,LCD_DATA);
	sbi(LCD_CR_DDR,LCD_CS);
	sbi(LCD_CR_DDR,LCD_CLK);
	sbi(LCD_CR_DDR,LCD_RST);

	sbi(LCD_CR_PORT,LCD_CS);
	Delay(1);
	cbi(LCD_CR_PORT,LCD_RST);
	Delay(6);
	sbi(LCD_CR_PORT,LCD_RST);
	Delay(6);
	sbi(LCD_CR_PORT,LCD_DATA);
	sbi(LCD_CR_PORT,LCD_CLK);
	Delay(6);

//	S1D15G00SpiInit();

	S1D15G00WriteCommand(SOFT_RESET);         //Temperature gradient set
	S1D15G00WriteCommand(BOOSTER_ON);      //Internal oscillation on
	S1D15G00WriteCommand(SLEEP_OUT);      //Sleep out

	S1D15G00WriteCommand(COLOR_INTERFACE);      //Partial display out
		S1D15G00WriteData(COLOR_16_BIT);	

	S1D15G00WriteCommand(COLOR_SET);	//256-color position set
		S1D15G00WriteData(0x00);
		S1D15G00WriteData(0x02);
		S1D15G00WriteData(0x04);
		S1D15G00WriteData(0x06);
		S1D15G00WriteData(0x09);
		S1D15G00WriteData(0x0B);
		S1D15G00WriteData(0x0D);
		S1D15G00WriteData(0x0F);

		S1D15G00WriteData(0x00);
		S1D15G00WriteData(0x02);
		S1D15G00WriteData(0x04);
		S1D15G00WriteData(0x06);
		S1D15G00WriteData(0x09);
		S1D15G00WriteData(0x0B);
		S1D15G00WriteData(0x0D);
		S1D15G00WriteData(0x0F);

		S1D15G00WriteData(0x00);
		S1D15G00WriteData(0x04);
		S1D15G00WriteData(0x0B);
		S1D15G00WriteData(0x0F);

	S1D15G00WriteCommand(MEM_CONTROL);      //Display control
		S1D15G00WriteData((0 << MEM_MX) | (1 << MEM_MY) | (1 << MEM_RGB) | (0 << MEM_VW) | (0 << MEM_LAO));	

	Delay(60);
	S1D15G00WriteCommand(DISPLAY_ON);      //Display control

	}


#include "8X16.h"

void PutChar(INT8U x, INT8U y, char c, INT16U f, INT16U b) {
	unsigned int i,j;
	INT8U fRed,fGreenBlue,bRed,bGreenBlue;
	fRed = (f>>8) & 0xFF; fGreenBlue = f & 0xFF;
	bRed = (b>>8) & 0xFF; bGreenBlue = b & 0xFF;
	S1D15G00SetPageArea(x, y, x+8-1, y+16-1);
	for(i=0; i<16;i++) {
		INT8U m=pgm_read_byte(font+c*16+i);
		for(j=0;j<8;j++) {
			if((m&0x80)==0x80) {
				S1D15G00WriteData(fRed);
				S1D15G00WriteData(fGreenBlue);
				}
			else {
				S1D15G00WriteData(bRed);
				S1D15G00WriteData(bGreenBlue);
				}
			m<<=1;
			}
		}
	}

void PutString(INT8U x, INT8U y, char *s, INT16U f, INT16U b) {
	INT8U l=0;
	while(*s) {
		PutChar(x+l*8,y,*s,f,b);
		s++;l++;
		}
	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久亚洲一级片| 国产成人av一区二区三区在线| 日韩福利视频导航| 丁香啪啪综合成人亚洲小说| 欧美日韩国产片| 中文字幕在线一区| 国精产品一区一区三区mba桃花| 色视频欧美一区二区三区| 精品少妇一区二区三区在线视频| 亚洲伦在线观看| 国产91丝袜在线播放九色| 51精品国自产在线| 亚洲精品大片www| 成人精品免费视频| 久久免费的精品国产v∧| 免费看日韩精品| 91高清视频在线| 中文字幕在线视频一区| 从欧美一区二区三区| 久久亚洲精品小早川怜子| 免播放器亚洲一区| 精品视频一区 二区 三区| 亚洲欧美视频一区| 波多野洁衣一区| 中文av一区特黄| 国产高清视频一区| 久久九九99视频| 国产最新精品免费| 精品福利二区三区| 久久国产剧场电影| 日韩无一区二区| 日韩精品久久久久久| 欧美亚洲国产一卡| 亚洲国产视频直播| 在线免费视频一区二区| 一区二区三区高清在线| 欧美中文字幕一区二区三区| 一区二区三区在线观看国产| 日本高清视频一区二区| 亚洲一区二区三区激情| 欧美精品黑人性xxxx| 日韩二区在线观看| 精品免费一区二区三区| 国产一区二区三区日韩| 国产亚洲一区二区三区四区 | 久久影院电视剧免费观看| 久久99国产精品尤物| 精品国产乱码久久久久久闺蜜| 国产一区二区主播在线| 中文一区一区三区高中清不卡| 99精品黄色片免费大全| 亚洲一区二区欧美日韩| 欧美tk—视频vk| 大桥未久av一区二区三区中文| 日韩一区在线免费观看| 欧美日韩第一区日日骚| 国产一区二区三区久久久| 国产精品国产三级国产普通话99| 在线一区二区三区四区五区| 毛片av一区二区| 国产日产欧美一区| 欧美亚洲国产一区二区三区va | 欧美成人一区二区| 国产乱码精品1区2区3区| 国产精品乱码一区二三区小蝌蚪| 欧美最猛性xxxxx直播| 久久成人免费日本黄色| 综合精品久久久| 久久久久久久久一| 色综合天天综合在线视频| 青青草国产成人99久久| 日本一区二区三区电影| 91精品国产综合久久福利| 国产成人免费视频网站| 日韩中文字幕91| 国产精品视频一区二区三区不卡| 欧美日韩三级在线| 成人开心网精品视频| 免费高清在线视频一区·| 国产精品久久久久一区二区三区共| 精品视频一区二区不卡| 成人激情av网| 国内精品在线播放| 亚洲成av人综合在线观看| 中文在线免费一区三区高中清不卡| 欧美亚男人的天堂| 99久久久精品| 国产揄拍国内精品对白| 日韩专区中文字幕一区二区| 中文字幕亚洲视频| 久久久亚洲欧洲日产国码αv| 欧美精品一二三| 色乱码一区二区三区88| 成人在线视频首页| 韩国毛片一区二区三区| 日韩电影免费在线看| 一区二区不卡在线视频 午夜欧美不卡在| 国产日韩欧美不卡| 精品第一国产综合精品aⅴ| 欧美日韩亚洲综合在线| 在线精品亚洲一区二区不卡| 成人手机在线视频| 国产99久久久国产精品潘金网站| 美女一区二区久久| 日本欧美一区二区三区| 日韩不卡一二三区| 亚洲一区在线观看视频| 亚洲综合色丁香婷婷六月图片| 国产精品免费网站在线观看| 日本一区二区三区国色天香| 久久久精品免费免费| 久久毛片高清国产| 国产欧美视频在线观看| 国产日韩欧美a| 中文字幕免费不卡| 国产精品国产三级国产普通话99| 国产精品女主播在线观看| 国产欧美日韩视频在线观看| 国产精品欧美精品| 亚洲三级电影网站| 亚洲色图欧美偷拍| 亚洲综合色噜噜狠狠| 天堂精品中文字幕在线| 蜜桃精品视频在线观看| 经典三级一区二区| 国产毛片精品视频| 成人午夜av影视| 色爱区综合激月婷婷| 色吊一区二区三区| 欧美日本在线视频| 欧美精品一区二区三区蜜桃| 国产网站一区二区三区| 亚洲少妇最新在线视频| 亚洲国产一区二区视频| 麻豆精品在线播放| 国产91丝袜在线观看| 色综合久久久久综合体| 欧美一级片免费看| 国产视频一区二区在线观看| 亚洲乱码国产乱码精品精98午夜 | 91女人视频在线观看| 欧美日本一道本| 日韩欧美专区在线| 国产精品无圣光一区二区| 亚洲另类一区二区| 九色综合国产一区二区三区| av一区二区三区四区| 制服视频三区第一页精品| 国产视频一区二区三区在线观看| 一区二区三区av电影| 久久精品国产99| 91碰在线视频| 精品嫩草影院久久| 亚洲一区二区三区免费视频| 黄色精品一二区| 欧美日韩小视频| 国产午夜精品在线观看| 调教+趴+乳夹+国产+精品| 成人精品免费网站| 日韩片之四级片| 亚洲国产美国国产综合一区二区| 国产剧情av麻豆香蕉精品| 欧美日韩日日骚| 中文字幕一区在线观看视频| 日本成人中文字幕| 一本一本大道香蕉久在线精品| 2017欧美狠狠色| 无码av免费一区二区三区试看| 不卡的av网站| 欧美成人vps| 亚洲大尺度视频在线观看| 成人av在线电影| 欧美mv日韩mv国产网站app| 午夜精品久久久久影视| 91亚洲精华国产精华精华液| 国产视频一区二区三区在线观看| 视频一区二区中文字幕| 91高清视频在线| 亚洲啪啪综合av一区二区三区| 国产激情91久久精品导航 | 久久99深爱久久99精品| 在线亚洲+欧美+日本专区| 中文字幕一区在线观看视频| 国产成人精品影视| 欧美精品一区二区不卡 | 日韩欧美三级在线| 亚洲第四色夜色| 欧美熟乱第一页| 一区二区在线观看不卡| 97精品国产露脸对白| 国产精品女同一区二区三区| 国产伦精品一区二区三区在线观看| 欧美一区二区性放荡片| 日本aⅴ亚洲精品中文乱码| 欧美色精品在线视频| 亚洲一区在线观看网站| 欧美日韩中文精品| 婷婷久久综合九色综合绿巨人| 欧美三级一区二区| 亚洲国产欧美日韩另类综合|