欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 51單片機新手寫讀秒程序出錯,有大佬給看看么? [打印本頁]

作者: kailiu    時間: 2022-1-5 20:10
標(biāo)題: 51單片機新手寫讀秒程序出錯,有大佬給看看么?
  1. #include <REGX52.H>
  2. #define uchar unsigned char
  3. #define  shu P0
  4. unsigned char code a[]={0x3f,0x6,0x5b,0x4f,0x66,0x6d,0x7d,0x7,0x7f,0x6f};

  5. uchar j,k;
  6. void delay(uchar i)
  7. {
  8.   for(j=i;j>0;j--)
  9.     for(k=125;k>0;k--);
  10. }
  11. void xian(uchar shi,uchar ge)
  12. {
  13.         P2=0xE7;
  14.         shu=a[shi];
  15.         delay(5);
  16.         shu=0x00;
  17.         P2=0xe3;
  18.         shu=a[ge];
  19.         delay(5);
  20. }

  21. uchar i=0,shi1=0,ge1=0,ji=0;
  22. void main()
  23. {
  24.         i=0;
  25.         while(i<60)
  26.         {
  27.                 i++;
  28.                 shi1=i/10;
  29.                 ge1=i%10;
  30.                 while(ji<50)
  31.                 {        
  32.                         ji++;
  33.                         xian(shi1,ge1);        
  34.                 }        
  35.         }
  36. }
復(fù)制代碼
這個程序?qū)懙目偸强ㄔ?1就不進(jìn)行了。不知道哪里錯了有大佬看看嗎




作者: kailiu    時間: 2022-1-5 20:32
                while(ji<50)
                {      
                        ji++;
                        xian(shi1,ge1);      
                }   
是不是這段出毛病了,我剛剛把這個循環(huán)去掉只保留
xian(shi1,ge1);
是能運行的不過太快了

作者: 人工置頂員    時間: 2022-1-5 22:19
頂一下
作者: lkc8210    時間: 2022-1-5 22:59
本帖最后由 lkc8210 于 2022-1-6 09:06 編輯

ji沒有清零
在29/30行之間
插一句 ji=0;

作者: 13205495918    時間: 2022-1-6 08:11
函數(shù)命名的時候,為了增強可讀性最好用英文吧,注意一下這個習(xí)慣
作者: man1234567    時間: 2022-1-6 08:22
while(ji<50)
這句是要顯示50次后再顯示下一個,去掉后只顯一次了;
delay(5);
去掉后太快了就調(diào)這個,以前是5*50=250你感覺卡死,現(xiàn)在感覺快就調(diào)到10或適合的數(shù)。

建議先畫框圖再寫程序
作者: 溫xyz    時間: 2022-1-6 10:24
ji沒有聲明,也許是筆誤。
作者: wulin    時間: 2022-1-6 11:46
kailiu 發(fā)表于 2022-1-5 20:32
while(ji

#include <REG51.H>
#define uchar unsigned char
#define  shu P0
unsigned char code a[]={0x3f,0x6,0x5b,0x4f,0x66,0x6d,0x7d,0x7,0x7f,0x6f};
uchar i,j;
bit k=0;

void xian(uchar t)
{
        shu=0x00;
        if(k)
        {       
                P2=0xfe;
                shu=a[t/10];
                k=~k;
        }
        else
        {
                P2=0xfd;
                shu=a[t%10];
                k=~k;
        }
}

void main()
{
        TMOD = 0x01;
        TH0 = 0xEC;
        TL0 = 0x78;
        TR0 = 1;
        while(1)
        {
                if(TF0)
                {
                        TF0 = 0;
                        TH0 = 0xEC;
                        TL0 = 0x78;
                        if(++i>=200)
                        {
                                i=0;
                                j=++j%100;
                        }
                        xian(j);
                }
        }
}
作者: kailiu    時間: 2022-1-9 19:21
lkc8210 發(fā)表于 2022-1-5 22:59
ji沒有清零
在29/30行之間
插一句 ji=0;

寫寫帶=大佬,就是這個問題。解決了
作者: kailiu    時間: 2022-1-9 19:23
溫xyz 發(fā)表于 2022-1-6 10:24
ji沒有聲明,也許是筆誤。

聲明了的,剛學(xué)寫的不規(guī)范,用3樓的方法解決了
作者: kailiu    時間: 2022-1-9 19:30
wulin 發(fā)表于 2022-1-6 11:46
#include
#define uchar unsigned char
#define  shu P0

我已經(jīng)學(xué)到定時器了,大佬的代碼基本看得懂,
大佬這個顯示代碼寫法第一次見,學(xué)習(xí)了。
        if(k)
        {      
                P2=0xfe;
                shu=a[t/10];
                k=~k;
        }
        else
        {
                P2=0xfd;
                shu=a[t%10];
                k=~k;
        }
作者: kailiu    時間: 2022-1-9 19:31
13205495918 發(fā)表于 2022-1-6 08:11
函數(shù)命名的時候,為了增強可讀性最好用英文吧,注意一下這個習(xí)慣

嗯嗯,我英文不好。盡量
作者: kailiu    時間: 2022-1-9 19:32
man1234567 發(fā)表于 2022-1-6 08:22
while(ji

程序框圖是高中學(xué)的那個么,我試試看把




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1