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

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

?? lcd1602.h

?? stc12c5a60s2內置EEPROM的用法
?? H
字號:
/*********************************************************************************************************
** 文件功能 :LCD1602驅動程序
** 工程作者 :Blue Sky Teams——ZZL
** 工程版本 :V1.0
*********************************************************************************************************/
#include<intrins.h>
/*********************************************************************************************************
** LCD1602接口定義
*********************************************************************************************************/
sbit RS_1602 = P0^5;	//數據命令選擇端
sbit RW_1602 = P0^6;	//寫選擇端
sbit EN_1602 = P0^7;	//使能信號
#define LCD_PORT	P2 	//LCD1602數據接口

/*********************************************************************************************************
** LCD1602宏定義指令集
*********************************************************************************************************/
#define CLEAR_SCREEN			0X01		//清屏
#define CURSOR_RESET			0X02		//光標復位

/*******************************************輸入方式設置**************************************************/
#define SET_MOD					0X04		//配合一下兩位來配置模式

#define SET_MOD_AC_ADD			0X02		//數據讀寫操作后AC自加一
#define SET_MOD_AC_DEC			0X00		//數據讀寫操作后AC自減一
#define SET_MOD_MOVE_ON			0X01		//數據讀寫操作后畫面移動
#define SET_MOD_MOVE_OFF		0X00		//數據讀寫操作后畫面不動

/*******************************************顯示開關控制**************************************************/
#define DISPLAY_SET				0X08		//配合下面三位來配置模式

#define DISPLAY_SET_ON			0X04		//顯示開
#define DISPLAY_SET_OFF			0X00		//顯示關
#define DISPLAY_SET_CURSOR_ON	0X02		//光標顯示開
#define DISPLAY_SET_CURSOR_OFF	0X00		//光標顯示關
#define DISPLAY_SET_BLINK_ON	0X01		//光標閃爍
#define DISPLEY_SET_BLINK_OFF	0X00		//光標不閃爍

/*******************************************光標,畫面位移************************************************/
#define COURSOR_SHIFT_LEFT		0X10		//光標左移一個字符位,AC減一
#define COURSOR_SHIFT_RIGHT		0X14		//光標右移一個字符位,AC加一
#define FRAME_SHIFT_LEFT		0X18		//畫面左移一個字符位,光標不變
#define FRAME_SHIFT_RIGHT		0X1C		//畫面右移一個字符位,光標不變

/*******************************************顯示功能設置**************************************************/
#define DISPLAY_MOD				0X30		//默認設置為8位數據口,配合一下兩個位來時配置模式
#define DISPLAY_MOD_TWO_LINE	0X08		//兩行顯示
#define DISPLAY_MOD_ONE_LINE	0X00		//一行顯示
#define DISPLAY_MOD_5_10		0X04		//5*10的點陣字符顯示
#define DISPLAY_MOD_5_7			0X00		//5*7的點陣字符顯示

/*******************************************自定義字符*****************************************************/
unsigned char code self_definition_char[] = {

0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x00,	//"一"代碼
0x00,0x00,0x0E,0x00,0x1F,0x00,0x00,0x00,    //"二"代碼
0x00,0x0E,0x00,0x0E,0x00,0x1F,0x00,0x00,	//"三"代碼
0x00,0x1F,0x15,0x15,0x1B,0x11,0x1F,0x00,    //"四"代碼
0x1F,0x04,0x04,0x1E,0x0A,0x12,0x1F,0x00,    //"五"代碼
0x08,0x0f,0x12,0x0f,0x0a,0x1f,0x02,0x00,    //"年"代碼
0x0f,0x09,0x0f,0x09,0x0f,0x09,0x11,0x00,    //"月"代碼
0x1f,0x11,0x11,0x1f,0x11,0x11,0x1f,0x00,    //"日"代碼

};	
/*******************************************CGRAM起始地址**************************************************/

const unsigned char CGRAM_ADD = 0X40;

/*********************************************************************************************************
** 函數功能 :讀寫LCD1602時用于讀寫時序的時鐘延時
** 入口參數 :z:延時長度
** 出口參數 :無
*********************************************************************************************************/	 
void LCD_Delay(unsigned char z)
{
	unsigned char x,y;
	for(x = z;x > 0;x --)
		for(y = 50;y>0;y--);
}

/*********************************************************************************************************
** 函數功能 :LCD1602忙碌查詢
** 函數說明 :每次讀寫液晶時需要事先檢測芯片是否處于忙碌狀態
** 入口參數 :無
** 出口參數 :返回值為1:等待超時
**            返回值為0:芯片處于空閑狀態
*********************************************************************************************************/
unsigned char Check_1602_Busy(void)
{
	unsigned int time=0;
	RS_1602 = 0;
	RW_1602 = 1;
	EN_1602 = 1;
	while( (LCD_PORT&0X80) != 0X00)
	{
		time ++;
		if(time > 1000) return 1;	
	}	
	return 0;
}

/*********************************************************************************************************
** 函數功能 :向液晶寫入指令
** 函數說明 :
** 入口參數 :待寫入的指令
** 出口參數 :無
*********************************************************************************************************/
void Write_1602_Com(unsigned char zhiling)//寫指令
{
	Check_1602_Busy();
	RS_1602 = 0;
	RW_1602 = 0;
	LCD_PORT = zhiling;
	LCD_Delay(1);
	EN_1602 = 1;
	LCD_Delay(1);
	EN_1602 = 0;
}

/*********************************************************************************************************
** 函數功能 :向液晶寫入數據
** 函數說明 :
** 入口參數 :待寫入的數據
** 出口參數 :無
*********************************************************************************************************/
void Write_1602_Data(unsigned char shuju)//寫數據
{
	Check_1602_Busy();
	RS_1602 = 1;
	RW_1602 = 0;
	LCD_PORT = shuju;
	LCD_Delay(1);
	EN_1602 = 1;
	LCD_Delay(1);
	EN_1602 = 0;
}

/*********************************************************************************************************
** 函數功能 :在指定位置連續寫入一串字符
** 函數說明 :注意寫入字符串的長度,不要超過屏幕單行的顯示范圍
** 入口參數 :number:待寫入字符串地址
**            addr:  寫入整數的地址
** 出口參數 :無
*********************************************************************************************************/
void Write_1602_String(unsigned char *str,unsigned char addr)
{
	Write_1602_Com(addr);
	while(*str)
	{
		Write_1602_Data(*str);
		str++;
	}	
}

/*********************************************************************************************************
** 函數功能 :在指定位置寫入一個整數
** 函數說明 :整數的范圍從0~65535,更大的需要采用long整型的進行擴展,注意整數的位數和地址不要超出顯示范圍
** 入口參數 :number:待寫入的整數
**            addr:  寫入整數的地址
** 出口參數 :無
*********************************************************************************************************/
void Write_Num(unsigned int number,unsigned char addr)
{
	Write_1602_Com(addr);
	if(number/10000 != 0)
	{
		Write_1602_Data(0x30 + number/10000);
		Write_1602_Data(0x30 + number%10000/1000);
		Write_1602_Data(0x30 + number%1000/100);
		Write_1602_Data(0x30 + number%100/10);
		Write_1602_Data(0x30 + number%10);
	}	
	else if(number/1000 != 0)
	{
		Write_1602_Data(0x30 + number/1000);
		Write_1602_Data(0x30 + number%1000/100);
		Write_1602_Data(0x30 + number%100/10);
		Write_1602_Data(0x30 + number%10);	
	}	
	else if(number/100 != 0)
	{
		Write_1602_Data(0x30 + number/100);
		Write_1602_Data(0x30 + number%100/10);
		Write_1602_Data(0x30 + number%10);		
	}
	else if(number/10 != 0)
	{
		Write_1602_Data(0x30 + number/10);
		Write_1602_Data(0x30 + number%10);			
	}
	else Write_1602_Data(0x30 + number);
}

