?? lcd1602.h
字號:
#ifndef LCD1602_H_
#define LCD1602_H_
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
/***********************LCD1602接線引腳定義**************************/
#define LCDIO P0 //定義P2口與LCD1602的數據口相接
sbit LCD_RS=P2^0;
sbit LCD_RW=P2^1;
sbit LCD_EN=P2^2;
sbit LCD_BUSY=P0^7;
/***********************LCD1602地址相關******************************/
#define LINE1_HEAD 0x80 // 第一行DDRAM起始地址
#define LINE2_HEAD 0xc0 // 第二行DDRAM起始地址
#define LINE1 0 //第一行
#define LINE2 1 //第二行
#define LINE_LENGTH 16 //每行的最大字符長度
/********************延時函數***********************************/
void delay_ms(uchar n)
{
uint j;
for(;n>0;n--)
for(j=0;j<124;j++);
}
/*
bit LCD_check_busy() //檢測LCD狀態,看它是不是還在忙呢
{ bit temp;
LCD_EN=0;
LCD_RS=0;
LCD_RW=1;
LCD_EN=1;
delay_ms(1);
temp=LCD_BUSY;
LCD_EN=0;
return(temp);
} */
/************LCD1602寫命令*******************************/
void LCD_send_command(uchar command)
{
//while(LCD_check_busy()){}
LCDIO=command;
LCD_RS=0;
LCD_RW=0;
LCD_EN=1;
delay_ms(2);
LCD_EN=0;
delay_ms(1);
}
/*****************LCD1602寫數據**************************/
void LCD_send_data(uchar dat)
{
//while(LCD_check_busy()){}
LCDIO=dat;
LCD_RS=1;
LCD_RW=0;
LCD_EN=1;
delay_ms(4);
LCD_EN=0;
delay_ms(2);
}
/********************顯示字符與位置************************************/
void LCD_write_char(uchar x,uchar y,uchar dat)
{
uchar address;
if (y == LINE1)
address = LINE1_HEAD + x;
else
address = LINE2_HEAD + x;
LCD_send_command(address);
LCD_send_data(dat);
}
/******************LCD1602顯示字符串*********************/
void LCD_disp_string(uchar x,uchar y,uchar *Data)
{
if(y==LINE1)
{
LCD_send_command(LINE1_HEAD+x);
for(;x<LINE_LENGTH&&*Data!='\0';x++)
{
LCD_send_data(*(Data++));
}
if(*Data!='\0')
{
x=0;
y=LINE2;
}
}
if(y==LINE2)
{
LCD_send_command(LINE2_HEAD+x);
for(;x<LINE_LENGTH&&*Data!='\0';x++)
{
LCD_send_data(*(Data++));
}
}
}
/**************LCD1602的初始化***************************/
void LCD_init(void)
{
LCD_send_command(0x38);
LCD_send_command(0x0c);
LCD_send_command(0x06);
LCD_send_command(1);
delay_ms(10);
}
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -