久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 求助大神STC89C52單片機,用數碼管顯示時間,請看程序 [打印本頁]

作者: helloccz    時間: 2015-8-27 15:55
標題: 求助大神STC89C52單片機,用數碼管顯示時間,請看程序
STC89C52單片機,用數碼管顯示時間,請看程序:
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar num,a,a1,b,b1,c,c1;
uchar shi,fen,miao;
sbit fm=P3^4;

void delay(uchar time)
{
  uchar i,j;
  for(i=time;i>0;i--)
    for(j=110;j>0;j--);
}

void init()
{
  TMOD=0x01;
  TH0=(65536-45872)/256;
  TL0=(65536-45872)%256;
  EA=1;
  ET0=1;
  TR0=1;
}

void display(char a,a1,b,b1,c,c1)
{
  P1=0x00;
  P2=table[a];
  delay(5);
  P1=0x01;
  P2=table[a1];
  delay(5);
  P1=0x02;
  P2=0x40;
  delay(5);

  P1=0x03;
  P2=table;
  delay(5);
  P1=0x04;
  P2=table[b1];
  delay(5);
  P1=0x05;
  P2=0x40;
  delay(5);

  P1=0x06;
  P2=table[c];
  delay(5);
  P1=0x07;
  P2=table[c1];
  delay(5);
}

void t0_time() interrupt 1
{
  TH0=(65536-45872)/256;
  TL0=(65536-45872)%256;
  num++;
}

void main()
{
  init();
  shi=15;
  fen=31;
  miao=00;
  while(1)
  {
    if(num==20)
        {
          num=0;
          if(miao==59)   //問題一:為什么miao==59而不等于60
          {
            miao=-1;     //問題二:為什么不是miao=0
            if(fen==59)
            {
                  fen=-1;
              if(shi==24)
                   shi=-1;
                  shi++;
                 }
                 fen++;
                 if(fen==50){fm=0;delay(80);fm=1;}
           }
           miao++;
         }
   a=shi/10;
   a1=shi%10;
   b=fen/10;
   b1=fen%10;
   c=miao/10;
   c1=miao%10;
   display(a,a1,b,b1,c,c1);
  }
}
          


作者: 電子愛好者life    時間: 2015-8-27 22:05
時間是0到59,并沒有60啊,-1+1 =0
作者: 更ty6    時間: 2015-8-27 22:24
其實這個問題不是很復雜,具體的可見郭天祥老師的51單片機視頻教程
作者: liaolinhui    時間: 2015-8-28 00:03
這個有點小錯誤,shi,fen,miao是uchar類型,范圍只能是0-255,不能是負數,所以miao=-1是錯誤的,需要改類型為signed char有符號的,至于為什么是-1問題就在于miao++在后面,-1+1=0,如果把miao++放前面的話就可以使用0和60
作者: helloccz    時間: 2015-8-28 13:02
liaolinhui 發表于 2015-8-28 00:03
這個有點小錯誤,shi,fen,miao是uchar類型,范圍只能是0-255,不能是負數,所以miao=-1是錯誤的,需要改 ...

謝謝,你糾正了我的錯誤
作者: 6467778399    時間: 2015-11-29 18:33
受用了  謝謝 了
作者: 人丑就要多讀書    時間: 2017-9-22 17:43
fm=0代表的什么意思
作者: tjh19960528    時間: 2017-9-22 19:51
這個不懂啊
作者: 00灬00    時間: 2017-9-22 21:59
uchar沒有負數吧





歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 午夜久久久 | 国产精品视频网 | 亚洲精品电影网在线观看 | 综合色在线 | 二区成人| 婷婷久久五月 | 中文字幕亚洲视频 | 日本一区二区高清不卡 | 亚洲一区国产精品 | 久久久久无码国产精品一区 | 国产97色 | 91麻豆精品国产91久久久久久久久 | 欧美日韩大片 | 免费能直接在线观看黄的视频 | 亚洲一区二区三区乱码aⅴ 四虎在线视频 | 粉嫩一区二区三区四区公司1 | 国产成年人视频 | 亚洲国产精品久久久久 | 农村真人裸体丰满少妇毛片 | 成人一区二区三区在线观看 | 国产精品久久久久久吹潮 | 欧美视频网 | 日韩亚洲欧美一区 | 国产精品毛片一区二区三区 | 成人免费小视频 | 春色av| 日韩电影免费在线观看中文字幕 | 高清一区二区三区 | 国产一区二区三区免费观看在线 | 国产成人综合av | 在线观看免费高清av | 福利电影在线 | 激情一区二区三区 | 欧美黄色一区 | 成人精品一区二区三区中文字幕 | 国产一区二区在线免费 | 91精品国产一区二区三区 | 欧美日韩视频在线 | 国产精品我不卡 | 色婷婷国产精品综合在线观看 | 日韩在线日韩 |