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

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

?? lcd.c

?? ucosII在TMS320LF2407成功移植的源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*
*******************************************************************************
*                                              Shanghai Maritime University
*                                                 Pudong Avenue 1550#
*
*                                        (c)Copyright 2005,SMSC,Shanghai,China
*                                                    All Rights Reserved
*
*
*
*  Filename   : LCD.c
*  Programmer : Chen Jutao(Jason Chen)
*  Description: This C file is the dot matrix 2-screen LCD driver function file.
* 
********************************************************************************
*/  

//#include "Data_types.h"
#include "LCD_CFG.h"

/*
**************************************************************************
*                                     Declaration and macros of Functions in This File                 
**************************************************************************
*/

#ifndef CHAR
#define CHAR char
#endif

void DispInit(void);
void DispSetFont(INT8U fontIx,Disp_Bitmap_Attrib *font);
void DispSetPic(INT8U picIx,Disp_Bitmap_Attrib *pic);
void DispOnOff(BOOLEAN  toggle);
void DispClrScr (void);
void DispSetPageAddr (INT8U pageaddr);
void DispSetYAddr (INT8U Yaddr);
void DispSetStartLine (INT8U startline);
void DispDataWr(BOOLEAN left_right,INT8U data);

#if DISP_NONASCII_CHAR == 1
void DispNAChar(INT8U row,INT8U col,INT8U ix);
#endif

void DispChar (INT8U row,INT8U col,CHAR c);
void DispBitmap(INT8U row, INT8U col,INT8U bitmapTotalPages,INT8U bitmapWidth,INT8U *bitmapData,INT8U dataArrayStartIx);
BOOLEAN DispSetCursor (INT8U row,INT8U col);
void DispStr(INT8U row,INT8U col, CHAR *s);

#if DISP_PICTURE == 1
void DispGraphic(INT8U row,INT8U col);
#endif



#define TRANS(c,i) c*CurBitmap.BitmapArrayLength+i

Disp_Bitmap_Attrib CurBitmap;


/*
**************************************************************************
*                                           Dummy for a Period of  Time
*
* Description :  This function is used to delay a period and cpu can do nothing.
* Arguments  :  'counts' is the dummy counts.                                 
* Returns      :   None.                  
**************************************************************************
*/

static void Delay(INT16U counts)
{
	int i;
	for(i=0;i<counts;i++);	
}

/*
**************************************************************************
*                                            Set the Font
*
* Description :  This function is used to set the attribute values of the font that is currently used.
* Arguments  :  'fontIx' is the index of the font to be set in system font table;
*                      'font' is the pointer of font bitmap structure variable.
* Returns      :   None.                  
**************************************************************************
*/
  void DispSetFont(INT8U fontIx,Disp_Bitmap_Attrib *font)
{
       INT_DISABLE()
        *font=FontTable[fontIx];
	INT_ENABLE()   
}


#if DISP_PICTURE == 1
/*
**************************************************************************
*                                            Set the Picture
*
* Description :  This function is used to set the picture that is to display.
* Arguments  :  'picIx' is the index of the picture to be displayed  in system picture table;
*                      'pic' is the pointer of picture bitmap structure variable.
* Returns      :   None.                  
**************************************************************************
*/
  void DispSetPic(INT8U picIx,Disp_Bitmap_Attrib *pic)
{
        INT_DISABLE()
        *pic=PicTable[picIx];
	 INT_ENABLE()
}

#endif
/*
**************************************************************************
*                                            Initialize the LCD Screen
*
* Description :  This function is used to initialize the LCD screen.System default font will be 
*                      set, and display will be cleared and then turned on.If in multitask mode, the
*                      binary semaphore of dispaly will also be created.
* Arguments  :  None                                  
* Returns      :   None.                  
**************************************************************************
*/
 void DispInit(void)
{
#if MULTITASK == 1
       DispSem=xOSSemBCreate(0, 1);
#endif
	 DispSetFont(FONT0,&CurBitmap);
        DispClrScr();
	 DispOnOff(TRUE);
	
}

/*
**************************************************************************
*                                            Turn-on or Turn-off the LCD
*
*  Description :  This function is used to turn-on or off the LCD.
*  Arguments :   'toggle' indicates turn-on or turn-off. 'TRUE' means ON;'FALSE' means
*                       OFF.                                    
*  Returns      :  None.                  
**************************************************************************
*/

void DispOnOff(BOOLEAN  toggle)
{
   
	if(toggle)
	  Disp_InstrAddr=DISP_CMD_TURNON; 
	else
	  Disp_InstrAddr=DISP_CMD_TURNOFF ;
	Disp_Aux_InstrAddr=DISP_CMD_AUXILIARY;
	return;
}
/*
**************************************************************************
*                                            Clear the LCD Screen
*
* Description :  This function is used to clear the LCD screen.
* Arguments :   None                                  
* Returns      :   None.                  
**************************************************************************
*/