/*********************************************************************************************************
** 函數功能 :向CGRAM寫入自定義字符
** 函數說明 :DB7   DB6   DB5   DB4   DB3   DB2   DB1   DB0
**           | 0  |  1  |          CGRAM的地址(6位)      |
**            
**			  DB5 DB4 DB3 為字符號,即要寫入的第幾個自定義字符
**			  DB2 DB1 DB0 為行號,即要定義的字符點陣的第幾行,其字符取模方式為高位在前,從上到下,而且只有低5位有效,對應字符大小為5*8
**	          自定義的字符數據存放在self_definition_char[]數組中
**	          目前測試結果,寫入CGRAM的地址0和1的數據無效,原因不詳,其他6個字符可用
** 入口參數 :無
** 出口參數 :無
*********************************************************************************************************/
void Write_CGRAM(void)
{
	unsigned char i,j;
	for (i = 0; i < 8; i ++)
	{		
		for(j = 0;j < 8;j ++)
		{
			Write_1602_Com(CGRAM_ADD+i*8+j);		
			Write_1602_Data(self_definition_char[i*8+j]);			
		}
	}
}
/*********************************************************************************************************
** 函數功能 :液晶初始化
** 函數說明 :用液晶之前需要先初始化液晶,配置對應的顯示模式
** 入口參數 :time:需要延時的時間,單位ms
** 出口參數 :無
*********************************************************************************************************/
void LCD_1602_Init()//初始化
{
	EN_1602=0;
	Write_1602_Com(DISPLAY_MOD | DISPLAY_MOD_TWO_LINE | DISPLAY_MOD_5_7);//設置顯示模式,兩行顯示,字符點陣大小為5*7:0X38

	Write_1602_Com(DISPLAY_SET | DISPLAY_SET_ON | DISPLAY_SET_CURSOR_OFF | DISPLEY_SET_BLINK_OFF);//開顯示,不顯示光標,光標不閃爍:0X0F
		
	Write_1602_Com(SET_MOD | SET_MOD_AC_ADD | SET_MOD_MOVE_OFF);//設置寫入數據后指針AC加一,畫面不動:0X06

	Write_1602_Com(CLEAR_SCREEN);//清屏
	Write_1602_Com(CURSOR_RESET);
	Write_CGRAM();
	Write_1602_Com(0x80);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费视频视频在线观看免费 | 国产一区二区在线看| 亚洲一区二区三区激情| 一区二区三区高清不卡| 午夜天堂影视香蕉久久| 日韩不卡在线观看日韩不卡视频| 午夜精品久久久久久久| 久久99久久久久| 岛国一区二区三区| 久久在线免费观看| av激情成人网| 色综合久久中文综合久久牛| 国产精品视频在线看| 99精品视频一区二区| 精品欧美乱码久久久久久1区2区| 国产日本亚洲高清| 日韩av在线播放中文字幕| 成人va在线观看| 国产日韩欧美在线一区| 亚洲国产人成综合网站| 成人免费看视频| 日韩精品专区在线影院重磅| 中文字幕一区二区三区av| 国产一区欧美二区| 日韩一级黄色片| 亚洲色图丝袜美腿| 久久机这里只有精品| 欧美日韩国产综合一区二区三区| 国产日韩欧美精品电影三级在线 | av在线一区二区| 精品日韩欧美一区二区| 亚洲一区二区三区四区在线免费观看 | 亚洲精品一区二区三区福利| 亚洲第一福利视频在线| 色婷婷久久一区二区三区麻豆| 国产精品电影一区二区三区| 91免费看视频| 天天综合天天做天天综合| 亚洲精品在线免费观看视频| 99精品国产一区二区三区不卡| 欧美福利电影网| 一区二区三区日本| 99久久久久久| 亚洲裸体xxx| 色综合久久中文综合久久97| 国产精品久久久久久久久晋中| 成人精品电影在线观看| 在线播放欧美女士性生活| 青青草国产精品97视觉盛宴| 久久久久九九视频| 欧美日韩一级片在线观看| 麻豆免费看一区二区三区| 国产精品视频免费| 91精品国产色综合久久不卡蜜臀 | 91麻豆6部合集magnet| 一区二区在线观看不卡| 精品入口麻豆88视频| 在线免费观看日本一区| 韩国一区二区三区| 日韩精品亚洲一区二区三区免费| 中文字幕第一区二区| 91精品国产手机| 色综合久久久久久久久久久| 久久国产精品露脸对白| 午夜精品免费在线| 一区二区三区在线看| 国产精品久久久久久一区二区三区| 欧美日韩一级片网站| 在线亚洲高清视频| av一区二区三区黑人| 精品中文字幕一区二区小辣椒| 亚洲精选视频免费看| 亚洲国产精品av| 久久久夜色精品亚洲| 欧美一级久久久久久久大片| 欧美日韩亚洲综合一区| 欧美亚洲一区三区| 欧美日韩成人高清| 欧美日韩1区2区| 国产欧美日韩中文久久| 中日韩av电影| 免费成人av在线| 国产一区二区三区观看| 久久99精品一区二区三区三区| 免费高清在线视频一区·| 久久精品国产秦先生| 国产毛片精品视频| 成人精品国产免费网站| 在线免费观看一区| 日韩精品一区二区三区视频在线观看| 91精品欧美福利在线观看| 精品久久久久久久久久久院品网| 国产亚洲精品精华液| 国产精品久久久久毛片软件| 图片区小说区国产精品视频| 精品亚洲porn| 色综合久久久久综合| 精品欧美一区二区三区精品久久| 欧美国产欧美综合| 亚洲成人精品一区| 成人免费视频一区| 日韩一二三四区| 一区二区三区在线观看国产| 日韩影视精彩在线| 不卡电影一区二区三区| 日韩三级高清在线| 亚洲成人激情社区| 成人av影视在线观看| 日韩精品在线看片z| 亚洲午夜电影在线| av动漫一区二区| 日本一二三四高清不卡| 久久精品国产亚洲aⅴ| 51精品视频一区二区三区| 中文字幕亚洲区| 日韩黄色免费网站| 在线亚洲人成电影网站色www| 精品久久久久香蕉网| 日韩黄色免费网站| 欧美日韩中字一区| 亚洲第一狼人社区| 在线视频欧美精品| 一区二区三区在线观看国产| 99re这里只有精品视频首页| 中文字幕一区av| 91亚洲永久精品| 亚洲精品国久久99热| 91蝌蚪国产九色| 夜色激情一区二区| 欧美一区二区三区思思人| 日韩成人一区二区三区在线观看| 5月丁香婷婷综合| 精品一区二区三区欧美| 久久久蜜桃精品| 成人av资源下载| 天天av天天翘天天综合网色鬼国产| 欧美一区二区精美| 本田岬高潮一区二区三区| 一区二区三区在线视频观看58| 欧美美女视频在线观看| 久久国产精品72免费观看| 国产日韩精品久久久| 色94色欧美sute亚洲线路二 | 久久丁香综合五月国产三级网站| 国产亚洲成aⅴ人片在线观看| 99精品视频一区二区三区| 五月婷婷另类国产| 久久精品视频一区| 欧美精品1区2区| 成人听书哪个软件好| 午夜亚洲福利老司机| 国产精品女同一区二区三区| 欧美另类久久久品| 97久久精品人人澡人人爽| 经典三级视频一区| 日本伊人色综合网| 亚洲高清在线精品| 中文字幕日韩av资源站| 成人免费观看av| 亚洲大片精品永久免费| 中文字幕在线观看不卡| 91精品婷婷国产综合久久性色 | 在线播放视频一区| 日本乱人伦一区| 99久久99久久精品国产片果冻| 国产高清无密码一区二区三区| 亚洲成人精品在线观看| 亚洲高清在线精品| 午夜电影网一区| 免费观看在线色综合| 免费在线观看精品| 青娱乐精品视频| 亚洲一区二区三区四区在线 | 在线综合亚洲欧美在线视频| 欧美午夜精品免费| 欧美性感一类影片在线播放| 色欧美日韩亚洲| 一本色道a无线码一区v| 国产高清亚洲一区| 色www精品视频在线观看| 久久免费电影网| 中文字幕日韩一区二区| 欧美成人在线直播| 久久久久99精品一区| 国产精品麻豆网站| 亚洲综合免费观看高清完整版| 亚洲国产精品久久艾草纯爱| 日本亚洲免费观看| 99精品热视频| 欧美一级艳片视频免费观看| 精品日韩99亚洲| 亚洲另类在线一区| 久久国产生活片100| 91老师片黄在线观看| 久久人人爽爽爽人久久久| 一区二区日韩电影| 国产一区二区三区四区五区入口 | 亚洲三级免费电影| 国产成人av自拍| 欧美成人一区二区|