欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機八位搶答器,請大家幫忙看看程序哪里有錯誤?

[復制鏈接]
跳轉到指定樓層
樓主
ID:667983 發表于 2020-12-29 09:56 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. #include "reg51.h"
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. sbit k1=P1^0;
  5. sbit k2=P1^1;
  6. sbit k3=P1^2;
  7. sbit k4=P1^3;
  8. sbit k5=P1^4;
  9. sbit k6=P1^5;
  10. sbit k7=P1^6;
  11. sbit k8=P1^7;//選手按鈕
  12. sbit k_1=P3^0;//主持人開始/結束按鈕
  13. sbit k_2=P3^1;//按下系統清零
  14. sbit song=P3^7;//蜂鳴器

  15. uint biaozhi;
  16. unsigned char led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//數碼管0-9段碼

  17. void delay(uint t)//輸入數據延時
  18. {  
  19.     uint i,j;
  20.     for(i=0;i<t;i++)
  21.     for(j=0;j<600;j++);
  22. }
  23. void disp(uint a,uint b)//輸入數字顯示內容(十位,個位)  時間用途
  24. {        
  25.         P2=0xfe;
  26.         P0=led[a];
  27.         p2=0xfd;
  28.         P0=led[b];
  29.         delay(1000);
  30. }

  31. void disp2(uint a,uint b,uint c)//輸入數字顯示內容(十位,個位)  號牌用途
  32. {   
  33.     uint a,b,c;
  34.     P2=0xfc;
  35.     P0=led[a];
  36.     p2=0xfb;
  37.     P0=led[b];
  38.     delay(c*1000);
  39. }

  40. void clear()
  41. {
  42.     p2=0xf0;
  43.     p0=led[0];
  44. }

  45. void keys()        //搶答程序
  46. { /*處于允許搶答狀態,且有人按下搶答按鈕  搶答之后顯示數值,改變標志終止搶答*/
  47.   //暫時未接蜂鳴器

  48.     if(k1==0&&k1==0){song=0;delay(1);biaozhi=1;disp2(0,1,1000);}     
  49.     if(k2==0&&k1==0){song=0;delay(1);biaozhi=1;disp2(0,2,1000);}
  50.     if(k3==0&&k1==0){song=0;delay(1);biaozhi=1;disp2(0,3,1000);}
  51.     if(k4==0&&k1==0){song=0;delay(1);biaozhi=1;disp2(0,4,1000);}
  52.     if(k5==0&&k1==0){song=0;delay(1);biaozhi=1;disp2(0,5,1000);}
  53.     if(k6==0&&k1==0){song=0;delay(1);biaozhi=1;disp2(0,6,1000);}
  54.     if(k7==0&&k1==0){song=0;delay(1);biaozhi=1;disp2(0,7,1000);}
  55.     if(k8==0&&k1==0){song=0;delay(1);biaozhi=1;disp2(,8,1000);}
  56. }

  57. void time60()//60秒倒計時程序
  58. {
  59.         uint a=5,b=9;
  60.         for(a>=0;a--){   
  61.     for(b<0;b--)
  62.     disp(1,a);
  63.     disp(2,b);
  64.     delay(1000);
  65.         }
  66. }

  67.         void ea()//顯示開機界面
  68. {
  69.         unsigned char ci=0;
  70.         while(ci<200)//循環200次(持續一段時間)
  71.         {
  72.                 P2=0xfe;  //位選1
  73.                 P0=0x77;  //顯示A
  74.                 delay(5);
  75.                 P2=0xfd;  //位選2
  76.                 P0=0x79;  //顯示E
  77.                 delay(5);
  78.                 ci++;
  79.         }
  80. }

  81. void main(){
  82. uint d=10;
  83. ea();
  84. if(K1==0)//主持人按下開始
  85. {
  86. for(d>0;d--)
  87. {
  88.         disp(1,d);//10秒倒計時
  89.         key();//選手搶答
  90.         if(biaozhi==1)
  91.     {
  92.     if (k2==0)//如果按下清零按鈕.系統清零
  93.     {
  94.     clear();
  95.     }
  96.         time60();

  97.     }//如果選手搶答,搶答成功進入60秒倒計時
  98.     else if(biaozhi!=1)
  99.     {
  100.     ea();
  101.     }

  102. }
  103. }
復制代碼



//請問哪兒出錯了啊

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

使用道具 舉報

沙發
ID:867408 發表于 2020-12-29 12:22 來自觸屏版 | 只看該作者
最好進行單步調試,這樣更容易看出來哦
回復

使用道具 舉報

板凳
ID:102963 發表于 2020-12-29 22:28 | 只看該作者
這樣是看不出來的,可以根據仿真或實物的現象去找錯誤點!
回復

使用道具 舉報

地板
ID:870739 發表于 2020-12-30 11:09 | 只看該作者
你這有電路圖或者仿真圖嗎?最好發一下,看看你都用了哪些引腳,有沒有進行設置。我這也有一份程序 ,要是需要我可以發給你。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表