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

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

?? lcd1602func.c

?? 液晶顯示的完整程序
?? C
字號:
/*******************************************************************
**函數功能:LCD的驅動函數										  **
**創建人:xingyuegu												  **
**創建日期:2006-7-12											  **
**版本:1.0														  **
**修改日期:2006-10-30										  	  **
**版本:2.0														  **
 1602液晶仿真的一些發現


看了JJJ的例子:字符液晶1602仿真測試
按自己習慣也寫了個,發現些問題
一、
JJJ說仿真時要屏蔽掉檢查LCD忙的代碼,否則會死循環
while(DBPort&0x80);    //這句要屏蔽

我寫的程序總是無法正確仿真,因為不檢查LCD忙,就不能保證LCD已經空閑
查資料LCD清屏命令要1.64ms才完成,一般命令也要40us,最后加上足夠的延時后才仿真通過

后來又試了下其它LCD資料上的例程,仿真發現檢查LCD忙標志也不會死循環
分析了下,區別是:它不是一直在使能的情況下讀忙信號,而是每次都有EN=0,再EN=1重新讀取忙標志
我還沒做好實際實驗電路板,沒試過實際電路
根據JJJ的描述和我的仿真實驗,我猜仿真和實際硬件的區別是:
實際硬件在EN=1的情況下,LCD執行完指令會更新LCD忙標志為0;
而仿真需要EN=0,EN=1來重新讀取忙信號,否則就不會更新,而一直以為是忙

在JJJ的LCD1602.h加了幾句,變成
while(DBPort&0x80)
    {    LcdEn=0;        _nop_();
         LcdEn=1;        _nop_();
    }
仿真就可以檢查忙標志了

自己的代碼也做相應改動,都可以成功檢查忙標志,也無需多加延時了

*******************************************************************/

#include <lcd1602.h>
#include <reg52.h>

sbit LcdRs =P2^0;
sbit LcdRw =P2^1;
sbit LcdEn =P2^2;
sfr DBPort =0x80;

/*************************************************************
**功能:延時1.64ms											**
**參數:無													**
*************************************************************/

void delay1_64ms(void)
{
	uchar i;
	for(i = 0;i < 250;i++)
	{
		_nop_();
		_nop_();
		_nop_();
		_nop_();
	}
}
/*************************************************************
**功能:延時40us											**
**參數:無													**
*************************************************************/

void delay40us(void)
{
	uchar i;
	for(i = 0;i < 20;i++)
	{
		;
	}
}
/*************************************************************
**功能:判斷LCD忙											**
**參數:無       											**
*************************************************************/

unsigned char Lcd_Wait(void)
{
	
	while(1)
	{
	DBPort=0xff;
	LcdEn=0;
	_nop_();
	LcdRs=0;
	_nop_();
	_nop_();
	LcdRw=1;
	_nop_();
	_nop_();
	LcdEn=1;
	_nop_();
	_nop_();
	
	_nop_();
	_nop_();
	if((DBPort&0x80)==0)
	{
		break;
		
	}
	LcdEn=0;
	}
	//delay40us();
	return DBPort;
}
/**************************************************************
**功能:寫LCD函數											 **
**參數:style為寫命令/數據,0-命令,1-數據;input為寫入的8位 **
**		命令/數據											 **
**************************************************************/


void Lcd_Write(bit style,unsigned char input)
{
	LcdEn=0;
	_nop_();
	_nop_();
	LcdRs=style;
	_nop_();
	_nop_();
	LcdRw=0;
	DBPort=input;
	_nop_();
	_nop_();
	LcdEn=1;
	_nop_();
	_nop_(); 
	LcdEn=0;
	_nop_();
	Lcd_Wait();
	
}
/****************************************************************
**功能:LCD清屏函數										       **
**參數:無     											       **
****************************************************************/
void ClrScreen(void)
{	
	Lcd_Write(Lcd_Command,Lcd_Clear_Screen);
	delay1_64ms();
}

/****************************************************************
**功能:LCD歸位函數										       **
**參數:無     											       **
****************************************************************/
void Screen_home(void)
{
	
	Lcd_Write(Lcd_Command,Lcd_Home);
	delay1_64ms();

}
/***************************************************************
**功能:設置顯示模式										  **
**參數:													  **
***************************************************************/

void  Lcd_SetDisplay(unsigned char DisplayMode)
{
	Lcd_Write(Lcd_Command,0x08|DisplayMode);

}
/***************************************************************
**功能:LCD移動設置											  **
**參數:取值如下											  **
***************************************************************/


void Lcd_Move(unsigned char MoveMode)
{
	Lcd_Write(Lcd_Command,0x10|MoveMode);

}

/****************************************************************
**功能:LCD輸入設置											   **
**參數:取值如下											   **
****************************************************************/
//
void Lcd_SetInput(unsigned char InputMode)
{
	Lcd_Write(Lcd_Command,0x04|InputMode);

}
/****************************************************************
**功能:LCD初始化										       **
**參數:取值如下											   **
****************************************************************/
void Lcd_Init(void)
{
	delay1_64ms();
	Lcd_Write(Lcd_Command,0x38);           //8位數據端口,2行顯示,5*7點陣
	
	Lcd_Write(Lcd_Command,0x38);
	Lcd_Write(Lcd_Command,0x38);
	Lcd_SetDisplay(Lcd_Display_On);    //開啟顯示, 無光標	 |Lcd_Cursor|Lcd_Flash
	//Lcd_Move(Lcd_CursorMove|Lcd_Left);
												 
	Lcd_SetInput(Lcd_Ac_Up|Lcd_No_Move);       //AC遞增, 畫面不動_To	

	
}

/****************************************************************
**功能:顯示位置設置										   **
**參數:x-行;y-列											   **
****************************************************************/
void GotoXY(unsigned char x,unsigned char y)
{
	if(y==0)
		{Lcd_Write(Lcd_Command,0x80|x);
		}
	if(y==1)
		{Lcd_Write(Lcd_Command,0x80|(x+0x40));
		 }
								 
}

/****************************************************************
**功能:LCD顯示函數											   **
**參數:str-要顯示的字符串指針								   **
****************************************************************/
void Print(unsigned char *str)
{	
	while(*str!='\0')
	{

		Lcd_Write(Lcd_Data,*str);

		str++;

	}
}

void print_char(uchar a)
{
	Lcd_Write(Lcd_Data,a);
	//Lcd_Wait();
}		

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久蜜桃一区二区| 一区二区三区在线观看网站| 久久99精品国产麻豆婷婷| 日韩久久精品一区| 福利电影一区二区三区| 亚洲九九爱视频| 日韩精品在线看片z| 成人免费高清在线| 美日韩一级片在线观看| 国产精品久线在线观看| 91精品国产乱| 91久久一区二区| 国产成人亚洲综合a∨婷婷| 亚洲一二三区视频在线观看| 国产视频在线观看一区二区三区| 欧美人狂配大交3d怪物一区| 成人小视频在线观看| 久久99久久精品欧美| 亚洲午夜激情网站| 亚洲欧洲国产日韩| 国产清纯白嫩初高生在线观看91| 日韩免费性生活视频播放| 伊人色综合久久天天人手人婷| 欧美日韩一区二区电影| 国产成人亚洲综合a∨婷婷| 天天色综合天天| 亚洲bt欧美bt精品| 一区二区三区美女视频| 一区二区三区日韩在线观看| 中文字幕免费在线观看视频一区| 久久一区二区视频| 久久久久久99久久久精品网站| 婷婷久久综合九色国产成人| 国产精品美女久久久久久| 欧美激情一区二区三区四区 | 黄页网站大全一区二区| 看电视剧不卡顿的网站| 激情综合色播激情啊| 国产成人在线视频免费播放| 成人av在线播放网址| 一本色道久久综合精品竹菊| 欧美三级三级三级| 欧美大片国产精品| 亚洲青青青在线视频| 性做久久久久久| 国产精品77777| 欧美性受xxxx黑人xyx性爽| 日韩天堂在线观看| 国产精品沙发午睡系列990531| 一区二区三区精品| 国产麻豆精品theporn| 日本韩国视频一区二区| 日韩欧美久久久| 专区另类欧美日韩| 国产在线一区观看| 欧美在线观看一区二区| 中文字幕乱码久久午夜不卡| 日韩综合小视频| 欧美午夜精品理论片a级按摩| 欧美不卡在线视频| 热久久国产精品| 色88888久久久久久影院按摩| 久久亚洲综合色| 国内精品第一页| 欧美不卡一二三| 麻豆国产一区二区| 日韩免费看的电影| 欧美一级淫片007| 日本成人中文字幕在线视频| 欧美在线观看一二区| 亚洲国产精品久久艾草纯爱| 色悠悠久久综合| 亚洲一区二区三区四区中文字幕| 日本精品一级二级| 午夜视频一区二区| 欧美一区二区三区免费在线看| 日韩av高清在线观看| 欧美一级视频精品观看| 久草中文综合在线| 精品电影一区二区| zzijzzij亚洲日本少妇熟睡| 亚洲三级理论片| 91精品国产麻豆| 成人app下载| 亚洲成a人片在线观看中文| 91精品国产乱码久久蜜臀| 国产老女人精品毛片久久| 国产精品不卡在线| 91精品国产色综合久久ai换脸 | 亚洲图片欧美一区| 欧美mv和日韩mv国产网站| 99在线精品观看| 捆绑变态av一区二区三区| 国产日韩欧美不卡在线| 欧美日韩免费高清一区色橹橹| 另类中文字幕网| 亚洲影院理伦片| 中文字幕乱码一区二区免费| 91精品国产综合久久小美女| 99国内精品久久| 伦理电影国产精品| 亚洲福利一区二区三区| 国产精品久久久久久久久久免费看 | 久久综合色播五月| 欧美日韩免费不卡视频一区二区三区| 国产一区二三区| 男女性色大片免费观看一区二区 | 久久久久久久电影| 欧美一级国产精品| 欧美老女人第四色| 色8久久人人97超碰香蕉987| 成人天堂资源www在线| 国产99久久久久久免费看农村| 蓝色福利精品导航| 国精产品一区一区三区mba视频 | 中文字幕一区二区三区四区| 国产日产欧美一区二区视频| 久久精品亚洲一区二区三区浴池| 欧美精品一区二区三区四区| 久久久综合视频| 亚洲国产精品99久久久久久久久| 国产日产欧美精品一区二区三区| 久久精品视频免费观看| 最新中文字幕一区二区三区| 亚洲免费av高清| 青青草成人在线观看| 国产精品一区二区x88av| 一本色道久久综合精品竹菊| 欧美日产在线观看| 国产欧美日韩不卡免费| 一区二区三区日本| 极品少妇xxxx精品少妇偷拍| 国产成人8x视频一区二区| 在线观看区一区二| 精品日韩一区二区三区免费视频| 中文字幕精品在线不卡| 免费在线欧美视频| 欧洲精品一区二区| 欧美国产日韩在线观看| 日韩精品一二区| 色婷婷av久久久久久久| 久久精品亚洲精品国产欧美kt∨| 同产精品九九九| 97久久精品人人做人人爽50路| 久久综合久久综合久久综合| 亚洲妇女屁股眼交7| 91黄色免费网站| 国产精品免费av| 福利一区二区在线| 337p日本欧洲亚洲大胆精品| 爽爽淫人综合网网站| 欧美日韩电影在线| 亚洲综合一区二区| av在线播放不卡| 欧美国产成人精品| 97精品电影院| 亚洲一卡二卡三卡四卡五卡| a亚洲天堂av| 一区二区高清免费观看影视大全| 色综合天天视频在线观看| 亚洲天堂免费在线观看视频| 91色视频在线| 日韩高清一区二区| 日韩限制级电影在线观看| 久久99精品视频| 中文字幕一区二区三区四区| 欧美在线|欧美| 精品一区二区在线看| 中文字幕日本乱码精品影院| 在线观看av一区二区| 久久精品999| 一区二区三区毛片| 久久综合给合久久狠狠狠97色69| 国产成人精品网址| 午夜欧美电影在线观看| 国产亚洲欧美激情| 欧美日韩国产一级片| 国产精品一区在线观看乱码 | 亚洲图片欧美一区| 国产欧美一区二区精品性色| 在线观看91av| 99国产精品视频免费观看| 日本中文在线一区| 亚洲美女少妇撒尿| 国产色一区二区| 精品三级av在线| 日韩欧美一区在线| 91久久久免费一区二区| 国产91精品露脸国语对白| 日韩精品视频网| 偷窥少妇高潮呻吟av久久免费 | 精品在线观看免费| 午夜久久久久久| 亚洲国产日韩a在线播放性色| 亚洲色大成网站www久久九九| 亚洲国产精品黑人久久久| 337p粉嫩大胆色噜噜噜噜亚洲| 宅男噜噜噜66一区二区66| 欧美四级电影网| 日韩欧美成人激情|