找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1922|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

求助幫看下這單片機(jī)程序,無法編譯,謝了

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1042173 發(fā)表于 2022-9-4 23:14 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
        sbit D0=P2^0;   //三個(gè)位控制
  sbit D1=P2^1;
  sbit D2=P2^2;
uchar subf[3]={8,8,8};
uchar dispdata[10]={0,1,2,3,4,5,6,7,8,9,}

void delay(uint t)
{
        uint i;
        while(t--)
        {
                for(i=0;i<150;i++)
                {}
                }
        }
//定時(shí)顯示程序
void time0_int(void) interrupt1
{
        uchar i,;
        TH0=0;
        TL0=0;
        display();
}
//主函數(shù)
void main(void)
{
  EA=1;
  ET0=1;
TMOD=0X01;
TH0=0;
TL0=0;
TR0=1;
while(1)
{
        uchar i,j;
        for(i=0;i<=9;i++)
        {
                for(j=0;j<=2;j++)
                sub[ i]=dispdata[j]
        }

}
}
//顯示子函數(shù)
void display(void)
{
        P0=subf[0];
        D0=1;
        delay(20)
        D0=0;
        P0=subf[0];
        D1=1;
        delay(20);
        D1=0;
        P0=subf[0];
        D2=1;
        delay(20);
        D2=0;
}



//那位大佬幫看下,程序那里錯(cuò)了,我編繹不過關(guān),
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:277948 發(fā)表于 2022-9-4 23:37 | 只看該作者
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4.         sbit D0=P2^0;   //?????
  5.   sbit D1=P2^1;
  6.   sbit D2=P2^2;
  7. uchar subf[3]={8,8,8};
  8. uchar dispdata[10]={0,1,2,3,4,5,6,7,8,9,};

  9. void display(void);
  10. void delay(uint t)
  11. {
  12.         uint i;
  13.         while(t--)
  14.         {
  15.                 for(i=0;i<150;i++)
  16.                 {
  17.        
  18.                 }
  19.         }
  20. }
  21. //??????
  22. void time0_int(void) interrupt 1 using 2
  23. {
  24.         TH0=0;
  25.         TL0=0;
  26.         display();
  27. }
  28. //???
  29. void main(void)
  30. {
  31.   EA=1;
  32.   ET0=1;
  33. TMOD=0X01;
  34. TH0=0;
  35. TL0=0;
  36. TR0=1;
  37. while(1)
  38. {
  39.         uchar i,j;
  40.         for(i=0;i<=9;i++)
  41.         {
  42.                 for(j=0;j<=2;j++)
  43.                 subf[i]=dispdata[j];
  44.         }

  45. }
  46. }
  47. //?????
  48. void display(void)
  49. {
  50.         P0=subf[0];
  51.         D0=1;
  52.         delay(20);
  53.         D0=0;
  54.         P0=subf[0];
  55.         D1=1;
  56.         delay(20);
  57.         D1=0;
  58.         P0=subf[0];
  59.         D2=1;
  60.         delay(20);
  61.         D2=0;
  62. }
復(fù)制代碼



雖然不知道你從哪里cop的單你的C語言基礎(chǔ)不是很好
回復(fù)

使用道具 舉報(bào)

板凳
ID:59202 發(fā)表于 2022-9-4 23:56 | 只看該作者
把編譯錯(cuò)誤信息發(fā)上來看啊,反正你這程序一眼就看到好幾個(gè)地方?jīng)]加“;”。

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

地板
ID:824490 發(fā)表于 2022-9-5 00:15 | 只看該作者
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4.   sbit D0=P2^0;   //三個(gè)位控制
  5.   sbit D1=P2^1;
  6.   sbit D2=P2^2;
  7. uchar subf[3]={8,8,8};
  8. uchar dispdata[10]={0,1,2,3,4,5,6,7,8,9} ;//====!

  9. void display(void);//====!

  10. void delay(uint t)
  11. {
  12.         uint i;
  13.         while(t--)
  14.         {
  15.                 for(i=0;i<150;i++);//====!
  16.                 //{} //====!
  17.                 }
  18.         }
  19. //定時(shí)顯示程序
  20. void time0_int(void) interrupt 1   //====!
  21. {
  22.         //uchar i;  //====!
  23.         TH0=0;
  24.         TL0=0;
  25.         display();
  26. }
  27. //主函數(shù)
  28. void main(void)
  29. {
  30.   EA=1;
  31.   ET0=1;
  32. TMOD=0X01;
  33. TH0=0;
  34. TL0=0;
  35. TR0=1;
  36. while(1)
  37. {
  38.         uchar i,j;
  39.         for(i=0;i<=9;i++)
  40.         {
  41.                 for(j=0;j<=2;j++)
  42.                 subf[i]=dispdata[j];//====!
  43.         }

  44. }
  45. }
  46. //顯示子函數(shù)
  47. void display(void)
  48. {
  49.         P0=subf[0];
  50.         D0=1;
  51.         delay(20); //====!
  52.         D0=0;
  53.         P0=subf[0];
  54.         D1=1;
  55.         delay(20);
  56.         D1=0;
  57.         P0=subf[0];
  58.         D2=1;
  59.         delay(20);
  60.         D2=0;
  61. }
復(fù)制代碼
你這代碼是自己敲的,還是COPY來的?一大堆錯(cuò)誤,都是書寫問題!

看看上面這個(gè),有//====!所在的行都是錯(cuò)的,對(duì)比一下你的代碼。

回復(fù)

使用道具 舉報(bào)

5#
ID:88256 發(fā)表于 2022-9-5 00:16 | 只看該作者
太粗心了,有好幾個(gè)地方漏寫了“;”,定時(shí)顯示的程序里i后面多了個(gè)“,”,主函數(shù)循環(huán)里的sub應(yīng)為subf,其實(shí)編譯不通過都有錯(cuò)誤提示的,可以查看錯(cuò)誤的類型以及行號(hào)(有的在上一行)。
另外,subf賦值3個(gè),dispdata賦值10個(gè),但在主程序的循環(huán)里,范圍是南轅北轍根本對(duì)不上的。
回復(fù)

使用道具 舉報(bào)

6#
ID:1040201 發(fā)表于 2022-9-5 14:49 | 只看該作者
還需要多練習(xí)一下
回復(fù)

使用道具 舉報(bào)

7#
ID:1042173 發(fā)表于 2022-9-5 23:33 | 只看該作者
hhdsdy 發(fā)表于 2022-9-5 00:16
太粗心了,有好幾個(gè)地方漏寫了“;”,定時(shí)顯示的程序里i后面多了個(gè)“,”,主函數(shù)循環(huán)里的sub應(yīng)為subf,其 ...

我這是抄書上一的——不知乍不過
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表