sbit rw=P1^4//定义管脚,3个控制引脚 1个8位数据口
sbit rs=P1^3
sbit lcden=P1^5
#define db P2
void write_com(uchar com)//液晶屏写命令,控制液晶屏开关或字符位置的数据是命令
{
db=com
rs=0
rw = 0
lcden=0
Delay1ms(12)
lcden=1
Delay1ms(12)
lcden=0
}
void write_date(uchar date)//液晶屏写数据,将要显示的字符是数据
{
db=date
rs=1
rw = 0
lcden=0
Delay1ms(12)
lcden=1
Delay1ms(12)
lcden=0
}
void init2()//液晶屏初始化
{
rw=0
write_com(0x38)
Delay1ms(12)
write_com(0x0f)
Delay1ms(12)
write_com(0x06)
Delay1ms(12)
write_com(0x01)
Delay1ms(12)
}
void display_1602(uchar temp)//显示一个字符型变量的子程序
{
uchar A1,A2,A3
A1=temp/1000//分离出 个 十 百
A2=temp/100%10
A3=temp%10
write_com(0x80)//第1行,第1字
write_date(A1+0x30)送的是ASCI码,因此如果显示2,就 要送0x32
Delay1ms(1)
write_date( A2+0x30)
Delay1ms(1)
write_date(A3+0x30)
Delay1ms(12)
}
如果想显示字符"A" 就 write_date(‘A’)
2.MOV LCD,#0FFH是将P2口置为输入模式。3.E端口是高电平有效。
其他的“清屏并光标复位”这段命令不是很清楚,请参考程序:http://download.sunman.cn/lcm/product/2/smc1602a_m_exsample_asm51.asm
相应资料页面参考:http://www.sunman.cn/lcm/product/smc1602a.html
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)