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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? lcd.c

?? mb90340的擦寫FLASH區(qū)小小 程序
?? C
字號:
/* THIS SAMPLE CODE IS PROVIDED AS IS AND IS SUBJECT TO ALTERATIONS. FUJITSU */
/* MICROELECTRONICS ACCEPTS NO RESPONSIBILITY OR LIABILITY FOR ANY ERRORS OR */
/* ELIGIBILITY FOR ANY PURPOSES.                                             */
/*                 (C) Fujitsu Microelectronics Europe GmbH                  */
/*****************************************************************************
 *  LCD.C
 *  Routines for the optional LCD on the Flash-CAN-100P-340 			     
 *****************************************************************************/

#include "mb90340.h"
#include "LCD.h"

/*****************************************************************************
 *  Initdisp : Resets the LCD and configures the I/F for 4-Bit bus
 *****************************************************************************/
void LCDinitdisp(void) 
{
	PDR0=0;			/* Port 0 Off*/
	DDR0=0x0FF;		/* Set Port 0 to output */

	PDR0=0x34;		/* Startup sequence */
	LCDwait(200);
	PDR0=0x30;		
	LCDwait(50000);
	PDR0=0x34;
	LCDwait(200);
	PDR0=0x30;		
	LCDwait(50000);
	PDR0=0x34;
	LCDwait(200);
	PDR0=0x30;		
	LCDwait(50000);
	PDR0=0x24;
	LCDwait(200);
	PDR0=0x20;
	LCDwait(500);
	
	LCDoutb(0x028); 		/* Switch to 4-bit mode */
	LCDoutb(LCD_CUROFF);	/* No Cursor */
	LCDoutb(LCD_NOSHIFT);	/* No display shift */
	LCDoutb(LCD_HOME);		/* Cursor home */
	LCDoutb(LCD_CLR);		/* Display clear */
}



/*****************************************************************************
 *  OUTB		sends one byte to the display
 *  PARAMETERS:     8-bit data
 *  RETURNS:        None
 *****************************************************************************/
void LCDoutb(unsigned char a)	
{
	unsigned char b;
	b = (a & 0x70);		/* upper nibble   */
	if (a & 0x80)       /* check MSB       */
	{
	  b = (b | 0x01);   /* set RS line     */
	};
	b = (b | 0x04);		/* set E line      */
	PDR0 = b;			/* send to LCD     */
	LCDwait(10);
	b = (b & 0xFB);		/* clear E line    */
	PDR0 = b;			/* send to LCD     */
	LCDwait(10);

	b = (a & 0x0F);		/* lower nibble    */
	b = b << 4;		    /* to upper nibble */
	if (a & 0x80)       /* check MSB       */
	{
	  b = (b | 0x01);   /* set RS line     */
	};
	b = (b | 0x04);		/* set E line      */
	PDR0 = b;			/* send to LCD     */
	LCDwait(10);
	b = (b & 0xFB);		/* clear E line    */
	PDR0 =  b;			/* send to LCD     */
	LCDbusy();			/* check LCD       */
}

/*****************************************************************************
 *  BUSY	polls the busy-line (waits for the LCD to be ready)
 *  PARAMETERS:     None
 *  RETURNS:        None
 *****************************************************************************/
void LCDbusy(void)			
{
	unsigned char b;
	PDR0 = 0;			/* Port Off before reading ! */
	b = 0x80;	
	while (b & 0x80)	/* LCDwait for Busy-line */
	{
	 DDR0 = 0x0F;		/* set Bus as input to read LCD-busy-flag (LCD_D3) */
 	 PDR0 = 0xF6;		/* busy request */
	 LCDwait(200);
	 b = PDR0;		    /* read Port */
	 PDR0_P02 = 0;
	 PDR0_P02 = 1;		/* toggle E */
	 PDR0_P02 = 0;
	 PDR0_P01 = 0; 
	 DDR0 = 0xFF;		/* reset Port to output */
	}			
}


/*****************************************************************************
 *  GOTO            jump cursor to address
 *  PARAMETERS:     address
 *  RETURNS:        None
 *****************************************************************************/
void LCDgoto(unsigned char address)			
{
  PDR0 = (address & 0xF0) | 0x04;        /* upper nibble, set E line   */
  PDR0_P02 = 0;		                 /* clear E line */
  PDR0 = ((address<<4) & 0xF0) | 0x04;   /* lowe nibble, set E line   */
  PDR0_P02 = 0;		                 /* clear E line */
  PDR0 = 0;
  LCDbusy();	
}	 

/*****************************************************************************
 *  PRINT		    displays a string 
 *  PARAMETERS:     pointer to string
 *  RETURNS:        None
 *****************************************************************************/
void LCDprint(char *Name2)	
{
 unsigned char c;
 unsigned char b;	
 unsigned short i,l;

 l=strlen(Name2);
 for (i=0; i<l; i++) 		/* go through string */
  {
	c=(Name2[i]);		/* pick char */
	
    b=(c | 0x80); 	
    LCDoutb(b);	
  } 
}

/*****************************************************************************
 *  VERY PRIMITIVE DELAY LOOP *
 *****************************************************************************/
void LCDwait(unsigned long i)
{
 while(i--)
   __asm("\tNOP");
}


/*****************************************************************************
 *  PRINTNUM		shows integer value on LCD
 *  PARAMETERS:     integer value
 *  RETURNS:        None
 *****************************************************************************/
void LCDprintnum(int n)		
{

   float x;
   int l;	
   if (n < 10) 		/* only one digit value */
   {
    LCDoutb(0x0b0);	
    LCDoutb(0x0b0);	
    LCDoutb(0x0b0);	
    LCDoutb((n+48) | 128);
   }
   else if (n >= 10 && n<100)  /* two digit value */
   {
    LCDoutb(0x0b0);	
    LCDoutb(0x0b0);	
    LCDoutb(((n/10)+48) | 128);
    x = n-(10*(n / 10));
    l = x;
    LCDoutb((l+48) | 128);
   }
   else if (n >= 100 && n<1000)   /* show three digits */
   {
    LCDoutb(0x0b0);	
    LCDoutb(((n/100)+48) | 128);
    x = n-(100*(n / 100));
    n = x;
    LCDoutb(((n/10)+48) | 128);
    x = n-(10*(n / 10));
    l = x;
    LCDoutb((l+48) | 128);
   }
   else if (n >= 1000)   /* show four digits */
   {
    LCDoutb(((n/1000)+48) | 128);
    x = n-(1000*(n / 1000));
    n = x;
    LCDoutb(((n/100)+48) | 128);
    x = n-(100*(n / 100));
    n = x;
    LCDoutb(((n/10)+48) | 128);
    x = n-(10*(n / 10));
    l = x;
    LCDoutb((l+48) | 128);
   }

}

/*****************************************************************************
 *  DESCRIPTION:    displays a x-digit Hex-number (as ASCII charcaters)
 *
 *  PARAMETERS:     Value and number of Hex-digits (e.g. FF = 2 Hex digits)
 *
 *  RETURNS:        NONE
 *****************************************************************************/
void LCDprinthex(unsigned long n, unsigned char digits)
{
   const char ASCII[] = {48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70};
   unsigned char digit=0,div=0,i;

   div=(4*(digits-1));	/* init shift divisor */
   for (i=0;i<digits;i++)
   {
     digit = ((n >> div)&0xF); /* get hex-digit value */
     LCDoutb((ASCII[digit]) | 128);
     div-=4;     		/* next digit shift */
   }
}


/*****************************************************************************
 *  Print Time		displays time information (hh:mm:ss)
 *  PARAMETERS:     hours, minutes, seconds
 *  RETURNS:        None
 *****************************************************************************/

void LCDprinttime(int h,int m,int s)
{
   float x;
   int l;	

   if (h < 10) 		/* hours : only one digit value */
   {
    LCDoutb(0x0b0);	
    LCDoutb((h+48) | 128);
   }
   else if (h >= 10 && h<100)  /* two digit value */
   {
    LCDoutb(((h/10)+48) | 128);
    x = h-(10*(h / 10));
    l = x;
    LCDoutb((l+48) | 128);
   }

   LCDoutb(58 | 128); 

   if (m < 10) 		/* minutes : only one digit value */
   {
    LCDoutb(0x0b0);	
    LCDoutb((m+48) | 128);
   }
   else if (m >= 10 && m<100)  /* two digit value */
   {
    LCDoutb(((m/10)+48) | 128);
    x = m-(10*(m / 10));
    l = x;
    LCDoutb((l+48) | 128);
   }

   LCDoutb(58 | 128); 
   	
   if (s < 10) 		/* seconds : only one digit value */
   {
    LCDoutb(0x0b0);	
    LCDoutb((s+48) | 128);
   }
   else if (s >= 10 && s<100)  /* two digit value */
   {
    LCDoutb(((s/10)+48) | 128);
    x = s-(10*(s / 10));
    l = x;
    LCDoutb((l+48) | 128);
   }
}


/*****************************************************************************
 *  Print Date		displays date (DW DD-MM-YY)
 *  PARAMETERS:     dw(dayofweek),dr(day),mr(month),yr(year)
 *  RETURNS:        None
 *****************************************************************************/

void LCDprintdate(int dw,int dr,int mr, int yr)
{
   float x;
   int l;	

   switch(dw)			/* display day of week */
   {
    case 1:{LCDoutb(77 | 128); LCDoutb(79 | 128); break;}	/* MO */
    case 2:{LCDoutb(84 | 128); LCDoutb(85 | 128); break;}	/* TU */
    case 3:{LCDoutb(87 | 128); LCDoutb(69 | 128); break;}	/* WE */
    case 4:{LCDoutb(84 | 128); LCDoutb(72 | 128); break;}	/* TH */
    case 5:{LCDoutb(70 | 128); LCDoutb(82 | 128); break;}	/* FR */
    case 6:{LCDoutb(83 | 128); LCDoutb(65 | 128); break;}	/* SA */
    case 7:{LCDoutb(83 | 128); LCDoutb(85 | 128); break;}	/* SU */
   }
   LCDoutb(32 | 128);


   if (dr < 10) 		/* day in month : only one digit value */
   {
    LCDoutb(0x0b0);	
    LCDoutb((dr+48) | 128);
   }
   else if (dr >= 10 && dr<100)  /* two digit value */
   {
    LCDoutb(((dr/10)+48) | 128);
    x = dr-(10*(dr / 10));
    l = x;
    LCDoutb((l+48) | 128);
   }

   LCDoutb(46 | 128); 

   if (mr < 10) 		/* month : only one digit value */
   {
    LCDoutb(0x0b0);	
    LCDoutb((mr+48) | 128);
   }
   else if (mr >= 10 && mr<100)  /* two digit value */
   {
    LCDoutb(((mr/10)+48) | 128);
    x = mr-(10*(mr / 10));
    l = x;
    LCDoutb((l+48) | 128);
   }

   LCDoutb(46 | 128); 
   	
   if (yr < 10) 		/* year : only one digit value */
   {
    LCDoutb(0x0b0);	
    LCDoutb((yr+48) | 128);
   }
   else if (yr >= 10 && yr<100)  /* two digit value */
   {
    LCDoutb(((yr/10)+48) | 128);
    x = yr-(10*(yr / 10));
    l = x;
    LCDoutb((l+48) | 128);
   }
}


/*****************************************************************************
 *  MOVSCR		displays a moving screen
 *  PARAMETERS:     pointer to string
 *  RETURNS:        None
 *****************************************************************************/
void LCDmovscr(char *Name2, unsigned long delay)	
{
 int i,l;
 l=strlen(Name2);	
 for (i=0; i<l; i++) 		/* go through string */
   {
	LCDprint(Name2);	/* print string */
	LCDwait(delay);	/* wait ... */
	Name2++;			/* shift pointer one char ahead */
   }

}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99综合电影在线视频| 日韩一区二区免费在线电影| 色婷婷综合久久| 4hu四虎永久在线影院成人| 91精品国产欧美一区二区| 欧美精品一区二| 中文字幕五月欧美| 久久久精品黄色| 亚洲最新视频在线观看| 精品一区二区三区在线观看| 成人国产视频在线观看| 欧美高清性hdvideosex| 91麻豆精品国产91久久久久久久久 | 欧美美女喷水视频| 久久久国产综合精品女国产盗摄| 国产精品黄色在线观看| 日韩av中文在线观看| 99综合影院在线| 欧美在线一二三| 国产色91在线| 精品一区二区在线观看| 99久久久久久| 2020日本不卡一区二区视频| 亚洲国产成人高清精品| 成人自拍视频在线| 日韩写真欧美这视频| 亚洲精品视频观看| 成人污污视频在线观看| 欧美电影免费观看高清完整版在线| 中文字幕亚洲不卡| 国产成人午夜片在线观看高清观看| 欧美日韩在线免费视频| 国产精品久久久久婷婷二区次| 蜜桃传媒麻豆第一区在线观看| 色综合色综合色综合| 久久久精品影视| 久久99九九99精品| 6080午夜不卡| 亚洲福利一区二区| 色屁屁一区二区| 亚洲三级视频在线观看| 日韩av中文字幕一区二区三区| 色欧美乱欧美15图片| 亚洲欧美一区二区在线观看| 精品无码三级在线观看视频| 欧美一级午夜免费电影| 日韩成人午夜精品| 91精品国产麻豆国产自产在线| 亚洲自拍都市欧美小说| 91福利小视频| 亚洲成人在线网站| 欧美日本国产视频| 亚洲精品亚洲人成人网| 99久久国产免费看| 亚洲精品免费在线观看| 在线观看亚洲精品| 亚洲成a人v欧美综合天堂下载 | 不卡欧美aaaaa| 国产精品高潮呻吟| 99在线精品观看| 亚洲一区二区三区四区在线免费观看| 99精品欧美一区二区蜜桃免费| 国产精品福利av| 在线看日本不卡| 一二三区精品视频| 欧美一区二区在线不卡| 麻豆高清免费国产一区| 久久亚洲综合av| 成人中文字幕合集| 国产精品网站导航| 欧美午夜理伦三级在线观看| 图片区小说区国产精品视频| 日韩欧美一区二区久久婷婷| 国内外精品视频| 中文字幕在线一区免费| 91丨九色丨蝌蚪富婆spa| 亚洲成av人**亚洲成av**| 51精品久久久久久久蜜臀| 国产麻豆成人传媒免费观看| 欧美国产欧美亚州国产日韩mv天天看完整| 成人午夜视频在线| 有码一区二区三区| 555夜色666亚洲国产免| 国产成人在线观看免费网站| 日韩一区日韩二区| 欧美性猛交一区二区三区精品| 一区二区在线观看免费| 欧美一卡二卡在线观看| 成人一区二区视频| 日韩精品一级二级 | 日韩天堂在线观看| 成人黄色av网站在线| 亚洲午夜一二三区视频| 26uuu国产日韩综合| 91丨国产丨九色丨pron| 另类小说图片综合网| 国产欧美日韩在线看| 欧美日韩一区中文字幕| 国产精品一线二线三线精华| 亚洲一区二区在线视频| 精品av久久707| 成人av网站免费| 日本中文字幕一区| 椎名由奈av一区二区三区| 久久免费国产精品 | 艳妇臀荡乳欲伦亚洲一区| 精品国产一区二区在线观看| 色婷婷综合激情| 福利一区二区在线观看| 一区二区三区中文字幕在线观看| 日韩欧美国产麻豆| 91久久精品一区二区三区| av中文字幕一区| 94-欧美-setu| 日本高清不卡aⅴ免费网站| 91天堂素人约啪| 欧洲精品中文字幕| 欧美日韩精品欧美日韩精品一综合 | 欧美精品在欧美一区二区少妇| 91香蕉视频黄| 欧美写真视频网站| 欧美肥大bbwbbw高潮| 欧美日韩国产综合一区二区 | 国产精品综合一区二区三区| 精品系列免费在线观看| 国产精品自拍毛片| 成人免费视频视频在线观看免费| 国产精品中文有码| 99精品欧美一区| 91福利视频网站| 日韩视频免费观看高清在线视频| 日韩一区二区在线免费观看| 日韩欧美成人激情| 国产农村妇女毛片精品久久麻豆 | 91免费观看在线| 色94色欧美sute亚洲线路一ni| 91福利社在线观看| 日韩欧美国产综合在线一区二区三区| 日本一区二区成人| 亚洲图片你懂的| 亚洲福利一二三区| 国内精品伊人久久久久影院对白| 国产一区二区免费看| 99久久国产综合精品色伊| 欧美在线一二三四区| 欧美成人乱码一区二区三区| 欧美国产日本视频| 午夜视频一区二区| 国产成人精品一区二区三区四区| 91在线视频免费91| 欧美一级一区二区| 国产精品亲子伦对白| 五月天激情综合| 成人18精品视频| 欧美人牲a欧美精品| 久久久久久久久一| 亚洲线精品一区二区三区 | 97se亚洲国产综合自在线观| 欧美一区二区三区在线看| 国产肉丝袜一区二区| 亚洲一区二区三区小说| 国产精品69毛片高清亚洲| 在线免费观看日韩欧美| 国产欧美视频一区二区| 日本欧美一区二区在线观看| 成人激情视频网站| 日韩欧美精品在线视频| 一区二区三区欧美在线观看| 开心九九激情九九欧美日韩精美视频电影| 成人动漫中文字幕| 欧美一区二区成人| 一区二区国产视频| 国产成人日日夜夜| 欧美一级在线视频| 亚洲午夜久久久久久久久电影院| 国产成人午夜精品影院观看视频 | 丝袜脚交一区二区| 一本到不卡免费一区二区| 国产偷国产偷亚洲高清人白洁 | 欧美精品久久天天躁| 1024成人网色www| 国产精品亚洲综合一区在线观看| 精品视频一区 二区 三区| 国产精品免费视频一区| 激情图区综合网| 欧美一区二区视频网站| 午夜视频一区二区| 在线观看视频一区二区| 亚洲欧美日韩国产中文在线| 成人性生交大片免费| 久久精品视频一区二区| 国产在线不卡一区| 欧美r级电影在线观看| 青青草原综合久久大伊人精品 | 精品国产乱码久久久久久1区2区| 午夜亚洲福利老司机| 欧美三级日韩在线| 亚洲成人一区二区在线观看| 99在线热播精品免费| 亚洲精品日日夜夜|