找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

求助大神,單片機延時語句本身沒錯但報錯,實在是不懂了,求教大神

查看數(shù): 3031 | 評論數(shù): 4 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2017-5-30 15:02

正文摘要:

延時的3句全報錯。。無奈。 #include<reg51.h> sbit P1_0=P1^0;                                ...

回復(fù)

ID:206466 發(fā)表于 2017-5-31 19:26
延時程序沒錯就不是他的問題,一些看似無關(guān)的小錯誤也會讓程序報錯
ID:155507 發(fā)表于 2017-5-30 22:37
  1. #include<reg51.h>

  2. sbit P1_0=P1^0;                                     //脈沖輸出//
  3. sbit P1_1=P1^1;                                     //計數(shù)開關(guān)//
  4. sbit P1_2=P1^2;                                     //脈沖開關(guān)//
  5. unsigned char xdata w _at_ 0x8002,d _at_ 0x8004;    //位選 段選//
  6. unsigned char j,x0,x1,x2,x3,x4,x5;                  //定義j(定時倍數(shù)10) x顯示段碼//
  7. unsigned long i;                                    //累加i 顯示i //
  8. unsigned char code a[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};  //數(shù)組顯示//
  9. void delay()
  10. {   unsigned char i;
  11.         for(i=0;i<250;i++);
  12. }
  13. void play()
  14. {
  15.         x0=i%10;
  16.         x1=i/10%10;
  17.         x2=i/100%10;
  18.         x3=i/1000%10;
  19.         x4=i/10000%10;
  20.         x5=i/100000;
  21.         w=0x01;d=a[x0]; delay();
  22.         w=0x02;d=a[x1]; delay();
  23.         w=0x004;d=a[x2];delay();
  24.         w=0x08;d=a[x3]; delay();
  25.         w=0x10;d=a[x4]; delay();
  26.         w=0x20;d=a[x5]; delay();  
  27. }
  28. void main()
  29. {
  30.         EA=1;
  31.         ET0=1;
  32.         ET1=1;
  33.         TMOD=0x15;
  34.         TR0=0;
  35.         TR1=0;
  36.         TH0=0x00; TL1=0x00;
  37.         TH1=0x3c; TL1=0xb0;
  38.         while(1)
  39.         {
  40.                 if(P1_1==0)
  41.                 {
  42.                         TR0=0; TH0=0x00; TL0=0x00; i=153091; play();
  43.                 }
  44.                 if(P1_1==1)
  45.                 {
  46.                         TR0=1; i=TH0<<8|TL0; play();
  47.                 }
  48.                 if(P1_2==0)
  49.                 {
  50.                         TR1=0; TH1=0x3c; TL1=0xb0; j=0; P1_0=0;
  51.                 }
  52.                 if(P1_2==1)
  53.                 {
  54.                         TR1=1;
  55.                 }
  56.         }
  57. }
  58. void int1() interrupt 3
  59. {
  60.         TH1=0x3c; TL1=0xb0;
  61.         j++;
  62.         if(j==10)
  63.         {
  64.                 P1_0=!P1_0; j=0;
  65.         }
  66. }

復(fù)制代碼
ID:70302 發(fā)表于 2017-5-30 19:18
語句結(jié)束了需要分號“;”
語句結(jié)束了需要分號“;”
語句結(jié)束了需要分號“;”
ID:18297 發(fā)表于 2017-5-30 16:41
任何問題都在你的程序中:
1)注意語句結(jié)束了需要分號“;”;
2)注意程序書寫,不要一行接一行連著寫;
code unsigned char a[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}  //數(shù)組顯示//
這句后面的“;”呢?

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

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

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