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

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

?? lcd.c

?? 用atmega64+vs1003(音頻解碼芯片)+SD制成的板子
?? C
?? 第 1 頁 / 共 2 頁
字號:
#include <avr/io.h>
#include <avr/eeprom.h>
#include "sd.h"
#include "vs1003.h"
#include "lcd.h"
#include "delay.h"
#include "6x12.h"
unsigned char DispBuff[6][84];  //LCD備份緩沖區(qū)  
unsigned char LcdFlag;
LCD_DISP lcd[4];
unsigned char D_x=0;
unsigned char D_y=0; 
unsigned char InverseLine=0;   //反色顯示的行(bit0-bit3)
#define MAX_LINE_NUM   84
#define MMC_CS_PIN     _BV(0)    //PORTB.0 
#define MMC_PORT       PORTB   
extern unsigned char WorkFlag;
extern uchar reading;
void LCD_write_time(TIME *tt)
{  
	LCD_WriteBigDigit(tt->hour/10,2);
	LCD_WriteBigDigit(tt->hour%10,2+16); 
	LCD_WriteBigDigit(tt->min/10,2+37);
	LCD_WriteBigDigit(tt->min%10,2+49);
	LCD_WriteTimeDot(31); 
	D_x=2;D_y=2+66;
	LCD_write_char(tt->sec/10+0x30);
	LCD_write_char(tt->sec%10+0x30);
	TimeFlag|=bLcdUpdate;
} 
void LCD_WriteTimeDot(unsigned char offset)
{
	unsigned char i;
	for(i=0;i<7;i++){     
		DispBuff[2][offset+i]=pgm_read_byte(&bigdigitColon[i]);
	}	             
	for(i=0;i<7;i++){     
		DispBuff[3][offset+i]=pgm_read_byte(&bigdigitColon[7+i]);
	}	   
} 

void LCD_WriteBigDigit(unsigned char num,unsigned char offset)
{                            
	unsigned char i;
	for(i=0;i<13;i++){     
		DispBuff[1][offset+i]&=0x0f;
		DispBuff[1][offset+i]|=pgm_read_byte(bigdigitTbl[num]+i);;
	}
	for(i=0;i<13;i++){     
		DispBuff[2][offset+i]=pgm_read_byte(bigdigitTbl[num]+13+i);;
	}	             
	for(i=0;i<13;i++){     
		DispBuff[3][offset+i]=pgm_read_byte(bigdigitTbl[num]+26+i);;
	}	             
	for(i=0;i<13;i++){     
		DispBuff[4][offset+i]&=0xf0;
		DispBuff[4][offset+i]|=pgm_read_byte(bigdigitTbl[num]+39+i);;
	}		
}


void LCD_write_char(unsigned char c)
{
  unsigned char line;
  c-=0x20;
  switch(D_x){
  	case 0:  //顯示第一行內(nèi)容
  		for (line=0; line<6; line++)
   	 		DispBuff[0][D_y+line]= pgm_read_byte(font6x12[c]+line);
   	 	for(line=0;line<6;line++){
   	 		DispBuff[1][D_y+line]&=0xf0;
   	 		DispBuff[1][D_y+line]|=pgm_read_byte(font6x12[c]+6+line);
   	 	}
   	 		break;
	case 1: //顯示第二行內(nèi)容
		for(line=0;line<6;line++){
			DispBuff[1][D_y+line]&=0x0f;
			DispBuff[1][D_y+line]|=(pgm_read_byte(font6x12[c]+line)<<4);
		}
		for(line=0;line<6;line++){
			DispBuff[2][D_y+line]=(pgm_read_byte(font6x12[c]+line)>>4)|(pgm_read_byte(font6x12[c]+6+line)<<4);
		}	
		break;	
	case 2:
		for (line=0; line<6; line++)
   	 		DispBuff[3][D_y+line]= pgm_read_byte(font6x12[c]+line);
   	 	for(line=0;line<6;line++){
   	 		DispBuff[4][D_y+line]&=0xf0;
   	 		DispBuff[4][D_y+line]|=pgm_read_byte(font6x12[c]+6+line);
   	 	}
   	 		break;
	case 3: 
		for(line=0;line<6;line++){
			DispBuff[4][D_y+line]&=0x0f;
			DispBuff[4][D_y+line]|=(pgm_read_byte(font6x12[c]+line)<<4);
		}
		for(line=0;line<6;line++){
			DispBuff[5][D_y+line]=(pgm_read_byte(font6x12[c]+line)>>4)|(pgm_read_byte(font6x12[c]+6+line)<<4);
		}	
		break;
	default:
	     D_x=0;	
   };
      D_y+=6;   	 		
}

