您好,欢迎来到花图问答。
搜索
您的当前位置:首页51单片机C编程(十二、LM016L液晶显示) (2009-08-07 184141)

51单片机C编程(十二、LM016L液晶显示) (2009-08-07 184141)

来源:花图问答


#include

#define uchar unsigned char #define uint unsigned int #define LCDPORT P0

uchar code tab[]=\"I LIKE MCU!\"; uchar code tab1[]=\"HELLO!\";

sbit LCDE=P3^5; sbit LCDRW=P3^6; sbit LCDRS=P3^7;

void WriteCMD(uchar); void init();

void WriteData(uchar); void Delay();

void mydelay(int); void main() {

uint i; init();

for(i=0;i<11;i++) {

WriteData(tab[i]); mydelay(50); }

mydelay(1000); WriteCMD(0x01);

WriteCMD(0x80+0x40+10); for(i=0;i<6;i++) {

WriteData(tab1[i]); mydelay(50); }

while(1); }

void Delay() {

uint uiCount;

for(uiCount=0;uiCount<250;uiCount++); }

//*************************************************************************************************

//* *

//* **************************把1个命令写入LCD************************* *

//* *

//*************************************************************************************************

void WriteCMD(uchar Command) {

Delay(); //先延时。

LCDE=1; //然后把LCD改为写入命令状态。 LCDRS=0; LCDRW=0;

LCDPORT=Command; //再输出命令。

LCDE=0; //最后执行命令。 }

//*************************************************************************************************

//* *

//* ***************************把1个数据写入LCD************************ *

//* *

//*************************************************************************************************

void WriteData(uchar dat) {

Delay(); //先延时。

LCDE=1; //然后把LCD改为写入数据状态。 LCDRS=1; LCDRW=0;

LCDPORT=dat; //再输出数据。

LCDE=0; //最后显示数据。 }

void init() {

LCDRW=0; LCDE=0;

WriteCMD(0x38); WriteCMD(0x0e); WriteCMD(0x07); WriteCMD(0x01); WriteCMD(0x80+14); }

void mydelay(int x) {

int i,j;

for(i=x;i>0;i--)

for(j=255;j>0;j--); }

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuowenda.com 版权所有 湘ICP备2023022495号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务