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

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

?? main.c

?? NOKIA3100的LCD驅動源程序
?? C
字號:
	#include <avr/io.h>
	#include <avr/signal.h>
	#include <avr/interrupt.h>
	#include <avr/delay.h> 

#define csl PORTD&=~_BV(PD1) //PD1
#define csh PORTD|=_BV(PD1) 

#define restl PORTD&=~_BV(PD0)  //PD0
#define resth PORTD|=_BV(PD0) 

#define sclkl PORTB&=~_BV(PB7)  //PB7
#define sclkh PORTB|=_BV(PB7) 

#define sdatal PORTB&=~_BV(PB5)  //PB5
#define sdatah PORTB|=_BV(PB5) 

#define GLCD_PIXELX			131
#define GLCD_PIXELY			131
#define GLCD_CACHE_SIZE		((GLCD_PIXELX * GLCD_PIXELY) / 8)
#define GLCD_X_END			GLCD_PIXELY
#define GLCD_Y_END			GLCD_PIXELY

#define GLCD_SER_PORT		PORTB
#define GLCD_SER_DDR		DDRB

// Colors
#define BLACK				0x00 		 //黑色
#define WHITE				0xFF		 //白色
#define RED					0x03		 //紅色
#define GREEN				0x1C		 //綠色
#define BLUE				0xE0		 //藍色
#define MAGENTA				0xE3		 //洋紅
#define YELLOW				0x1F		 //黃色
#define CYAN				0xFC		 //青色

#define MEMWRITE			0x5C
#define ADDRX				0x75
#define ADDRY				0x15

typedef struct {
    unsigned char X1;
    unsigned char Y1;
    unsigned char X2;
    unsigned char Y2;
} glcdRect_t;

glcdRect_t      glcd_Clip;
#define glcdDoSwapCoord(x, y) {unsigned char t = x; x = y; y = t;}
#define glcdDoCheckCoord(x, y) {if (x > y) {glcdDoSwapCoord(x, y)}}
#define glcdSetRect(r,x1,y1,x2,y2) {r.X1 = x1; r.Y1 = y1; r.X2 = x2; r.Y2 = y2;}

unsigned char Color1=0,Color2=0;
unsigned char memAccessCtrl=0,zx=0,zy=0;
unsigned char colora,colorb;

int discode[192]=
{//廣[16*16]上下列排
0x00,0x02,0x00,0x0C,0x3F,0xF0,0x20,0x00,
0x20,0x00,0x20,0x00,0x20,0x00,0xA0,0x00,
0x60,0x00,0x20,0x00,0x20,0x00,0x20,0x00,
0x20,0x00,0x60,0x00,0x20,0x00,0x00,0x00,

//東[16*16]上下列排
0x10,0x00,0x10,0x02,0x10,0x84,0x11,0x88,
0x16,0xB0,0x18,0x82,0xF0,0x81,0x17,0xFE,
0x10,0x80,0x10,0xA0,0x10,0x90,0x11,0x8C,
0x10,0x86,0x30,0x00,0x10,0x00,0x00,0x00,

//工[16*16]上下列排
0x00,0x04,0x20,0x04,0x20,0x04,0x20,0x04,
0x20,0x04,0x20,0x04,0x20,0x04,0x3F,0xFC,
0x20,0x04,0x20,0x04,0x20,0x04,0x20,0x04,
0x60,0x04,0x20,0x0C,0x00,0x04,0x00,0x00,

//業[16*16]上下列排
0x00,0x02,0x08,0x02,0x06,0x02,0x01,0xE2,
0x00,0x02,0xFF,0xFE,0x00,0x02,0x00,0x02,
0x00,0x02,0xFF,0xFE,0x00,0x22,0x00,0xC2,
0x03,0x02,0x0C,0x06,0x00,0x02,0x00,0x00,

//大[16*16]上下列排
0x04,0x00,0x04,0x02,0x04,0x02,0x04,0x04,
0x04,0x08,0x04,0x30,0x05,0xC0,0xFE,0x00,
0x05,0x80,0x04,0x60,0x04,0x10,0x04,0x08,
0x04,0x04,0x0C,0x06,0x04,0x04,0x00,0x00,

//學[16*16]上下列排
0x02,0x20,0x0C,0x20,0x88,0x20,0x69,0x20,
0x09,0x20,0x09,0x22,0x89,0x21,0x69,0x7E,
0x09,0x60,0x09,0xA0,0x19,0x20,0x28,0x20,
0xC8,0x20,0x0A,0x60,0x0C,0x20,0x00,0x00};

unsigned int  a;
int x=0;


