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

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

?? lcd1602.h

?? 巡光小車程序
?? H
字號(hào):
/*********************************************************************************************************
** 文件功能 :LCD1602驅(qū)動(dòng)程序
** 工程作者 :Blue Sky Teams——ZZL
** 工程版本 :V1.0
*********************************************************************************************************/
#include<intrins.h>
/*********************************************************************************************************
** LCD1602接口定義
*********************************************************************************************************/
sbit RS_1602 = P0^7;	//數(shù)據(jù)命令選擇端  我的口P2^6;P2^5;P2^7;
sbit RW_1602 = P0^6;	//寫選擇端
sbit EN_1602 = P0^5;	//使能信號(hào)
#define LCD_PORT	P2 	//LCD1602數(shù)據(jù)接口  我的口P0

/*********************************************************************************************************
** LCD1602宏定義指令集
*********************************************************************************************************/
#define CLEAR_SCREEN			0X01		//清屏
#define CURSOR_RESET			0X02		//光標(biāo)復(fù)位

/*******************************************輸入方式設(shè)置**************************************************/
#define SET_MOD					0X04		//配合一下兩位來(lái)配置模式

#define SET_MOD_AC_ADD			0X02		//數(shù)據(jù)讀寫操作后AC自加一
#define SET_MOD_AC_DEC			0X00		//數(shù)據(jù)讀寫操作后AC自減一
#define SET_MOD_MOVE_ON			0X01		//數(shù)據(jù)讀寫操作后畫面移動(dòng)
#define SET_MOD_MOVE_OFF		0X00		//數(shù)據(jù)讀寫操作后畫面不動(dòng)

/*******************************************顯示開關(guān)控制**************************************************/
#define DISPLAY_SET				0X08		//配合下面三位來(lái)配置模式

#define DISPLAY_SET_ON			0X04		//顯示開
#define DISPLAY_SET_OFF			0X00		//顯示關(guān)
#define DISPLAY_SET_CURSOR_ON	0X02		//光標(biāo)顯示開
#define DISPLAY_SET_CURSOR_OFF	0X00		//光標(biāo)顯示關(guān)
#define DISPLAY_SET_BLINK_ON	0X01		//光標(biāo)閃爍
#define DISPLEY_SET_BLINK_OFF	0X00		//光標(biāo)不閃爍

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

/*******************************************顯示功能設(shè)置**************************************************/
#define DISPLAY_MOD				0X30		//默認(rèn)設(shè)置為8位數(shù)據(jù)口,配合一下兩個(gè)位來(lái)時(shí)配置模式
#define DISPLAY_MOD_TWO_LINE	0X08		//兩行顯示
#define DISPLAY_MOD_ONE_LINE	0X00		//一行顯示
#define DISPLAY_MOD_5_10		0X04		//5*10的點(diǎn)陣字符顯示
#define DISPLAY_MOD_5_7			0X00		//5*7的點(diǎn)陣字符顯示

/*******************************************自定義字符*****************************************************/
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;

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

/*********************************************************************************************************
** 函數(shù)功能 :LCD1602忙碌查詢
** 函數(shù)說(shuō)明 :每次讀寫液晶時(shí)需要事先檢測(cè)芯片是否處于忙碌狀態(tài)
** 入口參數(shù) :無(wú)
** 出口參數(shù) :返回值為1:等待超時(shí)
**            返回值為0:芯片處于空閑狀態(tài)
*********************************************************************************************************/
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;
}

/*********************************************************************************************************
** 函數(shù)功能 :向液晶寫入指令
** 函數(shù)說(shuō)明 :
** 入口參數(shù) :待寫入的指令
** 出口參數(shù) :無(wú)
*********************************************************************************************************/
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;
}

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

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

/*********************************************************************************************************
** 函數(shù)功能 :在指定位置寫入一個(gè)整數(shù)
** 函數(shù)說(shuō)明 :整數(shù)的范圍從0~65535,更大的需要采用long整型的進(jìn)行擴(kuò)展,注意整數(shù)的位數(shù)和地址不要超出顯示范圍
** 入口參數(shù) :number:待寫入的整數(shù)
**            addr:  寫入整數(shù)的地址
** 出口參數(shù) :無(wú)
*********************************************************************************************************/
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);
}

/*********************************************************************************************************
** 函數(shù)功能 :向CGRAM寫入自定義字符
** 函數(shù)說(shuō)明 :DB7   DB6   DB5   DB4   DB3   DB2   DB1   DB0
**           | 0  |  1  |          CGRAM的地址(6位)      |
**            
**			  DB5 DB4 DB3 為字符號(hào),即要寫入的第幾個(gè)自定義字符
**			  DB2 DB1 DB0 為行號(hào),即要定義的字符點(diǎn)陣的第幾行,其字符取模方式為高位在前,從上到下,而且只有低5位有效,對(duì)應(yīng)字符大小為5*8
**	          自定義的字符數(shù)據(jù)存放在self_definition_char[]數(shù)組中
**	          目前測(cè)試結(jié)果,寫入CGRAM的地址0和1的數(shù)據(jù)無(wú)效,原因不詳,其他6個(gè)字符可用
** 入口參數(shù) :無(wú)
** 出口參數(shù) :無(wú)
*********************************************************************************************************/
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]);			
		}
	}
}
/*********************************************************************************************************
** 函數(shù)功能 :液晶初始化
** 函數(shù)說(shuō)明 :用液晶之前需要先初始化液晶,配置對(duì)應(yīng)的顯示模式
** 入口參數(shù) :time:需要延時(shí)的時(shí)間,單位ms
** 出口參數(shù) :無(wú)
*********************************************************************************************************/
void LCD_1602_Init()//初始化
{
	EN_1602=0;
	Write_1602_Com(DISPLAY_MOD | DISPLAY_MOD_TWO_LINE | DISPLAY_MOD_5_7);//設(shè)置顯示模式,兩行顯示,字符點(diǎn)陣大小為5*7:0X38

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

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

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
8x8x8国产精品| 日韩1区2区日韩1区2区| 国产欧美综合在线观看第十页| 69堂成人精品免费视频| 欧美影片第一页| 91久久香蕉国产日韩欧美9色| 色综合久久88色综合天天6| 99久久免费视频.com| 99精品视频在线观看| 99久久免费精品| 91麻豆6部合集magnet| 国产午夜亚洲精品羞羞网站| 亚洲欧美视频在线观看| 3751色影院一区二区三区| 欧美丝袜丝交足nylons图片| 欧美中文一区二区三区| 欧美精品一级二级三级| 亚洲色图在线看| 亚洲免费电影在线| 午夜精品久久久久影视| 日韩二区三区在线观看| 激情小说亚洲一区| av在线免费不卡| 欧美三级乱人伦电影| 欧美一区二区日韩一区二区| 日韩欧美亚洲国产另类| 国产欧美一区二区三区沐欲 | 国产日韩欧美一区二区三区综合| 久久综合色播五月| 国产精品久久久久久久久久久免费看 | 亚洲福中文字幕伊人影院| 视频一区视频二区中文字幕| 久久国产精品色| 波波电影院一区二区三区| 欧美怡红院视频| 精品伦理精品一区| 国产精品国产三级国产三级人妇| 亚洲黄网站在线观看| 久久99精品国产.久久久久久| 国产a视频精品免费观看| 色综合久久中文综合久久牛| 欧美精品18+| 中文字幕免费一区| 日本在线不卡一区| 国产成a人亚洲精品| 欧美日韩高清一区二区| 国产女人aaa级久久久级| 亚洲一区二区三区中文字幕在线| 麻豆91精品91久久久的内涵| 99在线精品视频| 日韩一区二区电影| 亚洲欧美区自拍先锋| 激情综合网天天干| 在线日韩国产精品| 久久精品无码一区二区三区| 亚洲成av人片在线| 成人av网站在线观看免费| 欧美一区二区三区婷婷月色| 国产精品久久久久9999吃药| 天堂在线一区二区| 91丨porny丨首页| 亚洲精品在线网站| 日韩国产欧美一区二区三区| 99精品视频在线免费观看| 精品国产百合女同互慰| 亚洲综合色在线| 成人高清av在线| 欧美mv日韩mv| 午夜欧美大尺度福利影院在线看| eeuss影院一区二区三区| 精品美女被调教视频大全网站| 午夜视频在线观看一区| 91麻豆免费看片| 国产视频在线观看一区二区三区 | 91蜜桃网址入口| 欧美激情一区三区| 美女在线一区二区| 欧美日韩视频在线一区二区| 中文字幕在线播放不卡一区| 国产一二三精品| 日韩美女主播在线视频一区二区三区| 亚洲视频一区在线| 99免费精品在线| 国产欧美一区二区精品性色| 激情五月激情综合网| 日韩一区二区三区精品视频| 性做久久久久久久久| 日本精品裸体写真集在线观看| 国产精品每日更新在线播放网址 | 欧美大片日本大片免费观看| 日韩精品免费视频人成| 欧美精品三级在线观看| 亚洲综合激情另类小说区| 色综合久久久久久久久久久| 国产精品色眯眯| 国产精品一二三区| 国产视频在线观看一区二区三区| 国精产品一区一区三区mba视频| 日韩三级高清在线| 蜜臀久久99精品久久久久宅男| 在线电影院国产精品| 日韩av二区在线播放| 在线播放91灌醉迷j高跟美女 | 激情综合网激情| 精品对白一区国产伦| 国产一区二区三区综合| 国产婷婷一区二区| 国产精品12区| 国产视频一区二区在线观看| 国产不卡在线播放| 国产精品伦理一区二区| 99久久精品免费| 亚洲免费观看高清完整| 精品视频在线看| 日韩精品国产欧美| 日韩一级高清毛片| 国产麻豆视频精品| 国产精品久久久久久久裸模| 91麻豆免费视频| 视频一区二区欧美| 久久青草欧美一区二区三区| 国产不卡视频一区二区三区| 国产精品传媒视频| 欧美在线观看一二区| 免费在线观看精品| 国产日韩影视精品| 91亚洲精品一区二区乱码| 一区二区视频免费在线观看| 制服丝袜日韩国产| 国产精品一区二区三区99| 中文字幕一区在线观看视频| 欧美日韩精品一区二区| 久久精品72免费观看| 亚洲国产成人私人影院tom| 91久久精品日日躁夜夜躁欧美| 日韩国产精品久久久| 久久午夜免费电影| 91在线你懂得| 日韩av一区二| 国产精品不卡在线| 欧美福利一区二区| 成人小视频免费在线观看| 一区二区欧美国产| 精品精品欲导航| 91天堂素人约啪| 久久91精品国产91久久小草| 国产精品久久久久久久久免费桃花 | 久久色在线观看| 色婷婷一区二区| 韩国成人在线视频| 亚洲自拍偷拍网站| 国产亚洲精久久久久久| 欧美伊人久久久久久午夜久久久久| 美女一区二区久久| 亚洲精品成人精品456| 欧美草草影院在线视频| 色综合久久久久久久久久久| 国产一区二区三区精品视频| 一区二区三区在线视频免费| 精品精品国产高清a毛片牛牛| 色婷婷av一区二区三区gif | 欧美精品一区二区三| 在线视频欧美区| 国产成人精品三级| 日韩成人免费看| 亚洲视频免费在线观看| 久久日韩粉嫩一区二区三区| 欧美性感一类影片在线播放| 成人午夜又粗又硬又大| 蜜臀久久久久久久| 亚洲综合在线免费观看| 国产三级精品三级在线专区| 欧美一级黄色大片| 色欧美片视频在线观看在线视频| 国产在线精品国自产拍免费| 午夜欧美电影在线观看| 伊人开心综合网| 国产精品久久久久久久蜜臀| 久久久久久久久伊人| 日韩一二三区视频| 欧美日韩国产大片| 色哟哟日韩精品| 99热在这里有精品免费| 国产成人综合精品三级| 狠狠色丁香婷婷综合| 日本欧美一区二区在线观看| 亚洲激情一二三区| ●精品国产综合乱码久久久久| 久久久久青草大香线综合精品| 91精品国产综合久久久久久| 欧美日韩一区成人| 在线观看视频一区二区欧美日韩| 99久久综合精品| 成人性生交大片免费看视频在线| 国产麻豆9l精品三级站| 精品一区二区三区免费观看| 日本少妇一区二区| 手机精品视频在线观看| 日韩国产欧美在线视频| 日韩av电影免费观看高清完整版 |