1602液晶显示屏显示程序

1602液晶显示屏显示程序,第1张

1602液晶的程序我有,要做数字锁的话其实用到液晶也不多。

因为你显示密码是时候不应该都是现实*****吗?

你只需把键盘写入的数据存在一个数组中,然后跟密码数组对比就好了。

还有就是值得注意的是数据类型问题。

输入的键值看你处理的方式而定,密码存放的格式,还有输出显示的是ascll码。注意转换。

下面附带一段51的1602LCD的C程序,自己仔细琢磨。

#include<reg52.h>

#define uchar unsigned char

#define uint unsigned int

uchar table[16]="abcdefghijklmnyz"

uchar table1[16]="0123456789abcdef"

sbit lcden=P2^0

sbit lcdrs=P2^1

sbit dula=P2^6

sbit wela=P2^7

uchar num

void delay(uint z)

{

uint x,y

for(x=zx>0x--)

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

}

void write_com(uchar com)

{ wela=0

lcdrs=0

P0=com

delay(5)

lcden=1

delay(5)

lcden=0

}

void write_data(uchar date)

{ wela=0

lcdrs=1

P0=date

delay(5)

lcden=1

delay(5)

lcden=0

}

void init()

{

lcden=0

write_com(0x38)

write_com(0x0e)

write_com(0x06)

write_com(0x01)

write_com(0x80)

}

void main()

{

init()

for(num=0num<16num++)

{

write_data(table[num])

delay(20)

}

write_com(1)

write_com(0x80+0x40)

for(num=0num<16num++)

{

write_data(table1[num])

delay(20)

}

while(1)

}

这个是1602内部结构决定的,你只需要在初始化的时候先设置三次显示,然后再设置你的其他要求。

芯片厂家推荐的用法:

INT:

MOV

A,#30H

MOV

DATR,#CW_ADD

MOV

R2,#03H

INT1:

MOVX

@DPTR,A

CALL

DELAY

DJNZ

R2,INT1

这上面就是1602对于51单片机推荐的初始化之前加的三次模式设置


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存