一乐电子

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

QQ登录

只需一步,快速开始

微信扫码登录

手机号码,快捷登录

手机号码,快捷登录

搜索
查看: 4501|回复: 16

求个可以分时段自动调整亮度的1664翻页钟程序

  [复制链接]
发表于 2012-12-27 19:16 | 显示全部楼层 |阅读模式
找了很久都没有找到驱动是4094的,接口定义
P0^5;       //ds18b20  温度端口
sbit  DS1302_CLK    =   P3^5;       //ds1302   时钟
sbit  DS1302_IO     =   P3^6;       //ds1302   数据
sbit  DS1302_RST    =   P3^7;       //ds1302   复位
sbit  H_CLK      =  P2^5;       //行选4094 时钟
sbit  H_D      =  P2^4;       //行选4094 数据
sbit  L_CLK     =  P2^1;       //列数据   时钟
sbit  L_D      =  P2^3;      //列数据   数据
sbit  L_STB      =  P2^2;       //列数据   锁存
sbit  L_OE          =  P2^6;       //列数据   使能
sbit  key_add       = P1^1;
sbit  key_dec       = P1^0;
sbit  key_adj       =   P1^2;
sbit  key_esc       =   P1^4;
发表于 2012-12-27 20:01 | 显示全部楼层
我做的一个64*64的点阵钟,自动调亮度
void main()
{
    uchar t;
    delay(200);
        beep(500,5);
        delay(1000);
        beep(500,5);
    EA=1;
    ET0=1;      //开定时器中断  
    TMOD=0x01;        //定时器0,1模式1
    TH0=0x3c;              //24M晶振 25ms中断
    TL0=0xb0;
    TR0=1;                //开定时器运行

//        DS18B20_fenbian(0x1f);

    ds_int();
        read_DS12887();
        time_to_buff();
        for(t=0;t<20;t++)
        {
          read_temp();
        }
        Conversion(century,year,month,day);
        nongli();


       
                                               
        while(1)
        {  
       read_DS12887();
           time_to_buff();

           du++;
           if(du>6000)          //三分钟读一次温度
           {
           du=0;
           Conversion(century,year,month,day);
           read_temp();
           nongli();
           }

            if(hour<=5)       liang=1;
        else if(hour<=7)  liang=7;
        else if(hour<=19) liang=10;
                else if(hour<=21) liang=5;
        else if(hour<=24) liang=1;

           keyscan();

           if(disp_mode!=0)                 //自动返回
           {
       fan++;
           if(fan>300)
           {
            fan=0;
                disp_mode=0;
                beep(500,5);
           }
           }
          for(disrow=0;disrow<16;disrow++)                  //disrow,当前扫描的行
                     {                       
                       H_PORT=disrow&0x0f;        //行138的输出.依次点亮1~16行.
                           display(disp_mode);
                           STB=0;
                   STB=1;
               OE=0;                                               
                       delay(liang);  
                       OE=1;
                           delay(10-liang);
                          }
                       
         }
}
回复

使用道具 举报

 楼主| 发表于 2012-12-27 20:16 | 显示全部楼层

标题

回复 2# luannan


    俺太菜看不懂!只会简单的烧写
回复

使用道具 举报

发表于 2012-12-27 20:38 | 显示全部楼层
如二楼,下面不是亮度控制吗??
          if(hour<=5)       liang=1;
        else if(hour<=7)  liang=7;
        else if(hour<=19) liang=10;
                else if(hour<=21) liang=5;
        else if(hour<=24) liang=1;
回复

使用道具 举报

 楼主| 发表于 2012-12-27 20:48 | 显示全部楼层
回复 4# lyxing


    现在使用的是草版的程序,加入这一段就行了?俺对程序是一窍不通
回复

使用道具 举报

发表于 2012-12-28 09:33 | 显示全部楼层
同问,同求
我现在是在一乐双色1664点阵上用的改进版草版翻页钟
自己也曾发过帖子求高人改程序(https://www.yleee.com.cn/viewthread.php?tid=20307&extra=),呵呵
自己目前搞定了每小时变色功能,在高深层次的编程搞不定了
回复

使用道具 举报

发表于 2012-12-28 10:07 | 显示全部楼层
晚上太亮了,能自动调亮度就好了
回复

使用道具 举报

发表于 2012-12-28 10:34 | 显示全部楼层
回复 6# slqin2418


    你好,请教每小时变色需要修改哪里?本人想把秒的冒号改成红色和绿色交替显示。
回复

使用道具 举报

发表于 2012-12-28 11:42 | 显示全部楼层
回复 8# cykhyk


    我也想改数字和秒点不同颜色,没有搞定,这个要改色就是全部都改了,并且还有程序以前可以用89C51改过后51烧不下了,我现在换成12c560s2
回复

使用道具 举报

发表于 2012-12-28 11:46 | 显示全部楼层
本帖最后由 slqin2418 于 2012-12-28 11:48 编辑

回复 8# cykhyk


    程序改port.h文件的这一段:
{
  if((Hour >=0) && (Hour < 7))  {*Color = 1;}
  else if((Hour >=8) && (Hour < 19)) {*Color = 0;}
  else  *Color = 2;   
}

你要是搞定数字和秒点不同颜色显示,别忘分享哦
回复

使用道具 举报

本版积分规则

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

GMT+8, 2026-1-12 17:22 , Processed in 0.034525 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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