xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

資源簡介

LCD1602液晶顯示函數,包括頭文件的規范寫法和相關函數。僅供參考,歡迎交流

資源截圖

代碼片段和文件信息

/************************************************************
?*?描述:1602字符型液晶顯示器驅動文件
?*?作者:吳義鵬(wuyipengnuaa@163.com)
?*?日期:2010年9月2日
************************************************************/

/************************************************************
?*?描述:頭文件聲明
************************************************************/
#include
#include?
#include“LCD1602.h“???//自定義的1602顯示器頭文件,在本工程內編譯

/************************************************************
?*?描述:LCD初始化函數?(有特定的順序)
************************************************************/
void?LCD_Initial()
{
????LCD_DelayTime(15);?????????????????????????//延時15ms
LCD_Write(LCD_Command?0x38);??????????????//設置顯示模式,8位數據端口2行顯示5*7點陣
LCD_DelayTime(5); ???//延時5ms
LCD_Write(LCD_Command?0x38); ???????
LCD_DelayTime(5); ???//延時5ms
LCD_Write(LCD_Command?0x38);??????????????
LCD_DelayTime(4); ???//檢測忙信號(Proteus仿真用)
//void?LCD_BusyCheck(); ???//檢測忙信號(實際硬件電路用)
LCD_Write(LCD_Command?0x38);??????????????//設置顯示模式,確保初始化成功
LCD_DelayTime(4); ???
//void?LCD_BusyCheck(); ???
LCD_Write(LCD_Command?LCD_CLOSE);?????????//關閉顯示
LCD_DelayTime(4); ???
//void?LCD_BusyCheck(); ???
LCD_Write(LCD_Command?LCD_CLEAR_SCREEN);??//清屏
LCD_DelayTime(4); ???
//void?LCD_BusyCheck(); ???
LCD_Write(LCD_Command?LCD_SHOW_ON?|?LCD_CURSOR_OFF); ???
???????????????????????????????????????????//開顯示,無光標,當然就無閃爍啦 ???????????????????????????????????????
}

/************************************************************
?*?描述:LCD寫數據或指令函數
?*?說明:bRS表示選擇寫入指令還是數據
************************************************************/
void?LCD_Write(bit?bRS?unsigned?char?ucPort)
{
LCDEn?=?0; ?????????????//模塊使能端置0
LCDRS?=?bRS; ?//選擇指令輸入還是命令輸入
LCDRW?=?0; ?//讀寫寄存器選擇,0表示寫
_nop_(); ?//空操作,給硬件反映時間
DBPort?=?ucPort; ?//指令(數據)送入輸出端口(單片機P0口)
_nop_(); ?
_nop_(); ?
LCDEn?=?1; ?//模塊使能端置1,產生高脈沖,指令(數據)寫入LCD
_nop_(); ?
_nop_(); ?
_nop_(); ?
LCDEn?=?0; ?//模塊使能端置0
_nop_(); ?
//void?LCD_BusyCheck(); ?//檢測忙信號(實際硬件電路用)
LCD_DelayTime(3); ?//檢測忙信號(Proteus仿真用)
}


/************************************************************
?*?描述:顯示字符定位
?*?說明:在16*2的坐標上確定位置
************************************************************/
void?LCD_CoordinateXY(unsigned?char?X?unsigned?char?Y)
{
????if(Y?==?0)???????//數據在第一行顯示
{
????LCD_Write(LCD_Command?0x80?|?X);
}
else?if(Y?==?1)???????//數據在第二行顯示
{
????LCD_Write(LCD_Command?0x80?|?(X+0x40));
}
else ?//main函數中,坐標地址寫錯則在這報錯
{
????LCD_Write(LCD_Command?0x80);??
LCD_Printf(“Error?XY!“);
}
}

/************************************************************
?*?描述:字符串輸出函數
?*?說明:在LCD上顯示字符串或數字
************************************************************/
void?LCD_Printf(unsigned?char?*ucStr)
{
????while(*ucStr?!=?‘\0‘)?????????????//當字符串沒有結束時,做
{
LCD_Write(LCD_Data?*ucStr);??//LCD寫入數據(字符)
ucSt

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????4174??2010-09-06?14:44??1602液晶顯示的C51函數(原創)\LCD1602.c

?????文件???????1566??2010-09-06?14:40??1602液晶顯示的C51函數(原創)\LCD1602.h

?????目錄??????????0??2010-09-07?21:28??1602液晶顯示的C51函數(原創)

-----------?---------??----------?-----??----

?????????????????5740????????????????????3


評論

共有 條評論