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

QQ登錄

只需一步,快速開(kāi)始

帖子
查看: 2908|回復(fù): 15
收起左側(cè)

視頻教程照搬的單片機(jī)程序編譯錯(cuò)誤,為啥會(huì)這樣啊?

[復(fù)制鏈接]
ID:288012 發(fā)表于 2019-3-24 18:42 來(lái)自手機(jī) | 顯示全部樓層 |閱讀模式
大神幫看看吧!完全是按視頻上講的寫(xiě)的代碼,為啥視頻上的可以,到我這就出問(wèn)題了?
QQ*
QQ*
回復(fù)

使用道具 舉報(bào)

ID:234075 發(fā)表于 2019-3-24 22:44 | 顯示全部樓層
重復(fù)定義!把你的程序開(kāi)始部分發(fā)出來(lái)看看
回復(fù)

使用道具 舉報(bào)

ID:337069 發(fā)表于 2019-3-24 23:27 | 顯示全部樓層
重定義,看看包含的頭文件
回復(fù)

使用道具 舉報(bào)

ID:424598 發(fā)表于 2019-3-24 23:35 來(lái)自手機(jī) | 顯示全部樓層
放頭文件沒(méi)
回復(fù)

使用道具 舉報(bào)

ID:164602 發(fā)表于 2019-3-25 08:38 | 顯示全部樓層
把頭文件去掉就好了。
這樣的重復(fù)定義問(wèn)題,都是這個(gè)原因
回復(fù)

使用道具 舉報(bào)

ID:288012 發(fā)表于 2019-3-25 09:35 來(lái)自手機(jī) | 顯示全部樓層
zhb2004xp 發(fā)表于 2019-3-24 22:44
重復(fù)定義!把你的程序開(kāi)始部分發(fā)出來(lái)看看

