一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 2895|回复: 23
收起左侧

关于16x80五字屏程序求教,本人对c不熟悉

[复制链接]
发表于 2015-6-11 10:46 来自手机 | 显示全部楼层 |阅读模式
这几天有空把老沈的五字屏拿出来玩,有以前老沈的测试程序来测试,但点不亮啊!不知道是啥情况。请教大家下。

这里有俩套资料。一个是老沈的测试程序,一个是网上找来的五字程序。现在的情况是,老沈的测试程序直接不亮。网友的五字屏程序亮,但显示乱的。
IMG_20150611_094934-1.jpg
IMG_20150611_094855-1.jpg
IMG_20150611_094825-1.jpg
 楼主| 发表于 2015-6-11 11:06 | 显示全部楼层
刚才手机无法发附件啊

接上文:
老沈的测试程序: 老沈的测试程序.rar (4.59 KB, 下载次数: 171)

网友的五字屏程序: 5字屏用--其它网友的.rar (8.65 KB, 下载次数: 174)


 楼主| 发表于 2015-6-11 11:09 | 显示全部楼层
快活丞 发表于 2015-6-11 11:06
刚才手机无法发附件啊

接上文:

这个五字屏的接口引脚排列: 接口引脚排列.jpg


本来我的控制板引脚排列不是这个,但因对C不熟悉,所以不知道怎么修改,修改了一番显示不了,只好按照这个排列重新焊接了,所以板子上的线搭的乱七八糟
发表于 2015-6-11 13:09 | 显示全部楼层
试试看oe直接接vcc或者gnd。因为不同的屏使能可能不一样…
发表于 2015-6-11 14:58 来自手机 | 显示全部楼层
c更简单易懂啊!
c51用sbit EN=P1^1;    //EN接p11  来定义的,
 楼主| 发表于 2015-6-11 14:59 | 显示全部楼层
sdf15937 发表于 2015-6-11 13:09
试试看oe直接接vcc或者gnd。因为不同的屏使能可能不一样…

但老沈给的接口里面有接OE的。
 楼主| 发表于 2015-6-11 15:03 | 显示全部楼层
benli 发表于 2015-6-11 14:58
c更简单易懂啊!
c51用sbit EN=P1^1;    //EN接p11  来定义的,

对我来说汇编更容易看,C的都看蒙了,没找到接口里面的A、B、C、D四个接口连接的P10、P11、P12、P13,到底在哪里设置的
您说的P11接的是EN吗?哪个EN呢?595的?我看接口图里面接的是OE呢。




 楼主| 发表于 2015-6-11 17:20 | 显示全部楼层
网上找的五字屏程序,但显示不对。谁看得懂,麻烦帮忙看看这个程序是16x80的单色屏程序吗?
/*这是根据网友的程序改编而成的,RTC用的是DS1302,温度用DS18B20,用4个16X16点陈显示,
也就是16X64显示。*/
#include <AT89x51.H>

#define uchar unsigned char
#define uint unsigned int

uchar code hanzi[];                        //汉字字模

uchar code timer[12][16];                //0~9数字
const uchar code wxs[10][16];
uchar code sw[];                        //138驱动数据

void Show_word();                      //待机显示按三秒间隔分别显示年、月日、星期、时分秒。
void Show_pass();                       //不显示一个字
void Send_data(unsigned char *d);      /*串口发送一行*/



/******************************************/
sbit resget=P0^2;            //时钟复位
sbit key_moda=P0^3;            //模式转换
sbit key_up=P0^4;            //时钟加
sbit key_Down=P0^5;            //时钟减
//------------------------------定义DS18B20音
sbit DQ= P0^7;              //ds1820data(单总线)
sbit T_CLK=P2^3;            //DS1302引脚连接
sbit T_IO =P2^2;
sbit T_RST=P2^1;

sbit STR=P1^7;              //锁存         
sbit CLK=P3^1;                    //时钟         
sbit Data= P3^0;            //数据         
sbit E=P1^4;          

sbit ACC0=ACC^0;           //1bit数据存储位
sbit ACC7=ACC^7;

uchar starts_time[7]={0x00,0x10,0x22,0x11,0x06,0x07,0x06};     //初始化后设置
uchar Move,Speed,Flicker,line,Sec,Cent,Hour,Year,Month,Day,Week,t;  //时间变量
uchar a,b,f,h,msec,id,x;           //标志计数器 a为自动转换显示时间,b为手动与自动标志
uint zimuo;                           //字模计数器
uchar BUFF[10];                       //缓存
uint asd;
uint i;

void   RTInputByte(uchar);         /* 输入 1Byte */
uchar  RTOutputByte(void);         /* 输出 1Byte */
void   W1302(uchar, uchar);        // 向DS1302写入一个字节
uchar  R1302(uchar);               // 从DS1302读出一个字节
void   Set1302(uchar *);           // 写DS1302时间
void   du1302();                   // 读时间  
void   DelayMs(void);              // 延时
void   Set(uchar,uchar );          // 变量调整
void   in_data();                   // 调整移动数据
void   rxd_data();                   // 串口发送移动数据

/**********************************************************************************************/   
void Delay(int num){//--延时函数 2uS/次
    for (;num>0;num--);
}
/******************************************************************************/
void Init_DS18B20(void)//初始化ds1820
{
    unsigned char x=0;
    DQ = 1;    //DQ复位
    Delay(8);  //稍做延时
    DQ = 0;    //单片机将DQ拉低
    Delay(80); //精确延时 大于 480us
    DQ = 1;    //拉高总线
    Delay(14);
    x=DQ;      //稍做延时后 如果x=0则初始化成功 x=1则初始化失败
    Delay(20);
}
/******************************************************************************/
unsigned char ReadOneChar(void)//读一个字节
{
    unsigned char i=0;
    unsigned char dat = 0;
    for (i=8;i>0;i--)
    {
        DQ = 0; // 给脉冲信号
        dat>>=1;
        DQ = 1; // 给脉冲信号
        if(DQ)
        dat|=0x80;
        Delay(4);
    }
    return(dat);
}
/******************************************************************************/
void WriteOneChar(unsigned char dat)//写一个字节
{
    unsigned char i=0;
    for (i=8; i>0; i--)
    {
        DQ = 0;
        DQ = dat&0x01;
        Delay(5);
        DQ = 1;
        dat>>=1;
    }
}
/******************************************************************************/
unsigned int ReadTemperature(void)//读取温度
{
    unsigned char a=0;
    unsigned char b=0;
    unsigned int t=0;
    float tt=0;
    Init_DS18B20();
    WriteOneChar(0xCC); // 跳过读序号列号的操作
    WriteOneChar(0x44); // 启动温度转换
    Init_DS18B20();
    WriteOneChar(0xCC); //跳过读序号列号的操作
    WriteOneChar(0xBE); //读取温度寄存器
    a=ReadOneChar();  //读低8位
    b=ReadOneChar(); //读高8位
    i=b;
    i<<=8;
    i=i|a;
    tt=i*0.0625;
    i= tt*10+0.5; //放大10倍输出并四舍五入
    return(i);
     /*i=((a*256)+b)*0.0625; //温度转换,把高低位做相应的运算转化为实际温度
   Delay(10);
   return(i);*/
}
/******************************************************************************
uchar printTemperature(void){//写一个字节
    unsigned int t=0;      
    unsigned char a=0,b=0,c=0;
    i=ReadTemperature();//读温度并送显
    a=i/100;
    b=i/10-a*10;
    i = a*10 + b;
    return (i);
    }*/        

