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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3717|回復: 8
打印 上一主題 下一主題
收起左側

此程序總有一個錯誤,求助大神解決,我的單片機芯片是stc89c52rc系列的

[復制鏈接]
跳轉到指定樓層
樓主
ID:87568 發表于 2016-3-27 21:09 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
/*-------------------------------------------------------
要求:利用數碼管,定時器等模塊,做出一個秒表,樣式00:00.0

------------------------------------------------*/

  #include<reg52.h>
  #define uchar unsigned char
  #define uint unsigned int
  uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  uchar a,n,num1,num2,f_shi,f_ge,m_shi,m_ge,msec;
  char  f_num,m_num;
  void init();
  void delay(uint xms)
  {
    uint i,j;
    for(i=xms;i>0;i--)
  for(j=110;j>0;j--);
  }
  void init()
  {
     TMOD=0x11;
  TH0=(65536-45872)/256;
  TL0=(65536-45872)%256;
  TH1=(65536-45872)/256;
  TL1=(65536-45872)%256;
  EA=1;
  ET0=1;
  TR0=1;
  ET1=1;
  TR1=1;
  }
  void display(uchar f_shi,f_ge,m_shi,m_ge)
  {   
  P1=0x00;
  P2=table[f_shi];
  delay(5);
  P1=0x01;
  P2=table[f_ge];
  delay(5);
  P1=0x02;
  P2=0x40;
  delay(5);
     P1=0x03;
  P2=table[m_shi];
  delay(5);
  P1=0x04;
  P2=table[m_ge]|0x80;
  delay(5);
  P1=0x05;
  P2=table[msec];
  delay(5);
  }
  void main()
  {
    init();
f_num=00;
m_num=00;
while(1)
{
   if(num1==20)
   {
      num1=0;
      if(m_num==59)
      {
            m_num=-1;
            if(f_num==59)
            {                  
               f_num=-1;
            }
            f_num++;
         }
         m_num++;                  
       }
  m_shi=m_num/10;     
  m_ge =m_num%10;
  f_shi=f_num/10;     
  f_ge =f_num%10;
   display(uchar f_shi,f_ge,m_shi,m_ge);
}
  }
  void T0_time() interrupt 1
  {
     TH0=(65536-45872)/256;
  TL0=(65536-45872)%256;  
  num1++;      
  }
void T1_time() interrupt 3
  {
     TH1=(65536-45872)/256;
  TL1=(65536-45872)%256;
  num2++;
  if(num2==12)
  {
      num2=0;
   n++;
   if(n==60)
   {
     n=0;
   }
   msec=n%10;
  }
   }

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關帖子

回復

使用道具 舉報

沙發
ID:72781 發表于 2016-3-27 23:58 | 只看該作者
本帖最后由 暗光 于 2016-3-28 00:07 編輯

不知道是不是這個地方錯啊,
看了一下感覺是變量重復定義了,首先你在前面定義了f_shi,f_ge,m_shi,m_ge為全局變量,然后你在寫顯示子函數時是這樣寫的void display(uchar f_shi,f_ge,m_shi,m_ge),這個語句相當于重新定義了一個局部的只能在這個子函數使用的局部變量,多嘴一下這個變量叫形參是用來接收傳遞進來的參數供子函數使用,故沖突了,而且定義錯了,每一個變量前面都要加uchar不能一次加(印象中是的)。

解決辦法:1、那么既然是全局變量,display就可以直接引用,直接定義為void display(){}就可以了。
2、定義這個子函數時把里面的局部變量改一下,比如加一個字母貨這數字區分開即可,void display(uchar f_shi1,uchar f_ge1,uchar m_shi1,uchar m_ge1),里面的也要改。

還有一個錯誤,調用的時候錯誤,你在mian的while(1)中是這樣調用的display(uchar f_shi,f_ge,m_shi,m_ge);是直接復制的吧?!!,調用的時候只需要把要傳遞的參數傳遞進去就可以了,所以應該是display(f_shi,f_ge,m_shi,m_ge);
這里面的四個變量,因為在調用的時候傳遞了參數,所以是實參。


最后在說一句,如果編程遇到報錯,把報錯的內容復制下來,百度一下,就可以找到錯誤原因(PS:英語好的省略這一步。。。。。。。。。。)
回復

使用道具 舉報

板凳
ID:85702 發表于 2016-3-28 10:49 | 只看該作者
uchar a,n,num1,num2,f_shi,f_ge,m_shi,m_ge,msec;
char  f_num,m_num;

感覺是變量定義類型不對吧。CHAR是字符型的。f_num++字符自加。這不對吧。  應該定義成INT吧
int a,n,num1,num2,f_shi,f_ge,m_shi,m_ge,msec;
int   f_num,m_num;然后試試
回復

使用道具 舉報

地板
ID:97438 發表于 2016-3-28 10:54 來自手機 | 只看該作者
樓上的都錯了。。。我這沒網,有網電腦再說
回復

使用道具 舉報

5#
ID:87568 發表于 2016-3-28 19:26 | 只看該作者
暗光 發表于 2016-3-27 23:58
不知道是不是這個地方錯啊,
看了一下感覺是變量重復定義了,首先你在前面定義了f_shi,f_ge,m_shi,m_ge為 ...

十分感謝你的回復,你的方法給我提供了很大的幫助!!!
回復

使用道具 舉報

6#
ID:111182 發表于 2016-3-28 19:37 | 只看該作者
來晚了
回復

使用道具 舉報

7#
ID:97438 發表于 2016-3-28 21:53 | 只看該作者
我錯了,應該是變量的問題
回復

使用道具 舉報

8#
ID:72781 發表于 2016-3-28 23:36 | 只看該作者
七彩繽紛 發表于 2016-3-28 10:49
uchar a,n,num1,num2,f_shi,f_ge,m_shi,m_ge,msec;
char  f_num,m_num;

不是,char型雖然是字符型,但是并不是代表儲存的必須是字符,而意思是,一個字符是由8bit組成,char型就8bit,在任意編譯器都一樣,都是8bit,而int型在不同的編譯器,不同位數的單片機是不一樣的
回復

使用道具 舉報

9#
ID:7485 發表于 2016-3-29 14:41 | 只看該作者
兩個中斷幾乎是同時發生,容易出錯。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 青青伊人久久 | 一级免费视频 | 极品国产视频 | 亚洲精品www | 欧美日韩亚洲国产 | 国产一区二区三区久久久久久久久 | 一级片网址 | 午夜tv免费观看 | 尤物在线| 老头搡老女人毛片视频在线看 | 日韩av一区在线观看 | 91精品国产综合久久小仙女图片 | 日韩精品一二三 | 国产亚洲精品久久情网 | 欧美三级在线 | 亚洲国产欧美国产综合一区 | 精品视频999 | 黄网免费看| 91亚洲精选| 免费在线看黄 | 国产激情视频在线 | 日韩精品一区二区三区中文字幕 | 999国产精品视频免费 | 成人三级网址 | 蜜桃毛片 | 国产一级电影在线 | www.99热| 亚洲国产欧美精品 | 久久久久久久一区 | 国产精品久久久久久福利一牛影视 | 欧美福利精品 | 日韩精品一区二区三区在线观看 | 人人草天天草 | 99国产精品视频免费观看一公开 | 三级国产三级在线 | www.久| 日韩视频在线观看一区二区 | 中文字幕在线观看一区二区 | 亚洲精品在线免费 | 成人在线一区二区 | 国产精品视频久久 |