開(kāi)始部分是這樣的
`%E7`HGSL%O3(N2`0SDH~JK.png
回復(fù)

使用道具 舉報(bào)

ID:426861 發(fā)表于 2019-3-25 10:31 | 顯示全部樓層
重復(fù)定義,找到所有提示報(bào)警的定義都是在什么地方定義了
回復(fù)

使用道具 舉報(bào)

ID:490426 發(fā)表于 2019-3-25 10:33 | 顯示全部樓層
將你的頭文件新建一個(gè)文件放入,然后指定文件的尋找地址。
回復(fù)

使用道具 舉報(bào)

ID:288012 發(fā)表于 2019-3-25 12:36 來(lái)自手機(jī) | 顯示全部樓層
HC6800-ES-V2.0 發(fā)表于 2019-3-25 08:38
把頭文件去掉就好了。
這樣的重復(fù)定義問(wèn)題,都是這個(gè)原因

還是不行啊,問(wèn)題更多啦
回復(fù)

使用道具 舉報(bào)

ID:288012 發(fā)表于 2019-3-25 12:37 來(lái)自手機(jī) | 顯示全部樓層
xujiabin 發(fā)表于 2019-3-25 10:33
將你的頭文件新建一個(gè)文件放入,然后指定文件的尋找地址。

不是很懂,具體如何操作
回復(fù)

使用道具 舉報(bào)

ID:432823 發(fā)表于 2019-3-25 13:18 | 顯示全部樓層
這是頭文件包含有問(wèn)題,一是無(wú),二是重復(fù)定義,三是編譯器路徑中無(wú)頭文件。
回復(fù)

使用道具 舉報(bào)

ID:288012 發(fā)表于 2019-3-25 17:00 | 顯示全部樓層
yaoji123 發(fā)表于 2019-3-25 13:18
這是頭文件包含有問(wèn)題,一是無(wú),二是重復(fù)定義,三是編譯器路徑中無(wú)頭文件。

具體如何解決,為什么會(huì)出現(xiàn)這種問(wèn)題,編別的程序就沒(méi)有
回復(fù)

使用道具 舉報(bào)

ID:432823 發(fā)表于 2019-3-25 20:12 | 顯示全部樓層
看不到完整程序無(wú)法幫你處理
回復(fù)

使用道具 舉報(bào)

ID:288012 發(fā)表于 2019-3-26 21:47 | 顯示全部樓層
yaoji123 發(fā)表于 2019-3-25 20:12
看不到完整程序無(wú)法幫你處理

  1. #include<reg52.h>
  2. #include<intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. sbit wela=P2^7;
  6. sbit dula=P2^6;
  7. void delay(uint z)
  8. {
  9.         uint x,y;
  10.          for(x=z;x>0;x--)
  11.                  for(y=0;y<110;y++);
  12. }

  13. uchar temp,t0,t1,bai,shi,ge,flag,flag1;
  14.   uint shu;

  15. uchar code table[]={
  16. 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,
  17. 0x77,0x7c,0x39,0x5e,0x79,0x71
  18.                   0x76,0x79,0x38,0x3f,0                                         //hello ????
  19. }; ///??????Ч???0~15

  20. void init()        ///?????
  21. {
  22. shu=432;
  23. temp=0xfe;
  24. P1=temp;
  25. TMOD=0x11;///????????????
  26. TH0=(65536-50000)/256;
  27. TL0=(65536-50000)%256;
  28. TH1=(65536-50000)/256;
  29. TL1=(65536-50000)%256;
  30. EA=1;
  31. ET0=1;
  32. ET1=1;
  33. TR0=1;
  34. TR1=1;//????????
  35. }

  36. void timer0() interrupt 1
  37. {
  38.         TH0=(65536-50000)/256;
  39.         TL0=(65536-50000)%256;       
  40.         t0++;
  41.         if(flag!=1)
  42.         {
  43.                 if(t0==10)
  44.         {
  45.                 t0=1;
  46.                 temp=_crol_(temp,1);
  47.                 P1=temp;
  48.         }       
  49.         }
  50.    else
  51.            {
  52.                 if(t0%4==0)
  53.                                 P1=~P1;
  54.                 if(t0==60)
  55.                 {        TR0=0;
  56.                         P1=0xff;
  57.                         flag1=1;
  58.                         }               
  59.         }
  60. }

  61. void timer1() interrupt 3
  62. {
  63.         TH1=(65536-50000)/256;
  64.         TL1=(65536-50000)%256;       
  65.         t1++;
  66.         if(t1==2)
  67.         {
  68.                 t1=0;
  69.                 shu        -- ;
  70.                 bai=shu/100;
  71.                 shi=shu%100/10;
  72.                 ge=shu%10;
  73.                 if(shu==398)
  74.                         {
  75.                                 TR0=0;
  76.                                 TH0=(65536-50000)/256;
  77.                                 TL0=(65536-50000)%256;
  78.                                 TR0=1;
  79.                                 flag=1;
  80.                                 t0=0;
  81.                                 P1=0xff;///???ALL
  82.                                 TR1=0;
  83.                         }
  84.         }
  85. }

  86. void display(uchar aa,uchar bb,uchar cc,uchar bai,uchar shi,uchar ge)
  87. {
  88.         dula=1;P0=table[aa];dula=0;P0=0xff;wela=1;P0=0xfe;wela=0;delay(1);
  89.                 dula=1;P0=table[bb];dula=0;P0=0xff;wela=1;P0=0xfd;wela=0;delay(1);
  90.                 dula=1;P0=table[cc];dula=0;P0=0xff;wela=1;P0=0xfb;wela=0;delay(1);

  91.         dula=1;P0=table[bai];dula=0;P0=0xff;wela=1;P0=0xf7;wela=0;delay(1);
  92.                 dula=1;P0=table[bai];dula=0;P0=0xff;wela=1;P0=0xef;wela=0; delay(1);
  93.                         dula=1;P0=table[bai];dula=0;P0=0xff;wela=1;P0=0xdf;wela=0; delay(1);
  94. }

  95. void main(void)
  96. {  
  97.         init();
  98.         while(1)
  99.         {
  100.          if(flag1!=1)
  101.         display(7,6,5,bai,shi,ge);
  102.         else
  103.         display(16,17,18,18,19,20);       
  104.         }       
  105. }

復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

ID:288012 發(fā)表于 2019-3-26 21:49 | 顯示全部樓層
yaoji123 發(fā)表于 2019-3-25 20:12
看不到完整程序無(wú)法幫你處理

下面這個(gè)是完整程序,大神幫我看看吧

  1. #include<reg52.h>
  2. #include<intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. sbit wela=P2^7;
  6. sbit dula=P2^6;
  7. void delay(uint z)
  8. {
  9.         uint x,y;
  10.          for(x=z;x>0;x--)
  11.                  for(y=0;y<110;y++);
  12. }

  13. uchar temp,t0,t1,bai,shi,ge,flag,flag1;
  14.   uint shu;

  15. uchar code table[]={
  16. 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,
  17. 0x77,0x7c,0x39,0x5e,0x79,0x71
  18.                   0x76,0x79,0x38,0x3f,0                                         //hello ????
  19. }; ///??????Ч???0~15

  20. void init()        ///?????
  21. {
  22. shu=432;
  23. temp=0xfe;
  24. P1=temp;
  25. TMOD=0x11;///????????????
  26. TH0=(65536-50000)/256;
  27. TL0=(65536-50000)%256;
  28. TH1=(65536-50000)/256;
  29. TL1=(65536-50000)%256;
  30. EA=1;
  31. ET0=1;
  32. ET1=1;
  33. TR0=1;
  34. TR1=1;//????????
  35. }

  36. void timer0() interrupt 1
  37. {
  38.         TH0=(65536-50000)/256;
  39.         TL0=(65536-50000)%256;       
  40.         t0++;
  41.         if(flag!=1)
  42.         {
  43.                 if(t0==10)
  44.         {
  45.                 t0=1;
  46.                 temp=_crol_(temp,1);
  47.                 P1=temp;
  48.         }       
  49.         }
  50.    else
  51.            {
  52.                 if(t0%4==0)
  53.                                 P1=~P1;
  54.                 if(t0==60)
  55.                 {        TR0=0;
  56.                         P1=0xff;
  57.                         flag1=1;
  58.                         }               
  59.         }
  60. }

  61. void timer1() interrupt 3
  62. {
  63.         TH1=(65536-50000)/256;
  64.         TL1=(65536-50000)%256;       
  65.         t1++;
  66.         if(t1==2)
  67.         {
  68.                 t1=0;
  69.                 shu        -- ;
  70.                 bai=shu/100;
  71.                 shi=shu%100/10;
  72.                 ge=shu%10;
  73.                 if(shu==398)
  74.                         {
  75.                                 TR0=0;
  76.                                 TH0=(65536-50000)/256;
  77.                                 TL0=(65536-50000)%256;
  78.                                 TR0=1;
  79.                                 flag=1;
  80.                                 t0=0;
  81.                                 P1=0xff;///???ALL
  82.                                 TR1=0;
  83.                         }
  84.         }
  85. }

  86. void display(uchar aa,uchar bb,uchar cc,uchar bai,uchar shi,uchar ge)
  87. {
  88.         dula=1;P0=table[aa];dula=0;P0=0xff;wela=1;P0=0xfe;wela=0;delay(1);
  89.                 dula=1;P0=table[bb];dula=0;P0=0xff;wela=1;P0=0xfd;wela=0;delay(1);
  90.                 dula=1;P0=table[cc];dula=0;P0=0xff;wela=1;P0=0xfb;wela=0;delay(1);

  91.         dula=1;P0=table[bai];dula=0;P0=0xff;wela=1;P0=0xf7;wela=0;delay(1);
  92.                 dula=1;P0=table[bai];dula=0;P0=0xff;wela=1;P0=0xef;wela=0; delay(1);
  93.                         dula=1;P0=table[bai];dula=0;P0=0xff;wela=1;P0=0xdf;wela=0; delay(1);
  94. }

  95. void main(void)
  96. {  
  97.         init();
  98.         while(1)
  99.         {
  100.          if(flag1!=1)
  101.         display(7,6,5,bai,shi,ge);
  102.         else
  103.         display(16,17,18,18,19,20);       
  104.         }       
  105. }

復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

ID:490426 發(fā)表于 2019-3-28 13:08 | 顯示全部樓層
wswymy 發(fā)表于 2019-3-25 12:37
不是很懂,具體如何操作

在你的工程文件里新建一個(gè)文件,將頭文件放入,然后指定頭文件尋找路徑。或者打開(kāi)頭文件加入#ifndef  #define  #endif
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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