void DispClrScr (void)
{
       INT8U i,j;
	   
#if MULTITASK == 1
     INT8U err;
     xOSSemTake(DispSem, 0, &err);
#endif

       DispSetStartLine(0);
       DELAY(1);
	  for(i=0;i<DISP_MAX_PAGES;i++)
	  {	DispSetPageAddr(i);DispSetYAddr(0);
	   for(j=0;j<DISP_MAX_COLS/2;j++)
	   	{
	   	  Disp_L_DataAddr=0;
	   	  Disp_Aux_InstrAddr=DISP_CMD_AUXILIARY;
	   	  DELAY(1);	  
	   	}
	   	DispSetPageAddr(i);DispSetYAddr(0);
	   for(j=0;j<DISP_MAX_COLS/2;j++)
	   	{
	   	  Disp_R_DataAddr=0;
	   	  Disp_Aux_InstrAddr=DISP_CMD_AUXILIARY;
	   	  DELAY(1);	  
	   	}
	}
#if MULTITASK == 1
     xOSSemGive(DispSem);
#endif	
}
/*
**************************************************************************
*                                     Set Page Address( X Address )
*
* Description :  This function is used to set X address(page address).
* Arguments  :   'pageaddr' is the page address to be set.It is from 0 to 7, if other value is 
*                      passed,it will be truncated.
* Returns      :   None.                  
**************************************************************************
*/

void DispSetPageAddr (INT8U pageaddr)
{
     pageaddr &=0x7;
     Disp_InstrAddr=DISP_CMD_SETPAGE+pageaddr;
     Disp_Aux_InstrAddr=DISP_CMD_AUXILIARY;
     DELAY(1);
	 return;
}

/*
**************************************************************************
*                                            Set Y Address 
*
* Description :  This function is used to set Y address(column address).
* Arguments  :  'Yaddr' is the Y address to be set.It is from 0 to 63, if other value is 
*                      passed,it will be truncated.
* Returns      :   None.                  
**************************************************************************
*/

void DispSetYAddr (INT8U Yaddr)
{
     Yaddr &=0x3F;
     Disp_InstrAddr=DISP_CMD_SETY+Yaddr;
     Disp_Aux_InstrAddr=DISP_CMD_AUXILIARY;
     DELAY(1);
	 return;
}

/*
**************************************************************************
*                                     Set start line
*
* Description :  This function is used to set start line.
* Arguments  :  'startline' is the start line to be set.It is from 0 to 63, if other value is 
*                      passed,it will be truncated.
* Returns      :   None.                  
**************************************************************************
*/

void DispSetStartLine (INT8U startline)
{
     startline &=0x3F;
     if(startline==0)
      Disp_InstrAddr=DISP_CMD_SETSTARTLINE;
     else
      Disp_InstrAddr=DISP_CMD_SETSTARTLINE+64-startline;
     Disp_Aux_InstrAddr=DISP_CMD_AUXILIARY;
     DELAY(1);
	 return;
}

/*

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人开心网精品视频| 中文字幕一区二区三区乱码在线 | 国产精品国产自产拍高清av王其| 26uuu欧美| 成人黄色软件下载| 亚洲国产精品嫩草影院| 精品人伦一区二区色婷婷| 91视视频在线观看入口直接观看www | 国产亚洲综合在线| 99久久久国产精品| 精品久久五月天| 日韩三级免费观看| 51精品国自产在线| 制服丝袜日韩国产| 在线观看欧美精品| 99免费精品在线| 成年人网站91| 91美女蜜桃在线| 在线观看欧美黄色| 色94色欧美sute亚洲线路二| 成人黄色大片在线观看| 亚洲九九爱视频| 国产精品三级在线观看| 欧美成人vr18sexvr| 欧美日韩高清在线| 91麻豆免费在线观看| 国精产品一区一区三区mba桃花| 欧美午夜在线一二页| 狠狠色丁香久久婷婷综| 国产美女在线精品| 欧美三级电影在线观看| ww亚洲ww在线观看国产| 亚洲日本中文字幕区| 亚洲日本青草视频在线怡红院| 欧美日韩一区二区三区在线| 精品国产免费一区二区三区香蕉| 国产成+人+日韩+欧美+亚洲| 欧美中文字幕一区二区三区| 2021中文字幕一区亚洲| 亚洲一区二区在线观看视频| 久久99国产精品麻豆| 91免费版在线看| 久久一区二区三区四区| 蓝色福利精品导航| 欧美日韩一区三区| 亚洲人成小说网站色在线 | 亚洲人成人一区二区在线观看| 成人自拍视频在线观看| 成人黄色a**站在线观看| 日本久久电影网| 91精品国产aⅴ一区二区| 久久久电影一区二区三区| 亚洲欧美日本韩国| 日本女优在线视频一区二区| 日本免费在线视频不卡一不卡二| 国产亚洲综合av| 亚洲一二三区视频在线观看| 日韩精品免费视频人成| 成人一级片网址| 日韩亚洲欧美中文三级| 国产亚洲精品7777| 日韩国产精品久久久| 色婷婷激情综合| 久久精品视频免费| 婷婷开心激情综合| 欧美在线观看18| 亚洲午夜三级在线| 91精品国产综合久久久蜜臀粉嫩 | 一区二区三区成人在线视频 | 奇米色一区二区三区四区| 国产成人在线网站| 在线观看免费视频综合| 久久夜色精品国产欧美乱极品| 日本福利一区二区| 久久精品视频在线免费观看 | 精品99999| 午夜不卡av免费| 色天天综合久久久久综合片| 中文字幕永久在线不卡| 国产成人在线视频网站| 久久精品一区蜜桃臀影院| 亚洲一区二区高清| 99久久国产综合色|国产精品| 成人精品在线视频观看| 日韩欧美一级二级| 亚洲超丰满肉感bbw| 欧美亚洲国产怡红院影院| 一区二区三区波多野结衣在线观看| 一区二区在线电影| 欧美在线综合视频| 亚洲大片精品永久免费| 欧美精品久久一区二区三区| 国产精品福利电影一区二区三区四区| 久久色在线观看| 风间由美一区二区三区在线观看 | 成人激情小说乱人伦| 欧美日韩一区在线观看| 精品一区二区三区视频| 日本一区二区三区视频视频| 99久久国产综合色|国产精品| 欧洲精品中文字幕| 日韩高清中文字幕一区| 欧美国产精品一区二区三区| 国产高清不卡一区| 亚洲国产中文字幕| 2023国产精华国产精品| 欧美中文字幕一区| 成人免费高清在线观看| 午夜一区二区三区在线观看| 久久久不卡网国产精品一区| 91亚洲男人天堂| 午夜精品久久久| 日韩欧美成人一区二区| 91欧美一区二区| 韩国成人福利片在线播放| 亚洲一区二区三区在线| 久久久久久久久99精品| 欧美日韩在线播放一区| 国产剧情一区二区| 免费观看一级欧美片| 一区二区三区免费看视频| 国产欧美日韩另类视频免费观看| 日韩高清欧美激情| 亚洲高清一区二区三区| 一区二区三区四区乱视频| 久久久综合激的五月天| 欧美一级高清片在线观看| 欧美中文字幕亚洲一区二区va在线| 国产精品视频观看| 国产日本一区二区| 久久蜜臀精品av| 久久嫩草精品久久久精品| 欧美性色欧美a在线播放| 99re这里只有精品首页| av电影在线观看一区| 成人国产一区二区三区精品| 日本午夜一区二区| 午夜av区久久| 日本不卡视频在线| 国产在线精品不卡| 精品在线免费观看| 国产精品一区一区三区| 国产专区综合网| 色又黄又爽网站www久久| 欧美喷水一区二区| 中文字幕欧美三区| 午夜精品一区在线观看| 国产成人啪免费观看软件| 色综合色综合色综合色综合色综合| 欧美aaaaaa午夜精品| av在线播放成人| 欧美一级日韩一级| 一区二区三区四区在线| 欧美aaa在线| 欧美天堂一区二区三区| 国产日韩成人精品| 久久国产精品露脸对白| 一本色道**综合亚洲精品蜜桃冫| 国产成人精品综合在线观看| 91久久国产最好的精华液| 欧美成人福利视频| 丝袜美腿成人在线| 91国偷自产一区二区开放时间| aa级大片欧美| 亚洲精品在线一区二区| 天天操天天干天天综合网| 91久久精品日日躁夜夜躁欧美| 色吧成人激情小说| 国产精品美女www爽爽爽| 黄色小说综合网站| 精品国产乱码久久久久久浪潮| 欧美日产在线观看| 亚洲一区二区四区蜜桃| 成人伦理片在线| 中文字幕一区二区日韩精品绯色| 中文在线资源观看网站视频免费不卡| 99久久久精品| 久久免费美女视频| 国产真实乱偷精品视频免| 日本久久一区二区| 国产精品久久久久久久久快鸭 | 久久精品噜噜噜成人av农村| 亚洲一区免费在线观看| av激情综合网| 久久看人人爽人人| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 欧美艳星brazzers| 9i在线看片成人免费| 亚洲第一成年网| 精品国产一区a| 蜜芽一区二区三区| 91婷婷韩国欧美一区二区| 久久五月婷婷丁香社区| 久久激情五月婷婷| 欧美一级夜夜爽| 国产一区二区三区免费看| 亚洲蜜桃精久久久久久久| 在线免费观看一区| 亚洲激情综合网| 色婷婷国产精品|