?? hd44780.c
字號(hào):
#include "includes.h"
#define HD44780_C
/**************************************************************************************/
//函數(shù)名 :lcd_pulse
//屬性 :私有
//功能 :產(chǎn)生LCD所需的短脈沖
//輸入?yún)?shù) :無(wú)
//輸出參數(shù) :無(wú)
//返回值 :
//修改日期 :
//修改人 :
/**************************************************************************************/
void lcd_pulse(void)
{
lcd_set_e();
delay_nms(1);
lcd_clear_e();
delay_nms(1);
}
/**************************************************************************************/
//函數(shù)名 :lcd_wait
//屬性 :私有
//功能 :延時(shí)等待
//輸入?yún)?shù) :無(wú)
//輸出參數(shù) :無(wú)
//返回值 :
//修改日期 :
//修改人 :
/**************************************************************************************/
void lcd_wait(void) // medium delay (long for lcd, but much less than a second)
{
asm("nop");
}
/**************************************************************************************/
//函數(shù)名 :lcd_send
//屬性 :私有
//功能 :寫一個(gè)字符到LCD
//輸入?yún)?shù) :data--要顯示的字符
//輸出參數(shù) :無(wú)
//返回值 :
//修改日期 :
//修改人 :
/**************************************************************************************/
void lcd_send(unsigned char data) // send byte to lcd
{
lcd_wait();
dataport = data;
lcd_pulse();
}
/**************************************************************************************/
//函數(shù)名 :clrscr
//屬性 :私有
//功能 :清除屏幕
//輸入?yún)?shù) :無(wú)
//輸出參數(shù) :無(wú)
//返回值 :
//修改日期 :
//修改人 :
/**************************************************************************************/
void clrscr(void) // clear screen
{
lcd_clear_rs();
lcd_clear_rw();
lcd_send(0x01);
lcd_wait();
}
/**************************************************************************************/
//函數(shù)名 :gotoz
//屬性 :私有
//功能 :坐標(biāo)定位
//輸入?yún)?shù) :z--位置
//輸出參數(shù) :無(wú)
//返回值 :
//修改日期 :
//修改人 :
/**************************************************************************************/
void gotoz(unsigned char z) // goto lcd memory address
{
lcd_clear_rs();
lcd_clear_rw();
lcd_send(z | 0x80);
}
/**************************************************************************************/
//函數(shù)名 :gotoxy
//屬性 :私有
//功能 :在LCD上的位置
//輸入?yún)?shù) :x--字符的列;y--字符的行
//輸出參數(shù) :
//返回值 :
//修改日期 :
//修改人 :
/**************************************************************************************/
void gotoxy(unsigned char x,unsigned char y)
{
gotoz((x)|((y)<<6));
}
/**************************************************************************************/
//函數(shù)名 :put_char
//屬性 :私有
//功能 :在LCD上顯示一個(gè)字符
//輸入?yún)?shù) :c--要顯示的字符
//輸出參數(shù) :
//返回值 :
//修改日期 :
//修改人 :
/**************************************************************************************/
void put_char(char c) // output single character
{
lcd_clear_rw();
lcd_set_rs();
lcd_send(c);
}
/**************************************************************************************/
//函數(shù)名 :outtext
//屬性 :私有
//功能 :輸出字符串到LCD顯示
//輸入?yún)?shù) :text--要顯示的字符串
//輸出參數(shù) :無(wú)
//返回值 :
//修改日期 :
//修改人 :
/**************************************************************************************/
void outtext(unsigned char* text) // output string
{
unsigned char i;
for(i = 0; text[i] && i < 16; i++)
put_char(text[i]);
}
/**************************************************************************************/
//函數(shù)名 :initgraph
//屬性 :私有
//功能 :初始化LCD
//輸入?yún)?shù) :無(wú)
//輸出參數(shù) :無(wú)
//返回值 :
//修改日期 :
//修改人 :
/**************************************************************************************/
void initgraph(void) // init display
{
dirport_data = 0xFF;
dirport_con |= (LCD_E | LCD_RS | LCD_RW);
lcd_clear_rs();
lcd_clear_rw();
lcd_send(0x3C);
lcd_send(0x3C);
lcd_send(0x3C);
lcd_send(0x06);
lcd_send(0x0C);
}
/*************************************/
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -