⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd320.c

📁 ads1.2的一个工程
💻 C
📖 第 1 页 / 共 2 页
字号:
			for(k=7;k>=0;k--){				data<<=4;				data|=((txtdata>>k)&0x1)*0xf;			}			*(pLCDBuffer16+i+j*40)=data;		}	}}extern char tbuf[];void LCD_printf(const char *format,...){	int i,j=0;	int LCDCurrentDspTxt=0;	va_list v_list;	char *ptr;	va_start(v_list, format);     // Initialize variable arguments. 	vsprintf(tbuf, format, v_list ); 	va_end(v_list);	ptr= tbuf;	if(LCDdspMode!=DspTxtMode)		return;	/*格式化字符串*/	for(i=0;ptr[i]!=0;i++){		if(ptr[i]=='\n'){	//换行			LCDCurrentPrnTxt++;			if(LCDCurrentPrnTxt>LCDRow-1){				LCDCurrentPrnTxt-=LCDRow;				LCDIsprnOverPage=TRUE;			}			if(LCDIsprnOverPage)				LCDCurrentDspTxt=LCDCurrentPrnTxt;			for(;j<LCDColumn;j++)	//补齐空格				LCDTxtBuffer[LCDCurrentPrnTxt][j]=0;			j=0;			}		else{			if(j<LCDColumn)				LCDTxtBuffer[LCDCurrentPrnTxt][j++]=ptr[i];		}	}	LCD_TxtRefresh(LCDCurrentDspTxt);}void LCD_ChangeMode(U8 mode){	LCDdspMode=mode;}void LCD_Refresh(void){	int i,j;	U32 lcddata;	U32 pixcolor;	//一个像素点的颜色	U8* pbuf=(U8*)LCDBuffer[0];	if(LCDdspMode!=DspGraMode)		return;	for(i=0;i<LCDWIDTH*LCDHEIGHT/8;i++){		lcddata=0;		for(j=28;j>=0;j-=4){			pixcolor=0xf-(pbuf[0]+pbuf[1]+pbuf[2])/48;	//变换RGB色彩为灰度			lcddata|=pixcolor<<j;			pbuf+=4;		}		*(pLCDBuffer16+i)=lcddata;	}}//文本模式下清除屏幕?void LCD_Cls(void) {	LCDCurrentPrnTxt=0,	//打印文本所在的行	LCDIsprnOverPage=FALSE;			memset(LCDTxtBuffer,0,LCDRow*LCDColumn);}void LCD_TOUCH_Test1(void){	int x,y;	LCD_ChangeMode(DspTxtMode);	LCD_Cls();	TchScr_init();	for(;;){	TchScr_GetScrXY(&x,&y);	LCD_printf("X=%d,Y=%d",x,y);	Delay(1000);	}}void LCD_TOUCH_Test2(void){	int x,y,i;	U32 TchScrAction=TCHSCR_ACTION_UP;//	POSMSG pmsg;	LCD_ChangeMode(DspTxtMode);//	LCD_Cls();	LCD_printf("begin TouchScreen Task\n");		for(;;){			if(TchScrAction==TCHSCR_ACTION_UP){				if(!((rPDATC&ADS7843_PIN_PEN)>>11)){					Delay(50);					if(!((rPDATC&ADS7843_PIN_PEN)>>11)){					TchScr_GetScrXY(&x, &y);					TchScrAction=TCHSCR_ACTION_DOWN;					LCD_printf("X=%d,Y=%d",x,y);					}				}			}			if(TchScrAction==TCHSCR_ACTION_DOWN){				if((rPDATC&ADS7843_PIN_PEN)>>11) {					Delay(50);					if((rPDATC&ADS7843_PIN_PEN)>>11) {							TchScrAction=TCHSCR_ACTION_UP;					}				}			}							OSTimeDly(15);		}}void LCD_SHOWPOINT(void){	int i,j;	LCD_ChangeMode(DspGraMode);	LCD_Cls();		for(i=0;i<5;i++) 		for(j=0;j<5;j++) 		LCDBuffer[i][j]=0xff;	LCD_Refresh();	Delay(2000);	for(i=0;i<5;i++) 		for(j=LCDWIDTH;j>LCDWIDTH-5;j--) 		LCDBuffer[i][j]=0xff;	LCD_Refresh();	Delay(2000);		}void LCD_TestShow3(void)//display one english word{		int i;	LCD_ChangeMode(DspTxtMode);	LCD_Cls();	/*	for(i=5;i<20;i++){		for(j=0;j<15;j++) 			{LCDTxtBuffer[i][j]='A'+i-5;			}		LCD_TxtRefresh(1);		Delay(2000);		}			//LCD_TxtRefresh(5);		*/	for(i=0;i<40;i++) LCD_printf("1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n");}//显示LCD的16级灰度void LCD_TestShow1(void){	int i,j,k;	U32 jcolor;		for(i=0,j=0;i<LCDHEIGHT,j<LCDWIDTH;i+=(1),j+=(LCDWIDTH/LCDHEIGHT))	{	LCDBuffer[i][j]=0xff;	}	Delay(3000);	LCD_Refresh();		for(i=0;i<LCDHEIGHT;i++){		jcolor = 0;		k=0x10;		for(j=0;j<LCDWIDTH;j++){		if(!(j%20)) {			k--;			jcolor=0x00000000|(k<<4)|(k<<8)|(k<<12)|(k<<16)|(k<<20)|(k<<24)|(k<<32)|k;		}				if(jcolor>0xffffffff) jcolor = 0xffffffff;		LCDBuffer[i][j]=jcolor;		}		LCD_Refresh();			}								LCD_Refresh();}//显示LCD的16级灰度void LCD_TestShow4(void){	int i,j,k;	U32 jcolor;		for(i=0,j=0;i<LCDHEIGHT,j<LCDWIDTH;i+=1,j+=(LCDWIDTH/LCDHEIGHT)) LCDBuffer[i][j]=0xff;	Delay(3000);	LCD_Refresh();	for(i=0;i<240;i++){		jcolor = 0;		k=0xf;		for(j=0;j<320;j++){		if(!(j%7)) {		k--;			jcolor=0x00000000|(k<<4)|(k<<8)|(k<<12)|(k<<16)|(k<<20)|(k<<24)|(k<<32)|k;		}		if(k == 0x0) k=0xf;		if(jcolor>0xffffffff) jcolor = 0xffffffff;		LCDBuffer[i][j]=jcolor;		}	}	LCD_Refresh();	Delay(15000);}void LCD_TestShow2(void){	int i,j;	for(j=0;j<240;j+=16){		for(i=0;i<40;i++){			*(pLCDBuffer16+0+i+j*40)=0xffffffff;			*(pLCDBuffer16+40+i+j*40)=0xeeeeeeee;			*(pLCDBuffer16+80+i+j*40)=0xdddddddd;			*(pLCDBuffer16+120+i+j*40)=0xcccccccc;			*(pLCDBuffer16+160+i+j*40)=0xbbbbbbbb;			*(pLCDBuffer16+200+i+j*40)=0xaaaaaaaa;			*(pLCDBuffer16+240+i+j*40)=0x99999999;			*(pLCDBuffer16+280+i+j*40)=0x88888888;			*(pLCDBuffer16+320+i+j*40)=0x77777777;			*(pLCDBuffer16+360+i+j*40)=0x66666666;			*(pLCDBuffer16+400+i+j*40)=0x55555555;			*(pLCDBuffer16+440+i+j*40)=0x44444444;			*(pLCDBuffer16+480+i+j*40)=0x33333333;			*(pLCDBuffer16+520+i+j*40)=0x22222222;			*(pLCDBuffer16+560+i+j*40)=0x11111111;			*(pLCDBuffer16+600+i+j*40)=0x00000000;			continue;			Delay(4000);			*(pLCDBuffer16+0+i+j*40)=0;			*(pLCDBuffer16+40+i+j*40)=0;			*(pLCDBuffer16+80+i+j*40)=0;			*(pLCDBuffer16+120+i+j*40)=0x0;			*(pLCDBuffer16+160+i+j*40)=0x0;		}	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -