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

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

?? t6963c.c

?? avr單片機的12864Lcd程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
{
    DDRA =  0xFF;  // 數(shù)據(jù)方向為輸出
//   PORTA = 0xFF;  // 使能內部上拉電阻

    DDRB =  0x0F;  // 數(shù)據(jù)方向為輸出

	if(fnST3() == 0)
		return 1;
	PORTB &= ~(1 << CD) ;   // CD (PB2) 賦值0,低電平表示數(shù)據(jù)
//	_NOP();
//	lcd_delay(1);
	PORTA = uData;
//	_NOP();
//	lcd_delay(1);
	PORTB &= ~(1 << WR);    // WR (PB0) 賦值0,低電平寫操作有效
//	_NOP();
//	lcd_delay(1);
    PORTB |= (1 << WR);       // WR (PB0) 賦值1,高電平寫操作無效
	return 0;	// 返回0成功
}

/************************************************************************************/
/* 函數(shù)名稱:fnCWD 													   	            */
/* 輸入?yún)?shù):uchar uData  數(shù)據(jù)                              						*/
/* 輸出參數(shù):uchar		  0 成功,否則失敗											*/
/* 函數(shù)功能:寫命令                                         						*/
/* 作 者   :安車科技大燈儀開發(fā)小組 許孝剛											*/
/* 開發(fā)日期: 2005.08														        */
/* 版 本   : v1.0																	*/
/************************************************************************************/
uchar fnCWD(uchar uData)		
{
    DDRA =  0xFF;  // 數(shù)據(jù)方向為輸出
    PORTA = 0xFF;  // 使能內部上拉電阻

    DDRB =  0x0F;  // 數(shù)據(jù)方向為輸出

	if(fnST01() == 0)	
		return 1;
	PORTB |= (1 << CD) ;    // CD (PB2) 賦值1,高電平表示命令
	PORTA = uData;
//	lcd_delay(1);
	PORTB &= ~(1 << WR);    // WR (PB0) 賦值0,低電平寫操作有效
//	_NOP();
//	lcd_delay(1);
    PORTB |= (1 << WR);       // WR (PB0) 賦值1,高電平寫操作無效
	return 0;	// 返回0成功
}

/************************************************************************************/
/* 函數(shù)名稱:fnDRD													   	        	*/
/* 輸入?yún)?shù):void                               									*/
/* 輸出參數(shù):uchar  成功,返回數(shù)據(jù);失敗返回1											*/
/* 函數(shù)功能:讀數(shù)據(jù)                                         						*/
/* 作 者   :安車科技大燈儀開發(fā)小組 許孝剛											*/
/* 開發(fā)日期: 2005.08														        */
/* 版 本   : v1.0																	*/
/************************************************************************************/
uchar fnDRD(void)				
{  
    uchar data;
    DDRA =  0xFF;  // 數(shù)據(jù)方向為輸出
//    PORTA = 0x00;  // 禁止內部上拉電阻

    DDRB =  0x0F;  // 數(shù)據(jù)方向為輸出
	if(fnST01() == 0)	
		return 1;

	PORTB &= ~(1 << CD);    // CD (PB2) 賦值0,低電平表示數(shù)據(jù)
	PORTB &= ~(1 << RD);    // RD (PB1) 賦值0,低電平表示讀操作有效
//	_NOP();      
//	lcd_delay(1);          // 延時
	data = PINA;
//	_NOP();   
	PORTB |= (1 << RD);     // RD (PB1) 賦值1,高電平表示讀操作無效
	return data;
}


/************************************************************************************/
/* 函數(shù)名稱:fnSetPos 													   	        */
/* 輸入?yún)?shù):uchar urow, 欲設置的行                     		    				*/
/*           uchar ucol,欲設置的列                                                  */
/*           行的定義為,從上到下為行;列的定義為從左到右為列,類似矩陣中行列          */                                                                        
/* 輸出參數(shù):void																	*/
/* 函數(shù)功能:設置當前任意地址,每水平8像素為一字節(jié)                                   */
/* 作 者   :安車科技大燈儀開發(fā)小組 許孝剛											*/
/* 開發(fā)日期: 2005.08														        */
/* 版 本   : v1.0																	*/
/************************************************************************************/
void fnSetPos(uchar urow, uchar ucol)
{
	uint  iPos;
	
	iPos =( (urow << 4) + (ucol >> 3) );		    // iPos =urow *16 + ucol /8 ;
	fnCW2P(LC_ADD_POS,iPos & 0xFF,iPos >> 8);
	
}

/************************************************************************************/
/* 函數(shù)名稱:cursor 													   	        */
/* 輸入?yún)?shù):uchar uRow, uchar uCol 當前行、列                               		*/
/* 輸出參數(shù):void																	*/
/* 函數(shù)功能:設置當前顯示行、列                                                     */
/* 作 者   :安車科技大燈儀開發(fā)小組 許孝剛											*/
/* 開發(fā)日期: 2005.08														        */
/* 版 本   : v1.0																	*/
/************************************************************************************/ 
void cursor(uchar uRow, uchar uCol)
{   
    gCurRow = uRow;
	gCurCol = uCol;
	fnSetPos(gCurRow,gCurCol);
}

/************************************************************************************/
/* 函數(shù)名稱:cls 													   	            */
/* 輸入?yún)?shù):void                               									*/
/* 輸出參數(shù):void																	*/
/* 函數(shù)功能:清屏							                                        */
/* 作 者   :安車科技大燈儀開發(fā)小組 許孝剛											*/
/* 開發(fā)日期: 2005.08														        */
/* 版 本   : v1.0																	*/
/************************************************************************************/
void cls(void)
{
	uint  i;
	
	fnSetPos(0,0);
	fnCW0P(LC_AUT_WR);			 	// 自動寫
	
    for(i=0;i<LCM_HEIGHT *(LCM_WIDTH/8);i++)  // 將所有單元內容都寫1
    {   
		fnST3();
		fnDWD(0x00);
//		_NOP();   	
	}	                            // 寫數(shù)據(jù)
//	lcd_delay(15);  
	fnCW0P(LC_AUT_OVR);				// 自動寫結束
	fnCW2P(LC_ADD_POS,0x00,0x00);	// 重置地址指針

}


/************************************************************************************/
/* 函數(shù)名稱:fnLCMInit 													   	        */
/* 輸入?yún)?shù):void                               									*/
/* 輸出參數(shù):char																	*/
/* 函數(shù)功能:LCM 初始化                                                             */
/* 作 者   :安車科技大燈儀開發(fā)小組 許孝剛											*/
/* 開發(fā)日期: 2005.08														        */
/* 版 本   : v1.0																	*/
/************************************************************************************/ 



char fnLCMInit(void)
{
   
	if(fnCW2P(LC_TXT_STP,0x00,0x00) != 0)	// 文本顯示區(qū)首地址
		return -1;
	fnCW2P(LC_TXT_WID,LCM_WIDTH/8,0x00);	// 文本顯示區(qū)寬度
	fnCW2P(LC_GRH_STP,0x00,0x00);	        // 圖形顯示區(qū)首地址
	fnCW2P(LC_GRH_WID,LCM_WIDTH/8,0x00);	// 圖形顯示區(qū)寬度	
	fnCW0P(LC_CUR_SHP | 0x01);	        	// 光標形狀
	fnCW0P(LC_MOD_OR);						// 顯示方式設置
	fnCW0P(LC_DIS_SW | 0x08);			    // 顯示開關設置
//	lcd_delay(15);  
	return 0;
}

void lcd_delay(uint time)
{
    int i;
    while(time--)
    {
        i = 1000;
        while(i--);
     }
}
/******************************************************************************/

/************************************************************************************/
/* 函數(shù)名稱:dprintf													   	        */
/* 輸入?yún)?shù):uchar * fmt    欲顯示字符串                           				    */
/* 輸出參數(shù):uchar  uLen    字符串長度												*/
/* 函數(shù)功能:字符顯示                                    						    */
/* 作 者   :安車科技大燈儀開發(fā)小組 許孝剛											*/
/* 開發(fā)日期: 2005.08														        */
/* 版 本   : v1.0																	*/
/************************************************************************************/
uchar dprintf(uchar *ptr)
{
 
	uchar c1,c2;
    uchar *tmpBuf;                           // LCD顯示數(shù)據(jù)緩沖區(qū)
	uchar i=0,j=0,j1=0,k,uLen=0,uRow,uCol,uVal=0;
	const typFNT_GB12 data ;

	uchar uIndex1,uIndex2;  // 存儲漢字的索引
	uchar uMask1,uMask2; // 1個字橫向字模信息的2個字節(jié)
	uchar k1,k2;
   while (ptr[uLen]!=0)
   {
     uLen++; ////探測字串長度
   }; 

    tmpBuf = ptr;
	i = 0;
	while(i<uLen)
	{
		c1 = tmpBuf[i];
		c2 = tmpBuf[i+1];
		uRow = fnGetRow();
		uCol = fnGetCol();
		
		if(c1 >= 0x20 && c1 <= 0x7f)		// 0x20---0x7f
		{	// ASCII 的 12行 * 6列 字符顯示
			for( j = 0; j < 12; j++)            // 逐行顯示
			{
				for ( k = 0; k < 6; k++)        // 逐列顯示
				{
					cursor(uRow + j,uCol + k);  // 置當前顯示地址
					k1 =   (uCol + k) & 0x07 ;  // 當前屏幕點屬于的字節(jié)單元的像素點;水平共16字節(jié)單元,
  												// 每字節(jié)8個像素點,從左到右為01234567點,  
												// 對應數(shù)據(jù)的76543210位
					k2 = 7 - k1;                // 當前屏幕點屬于的字節(jié)單元的位
					k1 = BIT(7-k);              // 當前屏幕點屬于的字節(jié)單元的數(shù)據(jù)的第7-k個數(shù)據(jù)位置1,其余置0
					uVal = pgm_read_byte(ASCII_TBL+(c1-0x20)*12 + j);
					k1 =  ( uVal  & k1 ) == k1 ? 1 : 0;  // 測試對應字庫中字的第j行1字節(jié)數(shù)據(jù)中的7-k個數(shù)據(jù)位是否為1
					if(k1 == 1)
						fnCW0P(LC_BIT_OP | 0x08 | k2 );    // 是1
					else
						fnCW0P(LC_BIT_OP |  k2 );          // 是0
				}
				
			}   
			
			cursor(uRow ,uCol + 6);             // 下一個字符
			i++;
		}
		else    // 0x80 -- 0xff
			
		{	    // 中文12行*12列漢字顯示 
			 
           for(j1 = 0; j1 < sizeof(GB_12)/sizeof(GB_12[0]);j1 ++) // 找字
			{
			    memcpy_P(&data, &GB_12[j1], sizeof(typFNT_GB12)); // 從程序區(qū)拷貝一個結構體數(shù)據(jù)

			    uIndex1 = data.Index[0];
                uIndex2 = data.Index[1];

 				if(c1 == uIndex1 && c2 == uIndex2)
 					break;
 			}
			
 			if(j1 >= sizeof(GB_12)/sizeof(GB_12[0]) )       // 找不到,屏幕就是空白
 				return 0;
 			for( j=0;j<12;j++)								// 逐行顯示
			{
				for ( k = 0; k < 8; k++)                    // 逐列顯示
				{
					cursor(uRow + j,uCol + k);              // 置當前顯示地址
					k1 = (uCol + k) & 0x07 ;                // 當前屏幕點屬于的字節(jié)單元的像素點;水平共16字節(jié)單元,
					                                        // 每字節(jié)8個像素點,從左到右為01234567點,  
												            // 對應數(shù)據(jù)的76543210位
					k2 = 7 - k1;							// 當前屏幕點屬于的字節(jié)單元的位
					k1 = BIT(7 - (k & 0x07));               // 當前屏幕點屬于的字節(jié)單元的數(shù)據(jù)的第7 - k & 0x07個數(shù)據(jù)位置1,其余置0
			     
				 	memcpy_P(&data, &GB_12[j1], sizeof(typFNT_GB12));

					uMask1 = data.Msk[2*j];
					 
					k1  =  (uMask1 & k1 ) == k1 ? 1 : 0;  // 漢字左邊部分
 
					if(k1 == 1)                             // 為 1
						fnCW0P(LC_BIT_OP | 0x08 | k2 );
					else
						fnCW0P(LC_BIT_OP |  k2 );           // 為 0  		
				} 

                for ( k = 0; k < 4; k++)                    // 逐列顯示
				{
					cursor(uRow + j,uCol + k +8);           // 置當前顯示地址
					k1 = (uCol + k + 8) & 0x07 ;            // 當前屏幕點屬于的字節(jié)單元的像素點;水平共16字節(jié)單元,
					                                        // 每字節(jié)8個像素點,從左到右為01234567點,  
												            // 對應數(shù)據(jù)的76543210位
					k2 = 7 - k1;							// 當前屏幕點屬于的字節(jié)單元的位
					k1 = BIT(7 - (k & 0x07));               // 當前屏幕點屬于的字節(jié)單元的數(shù)據(jù)的第7 - k & 0x07個數(shù)據(jù)位置1,其余置0
				
					uMask2 = data.Msk[2*j+1];
					k1  =  (uMask2 & k1 ) == k1 ? 1 : 0;    // 漢字右邊部分
 
					if(k1 == 1)                             // 為 1
						fnCW0P(LC_BIT_OP | 0x08 | k2 );
					else
						fnCW0P(LC_BIT_OP |  k2 );           // 為 0  		
				} 

			} 
				cursor(uRow ,uCol + 13);                    // 下一個漢字
				i +=2;                                      // 在字符串中一個漢字占2個字節(jié)
		}  	
		
		
	} 
	return uLen;  
}  

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一区二区久久| 国产在线精品一区二区三区不卡| 国产精品久久久久久久久免费桃花| 欧美va日韩va| 日韩视频一区二区在线观看| 欧美电影免费提供在线观看| 欧美一级生活片| 欧美mv日韩mv亚洲| 2020国产精品| 欧美极品aⅴ影院| 中文字幕一区二区在线播放| 专区另类欧美日韩| 一级特黄大欧美久久久| 国产电影精品久久禁18| 国产乱码精品一区二区三区五月婷 | 欧美精品vⅰdeose4hd| 欧美放荡的少妇| 精品免费一区二区三区| 国产色一区二区| 亚洲视频资源在线| 一区二区三区免费网站| 日韩影院在线观看| 久久99久久精品| 成人性生交大片免费看中文 | 欧美另类一区二区三区| 日韩美女视频一区二区在线观看| 26uuu国产一区二区三区| 国产欧美日韩一区二区三区在线观看| 国产精品免费看片| 亚洲综合免费观看高清完整版| 日日嗨av一区二区三区四区| 国内外精品视频| 成人影视亚洲图片在线| 色婷婷av一区| 91精品国产91久久久久久最新毛片 | 国产成人在线影院| av电影在线不卡| 欧美日本乱大交xxxxx| 日韩欧美一区中文| 国产精品污污网站在线观看| 亚洲永久免费av| 精品一二三四区| 日韩你懂的在线播放| 国产女人aaa级久久久级 | 国产成人亚洲综合色影视| 91老师国产黑色丝袜在线| 欧美麻豆精品久久久久久| 精品入口麻豆88视频| 国产精品亲子伦对白| 视频一区二区中文字幕| 福利视频网站一区二区三区| 欧美性做爰猛烈叫床潮| 久久中文娱乐网| 亚洲第一狼人社区| 国产精品亚洲综合一区在线观看| 在线视频国内一区二区| 久久日一线二线三线suv| 亚洲影院理伦片| 成人综合激情网| 欧美大胆人体bbbb| 亚洲精品日韩专区silk| 国产麻豆精品视频| 欧美精三区欧美精三区| 日韩毛片精品高清免费| 国产综合成人久久大片91| 欧美视频一区二区在线观看| 国产欧美日韩中文久久| 日韩成人免费看| 色婷婷综合久色| 中文一区二区在线观看| 蜜臀a∨国产成人精品| 色先锋aa成人| 日本一区二区三区dvd视频在线| 奇米影视一区二区三区小说| 色欧美乱欧美15图片| 国产欧美日韩麻豆91| 久久99最新地址| 在线成人小视频| 亚洲精品欧美二区三区中文字幕| 国产成人在线视频免费播放| 在线电影欧美成精品| 夜色激情一区二区| 成人avav影音| 国产精品区一区二区三区| 激情五月激情综合网| 日韩亚洲欧美中文三级| 亚瑟在线精品视频| 欧美优质美女网站| 亚洲摸摸操操av| 99精品黄色片免费大全| 亚洲国产成人一区二区三区| 国产成人综合网| www成人在线观看| 黄网站免费久久| 欧美xingq一区二区| 乱中年女人伦av一区二区| 欧美剧情电影在线观看完整版免费励志电影| 亚洲婷婷在线视频| 99久久精品一区| 国产在线不卡一区| 欧美videossexotv100| 开心九九激情九九欧美日韩精美视频电影| 欧美精品xxxxbbbb| 亚洲a一区二区| 欧美日韩1区2区| 午夜精品久久久久久久99水蜜桃| 欧美日韩免费在线视频| 午夜日韩在线观看| 欧美三级一区二区| 视频一区视频二区中文字幕| 日韩视频一区二区三区在线播放| 日本中文在线一区| 日韩精品一区二区三区中文不卡| 蜜桃视频一区二区三区在线观看| 日韩精品一区二区三区蜜臀| 国产乱淫av一区二区三区| 久久久不卡影院| av一二三不卡影片| 夜夜嗨av一区二区三区中文字幕| 精品视频色一区| 蜜桃一区二区三区四区| 国产日韩欧美精品一区| 99久久精品国产一区二区三区| 亚洲精品你懂的| 欧美人与z0zoxxxx视频| 久久国产精品第一页| 国产片一区二区| 在线视频国内自拍亚洲视频| 日韩精品欧美精品| 久久精品在线观看| 99久久综合国产精品| 午夜精品久久久久久久久久久| 欧美mv日韩mv国产网站| caoporn国产精品| 舔着乳尖日韩一区| 久久亚洲一区二区三区明星换脸| caoporn国产精品| 日韩高清在线不卡| 久久久www成人免费毛片麻豆| 99精品久久久久久| 日本怡春院一区二区| 国产天堂亚洲国产碰碰| 在线国产电影不卡| 激情小说亚洲一区| 综合激情成人伊人| 欧美一卡二卡在线观看| 岛国精品在线观看| 亚洲成a人在线观看| 久久综合资源网| 日本道精品一区二区三区| 久久国产精品99久久久久久老狼| 中文字幕在线一区| 制服丝袜日韩国产| 成人小视频免费观看| 天天综合网天天综合色| 国产精品免费aⅴ片在线观看| 欧美精品久久天天躁| 国产91综合网| 日韩激情中文字幕| 中文字幕在线不卡视频| 日韩三级av在线播放| 91精品办公室少妇高潮对白| 久草这里只有精品视频| 亚洲午夜免费电影| 欧美激情一区二区三区蜜桃视频 | 亚洲狠狠丁香婷婷综合久久久| 日韩一级免费观看| 国产精品私人自拍| 777久久久精品| 一本到不卡精品视频在线观看| 国产九九视频一区二区三区| 日精品一区二区| 一区二区三区高清不卡| 国产欧美一区二区精品久导航| 6080亚洲精品一区二区| 91网站最新网址| 国产精品一区免费视频| 日本成人在线看| 亚洲宅男天堂在线观看无病毒| 国产精品伦理在线| 欧美刺激午夜性久久久久久久| 欧美日韩一二三| 91精品福利视频| 99久久夜色精品国产网站| 国产成人在线免费| 久久电影网电视剧免费观看| 日韩经典中文字幕一区| 亚洲福利国产精品| 亚洲另类中文字| 日韩理论片一区二区| 亚洲国产激情av| 国产三级精品视频| 久久精品在线观看| 亚洲精品在线免费观看视频| 日韩西西人体444www| 91精品在线麻豆| 欧美疯狂性受xxxxx喷水图片| 精品视频一区三区九区| 欧美日韩亚洲国产综合| 欧美日韩精品高清|