void LCD_write_icon(unsigned char c)
{
  unsigned char line;
  switch(D_x){
  	case 0:  //顯示第一行內(nèi)容
  		for (line=0; line<6; line++)
   	 		DispBuff[0][D_y+line]= pgm_read_byte(icon6x12[c]+line);
   	 	for(line=0;line<6;line++){
   	 		DispBuff[1][D_y+line]&=0xf0;
   	 		DispBuff[1][D_y+line]|=pgm_read_byte(icon6x12[c]+6+line);
   	 	}
   	 		break;
	case 1: //顯示第二行內(nèi)容
		for(line=0;line<6;line++){
			DispBuff[1][D_y+line]&=0x0f;
			DispBuff[1][D_y+line]|=(pgm_read_byte(icon6x12[c]+line)<<4);
		}
		for(line=0;line<6;line++){
			DispBuff[2][D_y+line]=(pgm_read_byte(icon6x12[c]+line)>>4)|(pgm_read_byte(icon6x12[c]+6+line)<<4);
		}	
		break;	
	case 2:
		for (line=0; line<6; line++)
   	 		DispBuff[3][D_y+line]= pgm_read_byte(icon6x12[c]+line);
   	 	for(line=0;line<6;line++){
   	 		DispBuff[4][D_y+line]&=0xf0;
   	 		DispBuff[4][D_y+line]|=pgm_read_byte(icon6x12[c]+6+line);
   	 	}
   	 		break;
	case 3: 
		for(line=0;line<6;line++){
			DispBuff[4][D_y+line]&=0x0f;
			DispBuff[4][D_y+line]|=(pgm_read_byte(icon6x12[c]+line)<<4);
		}
		for(line=0;line<6;line++){
			DispBuff[5][D_y+line]=(pgm_read_byte(icon6x12[c]+line)>>4)|(pgm_read_byte(icon6x12[c]+6+line)<<4);
		}	
		break;
	default:
	     D_x=0;	
   };
      D_y+=6;   	 		
}




/*-----------------------------------------------------------------------
LCD_write_byte: 使用SPI接口寫數(shù)據(jù)到LCD
輸入?yún)?shù):data:寫入的數(shù)據(jù);
command :寫數(shù)據(jù)/命令選擇;
-----------------------------------------------------------------------*/
void LCD_write_byte(unsigned char data)
{   
  SCE_L ;              // 使能LCD
  SPDR = data;         // 傳送數(shù)據(jù)到SPI寄存器
  while (!(SPSR & 0x80)) ; // 等待數(shù)據(jù)傳送完畢
  SCE_H ;              // 關(guān)閉LCD
}
void LCD_write_cmd(unsigned char data)
{
	SCE_L;              // 使能LCD
	DC_L;             // 傳送命令
	SPDR = data;         // 傳送數(shù)據(jù)到SPI寄存器
	while (!(SPSR & 0x80)) ;
	SCE_H;              // 關(guān)閉LCD
	DC_H;
	
}
/*---------------------------------------
LCD_init: 3310LCD初始化
----------------------------*/
void LCD_Init(void)
{
	unsigned char i;
	LCD_RES_DDR|=LCD_RES_BIT ;
	LCD_SCE_DDR|=LCD_SCE_BIT ;
 	LCD_DC_DDR|=LCD_DC_BIT ;
	RES_L;                  // 產(chǎn)生一個讓LCD復(fù)位的低電平脈沖
	delay_nus(100);
	RES_H ;
	SCE_L ;                 // 關(guān)閉LCD
	delay_nus(100);
	SCE_H;                  // 使能LCD
	delay_us();
	LCD_write_cmd(0x21);// 使用擴(kuò)展命令設(shè)置LCD模式
	LCD_write_cmd(0xc8);// 設(shè)置偏置電壓
	LCD_write_cmd(0x06);// 溫度校正
	LCD_write_cmd(0x13);// 1:48
	LCD_write_cmd(0x20);// 使用基本命令
	LCD_clear();            // 清屏
	LCD_write_cmd(0x0c);// 設(shè)定顯示模式,正常顯示
	SCE_L ;                 // 關(guān)閉LCD
	for(i=0;i<4;i++){
		lcd[i].pStr=0;
		lcd[i].y=0;
	}
   LcdFlag=0;
}

