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