您的位置:首页 > 其它

单片机==lcd_显示字符_可设置位置(22)

2016-10-11 21:13 309 查看
#include <reg52.h>
#include "delay.h"

#define LCDPORT P0
sbit RS = P2^4;
sbit RW = P2^5;
sbit E = P2^6;

#define LCD_WRITE_DATA 1
#define LCD_WRITE_COM 0

void lcd_write(unsigned char byte, unsigned char flag)
{
if(flag)
{
RS = 1;
}
else
{
RS = 0;
}
RW = 0;
E = 1;
LCDPORT = byte;
delay_us(5);
E = 0;
}

void lcd_init()
{
delay_ms(16);
lcd_write(0x38, LCD_WRITE_COM);
delay_ms(5);
lcd_write(0x38, LCD_WRITE_COM);
delay_ms(5);
lcd_write(0x38, LCD_WRITE_COM);
delay_ms(5);
lcd_write(0x38, LCD_WRITE_COM);
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);
delay_ms(5);
}

void display_char(unsigned char x, unsigned char y, unsigned char byte)
{
if(0 == y)
{
lcd_write(0x80 + x, LCD_WRITE_COM);
lcd_write(byte,LCD_WRITE_DATA);
}
if(1 == y)
{
lcd_write(0x80 + 0x40 + x , LCD_WRITE_COM);
lcd_write(byte,LCD_WRITE_DATA);
}
}

void main()
{
lcd_init();
//lcd_write(0x80,LCD_WRITE_COM);
//lcd_write('a',LCD_WRITE_DATA);
display_char(3,1,'c');
while(1);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  单片机