/*主函数*/
void main()
{
   Move=0;
   zimuo=0;
   TMOD=0x01;    //16位定时
   TH0=0x3c;    //25ms晶振为24M
   TL0=0xb0;
   EA=1;
   TR0=1;
   ET0=1;
   SCON=0;             //初始化串口为工作方式0(同步通信方式,TxD输出同步脉冲)

   //while(zimuo<704)
    while(zimuo<0)
    {
     while(Move<16)                             //数据移位。
       {
         for(Speed=0;Speed<10;Speed++)       //移动速度
          {   
            for(line=0;line<16;line++)
              {
                 in_data();                     //调整移动数据
                 rxd_data();
                 P1_4=1;                             //关闭显示++++++++++++++++++
                 DelayMs();//+++++++++++++++++++
                 P1_7=1;                     //锁存为高,595锁存信号
                 P1=sw[line];                 //输出行信号
                 DelayMs();                     //延时,等待一段时间,让这列显示的内容在人眼内产生“视觉暂留”现象。*//
                 P1_4=0;
                 //P1=0x7f;                     //关闭显示。
              }
         }
       Move++;                                 //移动一步
         }
     Move=0;
     zimuo=zimuo+32;
    }   
   zimuo=0;
   while(1)             //重复循环显示
    {    asd=ReadTemperature();
     
      if(resget==0)
         {  DelayMs();
            if(resget==0)
                Set1302(starts_time);    //初始化
            W1302(0x8e,0x00);            //控制命令,WP=0,写操作               
            W1302(0x90,0xa5);            //打开充电二级管  一个二级管串联一个2K电阻
        }  
      du1302();                           //读取 秒 分 时 日 月 星期 年         
       if (key_moda==0)                     //设置和选择项目键
         {  DelayMs();
            if(key_moda==0)
               {
                  if(id++==9) {id=0;}
                  h=0;msec=0;            //清闪烁标志
                  while(key_moda==0){ Show_word();}   
               }                           
         }

      
      if(id!=0)
      {
      if (key_up==0)                  //增加
         {
            DelayMs();
            if(key_up==0)
               {
                     while(key_up==0)
                        {Show_word();}     //调用显示
                  h=0;msec=0;            //清闪烁标志
                 
                  Set(id,0);             //调用时间调调整
               }  
         }
   
      if (key_Down==0)  //减少
         {
            DelayMs();
            if(key_Down==0)
                {
                  while(key_Down==0)
                      {Show_word();}   //调用显示
                  h=0;msec=0;          //清闪烁标志
                  Set(id,1);           //调用时间调调整
                }         
         }
      }
      else
       {
        if (key_up==0)                  //增加
          {
            DelayMs();
            if(key_up==0)
               {
                     while(key_up==0)
                        {Show_word();}     //调用显示
                  h=0;msec=0;            //清闪烁标志  
                  if(b!=0)                 //手动调整显示的内容
                   {
                     if(f++==4)             //f为显示转换标志
                         f=0;
                   }
              }
            }
       }
   
   Show_word();      //待机显示按三秒间隔分别显示年、月日、星期、时分秒,温度。

   }      
}
/************************************************/
void Show_word()                         //串行输出显示
{  uchar h;         
   for(h=0;h<16;h++)
      {
             if((id==0)&(f==0)|(id==1))            //f为三秒转换显示
               {
                         Send_data(&timer[0][0]);            //不显示5字用
                         Send_data(&timer[0][0]);            //不显示5字用
                 Send_data(&timer[0][0]);        //不显示
                 if((Flicker==1)&(id==1))       //闪烁标志为1时不亮,为零时亮
                    { Show_pass();                //不显示一个字
                      Show_pass();
                    }
                 else
                   {
                        Send_data(&timer[2][h]);        //20年   
                      Send_data(&timer[0][h]);
                      Send_data(&timer[Year/16][h]);  //年值   
                      Send_data(&timer[Year%16][h]);
                   }
                 
                 Send_data(&hanzi[h*2+833]);          //年字符  
                 Send_data(&hanzi[h*2+832]);

                 Send_data(&timer[0]);                  //不显示
                        Send_data(&timer[0][0]);            //不显示5字用
                                         
              }

             if((id==0)&(f==1)|(id==2)|(id==3))                  
              {
                 Send_data(&timer[0][0]);            //不显示5字用
                 if((Flicker==1)&(id==2))        //闪烁标志为1时不亮,为零时亮
                    { Show_pass();                //不显示一个字
                     
                    }
                 else
                    {
                      if(Month/16<1)
                           Send_data(&timer[0]);                 //月十位为零时不显示
                      else
                        Send_data(&timer[Month/16][h]);      //月值   
                      Send_data(&timer[Month%16][h]);
                    }
                 Send_data(&hanzi[h*2+865]);                 //月字符
                 Send_data(&hanzi[h*2+864]);   
                 if((Flicker==1)&(id==3))                     //闪烁标志为1时不亮,为零时亮
                    { Show_pass();                             //不显示一个字
                     
                    }
                 else
                    {                     
                        Send_data(&timer[Day/16][h]);          //日值   
                      Send_data(&timer[Day%16][h]);
                    }
                 Send_data(&hanzi[h*2+1153]);                 //日字符  
                 Send_data(&hanzi[h*2+1152]);
                      Send_data(&timer[0][0]);            //不显示5字用

              }

             if((id==0)&(f==2)|(id==4))                         //f为三秒转换显示
              {
                 Send_data(&timer[0][0]);            //不显示5字用
                 Send_data(&timer[0]);                         //不显示
                 Send_data(&hanzi[h*2+897]);                 //星字符
                 Send_data(&hanzi[h*2+896]);
                 Send_data(&hanzi[h*2+929]);                 //期字符
                 Send_data(&hanzi[h*2+928]);
                 if((Flicker==1)&(id==4))                     //闪烁标志为1时不亮,为零时亮
                    { Show_pass();                             //不显示一个字
                    }
                 else
                    {                        
                       Send_data(&hanzi[Week%16*32+h*2+929]);       //星期值
                     Send_data(&hanzi[Week%16*32+h*2+928]);

                    }     
                 Send_data(&timer[0][0]);                     //不显示
                     Send_data(&timer[0][0]);            //不显示5字用
              }

            if((id==0)&(f==3)|(id>4))                         //f为三秒转换显示

              {
                      Send_data(&timer[0][0]);            //不显示5字用
                 if((Flicker==1)&(id==5))                     //闪烁标志为1时不亮,为零时亮
                    {
                      Show_pass();                             //不显示一个字
                    }
                 else
                    {
                      if(Hour/16<1)
                        Send_data(&timer[0][0]);               //时十位小于1时不显示  
                      else
                        Send_data(&timer[Hour/16][h]);         //时值
                      Send_data(&timer[Hour%16][h]);
                    }
                 Send_data(&timer[10][h]);                       //两个点
                     
                 if((Flicker==1)&(id==6))                       //闪烁标志为1时不亮,为零时亮
                    {
                      Show_pass();                               //不显示一个字
                    }
                 else
                    {
                      Send_data(&timer[Cent/16][h]);   
                        Send_data(&timer[Cent%16][h]);           //分值
                    }
                 Send_data(&timer[10][h]);                     //两个点
                 if((Flicker==1)&(id==7))                       //闪烁标志为1时不亮,为零时亮
                    {                                
                      Show_pass();                               //不显示一个字
                    }
                 else
                    {
                      Send_data(&timer[Sec/16][h]);            //秒
                         Send_data(&timer[Sec%16][h]);  
                          Send_data(&timer[0][0]);            //不显示5字用
                      }
                 }//jjjjjjjjjjj
                                                                                                                                
                         if((id==0)&(f==4))                        //f为三秒转换显示
                                         
                         {//jjjjjjjjj
                     Send_data(&timer[0][0]);            //不显示5字用
               Send_data(&hanzi[h*2+1377]);   //显示汉字 “室”
               Send_data(&hanzi[h*2+1376]);
               Send_data(&hanzi[h*2+1409]);   //显示汉字“温”
               Send_data(&hanzi[h*2+1408]);
Send_data(&timer[0][0]);            //不显示5字用
               Send_data(&timer[asd/100][h]);        //十位温度显示
               Send_data(&timer[(asd%100)/10][h]);        //个位温度显示
               //Send_data(&wxs[asd%10][h]);        //小数位温度显示
                // Send_data(&timer[0][0]);                        //不显示5字用            
               Send_data(&timer[11][h]);            //显示℃字符
                  Send_data(&timer[0][0]);            //不显示5字用
                 
              }
            if(id>7)                               //id大于7时为对显示转换模式设置
                {    if((Flicker==1)&(id==8))                     
                   {  Show_pass();
                      Show_pass();
                      Show_pass();
                      Show_pass();
                    }
                else if(b==0)
                   {
                            Send_data(&timer[0][0]);            //不显示5字用
                      Send_data(&hanzi[h*2+1185]);   //显示汉字 “自”
                      Send_data(&hanzi[h*2+1184]);
                      Send_data(&hanzi[h*2+1249]);   //显示汉字“动”
                      Send_data(&hanzi[h*2+1248]);     
                      Send_data(&hanzi[h*2+1281]);   //显示汉字“模”
                      Send_data(&hanzi[h*2+1280]);
                      Send_data(&hanzi[h*2+1313]);   //显示汉字“式”
                      Send_data(&hanzi[h*2+1312]);
                        Send_data(&timer[0][0]);            //不显示5字用
                   }
                else
                   {
                        Send_data(&timer[0][0]);            //不显示5字用
                      Send_data(&hanzi[h*2+1217]);   //显示汉字“手”
                      Send_data(&hanzi[h*2+1216]);
                      Send_data(&hanzi[h*2+1249]);   //显示汉字“动”
                      Send_data(&hanzi[h*2+1248]);     
                      Send_data(&hanzi[h*2+1281]);   //显示汉字“模”
                      Send_data(&hanzi[h*2+1280]);
                      Send_data(&hanzi[h*2+1313]);   //显示汉字“式”
                      Send_data(&hanzi[h*2+1312]);
                         Send_data(&timer[0][0]);            //不显示5字用
                   }
                if(id==9)
                   {
                     if(b==1)                       //手动模式
                       {
                         id=0;f=0;
                       }
                     else
                       {
                               Send_data(&timer[0][0]);            //不显示5字用
                         Send_data(&hanzi[h*2+1185]);    //显示汉字“自”
                         Send_data(&hanzi[h*2+1184]);
                         Send_data(&hanzi[h*2+1249]);   //显示汉字“动”
                         Send_data(&hanzi[h*2+1248]);
                         if(Flicker==1)
                           {
                             Show_pass();
                           }
                         else
                           {
                             Send_data(&timer[a/16][h]);    //转换时间
                                Send_data(&timer[a%16][h]);
                             }
                         Send_data(&hanzi[h*2+1345]);   //显示汉字“秒”
                         Send_data(&hanzi[h*2+1344]);
                             Send_data(&timer[0][0]);            //不显示5字用
                       }
                   }
              }
      P1_4=1;                              //关闭显示+++++++++++++++++
      DelayMs();//+++++++++++++++++++
      P1_7=1;                      //锁存为高,595锁存信号
      P1=sw[h];                      //输出行信号
      DelayMs();                  //延时,等待一段时间,让这列显示的内容在人眼内产生“视觉暂留”现象。*/
      P1_4=0;
     // P1=0x7f;                      //关闭显示。
    }   
}


void timer_1(void) interrupt 1     //中断入口,闪烁
{
  TH0=0x3C;              //25ms定时 晶振24M
  TL0=0xB0;
  if(msec++==40)         //1000ms
   { msec=0;
     x++;               
     if(x>=a)
       { x=0;
        if(b==0)            //自动模式
        {if(f++==4)
          f=0;          //f显示转换计数器 ,d为用户设置的自动转换时间的值。
        }
       }
    if(h++==3)            //6秒后进入正常走时。
       {id=0;h=0;}
    }   
  if(msec<20)
        Flicker=0;     //闪烁标志反转         
  else
        Flicker=1;
                     
}


/***********************输出一个字的不显示数据。*****************/
void Show_pass()
{
  Send_data(&timer[0][0]);                     //不显示
  Send_data(&timer[0][0]);                     //不显示
}

/**********************************************************/
void in_data(void)                               //调整数据
{
char s;
    for(s=4;s>=0;s--)                                //i为向后先择字节计数器,zimuoo为向后先字计数器
    {
     BUFF[2*s+1]=hanzi[zimuo+32*s+2*line];            //把第一个字模的第一个字节放入BUFF0中,第二个字模和第一个字节放入BUFF2中
     BUFF[2*s]=hanzi[zimuo+1+32*s+2*line];            //把第一个字模的第二个字节放入BUFF1中,第二个字模的第二个字节放入BUFF3中
    }
}

/***********************发送移动的数据****************************/
void rxd_data(void)                    //串行发送数据
{
  uchar s;
  uchar inc,tempyid,temp;
  if(Move<8)
    inc=0;
  else
    inc=1;
  for(s=0+inc;s<8+inc;s++)           //发送8字节数据
    {
     if(Move<8)
       tempyid=Move;
     else
     tempyid=Move-8;
     temp=(BUFF[s]>>tempyid)|(BUFF[s+1]<<(8-tempyid));    //h1左移tempyid位后和h2右移8-tempyid相或,取出移位后的数据。
   
     SBUF=temp;                      //把BUFF中的字节从大到小移位相或后发送输出。
      while(TI==0);       //等待发送完毕
      TI=0;
     
    }
}


/*******************************************************/
void Send_data(unsigned char *d)      /*从串口发送数据*/
{
     SBUF=*d;
      while(TI==0);       //等待发送完毕
      TI=0;
}


//根据选择调整相应项目
void Set(uchar sel,uchar sel_1)
{
  uchar address,time;
  uchar max,min;
  if(sel==9)  {address=0xc2; max=20;min=1;}    //自动转换时间时最大为20秒。
  if(sel==8)  {address=0xc0; max=1;min=0;}     //显示自动转换或手动转换。为零自动,为1手动。
  if(sel==7)  {address=0x80; max=0;min=0;}     //秒
  if(sel==6)  {address=0x82; max=59;min=0;}    //分钟
  if(sel==5)  {address=0x84; max=23;min=0;}    //小时
  if(sel==4)  {address=0x8a; max=7; min=1;}    //星期
  if(sel==3)  {address=0x86; max=31;min=1;}    //日
  if(sel==2)  {address=0x88; max=12;min=1;}    //月
  if(sel==1)  {address=0x8c; max=99;min=0;}    //年
  
  
  time=R1302(address+1)/16*10+R1302(address+1)%16;
  if (sel_1==0) time++;  else time--;
  if(time>max) time=min;   
  if(time<min) time=max;
           
  W1302(0x8e,0x00);
  W1302(address,time/10*16+time%10);
  W1302(0x8e,0x80);  
}

/**************************延时***********************/

void DelayMs(void)
{
  uchar TempCyc;
  for(TempCyc=100;TempCyc>1;TempCyc--)
     {;}
}

//********DS1302读写程序***************//
/********************************************************************
函 数 名:RTInputByte()
功    能:实时时钟写入一字节
说    明:往DS1302写入1Byte数据 (内部函数)
入口参数:d 写入的数据
返 回 值:无  
***********************************************************************/
void RTInputByte(uchar d)
{
    uchar h;
    ACC = d;
    for(h=8; h>0; h--)
    {
        T_IO = ACC0;           /*相当于汇编中的 RRC */
        T_CLK = 1;
        T_CLK = 0;
        ACC = ACC >> 1;
    }
}
/********************************************************************
函 数 名:RTOutputByte()
功    能:实时时钟读取一字节
说    明:从DS1302读取1Byte数据 (内部函数)
入口参数:无  
返 回 值:ACC
设    计:zhaojunjie           日    期:2002-03-19
修    改:                     日    期:
***********************************************************************/
uchar RTOutputByte(void)
{
    uchar h;
    for(h=8; h>0; h--)
    {
        ACC = ACC >>1;         /*相当于汇编中的 RRC */
        ACC7 = T_IO;
        T_CLK = 1;
        T_CLK = 0;
    }
    return(ACC);
}
/********************************************************************
函 数 名:W1302()
功    能:往DS1302写入数据
说    明:先写地址,后写命令/数据 (内部函数)
调    用:RTInputByte() , RTOutputByte()
入口参数:ucAddr: DS1302地址, ucData: 要写的数据
返 回 值:无
***********************************************************************/
void W1302(uchar ucAddr, uchar ucDa)
{
    T_RST = 0;
    T_CLK = 0;
    T_RST = 1;
    RTInputByte(ucAddr);       /* 地址,命令 */
    RTInputByte(ucDa);       /* 写1Byte数据*/
    T_CLK = 1;
    T_RST = 0;
}
/********************************************************************
函 数 名:R1302()
功    能:读取DS1302某地址的数据
说    明:先写地址,后读命令/数据 (内部函数)
调    用:RTInputByte() , RTOutputByte()
入口参数:ucAddr: DS1302地址
返 回 值:ucData :读取的数据
***********************************************************************/
uchar R1302(uchar ucAddr)
{
    uchar ucData;
    T_RST = 0;
    T_CLK = 0;
    T_RST = 1;
    RTInputByte(ucAddr);             /* 地址,命令 */
    ucData = RTOutputByte();         /* 读1Byte数据 */
    T_CLK = 1;
    T_RST = 0;
    return(ucData);
}

/********************************************************************
函 数 名:Set1302()
功    能:设置初始时间
说    明:先写地址,后读命令/数据(寄存器多字节方式)
调    用:W1302()
入口参数:pClock: 设置时钟数据地址 格式为: 秒 分 时 日 月 星期 年
                               7Byte (BCD码)1B 1B 1B 1B 1B  1B  1B
返 回 值:无
***********************************************************************/
void Set1302(uchar *pClock)
{
    uchar h;
    uchar ucAddr = 0x80;
    W1302(0x8e,0x00);           /* 控制命令,WP=0,写操作?*/
    for(h =7; h>0; h--)
    {
        W1302(ucAddr,*pClock);  /* 秒 分 时 日 月 星期 年 */
        pClock++;
        ucAddr +=2;
    }
    W1302(0xc0,0x01);
    W1302(0XC2,0X03);            //初始自动转换显示时间为3秒。
    W1302(0x8e,0x80);           /* 控制命令,WP=1,写保护?*/

}
/******************读取DS1302中的时间****************/
void du1302()
{
      Sec=R1302(0x81);   //对取 秒 分 时 日 月 星期 年
      Cent=R1302(0x83);
      Hour=R1302(0x85);
      Day=R1302(0x87);
      Month=R1302(0x89);
      Week=R1302(0x8b);
      Year=R1302(0x8d);               
      b=R1302(0xc1);
      a=R1302(0xc3);
      a=a/16*10+a%16;
     
}


uchar code sw[16]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f};/*16行段码*/

const uchar code wxs[10][16]={
/*取模左右反显*/

0xFF,0xFF,0xE3,0xDD,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xDD,0xE3,0xFF,0xFF,/*"0",0*/

0xFF,0xFF,0xF7,0xF1,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xC1,0xFF,0xFF,/*"1",1*/
//0x00,0x00,0x20,0x38,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x03,0x00,

0xFF,0xFF,0xE3,0xDD,0xBE,0xBF,0xBF,0xDF,0xE7,0xFB,0xFD,0xFE,0xFE,0x80,0xFF,0xFF,/*"2",2*/
//0x00,0x00,0x3C,0x42,0x80,0x80,0x80,0x40,0x30,0x08,0x04,0x02,0x02,0xFE,0x03,0x03,

0xFF,0xFF,0xE3,0xDD,0xBE,0xBF,0xDF,0xE1,0xDF,0xBF,0xBF,0xBE,0xDD,0xE3,0xFF,0xFF,/*"3",3*/
//0x00,0x00,0x38,0x44,0x82,0x80,0x40,0x3C,0x40,0x80,0x80,0x82,0x44,0x3B,0x03,0x00,

0xFF,0xFF,0xCF,0xCF,0xD7,0xD7,0xDB,0xDB,0xDD,0xDD,0xDE,0xDE,0x80,0xDF,0xFF,0xFF,/*"4",4*/
//0x00,0x00,0x60,0x60,0x50,0x48,0x44,0x44,0x42,0x42,0x42,0xFE,0x40,0x43,0x03,0x00,

0xFF,0xFF,0x80,0xFE,0xFE,0xFE,0xE2,0xDC,0xBE,0xBF,0xBF,0xBE,0xDD,0xE3,0xFF,0xFF,/*"5",5*/
//0x00,0x00,0xFE,0x02,0x02,0x02,0x3A,0x46,0x82,0x80,0x80,0x82,0x44,0x3B,0x03,0x00,

0xFF,0xFF,0xE3,0xDD,0xBE,0xFE,0xFE,0xE2,0xDC,0xBE,0xBE,0xBE,0xDD,0xE3,0xFF,0xFF,/*"6",6*/
//0x00,0x00,0x38,0x44,0x82,0x02,0x02,0x3A,0x46,0x82,0x82,0x82,0x44,0x3B,0x03,0x00,

0xFF,0xFF,0x80,0xBF,0xBF,0xDF,0xDF,0xEF,0xEF,0xF7,0xF7,0xF7,0xF7,0xF7,0xFF,0xFF,/*"7",7*/
//0x00,0x00,0xFE,0x80,0x40,0x40,0x20,0x20,0x10,0x10,0x10,0x10,0x10,0x13,0x03,0x00,

0xFF,0xFF,0xE3,0xDD,0xBE,0xBE,0xDD,0xE3,0xDD,0xBE,0xBE,0xBE,0xDD,0xE3,0xFF,0xFF,/*"8",8*/
//0x00,0x00,0x38,0x44,0x82,0x82,0x44,0x38,0x44,0x82,0x82,0x82,0x44,0x3B,0x03,0x00,

0xFF,0xFF,0xE3,0xDD,0xBE,0xBE,0xBE,0x9D,0xA3,0xBF,0xBF,0xBE,0xDD,0xE3,0xFF,0xFF,/*"9",9*/
//0x00,0x00,0x38,0x44,0x82,0x82,0x82,0xC4,0xB8,0x80,0x80,0x82,0x44,0x3B,0x03,0x00,



}; /*16行段码*/

const uchar code timer[12][16]={        /*0~9字符*/
0xFF,0xFF,0xE3,0xDD,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xBE,0xDD,0xE3,0xFF,0xFF,/*"0",0*/
//0x00,0x00,0x38,0x44,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x44,0x38,0x00,0x00,/*"0",0*/

0xFF,0xFF,0xF7,0xF1,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xC1,0xFF,0xFF,/*"1",1*/
//0x00,0x00,0x10,0x18,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x38,0x00,0x00,/*"1",1*/

0xFF,0xFF,0xE3,0xDD,0xBE,0xBF,0xBF,0xDF,0xE7,0xFB,0xFD,0xFE,0xFE,0x80,0xFF,0xFF,/*"2",2*/
//0x00,0x00,0x38,0x44,0x82,0x80,0x80,0x40,0x30,0x08,0x04,0x02,0x02,0xFE,0x00,0x00,/*"2",2*/

0xFF,0xFF,0xE3,0xDD,0xBE,0xBF,0xDF,0xE1,0xDF,0xBF,0xBF,0xBE,0xDD,0xE3,0xFF,0xFF,/*"3",3*/
//0x00,0x00,0x38,0x44,0x82,0x80,0x40,0x3C,0x40,0x80,0x80,0x82,0x44,0x38,0x00,0x00,/*"3",3*/

0xFF,0xFF,0xCF,0xCF,0xD7,0xD7,0xDB,0xDB,0xDD,0xDD,0xDE,0xDE,0x80,0xDF,0xFF,0xFF,/*"4",4*/
//0x00,0x00,0x60,0x60,0x50,0x48,0x48,0x44,0x44,0x42,0x42,0xFE,0x40,0x40,0x00,0x00,/*"4",4*/

0xFF,0xFF,0x80,0xFE,0xFE,0xFE,0xE2,0xDC,0xBE,0xBF,0xBF,0xBE,0xDD,0xE3,0xFF,0xFF,/*"5",5*/
//0x00,0x00,0xFE,0x02,0x02,0x02,0x3A,0x46,0x82,0x80,0x80,0x80,0x42,0x3C,0x00,0x00,/*"5",5*/

0xFF,0xFF,0xE3,0xDD,0xBE,0xFE,0xFE,0xE2,0xDC,0xBE,0xBE,0xBE,0xDD,0xE3,0xFF,0xFF,/*"6",6*/
//0x00,0x00,0x38,0x44,0x82,0x02,0x02,0x3A,0x46,0x82,0x82,0x82,0x44,0x38,0x00,0x00,/*"6",6*/

0xFF,0xFF,0x80,0xBF,0xBF,0xDF,0xDF,0xEF,0xEF,0xF7,0xF7,0xF7,0xF7,0xF7,0xFF,0xFF,/*"7",7*/
//0x00,0x00,0xFE,0x80,0x40,0x40,0x20,0x20,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,/*"7",7*/

0xFF,0xFF,0xE3,0xDD,0xBE,0xBE,0xDD,0xE3,0xDD,0xBE,0xBE,0xBE,0xDD,0xE3,0xFF,0xFF,/*"8",8*/
//0x00,0x00,0x38,0x44,0x82,0x82,0x44,0x38,0x44,0x82,0x82,0x82,0x44,0x38,0x00,0x00,/*"8",8*/

0xFF,0xFF,0xE3,0xDD,0xBE,0xBE,0xBE,0x9D,0xA3,0xBF,0xBF,0xBE,0xDD,0xE3,0xFF,0xFF,/*"9",9*/
//0x00,0x00,0x38,0x44,0x82,0x82,0x82,0xC4,0xB8,0x80,0x80,0x80,0x42,0x3C,0x00,0x00,/*"9",9*/

/*--  文字:  :  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0xFF,0xFF,0xFF,0xE7,0xE7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xE7,0xFF,0xFF,0xFF,
//0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,

/*--  文字:  ℃  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0xFF,0xFD,0xFA,0xFD,0xFF,0xC7,0xBB,0x7D,0xFD,0xFD,0xFD,0x7D,0xBB,0xC7,0xFF,0xFF,
//0x00,0x06,0x09,0x09,0x06,0x38,0x44,0x02,0x02,0x02,0x02,0x82,0x44,0x38,0x00,0x00
};



const uchar code hanzi[]={/*移动显示汉字字模,取阴,逐行,顺向*/

0x01,0x00,0x01,0x00,0x01,0x3F,0x7F,0xA0,0x20,0xA1,0x12,0x52,0x02,0x14,0x02,0x08,
0x02,0x18,0x06,0x18,0x05,0x24,0x09,0x24,0x18,0x82,0x70,0x61,0x20,0x1C,0x00,0x00,/*"欢",0*/

0x00,0x02,0x01,0x84,0x3E,0x6C,0x22,0x24,0x22,0x20,0x22,0x20,0x22,0x27,0x22,0x24,
0x22,0xA4,0x2A,0x64,0x12,0x24,0x02,0x04,0x02,0x04,0x00,0x0A,0x7F,0xF1,0x00,0x00,/*"迎",1*/

0x00,0x80,0x08,0x84,0x18,0x98,0x08,0xB0,0x04,0x90,0x20,0x80,0x7F,0xFE,0x02,0x20,
0x02,0x20,0x02,0x20,0x02,0x20,0x42,0x10,0x42,0x10,0x42,0x08,0x7C,0x04,0x00,0x02,/*"光",2*/

0x00,0x80,0x01,0x90,0x00,0x90,0x7F,0x92,0x04,0x52,0x08,0x52,0x08,0x32,0x20,0x92,
0x7F,0x92,0x24,0x92,0x24,0x92,0x24,0x92,0x24,0x92,0x3F,0x90,0x20,0x90,0x00,0x00,/*"临",3*/

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",4*/

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",5*/

0x00,0x00,0x1F,0xF8,0x10,0x08,0x1F,0xF8,0x10,0x08,0x1F,0xF8,0x00,0x80,0x00,0x88,
0x3F,0xF8,0x00,0x84,0x00,0x84,0x1F,0xF2,0x00,0x80,0x00,0x80,0x7F,0xFE,0x00,0x00,/*"星",6*/

0x00,0x00,0x1F,0xF8,0x10,0x08,0x1F,0xF8,0x10,0x08,0x1F,0xF8,0x00,0x80,0x00,0x88,
0x3F,0xF8,0x00,0x84,0x00,0x84,0x1F,0xF2,0x00,0x80,0x00,0x80,0x7F,0xFE,0x00,0x00,/*"星",7*/

0x00,0x80,0x00,0x80,0x00,0x80,0x1F,0xFC,0x10,0x84,0x10,0x84,0x1F,0xFC,0x10,0x84,
0x10,0x84,0x10,0x84,0x1F,0xFC,0x10,0x84,0x40,0x80,0x40,0x80,0x7F,0x00,0x00,0x00,/*"电",8*/

0x00,0x00,0x0F,0xFC,0x04,0x00,0x02,0x00,0x01,0x00,0x00,0x80,0x00,0x80,0x20,0x80,
0x7F,0xFF,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0xA0,0x00,0x40,/*"子",9*/

0x02,0x02,0x02,0x04,0x05,0x0C,0x09,0x04,0x10,0x80,0x60,0x40,0x20,0xA7,0x08,0x84,
0x1C,0x84,0x03,0x84,0x00,0x84,0x00,0xA4,0x20,0x94,0x20,0x8C,0x3F,0x04,0x00,0x00,/*"论",10*/

0x00,0x00,0x3F,0x88,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x3F,0x7F,0xC8,0x02,0x08,
0x06,0x08,0x01,0x08,0x11,0x38,0x20,0x8C,0x7E,0x43,0x63,0xE0,0x20,0x40,0x00,0x00,/*"坛",11*/

0x00,0x10,0x08,0x10,0x04,0x10,0x02,0x10,0x01,0x90,0x00,0x70,0x00,0x10,0x7F,0xFF,
0x00,0x50,0x00,0x90,0x01,0x10,0x02,0x10,0x0C,0x90,0x38,0x50,0x10,0x30,0x00,0x10,/*"长",12*/

0x00,0x04,0x00,0x08,0x7F,0xE8,0x04,0x00,0x04,0x01,0x04,0x12,0x04,0x08,0x04,0x08,
0x04,0x04,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0x04,0x04,0x04,0x05,0x04,0x02,0x00,/*"汀",13*/

0x02,0x02,0x02,0x04,0x05,0x0C,0x09,0x04,0x10,0x80,0x60,0x40,0x20,0xA7,0x08,0x84,
0x1C,0x84,0x03,0x84,0x00,0x84,0x00,0xA4,0x20,0x94,0x20,0x8C,0x3F,0x04,0x00,0x00,/*"论",14*/

0x00,0x00,0x3F,0x88,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x3F,0x7F,0xC8,0x02,0x08,
0x06,0x08,0x01,0x08,0x11,0x38,0x20,0x8C,0x7E,0x43,0x63,0xE0,0x20,0x40,0x00,0x00,/*"坛",15*/

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x7F,0xFE,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"一",16*/

0x0C,0x00,0x1F,0x80,0x00,0xF8,0x01,0x08,0x01,0x08,0x01,0x08,0x3F,0xFC,0x01,0x08,
0x01,0x10,0x09,0x30,0x11,0x18,0x31,0x0C,0x61,0x24,0x21,0x42,0x00,0x80,0x00,0x00,/*"乐",17*/

0x02,0x02,0x02,0x04,0x05,0x0C,0x09,0x04,0x10,0x80,0x60,0x40,0x20,0xA7,0x08,0x84,
0x1C,0x84,0x03,0x84,0x00,0x84,0x00,0xA4,0x20,0x94,0x20,0x8C,0x3F,0x04,0x00,0x00,/*"论",18*/

0x00,0x00,0x3F,0x88,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x3F,0x7F,0xC8,0x02,0x08,
0x06,0x08,0x01,0x08,0x11,0x38,0x20,0x8C,0x7E,0x43,0x63,0xE0,0x20,0x40,0x00,0x00,/*"坛",19*/

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",20*/

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",21*/

0x04,0x10,0x0C,0x60,0x02,0x20,0x1F,0xFC,0x10,0x84,0x1F,0xFC,0x10,0x84,0x10,0x84,
0x1F,0xFC,0x10,0x84,0x00,0x80,0x7F,0xFF,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,/*"单",22*/

0x02,0x00,0x02,0x08,0x02,0x08,0x22,0x08,0x7F,0xF8,0x00,0x08,0x00,0x08,0x00,0x08,
0x0F,0xF8,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x04,0x08,0x04,0x08,0x02,0x08,0x01,/*"片",23*/

0x00,0x08,0x1F,0x08,0x11,0x08,0x11,0x7F,0x11,0x08,0x11,0x08,0x11,0x1C,0x11,0x2C,
0x11,0x2A,0x11,0x0A,0x10,0x89,0x50,0x88,0x50,0x48,0x50,0x48,0x60,0x28,0x00,0x08,/*"机",24*/

0x00,0x80,0x00,0x80,0x1F,0x80,0x00,0x80,0x08,0x80,0x1F,0xF8,0x08,0x08,0x08,0x08,
0x08,0x08,0x0F,0xF8,0x08,0x08,0x08,0x80,0x11,0x14,0x22,0x24,0x22,0x22,0x00,0x00,/*"点",25*/

0x01,0x00,0x01,0x1F,0x01,0x11,0x3F,0xE9,0x00,0x85,0x02,0x89,0x02,0x51,0x3F,0xF1,
0x02,0x11,0x02,0x15,0x7F,0xE9,0x02,0x01,0x02,0x01,0x02,0x01,0x02,0x01,0x02,0x01,/*"阵",26*/

0x3F,0xFC,0x20,0x04,0x20,0x04,0x3F,0xFC,0x08,0x24,0x04,0x44,0x3F,0xF4,0x04,0x44,
0x04,0x44,0x7F,0xFC,0x04,0x44,0x04,0x44,0x04,0x22,0x04,0x22,0x04,0x11,0x04,0x08,/*"屏",27*/

0xFF,0xF7,0xFF,0xF7,0xC0,0x07,0xFE,0xFB,0xFE,0xFB,0xFE,0xFD,0xE0,0x07,0xFE,0xF7,
0xFE,0xF7,0xFE,0xF7,0x80,0x00,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFF,0xFF,
//0x00,0x10,0x3F,0xF0,0x01,0x08,0x01,0x08,0x01,0x04,0x1F,0xF2,0x01,0x11,0x01,0x10,
//0x01,0x10,0x01,0x10,0x7F,0xFF,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x00,0x00,/*"年",0*/

0xFF,0xFF,0xE0,0x07,0xEF,0xF7,0xEF,0xF7,0xEF,0xF7,0xE0,0x07,0xEF,0xF7,0xEF,0xF7,
0xEF,0xF7,0xE0,0x07,0xEF,0xF7,0xEF,0xF7,0xEF,0xFB,0xEB,0xFB,0xF7,0xFD,0xFF,0xFF,
//0x0F,0xE0,0x08,0x20,0x08,0x20,0x08,0x20,0x0F,0xE0,0x08,0x20,0x08,0x20,0x08,0x20,
//0x0F,0xE0,0x08,0x20,0x08,0x10,0x08,0x10,0x08,0x08,0x0A,0x04,0x04,0x02,0x00,0x00,/*"月",1*/

0xFF,0xFF,0xF0,0x07,0xF7,0xF7,0xF0,0x07,0xF7,0xF7,0xF0,0x07,0xFF,0x7F,0xFF,0x77,
0xE0,0x07,0xFF,0x7B,0xFF,0x7D,0xF0,0x07,0xFF,0x7F,0xFF,0x7F,0xC0,0x01,0xFF,0xFF,
//0x00,0x00,0x1F,0xF8,0x10,0x08,0x1F,0xF8,0x10,0x08,0x1F,0xF8,0x00,0x80,0x00,0x88,
//0x3F,0xF8,0x00,0x84,0x00,0x84,0x1F,0xF2,0x00,0x80,0x00,0x80,0x7F,0xFE,0x00,0x00,/*"星",2*/

0xFF,0xBB,0xC1,0xBB,0xDD,0x01,0xDD,0xBB,0xDD,0xBB,0xC1,0x83,0xDD,0xBB,0xDD,0xBB,
0xDD,0x83,0xC1,0xBB,0xDD,0xBB,0xDD,0x00,0xDE,0xDF,0xD6,0xBB,0xEF,0x7D,0xFF,0xFF,
//0x00,0x44,0x3E,0x44,0x22,0xFE,0x22,0x44,0x22,0x7C,0x3E,0x44,0x22,0x7C,0x22,0x44,
//0x22,0x44,0x3E,0xFF,0x22,0x00,0x21,0x24,0x21,0x44,0x28,0xC2,0x10,0x81,0x00,0x00,/*"期",3*/

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0x80,0x00,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x7F,0xFE,
//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"一",4*/

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
//0x00,0x00,0x08,0x00,0x1F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
//0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x7F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,/*"二",5*/

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
//0x00,0x00,0x00,0x00,0x3F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFC,
//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFE,0x00,0x00,0x00,0x00,/*"三",6*/

0xFF,0xFF,0xFF,0xFF,0xC0,0x01,0xDD,0xDD,0xDD,0xDD,0xDD,0xDD,0xDD,0xDD,0xDD,0xDD,
0xDD,0xED,0xC3,0xED,0xDF,0xF5,0xDF,0xF9,0xDF,0xFD,0xC0,0x01,0xDF,0xFD,0xFF,0xFF,
//0x00,0x00,0x3F,0xFE,0x21,0x22,0x21,0x22,0x21,0x22,0x21,0x22,0x21,0x22,0x21,0x22,
//0x21,0x12,0x3E,0x12,0x20,0x0A,0x20,0x06,0x20,0x02,0x3F,0xFE,0x20,0x02,0x00,0x00,/*"四",7*/

0xFF,0xFF,0xC0,0x01,0xFF,0xBF,0xFF,0xBF,0xFF,0xBF,0xFF,0xBF,0xF0,0x03,0xF7,0xDF,
0xF7,0xDF,0xF7,0xDF,0xF7,0xDF,0xF7,0xEF,0xF7,0xEF,0xF7,0xEF,0x80,0x00,0xFF,0xFF,
//0x00,0x00,0x1F,0xFE,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x04,0x40,0x0F,0xFC,
//0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0x24,0x20,0x7F,0xFF,0x00,0x00,0x00,0x00,/*"五",8*/

0xFF,0xBF,0xFF,0x7F,0xFE,0xFF,0xFE,0xFF,0xFF,0xFF,0x80,0x00,0xFF,0xFF,0xFF,0xFF,
0xFD,0xDF,0xFB,0xDF,0xF7,0xEF,0xEF,0xEF,0xEF,0xF7,0xDF,0xFB,0xDF,0xFD,0xFF,0xFF,
//0x00,0x20,0x00,0xC0,0x01,0x80,0x00,0x80,0x7F,0xFF,0x00,0x00,0x00,0x00,0x01,0x20,
//0x02,0x60,0x04,0x20,0x08,0x10,0x18,0x10,0x30,0x08,0x30,0x04,0x10,0x02,0x00,0x00,/*"六",9*/

0xFF,0xFF,0xF0,0x07,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF0,0x07,
0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF0,0x07,0xF7,0xF7,0xFF,0xFF,
//0x00,0x00,0x0F,0xF8,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x0F,0xF8,0x08,0x08,
//0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x0F,0xF8,0x08,0x08,0x00,0x00,0x00,0x00,/*"日",10*/

0xFF,0x7F,0xFF,0xBF,0xFF,0xDF,0xF0,0x07,0xF7,0xF7,0xF7,0xF7,0xF0,0x07,0xF7,0xF7,
0xF7,0xF7,0xF0,0x07,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF0,0x07,0xF7,0xF7,0xFF,0xFF,
//0x00,0x80,0x00,0x40,0x00,0x20,0x0F,0xF8,0x08,0x08,0x08,0x08,0x0F,0xF8,0x08,0x08,
//0x08,0x08,0x0F,0xF8,0x08,0x08,0x08,0x08,0x08,0x08,0x0F,0xF8,0x08,0x08,0x00,0x00,/*"自",11*/

0xF7,0xFF,0xE0,0xFF,0xFF,0x03,0xFF,0x7F,0xFF,0x7F,0xE0,0x03,0xFF,0x7F,0xFF,0x7F,
0xFF,0x7F,0x80,0x00,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x5F,0xFF,0xBF,0xFF,0xFF,
//0x08,0x00,0x1F,0x00,0x00,0xFC,0x00,0x80,0x00,0x80,0x1F,0xFC,0x00,0x80,0x00,0x80,
//0x00,0x80,0x7F,0xFF,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0xA0,0x00,0x40,0x00,0x00,/*"手",12*/

0xFD,0xFF,0xFD,0xFF,0xFD,0xC1,0xFD,0xFF,0xC0,0x7F,0xDD,0xFF,0xDD,0x80,0xDD,0xFB,
0xDD,0xFB,0xDE,0xFB,0xDE,0xED,0xDE,0xDD,0xDF,0x40,0xDB,0x5D,0xE7,0xBF,0xFF,0xFF,
//0x02,0x00,0x02,0x00,0x02,0x3E,0x02,0x00,0x3F,0x80,0x22,0x00,0x22,0x7F,0x22,0x04,
//0x22,0x04,0x21,0x04,0x21,0x12,0x21,0x22,0x20,0xBF,0x14,0xA2,0x08,0x40,0x00,0x00,/*"动",13*/

0xF7,0x77,0xF7,0x77,0xC0,0x17,0xF7,0x77,0xFF,0xC0,0xE0,0x37,0xEF,0xB3,0xE0,0x23,
0xEF,0x95,0xE0,0x35,0xFD,0xF6,0xC0,0x17,0xFA,0xF7,0xF7,0x77,0xCF,0xB7,0xFF,0xFF,
//0x08,0x88,0x08,0x88,0x3F,0xE8,0x08,0x88,0x00,0x3F,0x1F,0xC8,0x10,0x4C,0x1F,0xDC,
//0x10,0x6A,0x1F,0xCA,0x02,0x09,0x3F,0xE8,0x05,0x08,0x08,0x88,0x70,0x48,0x00,0x00,/*"模",14*/

0xED,0xFF,0xDD,0xFF,0xDD,0xFF,0xFD,0xFF,0x80,0x00,0xFD,0xFF,0xFD,0xFF,0xFD,0x83,
0xFD,0xEF,0xFD,0xEF,0xFB,0xEF,0xBB,0xEF,0xB7,0x0F,0x8F,0xE1,0xBF,0xFB,0xFF,0xFF,
//0x12,0x00,0x22,0x00,0x22,0x00,0x02,0x00,0x7F,0xFF,0x02,0x00,0x02,0x00,0x02,0x7C,
//0x02,0x10,0x02,0x10,0x44,0x10,0x44,0x10,0x48,0xF0,0x70,0x1E,0x40,0x04,0x00,0x00,/*"式",15*/

0xFB,0xEF,0xFB,0xC7,0xFB,0xF0,0xEA,0xF7,0xDA,0xF7,0xBA,0xC0,0xBB,0x77,0xFB,0x73,
0xDB,0xA3,0xDB,0xD5,0xEB,0xD5,0xEF,0xF6,0xF7,0xF7,0xFB,0xF7,0xFC,0x77,0xFF,0xFF,
//0x04,0x10,0x04,0x38,0x04,0x0F,0x15,0x08,0x25,0x08,0x45,0x3F,0x44,0x88,0x04,0x8C,
//0x24,0x5C,0x24,0x2A,0x14,0x2A,0x10,0x09,0x08,0x08,0x04,0x08,0x03,0x88,0x00,0x00,/*"秒",16*/

//0x00,0x40,0x00,0x80,0x7F,0xFC,0x20,0x04,0x10,0x02,0x3F,0xFC,0x00,0x20,0x04,0x10,
//0x0F,0xF8,0x08,0x80,0x00,0x80,0x1F,0xFC,0x00,0x80,0x00,0x80,0x7F,0xFF,0x00,0x00,/*"室",17*/

0xFF,0xFF,0xE0,0x3B,0xEF,0xB7,0xEF,0xB7,0xE0,0x3E,0xEF,0xBD,0xEF,0xBD,0xE0,0x37,
0xFF,0xF7,0xC0,0x1B,0xDA,0xD8,0xDA,0xDB,0xDA,0xDB,0xDA,0xDB,0x80,0x0B,0xFF,0xFF,
//0x00,0x02,0x0F,0xE4,0x08,0x24,0x0F,0xE0,0x08,0x29,0x08,0x2A,0x0F,0xE8,0x00,0x04,
//0x3F,0xF4,0x24,0x93,0x24,0x92,0x24,0x92,0x24,0x92,0x24,0x92,0x7F,0xFA,0x00,0x00,/*"温",18*/

0xFF,0x7F,0xFE,0xFF,0x80,0x03,0xFB,0xBB,0xFB,0xBB,0xC0,0x03,0xFB,0xBB,0xFB,0xBB,
0xF8,0x3B,0xFF,0xFB,0xF0,0x0B,0xF7,0xDB,0xFB,0xBD,0xFC,0x7D,0xE3,0x8E,0xFF,0xFF,
//0x00,0x80,0x01,0x00,0x7F,0xFC,0x04,0x44,0x04,0x44,0x3F,0xF4,0x04,0x44,0x07,0xC4,
//0x00,0x04,0x1F,0xE4,0x08,0x44,0x04,0x84,0x03,0x04,0x0C,0x82,0x70,0x62,0x00,0x00,/*"度",0*/



};


 楼主| 发表于 2015-6-11 17:29 | 显示全部楼层
我的控制板现在上的是24M外置晶振,单片机是STC11F32X。
屏的情况是这样的:采用4094列驱动,行驱动是俩138.接口图如一楼所示。ABC三个是138的ABC输入,D是138的片选,低电平为上半屏,高电平为下半屏。
STR和CLK、R接4094,实际上没接,直接接高电平了。
大家帮我看看,为啥不能点亮呢?
实在不行我只能用汇编再编程序了。那可就麻烦了
发表于 2015-6-11 17:50 | 显示全部楼层
快活丞 发表于 2015-6-11 15:03
对我来说汇编更容易看,C的都看蒙了,没找到接口里面的A、B、C、D四个接口连接的P10、P11、P12、P13 ...

直接操作的p1口,这样更简单

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-5-12 21:58 , Processed in 0.069908 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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