用C语言编写LCD显示程序

用C语言编写LCD显示程序,第1张

LCD有哪些寄存器?各表示什么含义,控制什么功能?

写出来的程序又如何验证是否正确?

其实,你只需要对LCD的打开、关闭,以及能把一个数据块显示在LCD上就行了

“常见字母、数字、符号、中文、自定义字符图形,以及文字和图形混和显示;光标显示/隐藏(Cursor

on/off)、显示字符闪烁(Display

character

blink);画面清除(Display

clear)、光标归位(Return

home)”

这些功能,只需要在这个数据块上进行 *** 作,然后再送到LCD显示。

#include <reg51.h>

#define uchar unsigned char

#define uint unsigned int

#define LCD_DATA P2

sbit LCD_BL=P1^0

sbit LCD_RS=P1^1

sbit LCD_RW=P1^2

sbit LCD_EN=P1^3

//uchar code smg_data[]={0x15,0x15,0x15,0x0E,0x0E,0x15,0x15,0x15}

//uchar code smg_data[]={0x15,0x0A,0x15,0x0A,0x15,0x0A,0x15,0x00}

//uchar code smg_data[]={0x1B,0x0A,0x11,0x15,0x11,0x0A,0x1B,0x00}

//uchar code smg_data[]={0x0E,0x15,0x15,0x00,0x15,0x00,0x15,0x00}

//uchar code smg_data[]={0x1F,0x11,0x15,0x1B,0x15,0x11,0x1F,0x00}

//uchar code smg_data[]={0x11,0x15,0x15,0x0A,0x15,0x15,0x11,0x00}

//uchar code smg_data[]={0x1F,0x15,0x15,0x1F,0x15,0x15,0x1F,0x00}

//uchar code smg_data[]={0x1F,0x11,0x11,0x11,0x11,0x0A,0x04,0x00}

void delay(uint z)

void write_com(uchar com)

void write_data(uchar da)

void init()

void main()

{

// uchar i

LCD_RW=0

LCD_EN=0

LCD_BL=0

init()

// write_com(0x40)

// for(i=0i<8i++)

// {

// write_data(smg_data[i])

// }

write_com(0x80)

write_data('a')

while(1)

}

void delay(uint z)

{

uint x,y

for(x=zx>0x--)

for(y=110y>0y--)

}

void write_com(uchar com)

{

LCD_DATA=com

LCD_RS=0

LCD_EN=1

delay(5)

LCD_EN=0

}

void write_data(uchar da)

{

LCD_DATA=da

LCD_RS=1

LCD_EN=1

delay(5)

LCD_EN=0

}

void init()

{

write_com(0x38)//设置8位格式,2行5x7点阵

write_com(0x0c)//开显示,关光标,不闪烁

write_com(0x06)//文字不动,光标自动右移

write_com(0x01)//清屏并光标复位

}

1602液晶第一行第一位显示个 a


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7926284.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存