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

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

?? lcd 1602.h

?? 對PS2鼠標的操作通過1602來進行顯示!
?? H
字號:
#ifndef _lcd_1602_h
#define _lcd_1602_h

#include<reg52.h>
#include<intrins.h>
#include"delay.h"

#define uchar unsigned char
#define uint unsigned int
#define lint long int

#define busy 0x80
#define HIGH 1
#define LOW 0

sbit LCD1602_RS=P0^0;   //RS為寄存器選擇,高電平時選擇數據寄存器、低電平時選擇指令寄存器。
sbit LCD1602_RW=P0^1;   //RW為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。
sbit LCD1602_EN=P0^2;   //E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執行命令。

//***********//LCD1602的接線//*****************************
#define  LCD_IO     P0	 //LCD1602的高四位接在P0口的高四位

//*****************************************
#define  	DATA_MODE    			0x28	//LCD顯示模式設置,0x28表示“四位數據線”模式
#define  	OPEN_SCREEN    			0x0f	//打開LCD顯示,無光標且顯示雙行
#define  	SET_ADDRESS   		    0x80	//寫地址指令
#define  	CLEARSCREEN    			LCD_en_com(0x01)  //清屏

//**********************************************************************
void LCD_en_write(void);												 //EN控制端產生一高電平,使能寫LCD
void LCD_en_com(uchar command);											//寫命令指令
void LCD_en_dat(uchar dat);												//寫數據指令
void LCD_read_dat(uchar dat);											//讀數據指令
void LCD_set_xy(uchar x,uchar y);										//設置顯示地址:X為橫軸(0-15),Y為縱軸(0-1).
void LCD_write_char(uchar x,uchar y,uchar dat);							//寫一個字符
void LCD_write_string(uchar x,uchar y,uchar *s);						//寫一個字符串
void LCD_write_int(uchar x,uchar y,uint intdat);						//寫無字符型整形數
void LCD_init(void);													//lcd初始化
void LCD_Read_BF(void);													//LCD讀忙信號
void movesreen_rl_1602(uint time,uchar direction);						//整頻左移、右移
void LCD_write_float(unsigned char row,unsigned char col,float n);			//顯示單精度浮點數n
void LCD_write_defchar(void);					   //顯示自定義字符
void num(uchar x,uchar y,uint n);
//**********************************************************************

void LCD_write_defchar(void)					   //???怎么寫自定義的字符到CGRAM中去??*/*
{
	LCD_en_com(0x40+0x00);
	LCD_en_dat(0x0f);
	LCD_en_com(0x40+0x01);
	LCD_en_dat(0x09);
	LCD_en_com(0x40+0x02);
	LCD_en_dat(0x0f);
	LCD_en_com(0x40+0x03);
	LCD_en_dat(0x09);
	LCD_en_com(0x40+0x04);
	LCD_en_dat(0x0f);
	LCD_en_com(0x40+0x05);
	LCD_en_dat(0x09);
	LCD_en_com(0x40+0x06);
	LCD_en_dat(0x03);
	LCD_en_com(0x40+0x07);
	LCD_en_dat(0x00);	
}

void LCD_en_write(void)
{
	LCD1602_EN=HIGH;
	_nop_();
	LCD1602_EN=LOW;	
}

void LCD_Read_BF(void)
{
	LCD1602_RS=LOW;
	LCD1602_RW=HIGH;
	LCD1602_EN=HIGH;
	LCD_IO=LCD_IO&0x0f|0xf0;		//將P0的高四位置0,保留低四位的原數據
	while(LCD_IO&busy);
	LCD1602_EN=LOW;	
}

void LCD_en_com(uchar command)
{
	LCD_Read_BF();
	LCD1602_RS=LOW;
	LCD1602_RW=LOW;
	LCD_IO=LCD_IO&0x0f;
	LCD_IO=command&0xf0|LCD_IO&0x0f;
	LCD_en_write();	
	command=command<<4;
	LCD_IO=LCD_IO&0x0f;			   	//從P0寫入command高四位數據后,要給P0清零,否則之后寫入的command的低四位錯誤
	LCD_IO=command&0xf0|LCD_IO&0x0f;
	LCD_en_write();	
}

