发新帖我要提问
12
返回列表

原创+开源:可任意加长的点阵屏万年历PROTUES DS1302 DS18B20

[复制链接]
楼主: aaron96031
手机看帖
扫描二维码
随时随地手机跟帖
aaron96031|  楼主 | 2016-8-29 23:04 | 显示全部楼层
详细的 点阵屏 万年历 DS1302 18B20 温度显示 滚字源码 这样的可以给我们一点鼓励, 感兴趣 爱好者 进来交流: https://lf-studio.taobao.com/cat ... 3%C6%C1%B7%C2%D5%E6

使用特权

评论回复
张栋佳佳| | 2016-9-2 09:45 | 显示全部楼层
哪个大神能给解释一下这个定时器为什么这样写:   if(s0>50&&s1>50)       {        t0=s0;        t1=s1;        }     else       {         t0=s0*100+(TL0-0x9c);         t1=s1*100+(TL1-0x9c);        } 源程序为:#include"reg51.h" #include"LCM1602_b.c" sbit P32=P3^2; unsigned char fen[1]="/"; unsigned char io;  unsigned  int s0=0,s1=0,t0,t1;   void timer0(void) interrupt 1    //定时器0服务程序 {    s0++; }  void timer1(void)interrupt 3    //定时器1服务程序  {    s1++; }   void main(void) {   unsigned char  word[]="dd1/";   lcd1602_init();   TMOD=0xa2;       //定时器模式,1为2方式,但GATE为1   EA=1;    P32=0;           //p32,int0口先给低电平    ET0=1;   TH0=0x9c;   TL0=0x9c;     ET1=1;   TH1=0x9c;   TL1=0x9c;    display_5numbers(0,t0);   display_chars(5,fen,1);   display_5numbers(6,t1);   display_chars(11,word,4);   display_a_number(15,io);    while(1)   {      while(P32==0);       //这两次是为了去除半沿      while(P32==1);      TR0=1;               //开始计时      TR1=1;      while(P32==0);      TR0=0;               //T0停      while(P32==1);      TR1=0;               //T1停      if(s0>50&&s1>50)       {        t0=s0;        t1=s1;        }     else       {         t0=s0*100+(TL0-0x9c);         t1=s1*100+(TL1-0x9c);        }        io=(t1/t0);       display_5numbers(0,t0);      // 显示       display_chars(5,fen,1);       display_5numbers(6,t1);       display_chars(11,word,4);       display_a_number(15,io);       delay(300);       t0=0,t1=0,s0=0,s1=0;       //清值       TL0=0x9c;       TL0=0x9c;    }  }

使用特权

评论回复
tranhunga| | 2017-5-10 20:58 | 显示全部楼层
谢谢分享的好资料

使用特权

评论回复
cool_coder| | 2017-5-26 13:15 | 显示全部楼层
做得不错!

使用特权

评论回复
mdjzm| | 2022-9-13 10:38 | 显示全部楼层
楼主真棒

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则