void glcdn_WriteData(unsigned char myData)
{
	csl;   
	sclkl; 
	sdatah;
	sclkh; 
	sclkl;
	SPCR = 0x50; 
	SPDR = myData;
	while(!(SPSR & 0x80));
	csh;
	SPCR = 0x00;
}

void glcdn_WriteCommand(unsigned char myData)
{
	csl;
	sclkl;
	sdatal;
	sclkh;
	sclkl;
	SPCR = 0x50;
	SPDR = myData;
	while(!(SPSR & 0x80));
	csh;
	SPCR = 0x00;	
}


void glcdn_SetPageArea(char x1, char x2, char y1, char y2)
{
	glcdn_WriteCommand(ADDRX);
	glcdn_WriteData(x1+1);
	glcdn_WriteData(x2+1);
	glcdn_WriteCommand(ADDRY);
	glcdn_WriteData(y1+1);
	glcdn_WriteData(y2+1);
}


void write()
{
	int g;
	for(g=0;g<8;g++)
	 {
	 if(a&0x80)
	 {
	  glcdn_WriteData(colora);
	  glcdn_WriteData(colora);
	  }
	 else
	 {
	  glcdn_WriteData(colorb);
	  glcdn_WriteData(colorb);
	 }
	  a<<=1;
	 } 
}

void glcdDoFillRect(unsigned char x1, unsigned char y1, unsigned char x2, unsigned char y2) 
{
    if ((x1 > glcd_Clip.X2) | (x2 < glcd_Clip.X1) | (y1 > glcd_Clip.Y2) | (y2 < glcd_Clip.Y1)) {return;}
    if (x1 < glcd_Clip.X1) {x1 = glcd_Clip.X1;}
    if (y1 < glcd_Clip.Y1) {y1 = glcd_Clip.Y1;}
    if (x2 > glcd_Clip.X2) {x2 = glcd_Clip.X2;}
    if (y2 > glcd_Clip.Y2) {y2 = glcd_Clip.Y2;}
     
    glcdn_SetPageArea(x1,x2,y1,y2);
    glcdn_WriteCommand(MEMWRITE);
}

void glcdRectangle(unsigned char x1, unsigned char y1, unsigned char x2, unsigned char y2) 
{
    glcdDoCheckCoord(x1, x2);
    glcdDoCheckCoord(y1, y2);
    glcdDoFillRect(x1, y1, x2, y2);   	
}

void glcdn_ClearLcd()
{
 	 unsigned int i;
	glcdn_SetPageArea(0, GLCD_X_END, 0, GLCD_Y_END);
	glcdn_WriteCommand(MEMWRITE);

	for(i=0; i<(GLCD_PIXELX*GLCD_PIXELY);i++)
	{
		glcdn_WriteData(Color1);
		glcdn_WriteData(Color2);
	}

}

void init_lcd()
{
	PORTB=0XF9;
	GLCD_SER_DDR = 0xA0;
	PORTD=0x0F;
	DDRD=0x03;
	PORTA=0XFF;
	DDRA=0X00;
	DDRC=0X00;
	PORTC=0XFF;
    csh;
	asm("nop");
	csl;
	restl;
	_delay_ms(1);
	resth;
	_delay_ms(1);
	sclkh;
	sdatah;
	csh;
	_delay_ms(1);		
	
	glcdn_WriteCommand(0x82);
	glcdn_WriteData(1);
	int w;
	for(w=0;w<13;w++) glcdn_WriteData(0);
	
	glcdn_WriteCommand(0xD1);
	
	glcdn_WriteCommand(0xCA);
	glcdn_WriteData(0x0f);	
	glcdn_WriteData(0x20);	
	glcdn_WriteData(0x0f);	
	glcdn_WriteData(0x01);	
	
	glcdn_WriteCommand(0x94);

	glcdn_WriteCommand(0xA9);

	glcdn_WriteCommand(0x20);
	glcdn_WriteData(0x0f);	

	glcdn_WriteCommand(0x81);
	glcdn_WriteData(0x0f);
	glcdn_WriteData(0x05);
	
	glcdn_WriteCommand(0xA7);
	
	glcdn_WriteCommand(0xBC);
	glcdn_WriteData(0x04);
	glcdn_WriteData(0x00);
	glcdn_WriteData(0x04);

	glcdn_WriteCommand(0xBB);
	glcdn_WriteData(0x01);
	
	glcdn_WriteCommand(0xAF);
	
	glcdn_WriteCommand(0xCE);
	glcdn_WriteData(0x00);
	glcdn_WriteData(0x01);
	glcdn_WriteData(0x02);
	glcdn_WriteData(0x03);
	glcdn_WriteData(0x04);
	glcdn_WriteData(0x05);
	glcdn_WriteData(0x06);
	glcdn_WriteData(0x07);

	glcdn_WriteData(0x00);
	glcdn_WriteData(0x01);
	glcdn_WriteData(0x02);
	glcdn_WriteData(0x03);
	glcdn_WriteData(0x04);
	glcdn_WriteData(0x05);
	glcdn_WriteData(0x06);
	glcdn_WriteData(0x07);

	glcdn_WriteData(0x00);
	glcdn_WriteData(0x01);
	glcdn_WriteData(0x02);
	glcdn_WriteData(0x03);

	glcdn_ClearLcd();
}

