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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1557|回復(fù): 8
收起左側(cè)

求助修改單片機代碼錯誤

[復(fù)制鏈接]
ID:503921 發(fā)表于 2019-4-3 11:18 | 顯示全部樓層 |閱讀模式
用的是keil 5,芯片是AT89C52
#include<reg51.h>#define uchar unsigned char#define uint unsegned intsbit g=P2^1;sbit s=P2^0;bit button,flag;uchar shi,ge,temp,t0;uchar code table[]={0x3f,0x6f,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}void display(shi,ge)void delay(uint z){              uint x,y;              for(x=z;x>0;x--)                            for(y=110;y>0;y--);}uchar switchscan(){              temp=P1;              if(temo==0xfe)              {                            delay(5)                            temo=P1;                            if(temo==0xfe)                            {                                          button=~button;                                          if(button)                                          TR0=1;                                          else                                          TR0=0;t0=0;                                          flag=0;                                          shi=o;                                          ge=0;                            }              }              while (temp==0xfe)              {                            temp=P1;                            desplay(shi,ge);              }              return button;}void keyscan(){              temp=P1;              if(temp==0xfd||temp==0xfb||temp==0xf7)              {delay(5);temp=P1;if               (temp==0xfd||temp==0xfb||temp==0xf7)                           switch(temp)                                          {                                          case 0xfd:                                          {                                                        TR0=~TR0;                                          }                                          break;                                          case 0xfb:                                          {                                          TR0=0;                                          t0=0;                                          shi=0;                                          ge=0;                                          }                                          break;                                          case 0xf7:{flag=~flag;}                                          break;                            }              }}while(gemp==0xfd||temp==0xfb||temp==0xf7)              {              temp=P1;              display(shi,ge);              }}Void display(shi,ge){              P0=table[shi];              s=o;              P0=table[shi];delay(1);s=1;P0=table[ge];g=o;P0=table[ge];delay(1);g=1;}void count(){              t0=0;              ge++;              if(ge==10){ge=0;shi++;}              if(shi==10)              shi=0;}main(){shi=0;ge=0;button=0;TM0D=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=0;while(1){display(shi,ge);switchscan();{while(button){display(shi,ge);switchscan();if(button)keyscan();}while(!button){TR0=0;display(shi,ge);switchscan();}}}            }void timer0() interrut 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;t0++;if(flag){if(t0>=2)count();}if(!flag){if(t0>=20)count();}}
回復(fù)

使用道具 舉報

ID:503921 發(fā)表于 2019-4-3 11:20 | 顯示全部樓層
本帖最后由 DarkNISS 于 2019-4-3 11:26 編輯

新手小白,請求大神幫忙看看代碼錯誤。
回復(fù)

使用道具 舉報

ID:451718 發(fā)表于 2019-4-3 12:42 | 顯示全部樓層
你不知道先貼在記事本里面,然后再拷貝粘貼過來么?  
回復(fù)

使用道具 舉報

ID:395176 發(fā)表于 2019-4-3 12:55 | 顯示全部樓層
求求你好好排下版,再發(fā)出來好吧,你這樣太亂了
回復(fù)

使用道具 舉報

ID:246251 發(fā)表于 2019-4-3 13:11 | 顯示全部樓層
問題也不說,報錯也不貼,版也不排.....
回復(fù)

使用道具 舉報

ID:160500 發(fā)表于 2019-4-3 13:42 | 顯示全部樓層
看的我是眼花繚亂,不知所蹤。
回復(fù)

使用道具 舉報

ID:314246 發(fā)表于 2019-4-3 14:36 | 顯示全部樓層
看著代碼,有一種暈車的感覺
回復(fù)

使用道具 舉報

ID:213173 發(fā)表于 2019-4-3 17:34 | 顯示全部樓層
DarkNISS 發(fā)表于 2019-4-3 11:20
新手小白,請求大神幫忙看看代碼錯誤。

錯誤不是一點點,是錯得離譜,好像是東拼西湊抄的來,并且抄都沒有抄好。 而且樓主根本沒有說明程序功能,神仙也難辦。
回復(fù)

使用道具 舉報

