搜索
bottom↓
回复: 28

12864大字显示表程序

[复制链接]

出0入0汤圆

发表于 2011-4-5 10:14:08 | 显示全部楼层 |阅读模式
#include<reg52.h>
#include <intrins.h>  
#define         uchar unsigned char
#define         uint unsigned int
#define LCD_Data_Port P0       
sbit LCD12864_RS = P2^4;   //定义端口 计算机加32
sbit LCD12864_RW = P2^5;
sbit LCD12864_EN = P2^6;
sbit led = P3^7;

uchar jj,num1,x1,miao,miao1,miao2,fen,fen1,fen2,shi,shi1,shi2;
uchar *q1,*q2,*q3,*q4,*q5,*q6;


/*================ 显示模式2数字及温度符号图片(宽度x高度=16*32)=====================*/

uchar code num1632[11][64]=
{

        {// 图片数字0
         0x00,0x00,0x3F,0xFC,0x5F,0xFA,0x6F,0xF6,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,
         0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x60,0x06,0x40,0x02,0x00,0x00,
         0x40,0x02,0x60,0x06,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,
         0x70,0x0E,0x70,0x0E,0x70,0x0E,0x6F,0xF6,0x5F,0xFA,0x3F,0xFC,0x00,0x00,0x00,0x00},
       
        {// 图片数字1
         0x00,0x00,0x00,0x20,0x00,0x60,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,
     0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0x60,0x00,0x20,0x00,0x00,0x00,0x20,
         0x00,0x60,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0xE0,
         0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0x60,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00},
   
        {// 图片数字2
         0x00,0x00,0x3F,0xFC,0x1F,0xFA,0x0F,0xF6,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
         0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x06,0x1F,0xFA,0x3F,0xFC,
         0x5F,0xF8,0x60,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,
         0x70,0x00,0x70,0x00,0x70,0x00,0x6F,0xF8,0x5F,0xFC,0x3F,0xFE,0x00,0x00,0x00,0x00},
       
        {// 图片数字3
         0x00,0x00,0x7F,0xFC,0x3F,0xFA,0x1F,0xF6,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
     0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x06,0x1F,0xFA,0x3F,0xFC,
     0x1F,0xFA,0x00,0x06,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
     0x00,0x0E,0x00,0x0E,0x00,0x0E,0x1F,0xF6,0x3F,0xFA,0x7F,0xFC,0x00,0x00,0x00,0x00},
       
        {// 图片数字4
         0x00,0x00,0x40,0x02,0x60,0x06,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,
         0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x60,0x06,0x5F,0xFA,0x3F,0xFC,
         0x1F,0xFA,0x00,0x06,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
         0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x06,0x00,0x02,0x00,0x00,0x00,0x00},
       
        {// 图片数字5
         0x00,0x00,0x3F,0xFC,0x5F,0xF8,0x6F,0xF0,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,
         0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x60,0x00,0x5F,0xF8,0x3F,0xFC,
         0x1F,0xFA,0x00,0x06,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
         0x00,0x0E,0x00,0x0E,0x00,0x0E,0x0F,0xF6,0x1F,0xFA,0x3F,0xFC,0x00,0x00,0x00,0x00},
       
        {// 图片数字6
         0x00,0x00,0x3F,0xFC,0x5F,0xF8,0x6F,0xF0,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,
         0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x60,0x00,0x5F,0xF8,0x3F,0xFC,
         0x5F,0xFA,0x60,0x06,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,
         0x70,0x0E,0x70,0x0E,0x70,0x0E,0x6F,0xF6,0x5F,0xFA,0x3F,0xFC,0x00,0x00,0x00,0x00},
       
        {// 图片数字7
         0x00,0x00,0x7F,0xFC,0x3F,0xFA,0x1F,0xF6,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
         0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x06,0x00,0x02,0x00,0x00,
         0x00,0x02,0x00,0x06,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
         0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x06,0x00,0x02,0x00,0x00,0x00,0x00},
       
        {// 图片数字8
         0x00,0x00,0x3F,0xFC,0x5F,0xFA,0x6F,0xF6,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,
         0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x60,0x06,0x5F,0xFA,0x3F,0xFC,
         0x5F,0xFA,0x60,0x06,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,
         0x70,0x0E,0x70,0x0E,0x70,0x0E,0x6F,0xF6,0x5F,0xFA,0x3F,0xFC,0x00,0x00,0x00,0x00},
       
        {// 图片数字9
         0x00,0x00,0x3F,0xFC,0x5F,0xFA,0x6F,0xF6,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,
         0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x70,0x0E,0x60,0x06,0x5F,0xFA,0x3F,0xFC,
         0x1F,0xFA,0x00,0x06,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,
         0x00,0x0E,0x00,0x0E,0x00,0x0E,0x1F,0xF6,0x3F,0xFA,0x7F,0xFC,0x00,0x00,0x00,0x00},
       
        {// 图片":"
     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x07,0xE0,
         0x07,0xE0,0x07,0xE0,0x07,0xE0,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x07,0xE0,0x07,0xE0,0x07,0xE0,
         0x07,0xE0,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

};

#define delayNOP() {_nop_();_nop_();_nop_();_nop_();}        //短延时
void delay(uint ms)
{                           
          uchar j;
          while(ms--)
          {
                  for(j=110;j>0;j--);   
          }
}
uchar busy_12864()
{                          
    uchar result;
    LCD12864_RS = 0;          
    LCD12864_RW = 1;         
        LCD12864_EN = 0;
    LCD12864_EN = 1;          
    delayNOP();
    result=LCD_Data_Port&0x80;   
    LCD12864_EN =0;
    return(result);  
}               
void write_12864_cmd(uchar cmd)
{                        
    while(busy_12864());         
    LCD12864_RS = 0;          
    LCD12864_RW = 0;       
    LCD12864_EN = 0;          
    LCD_Data_Port=cmd;               
//    delayNOP();
    LCD12864_EN = 1;       
//    delayNOP();
    LCD12864_EN = 0;           
}

void write_12864_data(uchar dat)
{                        
    while(busy_12864());  
    LCD12864_RS = 1;          
    LCD12864_RW = 0;       
    LCD12864_EN = 0;
    LCD_Data_Port=dat;          
//    delayNOP();
    LCD12864_EN = 1;          
//    delayNOP();
    LCD12864_EN = 0;
}
   
void Clean_12864(void)     
{
    write_12864_cmd(0x30);  
    write_12864_cmd(0x01);   
    delay(1);   
}   
void write1616GDRAM(uchar x,uchar y,uchar sign,uchar *bmp)       
{
        uchar i,j,basex;
        write_12864_cmd(0x36);      
        if(y==1||y==2)          
        {
                basex=0x80;          
                y=(y-1)*16;          
        }
        if(y==3||y==4)       
        {
                y=(y-3)*16;         
        }
        for(i=0;i<16;i++)        //
        {                                                                                                                       
                write_12864_cmd(0x80+y+i);  
                write_12864_cmd(basex+x-1);
                                                         
                for(j=0;j<2;j++)   
                {
                        if(sign==1)  
                                write_12864_data(~(*bmp++));
                        else  
                                write_12864_data(*bmp++);
                }
        }       
        write_12864_cmd(0x36);  
}

void write1632GDRAM(uchar x,uchar y,uchar *bmp)       
{
        uchar i,j,basex,basey;
        switch(y)       
        {
          case 1: basex=0x80; break;  
          case 2: basex=0x80; break;  
          case 3: basex=0x88; break;  
          default:   return;   
        }
        basey=basex+x-1;
        write_12864_cmd(0x36);  
        if(y==1||y==3)       
        {
                  for(i=0;i<32;i++)       
                  {                                                                                                               
                            write_12864_cmd(0x80+i);  
                            write_12864_cmd(basey);     
                                    write_12864_data(*bmp++);   
                  }         
        }
        if(y==2)  
        {                                       
                  for(i=0;i<16;i++)       
                  {                                                                                                               
                            write_12864_cmd(0x90+i);
                            write_12864_cmd(basey);   
                            for(j=0;j<2;j++)         
                                    write_12864_data(*bmp++);   
                  }
                  for(i=0;i<16;i++)       
                  {                                                                                                               
                            write_12864_cmd(0x80+i);
                            write_12864_cmd(basey+8);  
                            for(j=0;j<2;j++)         
                                    write_12864_data(*bmp++);   
                  }         
        }
        write_12864_cmd(0x36);
}



void setwordbkcolor(uchar x,uchar y,uchar wide,uchar bkcor)       
{
        uchar i,j,basex,color;
        if(bkcor==1)        color=0xff;       
        if(bkcor==0)        color=0x00;       
        write_12864_cmd(0x36);     
        if(y==1||y==2)         
        {
                basex=0x80;          
                y=(y-1)*16;       
        }
        if(y==3||y==4)       
        {
                basex=0x88;       
                y=(y-3)*16;       
        }
        for(i=0;i<wide;i++)        //
        {                                                                                                                       
                write_12864_cmd(0x80+y+i);  
                write_12864_cmd(basex+x-1);
                                                       
                for(j=0;j<2;j++)   
                        write_12864_data(color);  
        }       
        write_12864_cmd(0x36);  
}



void setrowbkcolor(uchar row,uchar bkcor)       
{
        uchar i,j,basex,basey,color;
        if(bkcor==1)        color=0xff;         
        if(bkcor==0)        color=0x00;       
        write_12864_cmd(0x36);      
        if(row==1||row==2)         
        {
                basex=0x80;          
        }
        if(row==3||row==4)       
        {
                basex=0x88;       
                row=row-2;       
        }
        basey=0x80+(row-1)*16;       
        for(i=0;i<16;i++)       
        {                                                                                                                       
                write_12864_cmd(basey+i);
                write_12864_cmd(basex);
                                                             
                for(j=0;j<16;j++)   
                        write_12864_data(color);  
        }       
        write_12864_cmd(0x36);  
}


void init_12864()         
{
    delay(500);  
//        LCD12864_PSB = 1;   
   
        write_12864_cmd(0x30);   
        write_12864_cmd(0x30);   
        write_12864_cmd(0x0C);     
        write_12864_cmd(0x06);         
        Clean_12864();   
}  



void init()
{
       
        led=1;
        P0=0x00;
        led=0;
        TMOD=0x11;
          TH0=(65536-50000)/256;
          TL0=(65536-50000)%256;
          EA=1;
          ET0=1;
          TR0=1;
       
}
void zcsh()
{
shi=9;
fen=26;
        EA=0;
        q1=        num1632[1];
        init();
        init_12864();
        Clean_12864_GDRAM();

        q1 =        num1632[10];
        write1632GDRAM(6,3,q1);
        write1632GDRAM(3,3,q1);
        EA=1;       
}
void main()
{
zcsh();
while(1)
       
   {
   x1=1;
           miao1=miao/10;
                miao2=miao%10;
                fen1=fen/10;
                fen2=fen%10;
                shi1=shi/10;
                shi2=shi%10;
   q1 =        num1632[0];
   q2 =        num1632[0];
   q3 =        num1632[0];
   q4 =        num1632[0];
   q5 =        num1632[0];
   q6 =        num1632[0];
           q1=q1+64*miao2;
        q2=q2+64*miao1;
        q3=q3+64*fen2;
        q4=q4+64*fen1;
        q5=q5+64*shi2;
        q6=q6+64*shi1;
        write1632GDRAM(8,3,q1);
        write1632GDRAM(7,3,q2);
        write1632GDRAM(5,3,q3);
        write1632GDRAM(4,3,q4);
        write1632GDRAM(2,3,q5);
        write1632GDRAM(1,3,q6);
        while(x1);
       
        }



}
void t0t() interrupt 1
{
        TH0=(65536-50000)/256;
          TL0=(65536-50000)%256;
        num1++;
        if(num1==20)
        {
                num1=0;
               
                miao++;
       
                if(miao==60)
                        {
                        miao=0;
                        fen++;
                        if(fen==60)
                                {
                                        fen=0;
                                        shi++;
                                        if(shi==24)
                                                {
                                                 shi=0;       
                                                }
                                }


                        }
       
                x1=0;
        }
}

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2011-4-5 13:17:44 | 显示全部楼层
这么 好的东西,没人看吗?真是可惜,我忙你鼎鼎..

出0入0汤圆

发表于 2011-4-5 15:48:47 | 显示全部楼层
楼主,有没有图片啊

出0入0汤圆

发表于 2011-4-5 16:42:08 | 显示全部楼层
我忙你鼎鼎..

出0入0汤圆

发表于 2011-4-5 16:49:57 | 显示全部楼层
要是能来个实物或仿真的图就更好了,谢谢楼主!

出0入0汤圆

发表于 2011-4-5 19:16:42 | 显示全部楼层
楼主,给个图看看

出0入0汤圆

发表于 2011-4-5 20:31:28 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-5 20:51:53 | 显示全部楼层
不知道有没有用,反正以后会又用的着
mark

出0入0汤圆

发表于 2011-4-9 17:44:31 | 显示全部楼层
上点图片,代码看着累

出0入0汤圆

发表于 2011-4-9 18:30:31 | 显示全部楼层
- -! 看看

出0入0汤圆

发表于 2011-4-13 18:02:03 | 显示全部楼层
视频或者图片才有视觉冲击力嘛,全是代码确实比较……

出0入0汤圆

发表于 2011-4-13 20:14:52 | 显示全部楼层
看看

出0入0汤圆

 楼主| 发表于 2011-4-13 20:42:41 | 显示全部楼层

电子表 (原文件名:dzb.jpg)

哈哈   我还有制图软件    需要的话我在上传

出0入0汤圆

 楼主| 发表于 2011-4-13 20:44:13 | 显示全部楼层
最近想做循迹小车,谁有资料能个我分享一些吗

出0入0汤圆

发表于 2011-4-13 20:46:07 | 显示全部楼层
楼主是否在介绍的详细些。

出0入0汤圆

 楼主| 发表于 2011-4-13 20:46:47 | 显示全部楼层

haha (原文件名:syp.jpg)

出0入0汤圆

 楼主| 发表于 2011-4-14 21:18:29 | 显示全部楼层
回复【14楼】minyang3011 一杯清茶
-----------------------------------------------------------------------
你还有什么问题吗      
我这表可以调时间的        用的是P30,P31,p32,p33;分别是分加分减时加时减
                                                不能调秒

出0入0汤圆

发表于 2011-4-14 21:28:08 | 显示全部楼层
没图片,,,,一堆代码 ⊙﹏⊙b汗

出0入0汤圆

发表于 2011-4-14 21:48:49 | 显示全部楼层
回复【12楼】eryueniao 二月鸟
-----------------------------------------------------------------------

制图软件请传上来

出0入0汤圆

 楼主| 发表于 2011-4-17 09:29:59 | 显示全部楼层
回复【17楼】hehanlou 何汉楼
-----------------------------------------------------------------------

12楼就是图片

出0入0汤圆

发表于 2011-8-18 17:07:35 | 显示全部楼层
楼主,能不能注释一下,菜鸟的我,看的不太懂

出0入0汤圆

发表于 2011-8-19 17:17:42 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-20 08:45:37 | 显示全部楼层

出0入0汤圆

发表于 2011-8-23 16:56:14 | 显示全部楼层
回复【楼主位】eryueniao 二月鸟
-----------------------------------------------------------------------

good!!谢谢分享!!

出0入0汤圆

发表于 2011-8-27 15:08:44 | 显示全部楼层
犀利啊!

出0入0汤圆

发表于 2013-9-20 14:03:29 | 显示全部楼层
用什么照的啊,虚也就算了还是反的

出0入0汤圆

发表于 2015-9-25 23:45:00 | 显示全部楼层
楼主 可以分享一下 怎么做出来大字体的么?难道要一个一个自己画吗?好麻烦

出0入0汤圆

发表于 2015-9-26 10:13:01 | 显示全部楼层
ks0107/8的?        用图片模式,任意大小字符都可显示以

出0入0汤圆

发表于 2015-10-10 19:31:14 | 显示全部楼层
貌似有人早就做个大字显示的了。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-23 20:17

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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