1602的显示程序,急用!

1602的显示程序,急用!

#include <reg52.h>

#define uchar unsigned char

#define uint unsigned int

#define LCD_data P0

sbit E=P2^7;

sbit RS=P2^5;

sbit RW=P2^6;

uchar code table[]=I LOVE YOU!;

uchar code table1[]=WELCOME HERE;

uchar num;

void delayms(uint z)

{

uint x,y;

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

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

}

void write_comd(uchar comd)

{

RS=0;

LCD_data=comd;

delayms(11);

E=1;

delayms(11);

E=0;

}

void write_data(uchar date)

{

RS=1;

LCD_data=date;

delayms(11);

E=1;

delayms(11);

E=0;

}

void init()

{

LCD_data=0;

E=0;

write_comd(0x38);

write_comd(0x0c);

write_comd(0x06);

write_comd(0x01);

}

void main()

{

init();

while(1)

{

write_comd(0x80);

for(num=0;num<11;num++)

{

write_data(table[num]);

delayms(11);

}

write_comd(0x80+0x40);

for(num=0;num<12;num++)

{

write_data(table1[num]);

delayms(11);

}

}

}

求一个1602液晶显示最简单的汇编程序(在屏上显示一个数字就行了,过程完整)

51单片机

DQ BIT P3.4

RS EQU P0.0

RW EQU P0.1

E EQU P0.2

IO_LCD EQU P2

BITCNT DATA 30H

BYTECNT DATA 31H

COMMAND DATA 32H

main:

acall START_LCD ;初始化lcd

MOV COMMAND,#0C1H ;设定地址

ACALL BUSY

ACALL WRITE_LCD_COMMAND

MOV COMMAND,#0 ;显示字符

ACALL BUSY

ACALL WRITE_LCD_DATA

ajmp $

BUSY:

CLR RS

SETB RW

MOV IO_LCD,#0FFH

CLR E

NOP

NOP

SETB E

NOP

NOP

JB IO_LCD.7,BUSY

CLR E

RET

START_LCD:

ACALL REATY_15MS

MOV COMMAND,#38H

ACALL WRITE_LCD_COMMAND

ACALL REATY_5MS

MOV COMMAND,#38H

ACALL WRITE_LCD_COMMAND

ACALL REATY_5MS

MOV COMMAND,#38H

ACALL WRITE_LCD_COMMAND

MOV COMMAND,#38H

ACALL WRITE_LCD_COMMAND

MOV COMMAND,#00001000B ;显示关闭

ACALL BUSY

ACALL WRITE_LCD_COMMAND

MOV COMMAND,#00000001B ;显示清屏

ACALL BUSY

ACALL WRITE_LCD_COMMAND

MOV COMMAND,#00000100B ;移动光标设置

ACALL BUSY

ACALL WRITE_LCD_COMMAND

MOV COMMAND,#00001100B ;显示开关及光标设置

ACALL BUSY

ACALL WRITE_LCD_COMMAND

RET

WRITE_LCD_COMMAND:

CLR RS

CLR RW

MOV IO_LCD,COMMAND

NOP

NOP

SETB E

NOP

NOP

CLR E

NOP

NOP

RET

WRITE_LCD_DATA:

SETB RS

CLR RW

MOV IO_LCD,COMMAND

NOP

NOP

SETB E

NOP

NOP

CLR E

NOP

NOP

RET

TABE_LCD:

DB 01234

DB 56789

这是从我以前写的程序中截下来的,不知道有没有漏掉

我这有c语言的头文件。

上一篇:下一篇:友达液晶屏怎么样?用于工控的
下一篇:上一篇:返回栏目