void LCD_en_dat(uchar dat)
{
	LCD_Read_BF();
	LCD1602_RS=HIGH;
	LCD1602_RW=LOW;
	LCD_IO=LCD_IO&0x0f;
	LCD_IO=dat&0xf0|LCD_IO&0x0f;
	LCD_en_write();	
	dat=dat<<4;
	LCD_IO=LCD_IO&0x0f;			   	//從P0寫入dat高四位數據后,要給P0清零,否則之后寫入的dat的低四位錯誤
	LCD_IO=dat&0xf0|LCD_IO&0x0f;
	LCD_en_write();	
}

//*****************從CGRAM或DDRAM中讀數*****************//
void LCD_read_dat(uchar dat)			  
{
	LCD_Read_BF();
	LCD1602_RS=HIGH;
	LCD1602_RW=HIGH;
	LCD_IO=LCD_IO&0x0f;
	LCD_IO=dat&0xf0|LCD_IO&0x0f;
	LCD_en_write();	
	dat=dat<<4;
	LCD_IO=LCD_IO&0x0f;			   	//從P0讀出dat高四位數據后,要給P0清零,否則之后寫入的dat的低四位錯誤
	LCD_IO=dat&0xf0|LCD_IO&0x0f;
	LCD_en_write();	
}

//**************設置顯示地址:X為橫軸(0-15),Y為縱軸(0-1)********************
void LCD_set_xy(uchar x, uchar y)
{
	uchar address;
	if(!y)
		address=0x80+x;
	else
		address=0xc0+x;
	LCD_en_com(address);			
}

//***************寫一個字符:X為橫軸(0-15),Y為縱軸(0-1)**********
void LCD_write_char(uchar x,uchar y,uchar dat)
{
	LCD_set_xy(x,y);
	LCD_en_dat(dat);	
}

//****************寫一個字符串***************************************
void LCD_write_string(uchar x,uchar y,uchar *s)
{
	LCD_set_xy(x,y);
	while(*s)  
	{
		LCD_en_dat(*s);   
		s++;
	}			
}

//****************寫一個無字符整數***************************************
void LCD_write_int(uchar x,uchar y,uint intdat)
{
	uchar i,temp[5];
	while(intdat/10||intdat%10)
	{
		temp[i]=intdat%10;
		intdat/=10;
		i++;
	}
	LCD_set_xy(x,y);
	while(i--)  
		LCD_en_dat(temp[i]+0x30);	
}

//*******time為每移動一格時所需要的時間,direction為移動方向:0為左移,1為右移***//
//*******函數功能:循環左(右)移動屏幕上的所有字符*******//   
void movesreen_rl_1602(uint time,uchar direction)
{
    uint i=0,j=0;   
    for(i=0;i<16;i++)
    {    
        if(direction==0)   
        LCD_en_com(0x18);
        else if(direction==1)
        LCD_en_com(0x1c);
        for(j=0;j<time;j++)
        delayms(10);
    }
}

//*********寫一個小數*******************//
void LCD_write_float(uchar row,uchar col,float n)
{
	uchar i=0,numlength=0,xlength=0,zlength=0,a[9]={0,0,0,0,0,0,0,0};	//numlength是數長,xlength是小數長度,zlength是整數長度
	float ftemp;
	lint ltemp=0;
	ftemp=n;
	for(i=0;i<6;i++)			//該循環計算出小數長度
	{
		ltemp=ftemp;			//去掉小數
		if(ftemp>ltemp)
		{
			ftemp=ftemp*10;
			ltemp=ftemp;
			xlength++;
		}
	}
	ltemp=n;						//去掉小數
	for(i=0;i<6;i++)				//該循環計算出整數長zlength
	{
		if(ltemp>=1)
		{
			ltemp=ltemp/10;
			zlength++;
		}
	}
	if(n<1)
		zlength=1;	
	numlength=zlength+xlength;	//計算原數字及小數點的長度
	ftemp=n;					//將n去掉小數點放進ftemp
	for(i=xlength;i>0;i--)
		ftemp=ftemp*10;
	ltemp=ftemp;				//將ftemp變為長整型放進字符數組a[]
	for(i=numlength;i>zlength;i--)
	{
		a[i]=ltemp%10+0x30;
		ltemp/=10;
	}
	for(i=zlength;i>0;i--)
	{
		a[i-1]=ltemp%10+0x30;
		ltemp/=10;
	}
	if(xlength==0)					//小數部分為0是,去掉小數點
	{
		a[zlength]=' ';
		a[numlength]='%';
	}
	if(xlength!=0)
	{
		a[zlength]='.';
		a[numlength+1]='%';
	}					   //項目所用,數組a只應該有8哥元素,而不是9個元素,%在頭文件中應該舍去
	LCD_write_string(row,col,a);
}

void num(uchar x,uchar y,uint n)
{
	unsigned char i,length,a[6]={0,0,0,0,0,0};
	uint nx=n;
	if(n==0){LCD_write_char(x,y,'0');return;}
	for(i=0;i<6;i++)
	{
		if(nx>=1)length++;
		nx/=10;
	}
	nx=n;
	for(;length>0;length--)
	{
		a[length-1]=nx%10+48;
		nx/=10;
	}
	LCD_write_string(x,y,a);
}


void LCD_init(void)
{
	LCD_en_com(DATA_MODE);
	LCD_en_com(DATA_MODE);
	LCD_en_com(OPEN_SCREEN);
	LCD_en_com(SET_ADDRESS);
	CLEARSCREEN;	
}

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产日日夜夜| 精品一区二区在线视频| 日韩欧美一区二区久久婷婷| 国产成都精品91一区二区三| 亚洲一线二线三线视频| 久久久久久久久久看片| 在线免费观看日本一区| 国产成人av电影在线观看| 午夜私人影院久久久久| 国产精品激情偷乱一区二区∴| 这里只有精品免费| 91婷婷韩国欧美一区二区| 麻豆国产欧美一区二区三区| 亚洲最色的网站| 欧美国产激情一区二区三区蜜月| 欧美一区三区二区| 在线观看av不卡| av午夜一区麻豆| 激情综合色综合久久综合| 亚洲影院在线观看| 亚洲图片另类小说| 国产精品免费av| 久久久久国产精品人| 这里只有精品电影| 欧美剧在线免费观看网站| 色综合久久88色综合天天免费| 国产精品中文字幕一区二区三区| 免费观看久久久4p| 日本成人超碰在线观看| 亚洲成国产人片在线观看| 亚洲精品高清视频在线观看| 国产精品网站在线| 国产日韩av一区二区| 26uuu国产电影一区二区| 日韩欧美不卡一区| 欧美一区二区三区思思人| 欧美日本免费一区二区三区| 91福利视频久久久久| 99精品国产91久久久久久| 国产精品456露脸| 国产一区二区福利| 国产精品一区三区| 国产乱人伦偷精品视频免下载| 精品一区二区精品| 韩国女主播一区二区三区| 精品一区二区三区免费| 国产精品自在欧美一区| 国产91在线观看丝袜| 成人av在线播放网址| 成人高清视频在线| 99re这里只有精品6| 91蜜桃免费观看视频| 日本精品视频一区二区| 欧美亚一区二区| 欧美一区2区视频在线观看| 91精品国产综合久久久久| 日韩欧美的一区| 久久久久久久久久看片| 国产精品久久久久久久久动漫 | 日韩avvvv在线播放| 视频一区视频二区中文字幕| 久久99热这里只有精品| 国产九九视频一区二区三区| 国产不卡视频一区二区三区| 成年人国产精品| 色妹子一区二区| 欧美精品xxxxbbbb| 久久久久久久久蜜桃| 亚洲男人天堂一区| 日欧美一区二区| 国产剧情在线观看一区二区| 99久久国产综合精品色伊 | 久久一夜天堂av一区二区三区| 精品国产乱码久久久久久久久| 国产日产欧美一区二区视频| 一区二区三区中文在线观看| 日韩av网站免费在线| 国产精品12区| 91福利资源站| 久久影视一区二区| 一区二区免费视频| 寂寞少妇一区二区三区| 91麻豆高清视频| 日韩一区二区三区视频在线观看| 国产精品天干天干在线综合| 亚洲国产一区二区a毛片| 精品一区二区综合| 色婷婷香蕉在线一区二区| 日韩欧美www| 亚洲日穴在线视频| 久久精品国产第一区二区三区 | 日韩欧美色综合| 国产精品国产a| 麻豆精品一区二区三区| 色综合婷婷久久| 久久精品欧美一区二区三区不卡 | 欧美日韩五月天| 国产亚洲欧美中文| 午夜精品视频一区| 成人免费高清在线| 日韩一卡二卡三卡四卡| 亚洲与欧洲av电影| av一区二区三区四区| 精品1区2区在线观看| 亚洲电影一区二区三区| 成人免费毛片嘿嘿连载视频| 在线不卡免费欧美| 亚洲精品一二三四区| 国产成人av一区二区| 日韩欧美专区在线| 一区二区三区精品视频| 成人夜色视频网站在线观看| 日韩西西人体444www| 亚洲成人精品在线观看| 色综合咪咪久久| 日本一区二区三区dvd视频在线| 三级一区在线视频先锋| 在线观看av一区二区| 亚洲人午夜精品天堂一二香蕉| 国产成人av一区二区三区在线观看| 欧美一区二区三区在线视频| 亚洲一区二区中文在线| 91网上在线视频| 亚洲欧洲色图综合| 99久久精品国产一区二区三区| 国产日韩精品视频一区| 国产一区二区三区四区五区入口| 欧美一区二区性放荡片| 日产精品久久久久久久性色| 欧美日韩aaaaaa| 午夜精品久久久久影视| 欧美图区在线视频| 亚洲成人手机在线| 欧美日韩国产综合一区二区三区 | 久久久综合激的五月天| 国内精品免费**视频| 精品久久国产97色综合| 久久成人综合网| 日韩女优制服丝袜电影| 奇米在线7777在线精品| 日韩精品最新网址| 激情六月婷婷久久| 久久综合九色综合97婷婷| 狠狠色综合日日| 久久久久久久久久看片| 成人午夜av电影| 亚洲视频在线观看一区| 91老师片黄在线观看| 亚洲精品免费一二三区| 欧美三级在线视频| 日日夜夜免费精品| 日韩精品一区二区三区视频播放| 麻豆精品视频在线| 国产亚洲污的网站| 91女人视频在线观看| 一区二区三区日韩欧美| 欧美精品v日韩精品v韩国精品v| 日韩黄色小视频| 欧美zozo另类异族| 国产99久久久精品| 亚洲一线二线三线久久久| 91精品国产色综合久久久蜜香臀| 久久99日本精品| 国产精品久久毛片| 在线免费精品视频| 精品在线一区二区三区| 国产亚洲欧美日韩在线一区| 97久久久精品综合88久久| 亚洲va欧美va人人爽午夜| 2024国产精品| 91在线观看污| 午夜免费久久看| 久久久精品免费观看| 在线观看91精品国产入口| 久久福利资源站| 亚洲啪啪综合av一区二区三区| 精品视频1区2区3区| 狠狠色狠狠色综合日日91app| 国产精品麻豆网站| 欧美一区午夜视频在线观看| 国产91高潮流白浆在线麻豆| 亚洲一区视频在线| 久久免费午夜影院| 欧美日韩在线不卡| 国产福利一区二区三区视频在线 | 日韩福利视频导航| 中文字幕一区二区视频| 91精品免费在线| 99久久伊人网影院| 玖玖九九国产精品| 依依成人综合视频| 久久久久久久久97黄色工厂| 欧美视频精品在线| 国产**成人网毛片九色 | 国产精品亲子伦对白| 91精品国产手机| 色噜噜狠狠成人网p站| 国产伦精品一区二区三区视频青涩| 亚洲综合一区二区精品导航| 久久综合成人精品亚洲另类欧美|