找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4810|回复: 1
打印 上一主题 下一主题
收起左侧

[求助]请教12864 的绘图程序

[复制链接]
跳转到指定楼层
楼主
ID:17233 发表于 2010-3-16 09:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

#include<reg52.h>
#include<intrins.h>
sbit rs=P1^0;
sbit rw=P1^1;
sbit E=P1^2;
sbit PSB =P3^6; 
#define uchar unsigned char
#define uint unsigned int
#define lcd_data  P2
uchar table[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,};
void delay(uchar x)//短延时
{
   for(x;x>0;x--)
     _nop_();   //执行一个机器周期
}
void delay1(uchar x)//1ms延时
{
  uchar y;
   for(x;x>0;x--)
     for(y=110;y>0;y--);
}
unsigned char read_busy(void)
{

//uchar i;

rs = 0;
rw = 1; //rs=0和rw=1的时候,表示读忙标志(BF)及地址指针计数器(AC)的状态

 E = 1;             //E=1配合 读状态或数据,指令
 while (lcd_data & 0x80); //忙标志在 DB7 位  所以将读到的数据与0x80 相与,取出 DB7,检测其是否为1.
 E = 0;                         //  释放E
}

void write_data(uchar x)//写数据
{

   read_busy();   //操作液晶的时候要检测忙信号

   rs=1;
   rw=0;          //rs=1,rw=0,表示写数据到数据暂存器DR中

 lcd_data=x;
 E = 1;
 delay(2);
 E = 0;         //写数据或者指令是在E由高电平到低电平的下降沿.  既是:1--0 的过程.
 

}
void write_com(uchar x)//写指令
{

read_busy();

rs=0;
rw=0;    //表示写指令

lcd_data=x;

 E = 1;
 delay(2);
 E = 0;  //同上

}
void init()
{

  
   write_com(0x36);//功能设定,表示DL=1,RE=0  既是选择8位数据流,基本操作指令.
   write_com(0x01);    //清除显示 
   write_com(0x06);  //
   write_com(0x0c);   
}
void clear(void)
{
 write_com(0x01); //显示清屏
 write_com(0x34); // 显示光标移动设置
 write_com(0x30); // 显示开及光标设置
}

 

void main()
{
   char i;
   delay1(400);

   init();
   delay1(5);
  while(1)
 { 
     
       //clear();
       delay(1);
       //write_com(0x36);
        write_com(0x34);//关闭绘图显示

    write_com(0x80);//发送水平地址码
       write_com(0x80);//发送垂直地址码,
      for(i=0;i<16;i++)
    write_data(table);
     // write_com(0x30);

        write_com(0x80);
        write_com(0x81);
        for(i=16;i<32;i++)
    write_data(table);

      write_com(0x36);//打开显示
       delay1(400);
       delay1(400);     
    }
}
  

 

 

我写这个总是乱码,不知道错在哪里,望高手们,不吝赐教啊!

 

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:17233 发表于 2010-3-16 09:39 | 只看该作者
这个是我这个液晶的资料哈.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表