ID:155507 發(fā)表于 2019-4-3 20:33 | 顯示全部樓層
給你改了,對比一下就知道哪里錯了。

  1. //用的是keil 5,芯片是AT89C52
  2. #include<reg51.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. sbit g=P2^1;
  6. sbit s=P2^0;
  7. bit button, flag;
  8. uchar shi, ge, temp, t0;

  9. uchar code table[]={0x3f,0x6f,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
  10. void display(uchar shi, uchar ge);
  11. void delay(uint z)
  12. {
  13.         uint x, y;
  14.        
  15.         for(x=z;x>0;x--)
  16.            for(y=110;y>0;y--);
  17. }
  18. uchar switchscan()
  19. {
  20.         temp=P1;
  21.         if(temp==0xfe)
  22.         {
  23.                 delay(5);
  24.                 temp=P1;
  25.                 if(temp==0xfe)                           
  26.                 {                                          
  27.                         button=~button;
  28.                         if(button)
  29.                         TR0=1;
  30.                         else   
  31.                         TR0=0;
  32.                
  33.                         t0=0;
  34.                         flag=0;
  35.                         shi=0; //o;
  36.                         ge=0;
  37.                 }              
  38.         }
  39.         while (temp==0xfe)
  40.         {
  41.                 temp=P1;
  42.                 display(shi, ge);
  43.         }
  44.         return button;
  45. }
  46. void keyscan()
  47. {
  48.         temp=P1;
  49.         if(temp==0xfd||temp==0xfb||temp==0xf7)
  50.         {
  51.                 delay(5);
  52.                 temp=P1;
  53.                 if  (temp==0xfd||temp==0xfb||temp==0xf7)
  54.                 switch(temp)
  55.                 {
  56.                 case 0xfd:
  57.                         {
  58.                                 TR0=~TR0;
  59.                         }
  60.                         break;
  61.                 case 0xfb:
  62.                         {
  63.                                 TR0=0;
  64.                                 t0=0;
  65.                                 shi=0;
  66.                                 ge=0;
  67.                         }  
  68.                         break;
  69.                 case 0xf7:
  70.                         {
  71.                                 flag=~flag;
  72.                         }                                          
  73.                         break;
  74.                 }
  75.         }
  76.         //}
  77.         while(temp==0xfd||temp==0xfb||temp==0xf7)
  78.         {
  79.                 temp=P1;
  80.                 display(shi, ge);
  81.         }
  82. }
  83. void display(uchar shi, uchar ge)
  84. {
  85.         P0=table[shi];
  86.         s=0; //o;
  87.         P0=table[shi];
  88.         delay(1);
  89.         s=1;
  90.         P0=table[ge];
  91.         g=0; //o;
  92.         P0=table[ge];
  93.         delay(1);
  94.         g=1;
  95. }
  96. void count()
  97. {
  98.         t0=0;
  99.         ge++;
  100.         if(ge==10)
  101.         {
  102.                 ge=0;
  103.                 shi++;
  104.         }            
  105.         if(shi==10)
  106.         shi=0;
  107. }
  108. main()
  109. {
  110.         shi=0;
  111.         ge=0;
  112.         button=0;
  113.         TMOD=0x01;  //TM0D=0x01;
  114.         TH0=(65536-50000)/256;
  115.         TL0=(65536-50000)%256;
  116.         EA=1;    //允許總中斷
  117.         ET0=1;       //允許定時器0中斷 ET0=0;
  118.         while(1)
  119.         {
  120.                 display(shi, ge);
  121.                 switchscan();
  122.                 {
  123.                         while(button)
  124.                         {
  125.                                 display(shi,ge);
  126.                                 switchscan();
  127.                                 if(button)  
  128.                                 keyscan();
  129.                         }
  130.                         while(!button)
  131.                         {
  132.                                 TR0=0;
  133.                                 display(shi,ge);
  134.                                 switchscan();
  135.                         }
  136.                 }
  137.         }            
  138. }

  139. void timer0() interrupt 1
  140. {
  141.         TH0=(65536-50000)/256;
  142.         TL0=(65536-50000)%256;
  143.         t0++;
  144.         if(flag)
  145.         {
  146.                 if(t0>=2) count();
  147.         }
  148.         if(!flag)
  149.         {
  150.                 if(t0>=20) count();
  151.         }
  152. }




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

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩一区二区三区不卡视频 | 久久精品中文 | 国产精品视频一区二区三区 | 欧美国产日韩一区二区三区 | 最新中文字幕一区 | 在线免费观看毛片 | 国产97碰免费视频 | 亚洲少妇综合网 | 国产精品福利网站 | 成人精品| 欧美激情久久久 | 麻豆久久久久久久久久 | 久久午夜电影 | 欧美日韩一区二区三区视频 | 一区日韩| 国产精品视频网 | 色综合一区二区三区 | 亚洲区一区二 | 欧美1区 | 久色| 欧美精品中文字幕久久二区 | 国产精品欧美一区二区 | 最新中文字幕在线 | 香蕉婷婷| av在线播放免费 | 国产午夜精品久久久久 | 亚洲高清视频在线观看 | 一区二区av| 久久久久国产精品一区 | 色婷婷久久 | 三级在线免费 | 在线免费黄色 | 97狠狠干| 国产不卡视频在线 | 伊人久久伊人 | 中文字幕成人在线 | www久久 | 干干干操操操 | 免费黄色片在线观看 | 米奇成人网 | 日韩三级在线 |