/*-----------------------------------------------------------------------
LCD_clear: LCD清屏函數(shù)
-----------------------------------------------------------------------*/
void LCD_clear(void)
{
  unsigned char x,y;
  for(y=0;y<6;y++){
   LCD_write_cmd(0x40|y);
   LCD_write_cmd(0x80);
   for (x=0; x<84; x++){
      LCD_write_byte(0);  
   }
  }
    
}
/*-----------------------------------------------------------------------
LCD_clear: LCD清屏函數(shù)
-----------------------------------------------------------------------*/
void ClearLcdBuff(void)
{
  unsigned char x,y;
  unsigned char *pp;
  pp=(uchar*)&DispBuff;
  for(y=0;y<6;y++){
     for (x=0; x<84; x++)
  	 *pp++=0;
  }
}

/*-----------------------------------------------------------------------
LCD_set_XY: 設(shè)置LCD坐標(biāo)函數(shù)
輸入?yún)?shù):X:0-83
Y:0-5
-----------------------------------------------------------------------*/
void LCD_set_XY(unsigned char X, unsigned char Y)
{
  LCD_write_cmd(0x40 | Y);// column
  LCD_write_cmd(0x80 | X);// row
}
//寫入一個12X12的圖標(biāo)
void LCD_writeIcon(unsigned char X,unsigned char Y,unsigned char c)
{
	 unsigned char i;
	 unsigned char mat[24];
	 D_x=X; D_y=Y;
	 for(i=0;i<24;i++)
	  mat[i]=pgm_read_byte(icon12x12[c]+i);	
	 	LCD_Write_Char2(mat);
		TimeFlag|=bLcdUpdate;
}
/*-----------------------------------------------------------------------

LCD_write_String: 在LCD上顯示漢字或英文字符
輸入?yún)?shù):X、Y:顯示漢字的起始X、Y坐標(biāo);
-----------------------------------------------------------------------*/

void LCD_write_String(unsigned char X, unsigned char Y,unsigned char *p)
{
	unsigned char i;
	unsigned char bHz=0;
	unsigned char mat[24]; //保存12X12點(diǎn)陳內(nèi)容   
	D_x=X; D_y=Y;
	while(*p!=0){
		if(!bHz){
			if(*p>0x80){
				if(D_y>84-12)  break;
				bHz=1; 
			}else{
				if(D_y>84-6)   break;
				LCD_write_char(* p);  
				p++;		
			}
		}else{
			bHz=0;
			if(WorkFlag&bHzk12){
			  Get_HzMat(p,mat);
			}else{
				for(i=0;i<24;i++)  mat[i]=0;
			}
			p+=2; 
			LCD_Write_Char2(mat);
		  D_y+=12;
   		}
	}  //end while     
		TimeFlag|=bLcdUpdate;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品一区二区三区蜜臀| av电影天堂一区二区在线观看| 欧洲精品一区二区三区在线观看| 国产精品激情偷乱一区二区∴| 国产成人激情av| 国产精品成人一区二区艾草 | 26uuu久久综合| 韩国欧美国产1区| 欧美国产日本视频| 91丨porny丨中文| 亚洲丰满少妇videoshd| 欧美精品丝袜久久久中文字幕| 日本va欧美va欧美va精品| 日韩一级在线观看| 国产v日产∨综合v精品视频| 亚洲色图制服诱惑| 欧美精品一二三区| 国产麻豆成人精品| 亚洲欧美日韩国产综合| 7777精品伊人久久久大香线蕉完整版 | 国产视频在线观看一区二区三区 | 美女爽到高潮91| 久久男人中文字幕资源站| 成熟亚洲日本毛茸茸凸凹| 一区二区三区美女| 精品久久久久久久久久久久久久久久久 | 免费精品99久久国产综合精品| 久久综合色之久久综合| 99精品黄色片免费大全| 日本麻豆一区二区三区视频| 久久久久9999亚洲精品| 精品婷婷伊人一区三区三| 韩国成人福利片在线播放| 一区二区三区精品视频在线| 26uuu精品一区二区三区四区在线| 色综合天天综合在线视频| 精品一区二区三区在线视频| 一区二区成人在线观看| 精品国产乱码久久久久久免费| 色婷婷国产精品久久包臀| 国内精品视频666| 亚洲国产日日夜夜| 国产欧美一区二区三区沐欲| 欧美精品国产精品| 99精品热视频| 国产一区二区三区在线看麻豆| 亚洲久本草在线中文字幕| 久久久综合网站| 69堂成人精品免费视频| 色综合久久综合| 国产精品99久久不卡二区| 图片区小说区国产精品视频| 中文字幕一区二区三区av| 欧美不卡一二三| 91精品国产乱码久久蜜臀| 91搞黄在线观看| 成人免费毛片片v| 国产一区高清在线| 日本伊人色综合网| 一区二区三区在线观看欧美| 中文字幕 久热精品 视频在线| 日韩欧美综合在线| 欧美精品三级在线观看| 欧美伊人久久久久久午夜久久久久| www.亚洲国产| 成人sese在线| 成人免费av资源| 大胆欧美人体老妇| 国产成人av影院| 国产成人午夜精品影院观看视频| 美女在线视频一区| 免费人成网站在线观看欧美高清| 亚洲国产精品欧美一二99| 亚洲精品国产一区二区精华液| 中文字幕成人av| 国产精品久久久久久久久免费丝袜| 26uuu另类欧美亚洲曰本| 欧美电视剧免费全集观看| 日韩欧美一区二区视频| 日韩一区二区电影| 欧美一区二区三区视频在线 | 大美女一区二区三区| 国产一区二区福利视频| 国产一区在线精品| 国产成人在线视频免费播放| 国产风韵犹存在线视精品| 成人午夜激情影院| 成人av电影观看| 91丝袜国产在线播放| 91麻豆国产福利在线观看| 91久久精品国产91性色tv| 欧美三级电影网站| 欧美一个色资源| 2021中文字幕一区亚洲| 久久久精品黄色| 亚洲日韩欧美一区二区在线| 一区二区免费看| 亚洲成人一区二区在线观看| 日本成人在线电影网| 国精品**一区二区三区在线蜜桃| 国产精品888| 色一区在线观看| 欧美日韩国产影片| 精品蜜桃在线看| 国产精品免费久久久久| 一区二区日韩av| 精品一区二区三区香蕉蜜桃| 大陆成人av片| 欧美三区免费完整视频在线观看| 91精品久久久久久蜜臀| 久久久一区二区三区| 一区二区三区美女视频| 久久99久久99小草精品免视看| 国产91高潮流白浆在线麻豆| 欧美中文字幕一二三区视频| 日韩一区二区电影在线| 亚洲欧洲av色图| 免费在线观看一区二区三区| 成人免费视频免费观看| 欧美三级日韩三级| 国产婷婷色一区二区三区四区| 亚洲一区二区三区美女| 国产精品影视在线| 欧美精品在线视频| 国产精品久久久久久亚洲毛片 | 亚洲一区影音先锋| 韩国视频一区二区| 欧美日韩黄视频| 亚洲国产精品成人久久综合一区| 亚洲成人资源网| 波多野结衣视频一区| 欧美电视剧免费全集观看| 一区二区三区中文字幕| 国产一区欧美日韩| 欧美精品粉嫩高潮一区二区| 亚洲欧洲精品天堂一级 | 亚洲国产中文字幕| 成人一区二区三区中文字幕| 欧美一级在线免费| 亚洲免费在线看| 福利一区二区在线| 精品国产乱码久久久久久蜜臀 | 天堂久久一区二区三区| a在线欧美一区| 久久嫩草精品久久久精品| 午夜激情久久久| 91高清在线观看| 中文字幕亚洲在| 风间由美性色一区二区三区| 欧美一级在线视频| 日韩中文字幕区一区有砖一区| aaa欧美色吧激情视频| 国产日本欧美一区二区| 激情文学综合网| 日韩欧美一级在线播放| 香蕉久久夜色精品国产使用方法| 色综合中文字幕| 中文字幕字幕中文在线中不卡视频| 国产成人精品免费在线| 2020国产精品自拍| 久久精品99国产精品| 欧美一区二区精美| 青青草精品视频| 91精品国产色综合久久ai换脸 | 亚洲成人一区在线| 欧美日韩在线三级| 亚洲国产精品久久久久婷婷884| 91免费版pro下载短视频| 日韩美女视频一区二区| 色婷婷久久久久swag精品| **网站欧美大片在线观看| 91啪亚洲精品| 亚洲自拍另类综合| 欧美日韩在线免费视频| 丝袜诱惑制服诱惑色一区在线观看 | www..com久久爱| 亚洲欧美综合色| 99久久综合99久久综合网站| 亚洲欧美日韩电影| 欧美婷婷六月丁香综合色| 午夜精品久久久久久久99樱桃| 欧美日韩在线一区二区| 日韩成人精品在线| 日韩免费性生活视频播放| 国产剧情在线观看一区二区| 欧美激情一区在线| 99精品视频在线免费观看| 一区二区三区免费网站| 欧美一区二区三区日韩视频| 精品一区二区日韩| 久久夜色精品一区| 大陆成人av片| 亚洲美女视频在线| 日韩午夜激情视频| 福利一区在线观看| 性感美女久久精品| 国产亚洲精品资源在线26u| av在线播放一区二区三区| 亚洲h精品动漫在线观看| 欧美v亚洲v综合ⅴ国产v|