void RGB2(unsigned char red,unsigned char green,unsigned char blue)
{
 	 Color1=(red&0xf0>>4);
	 Color2=(green&0xf0)|((blue&0xf0)>>4);	
}

int main(void)
{	  
	 MCUCR=0x00;
	GICR=0x40;
	sei();
 	 SPCR = (1<<SPE) | (1<<MSTR) | (1<<CPHA) | (1<<CPOL);
	 RGB2(255,255,255);
     glcdSetRect(glcd_Clip, 0, 0, 130, 130);
	 init_lcd();			//初始化LCD

	 RGB2(255,255,255);		
	 glcdn_ClearLcd(); 		//清屏
	 	 
	while(1)
	{ 
	int h;
	int b=0,c=32,d=0,e=0,f=15,g=15;
	 colora=0x00;			//黑色
	 colorb=0xff;
	 for(h=0;h<6;h++)
	  {
		glcdRectangle(d,e,f,g); 
		for(b;b<c;b++)
		{
		a=discode[b];
		write();
		} 
		c=c+32;
		_delay_ms(500);	
		d=f+1;
		e=g+1;
		f=f+16;
		g=g+16;	
	  }	 	
	 RGB2(255,255,255);		
	 glcdn_ClearLcd(); 		//清屏
	} 	 
}


