码迷,mamicode.com
首页 > 其他好文 > 详细

1602实现移屏功能

时间:2014-07-18 18:11:09      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:keil   1602   c语言   

这个题目主要是设置显示开/光及光标设置

这个地方与上一个题目没有多大的区别。

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]="GOOD GOOD STUDY!";
uchar code table1[]="DAY DAY UP ^_^!";
sbit lcden=P3^4;
sbit rs=P3^5;
sbit dula=P2^6;
sbit wela=P2^7;
uchar num;
void delay(unsigned char i)
{
unsigned char j,k;
for(j=i;j>0;j--)
for(k=90;k>0;k--);
}
void write_com(uchar com)
{
rs=0;//选择写指令
P0=com; //将要写的命令送到数据总线上
delay(5);
lcden=1;  //使能端给一高脉冲,因为初始化函数中已将lcd置为0
delay(5);
lcden=0;  //完成高脉冲
}
void write_data(uchar date)
{
rs=1; //写数据
P0=date;
delay(5);
lcden=1;
delay(5);
lcden=0;
}


void init()
{
dula=0;
wela=0;
lcden=0;
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
}


void main()
{
init();
write_com(0x80+0x10);    //将数据写在液晶第一行非显示区域地址处,这样的目的是在接下来要使用移屏命令将液晶屏向左移动
for(num=0;num<16;num++)
{
write_data(table[num]);
delay(5);
}
write_com(0x80+0x40+0x10);
for(num=0;num<15;num++)
{
write_data(table1[num]);
delay(5);
}
for(num=0;num<16;num++)
{
write_com(0x18); //整屏左移
delay(1000);
}
while(1);
}


还是看寄存器配置


1602实现移屏功能,布布扣,bubuko.com

1602实现移屏功能

标签:keil   1602   c语言   

原文地址:http://blog.csdn.net/u011046042/article/details/37928117

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!