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

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

?? lcd1602.h

?? stc12c5a60s2內置AD
?? 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一区二区三区免费野_久草精品视频
尤物av一区二区| 国产伦理精品不卡| 激情av综合网| 欧美性欧美巨大黑白大战| 久久综合久久综合亚洲| 一区二区三区日韩精品| 韩国精品免费视频| 欧美一区欧美二区| 亚洲人妖av一区二区| 卡一卡二国产精品| 91麻豆文化传媒在线观看| 精品伦理精品一区| 亚洲一区国产视频| 成人免费视频网站在线观看| 宅男在线国产精品| 中文字幕在线一区二区三区| 精品夜夜嗨av一区二区三区| 欧美午夜免费电影| 中文字幕不卡在线观看| 久久er99精品| 日韩精品一区二区三区视频| 一二三四社区欧美黄| 成人免费视频caoporn| 精品久久久网站| 玖玖九九国产精品| 制服丝袜亚洲网站| 午夜精品成人在线| 欧美日韩一本到| 亚洲国产日产av| 欧美午夜不卡视频| 亚洲精品一二三四区| 91色婷婷久久久久合中文| 欧美激情一二三区| 不卡免费追剧大全电视剧网站| 国产欧美日韩在线看| 久久精品国产99| 久久综合久久99| 国产电影一区在线| 国产无人区一区二区三区| 国内一区二区在线| 国产欧美日韩麻豆91| 成人黄色免费短视频| 国产精品国产精品国产专区不蜜| 成人成人成人在线视频| 中文字幕 久热精品 视频在线| 波多野结衣中文字幕一区| 国产精品美女一区二区在线观看| av亚洲产国偷v产偷v自拍| 亚洲欧美视频在线观看视频| 色狠狠一区二区三区香蕉| 亚洲午夜av在线| 欧美大白屁股肥臀xxxxxx| 久久电影网站中文字幕| 国产欧美精品一区二区色综合 | 97精品国产露脸对白| 日本一区二区三区电影| 99re这里只有精品6| 亚洲一区在线免费观看| 在线电影欧美成精品| 国产真实乱子伦精品视频| 国产精品国模大尺度视频| 91久久久免费一区二区| 琪琪一区二区三区| 国产精品丝袜黑色高跟| 欧美日韩成人综合| 国产美女精品一区二区三区| 《视频一区视频二区| 欧美精品在线视频| 国产乱码精品一品二品| 亚洲欧美日韩一区| 日韩欧美国产电影| 99久久精品国产麻豆演员表| 日韩成人av影视| 中文字幕一区视频| 欧美精品一卡两卡| 成人性生交大片免费看中文网站| 亚洲成人777| 国产精品欧美精品| 日韩一区二区精品在线观看| 大陆成人av片| 免费观看一级欧美片| 最新不卡av在线| 欧美精品一区男女天堂| 色综合天天综合网国产成人综合天| 日韩专区中文字幕一区二区| 欧美国产成人在线| 日韩一区二区电影网| 91丨九色porny丨蝌蚪| 久久精品国产精品青草| 亚洲美女一区二区三区| 久久久久久久久岛国免费| 欧美日韩mp4| 欧洲av一区二区嗯嗯嗯啊| 国产原创一区二区三区| 亚洲国产美国国产综合一区二区| 国产精品丝袜一区| 精品av久久707| 91精品国产麻豆| 91福利小视频| 91黄色在线观看| 91啪九色porn原创视频在线观看| 国产一区亚洲一区| 麻豆精品在线播放| 日韩成人精品视频| 午夜精品国产更新| 亚洲福利一区二区| 亚洲国产精品久久人人爱蜜臀| 亚洲女同女同女同女同女同69| 国产欧美日韩精品一区| 日韩欧美国产麻豆| 欧美电影免费观看完整版| 欧美日韩亚洲另类| 精品视频在线看| 欧美性受xxxx| 欧洲av在线精品| 欧美剧在线免费观看网站| 91黄色免费版| 欧美三级电影在线观看| 欧美日韩亚洲综合一区二区三区| 欧美日韩一区不卡| 欧美日韩不卡一区二区| 9191国产精品| 日韩女优制服丝袜电影| 日韩亚洲欧美高清| 日韩一区二区精品在线观看| 精品成人免费观看| 久久午夜免费电影| 国产亚洲成aⅴ人片在线观看| 久久综合久久鬼色| 国产欧美日本一区视频| 国产精品国产三级国产aⅴ原创| 成人欧美一区二区三区白人| 亚洲日本青草视频在线怡红院| 亚洲午夜影视影院在线观看| 免费看黄色91| 国产99一区视频免费| 97国产一区二区| 欧美嫩在线观看| 久久精品亚洲麻豆av一区二区| 污片在线观看一区二区| 日本aⅴ精品一区二区三区| 国产乱国产乱300精品| 99国产精品国产精品毛片| 在线精品视频免费播放| 欧美一区二区三区日韩视频| 国产视频视频一区| 一个色在线综合| 国产一区福利在线| 99麻豆久久久国产精品免费优播| 欧美日韩电影在线播放| 久久久久国产精品人| 亚洲欧美一区二区三区国产精品| 日韩福利电影在线| 国产成人免费视| 欧美区一区二区三区| 久久精品免费在线观看| 亚洲午夜精品在线| 高清久久久久久| 日韩视频123| 一区二区三区波多野结衣在线观看 | 久久亚洲二区三区| 一区二区三区中文字幕| 美女爽到高潮91| 色8久久精品久久久久久蜜| 日韩精品一区二区三区三区免费 | 欧美探花视频资源| 久久亚洲捆绑美女| 亚洲一二三四区| 99久久精品99国产精品| 日韩欧美一级在线播放| 亚洲人成影院在线观看| 久久9热精品视频| 欧美日韩三级一区二区| 日韩久久一区二区| 国产一区美女在线| 91精品久久久久久久99蜜桃| 亚洲欧洲综合另类在线| 国产精品一二三区| 日韩一区二区电影在线| 午夜精品一区二区三区三上悠亚| 99这里只有精品| 国产精品久久一卡二卡| 狠狠色狠狠色综合日日91app| 欧美日韩激情一区二区| 一区二区三区久久| 99r国产精品| 亚洲人xxxx| 91丨porny丨户外露出| 国产精品丝袜黑色高跟| 国精产品一区一区三区mba视频 | 欧美年轻男男videosbes| 国产精品久久二区二区| 国产高清精品久久久久| 久久免费精品国产久精品久久久久| 久色婷婷小香蕉久久| 69堂成人精品免费视频| 香蕉久久一区二区不卡无毒影院| 欧美日韩激情在线| 亚洲一区二区四区蜜桃| 欧美视频自拍偷拍|