SIGNAL (SIG_INTERRUPT0)
{
MCUCR=0X00;
while(!(PIND&0X04));
_delay_ms(500);
x++;
if(x==1)
	{
	PORTB|=_BV(PB2);
	}
else 
	{
	DDRB&=~_BV(PB2);
	PORTB&=~_BV(PB2);
	x=0;
	}	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩免费在线视频| 亚洲成人动漫在线免费观看| 69成人精品免费视频| 一本色道亚洲精品aⅴ| 国产精品一二三四| 美国三级日本三级久久99| 午夜精品久久久久影视| 亚洲永久免费av| 亚洲一卡二卡三卡四卡无卡久久| 日本一区二区在线不卡| 欧美国产日韩在线观看| 久久精品夜色噜噜亚洲aⅴ| 欧美精品一区二区三区在线播放 | 国产女人18水真多18精品一级做| 精品国产一区二区三区不卡 | 日韩精品在线网站| 精品国产凹凸成av人导航| 欧美mv日韩mv| 国产女人18水真多18精品一级做| 亚洲国产高清aⅴ视频| 国产精品狼人久久影院观看方式| 欧美国产欧美综合| 亚洲视频图片小说| 亚洲福利国产精品| 日本aⅴ亚洲精品中文乱码| 久久爱www久久做| 国产成人午夜高潮毛片| 91亚洲午夜精品久久久久久| 欧美日韩另类国产亚洲欧美一级| 91精品国产综合久久蜜臀| 欧美xxxxx裸体时装秀| 中文字幕不卡在线观看| 亚洲午夜在线电影| 精品无人区卡一卡二卡三乱码免费卡| 国产福利91精品| 在线视频你懂得一区二区三区| 欧美精品乱码久久久久久| 久久夜色精品国产噜噜av| 亚洲另类在线一区| 久草中文综合在线| 成人午夜大片免费观看| 欧美男生操女生| 国产免费成人在线视频| 亚洲国产精品久久久久婷婷884| 黄色小说综合网站| 欧美日韩一区二区三区在线| 国产午夜亚洲精品不卡| 香蕉久久一区二区不卡无毒影院| 激情深爱一区二区| 欧美视频一二三区| 国产精品久久一卡二卡| 一区二区免费在线播放| 美女视频网站久久| 欧美中文字幕一区二区三区亚洲| 欧美成人video| 亚洲欧洲日本在线| 精品一区二区三区日韩| 欧美性高清videossexo| 亚洲国产岛国毛片在线| 久久精品噜噜噜成人av农村| 欧美在线一区二区三区| 亚洲欧洲av另类| 国产在线一区观看| 日韩视频免费观看高清在线视频| 亚洲三级久久久| av福利精品导航| 国产精品免费免费| 韩国成人精品a∨在线观看| 欧美日韩国产小视频| 一区二区在线看| thepron国产精品| 国产午夜精品一区二区| 老司机午夜精品99久久| 日韩一区二区精品葵司在线| 亚洲自拍偷拍欧美| 成人免费视频播放| 日本一二三四高清不卡| 高清在线观看日韩| 国产午夜精品久久久久久久| 韩国视频一区二区| www日韩大片| 国精产品一区一区三区mba视频| 日韩美女一区二区三区四区| 另类小说图片综合网| 精品国内二区三区| 国产馆精品极品| 国产精品久久久久久福利一牛影视| 岛国精品一区二区| 亚洲国产精华液网站w| 99久久精品国产网站| 亚洲色图19p| 精品视频全国免费看| 日韩中文字幕一区二区三区| 欧美性生交片4| 蜜桃视频在线观看一区| 国产亚洲欧洲一区高清在线观看| 高清日韩电视剧大全免费| 亚洲欧美在线视频| 欧美三级在线播放| 国产最新精品免费| 亚洲人一二三区| 91精品免费观看| 国产成人午夜精品影院观看视频 | 99久久精品免费看| 亚洲五月六月丁香激情| 日韩一级成人av| 久久99精品久久久久久动态图| 色网站国产精品| 亚洲国产成人私人影院tom| 亚洲精品写真福利| 国产高清在线精品| 精品不卡在线视频| 久久99热狠狠色一区二区| 欧美主播一区二区三区| 色婷婷综合中文久久一本| 亚洲免费伊人电影| 91麻豆高清视频| 亚洲一区影音先锋| 欧美丝袜丝nylons| 日本欧美在线观看| 欧美成人vr18sexvr| 国产成人精品亚洲777人妖 | 91麻豆精品国产自产在线| 亚洲一二三四在线| 国产91在线观看| 亚洲特级片在线| 欧美少妇bbb| 蜜臀a∨国产成人精品| 日韩欧美一区二区久久婷婷| 精品一区二区久久| 精品国产一区二区三区不卡 | 国产高清成人在线| 欧美国产禁国产网站cc| 国产乱色国产精品免费视频| 国产亚洲欧洲一区高清在线观看| 国产成人一级电影| 国产精品毛片大码女人| 色一区在线观看| 亚洲二区视频在线| 日韩欧美不卡一区| 豆国产96在线|亚洲| 国产精品二三区| 欧美日韩精品欧美日韩精品| 精品一区二区日韩| 亚洲视频一区在线观看| 777色狠狠一区二区三区| 麻豆精品一区二区三区| 国产丝袜在线精品| 日本sm残虐另类| 在线一区二区三区四区| 一区二区三区在线影院| 欧美一区二区在线免费观看| 亚洲自拍偷拍图区| 国产日韩三级在线| 欧美在线播放高清精品| 激情图片小说一区| 亚洲综合色区另类av| 国产欧美日韩在线| 日韩区在线观看| 欧美偷拍一区二区| www.欧美色图| 国产精品一区二区久久精品爱涩| 亚洲线精品一区二区三区 | a级精品国产片在线观看| 性久久久久久久久久久久 | 国产馆精品极品| 日本不卡一二三区黄网| 亚洲日本免费电影| 国产精品美女久久久久久久久久久| 91麻豆精品久久久久蜜臀| 色婷婷综合久久久中文一区二区| 精品亚洲成a人| 日韩成人av影视| 亚洲在线一区二区三区| 国产区在线观看成人精品| 欧美日韩的一区二区| 欧洲精品在线观看| 91网站黄www| av不卡免费在线观看| 国产大陆精品国产| 国产一区二区在线视频| 亚洲不卡av一区二区三区| 亚洲色图丝袜美腿| 亚洲女女做受ⅹxx高潮| 国产精品久久久久婷婷二区次| 欧美精品一区二区三区高清aⅴ| 欧美一区二区二区| 91超碰这里只有精品国产| 欧美色图在线观看| 欧美性xxxxx极品少妇| 欧美视频日韩视频| 欧美性色aⅴ视频一区日韩精品| 91蜜桃传媒精品久久久一区二区| 99久久婷婷国产综合精品电影 | 亚洲精品日韩综合观看成人91| 久久久亚洲高清| 337p日本欧洲亚洲大胆色噜噜| 欧美一区二区三区视频免费| 日韩午夜激情av| 日韩欧美在线网站|