lcd1602

来源:互联网 发布:头影测量软件数据 编辑:程序博客网 时间:2024/05/21 21:40
#include <reg52.h>#include "./delay/delay.h"sbit RS = P2^4;sbit RW = P2^5;sbit E = P2^6;#define LCDPORT P0#define LCD_WRITE_DATA 1#define LCD_WRITE_COM 0void lcd_write(unsigned char byte,unsigned char flag)//在lcd上写字符{    if(flag)    {        RS = 1;    }    else    {        RS = 0; //选择输入数据为数据    }    RW = 0;//写    E = 1; //选中lcd    LCDPORT = byte;    delay_us(5);    E = 0;//失能}void lcd_init(){    delay_ms(15);    lcd_write(0x38,LCD_WRITE_COM);//设置八位数据接口,两行显示,5x7显示    delay_ms(5);    lcd_write(0x38,LCD_WRITE_COM);//<span style="font-size: 14.6667px; font-family: MSTT315b3b3a84o099039S00;">设置八位数据接口,两行显示,5x7显示</span>    delay_ms(5);    lcd_write(0x38,LCD_WRITE_COM);//<span style="font-size: 14.6667px; font-family: MSTT315b3b3a84o099039S00;">设置八位数据接口,两行显示,5x7显示</span>    delay_ms(5);    lcd_write(0x38,LCD_WRITE_COM);//<span style="font-size: 14.6667px; font-family: MSTT315b3b3a84o099039S00;">设置八位数据接口,两行显示,5x7显示</span>    delay_ms(5);    lcd_write(0x08,LCD_WRITE_COM);//关闭显示,关闭光标,关闭闪烁    delay_ms(5);    lcd_write(0x01,LCD_WRITE_COM);//清屏    delay_ms(5);    lcd_write(0x06,LCD_WRITE_COM);//设置指针方式,画面不平移    delay_ms(5);    lcd_write(0x0c,LCD_WRITE_COM);//打开<span style="font-size: 14.6667px; font-family: MSTT315b3b3a84o099039S00;">显示,关闭光标,关闭闪烁</span>    delay_ms(5);}void lcd_write1(unsigned char x, unsigned char y, unsigned char byte) //lcd上写字符串
{
    if(1 == y)    {        lcd_write(0x80  ,LCD_WRITE_COM);    }    else    {        lcd_write(0x80 + 0x40 + x,LCD_WRITE_COM);    }    lcd_write(0x80 + 0x40 + x,LCD_WRITE_DATA);}


0 0