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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機控制按鍵s6本應該只亮一個led燈,但是其他的led也會隱隱約約的亮

[復制鏈接]
跳轉到指定樓層
樓主
ID:257618 發表于 2017-12-5 17:05 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
實現的功能:
開發板上電關閉LED,關閉蜂鳴器繼電器,數碼管依次顯示自己QQ號前8位(人眼分辨不出閃爍);
按下S7按鍵,數碼管前五位熄滅,后三位數碼管以自己QQ號前三位為基礎順序開始倒計時(用定時器實現);
按下S6按鍵,當數碼管倒計時為偶數時L1燈點亮(其他燈保持熄滅),計時為奇數時所有LED燈熄滅;
按下S5按鍵,關閉LED燈燈閃爍功能,倒計時依然繼續;
按下S4按鍵,打開繼電器,L10燈點亮,倒計時依然繼續;


程序沒問題,就是按s6按鍵應該p01亮,但是按下s6,其他七個也會亮,只是亮的不明顯不知為啥,

單片機源程序:
  1. #include <STC15F2K60S2.H>
  2. #include<intrins.h>

  3. #define uchar unsigned char
  4. #define uint unsigned int

  5. uchar tab[]={0xc0,0xf9,0xa4,
  6. 0xb0,0x99,0x92,0x82,0xf8,
  7. 0x80,0x90,0xff};
  8. uchar tab1[]={0xfe,0xff};
  9. uchar wei,pian,temp,s1=16;
  10. uchar wl0=0,wl1=0,wl2=0;
  11. uchar yi,er,san,si,count=0;
  12. uchar wu,liu;qi;ba;
  13. uint adc,num=202;

  14. void allinit();
  15. void delayms(uint b);
  16. void Timer0Init(void);

  17. void led(uint c);
  18. void smgxianshi0(uchar yi,uchar er);
  19. void smgxianshi1(uchar san,uchar si);
  20. void smgxianshi2(uchar wu,uchar liu);
  21. void smgxianshi3(uchar qi,uchar ba);
  22. void keycan();
  23. void anxiaanjian();

  24. void main()
  25. {
  26.         allinit();
  27.         smgxianshi0(2,0);
  28.         smgxianshi1(2,0);
  29.         smgxianshi2(1,0);
  30.         smgxianshi3(4,5);
  31.         keycan();
  32.         if(s1==0)
  33.         {
  34.                 anxiaanjian();
  35.         }
  36. }

  37. void anxiaanjian()
  38. {
  39.         liu=2;qi=0;ba=2;
  40.         Timer0Init();
  41.         
  42.         while(1)
  43.         {
  44.                 keycan();
  45.                 smgxianshi0(10,10);
  46.                 smgxianshi1(10,10);
  47.                 smgxianshi2(10,liu);
  48.                 smgxianshi3(qi,ba);
  49.                 if(s1==1)
  50.                 {
  51.                         if(ba%2==0)
  52.                         {
  53.                                 led(0);
  54.                         }
  55.                         else
  56.                         {
  57.                                 led(1);
  58.                         }
  59.                 }
  60.                 else if(s1==2)
  61.                 {
  62.                         led(1);
  63.                         P2=0xa0;
  64.                         P0=0x00;
  65.                 }
  66.                 else if(s1==3)
  67.                 {
  68.                         P2=0xa0;
  69.                         P0=0x10;
  70.                         led(1);
  71.                 }
  72.         }
  73. }        

  74. void allinit()
  75. {
  76.         P2=0x80;P0=0xff;
  77.         P2=0xa0;P0=0x00;
  78.         P2=0xc0;P0=0xff;
  79.         P2=0xe0;P0=0xff;
  80. }

  81. void delayms(uint b)
  82. {
  83.         uint i,j;
  84.         for(i=b;i>0;i--)
  85.                 for(j=845;j>0;j--);
  86. }

  87. void Timer0() interrupt 1
  88. {
  89.         TH0=0x3c;
  90.         TL0=0xbb;
  91.         count++;
  92.         if(count==19)
  93.         {
  94.                 count=0;
  95.                         num=num-1;//num--;
  96.                         liu=num/100;
  97.                         qi=num%100/10;
  98.                         ba=num%10;
  99.         }
  100.         if(num==0)num=202;
  101. }


  102. void Timer0Init(void)
  103. {
  104.         AUXR&=0x7f;
  105.         TMOD|=0x01;
  106.         TL0=0xbb;
  107.         TH0=0x3c;
  108.         ET0=1;
  109.         EA=1;
  110.         TR0=1;
  111. }



  112. void led(uint c)
  113. {
  114.         P2=0x80;
  115.         P0=tab1[c];
  116. }

  117. void smgxianshi0(uchar yi,uchar er)
  118. {
  119.         P2=0xc0;
  120.         P0=0x01;
  121.         P2=0xe0;
  122.         P0=tab[yi];
  123.         delayms(1);
  124.         
  125.         P2=0xc0;
  126.         P0=0x02;
  127.         P2=0xe0;
  128.         P0=tab[er];
  129.         delayms(1);
  130. }

  131. void smgxianshi1(uchar san,uchar si)
  132. {
  133.         P2=0xc0;
  134.         P0=0x04;
  135.         P2=0xe0;
  136.         P0=tab[san];
  137.         delayms(1);
  138.         
  139.         P2=0xc0;
  140.         P0=0x08;
  141.         P2=0xe0;
  142.         P0=tab[si];
  143.         delayms(1);
  144. }
  145. void smgxianshi2(uchar wu,uchar liu)
  146. {
  147.         P2=0xc0;
  148.         P0=0x10;
  149.         P2=0xe0;
  150.         P0=tab[wu];
  151.         delayms(1);
  152.         
  153.         P2=0xc0;
  154.         P0=0x20;
  155.         P2=0xe0;
  156.         P0=tab[liu];
  157.         delayms(1);
  158. }

  159. void smgxianshi3(uchar qi,uchar ba)
  160. {
  161.         P2=0xc0;
  162.         P0=0x40;
  163.         P2=0xe0;
  164.         P0=tab[qi];
  165.         delayms(1);
  166.         
  167.         P2=0xc0;
  168.         P0=0x80;
  169.         P2=0xe0;
  170.         P0=tab[ba];
  171.         delayms(1);
  172. }

  173. void keycan()
  174. {
  175.         P3=0x7f;P4=0xef;
  176.         temp=P3;
  177.         if(P3!=0x7f)
  178.         {
  179.                 delayms(5);
  180.                 temp=P3;
  181.                 if(P3!=0x7f)
  182.                 {
  183.                         switch(temp)
  184.                         {
  185.                                 case 0x7e : s1=0; break;
  186.                                 case 0x7d : s1=1; break;
  187.                                 case 0x7b : s1=2; break;
  188.                                 case 0x77 : s1=3; break;
  189.                         }
  190.                         while(temp!=0x7f)
  191.                         {
  192.                                 temp=P3;
  193.                                 delayms(5);
  194.                         }
  195.                 }
  196.         }
  197. }
復制代碼





評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:257618 發表于 2017-12-5 17:07 | 只看該作者
為了描述清楚,拍了個視頻不是很清,但是還是可以看鍵p01亮的時候,其他幾個也有亮度

VID_20171205_170218.zip

16.43 MB, 下載次數: 2

回復

使用道具 舉報

板凳
ID:257618 發表于 2017-12-5 22:11 | 只看該作者
誰來解答下啊
回復

使用道具 舉報

地板
ID:257618 發表于 2017-12-6 16:32 | 只看該作者

帖子要沉了嗎
回復

使用道具 舉報

5#
ID:213173 發表于 2017-12-6 18:04 | 只看該作者

你這個程序框架結構本身就有致命問題,出現稀奇古怪的現象就不足為怪,就這一點功能洋洋灑灑寫這么啰嗦,不會有人去耐心逐條分析。
回復

使用道具 舉報

6#
ID:257618 發表于 2017-12-6 20:58 | 只看該作者
wulin 發表于 2017-12-6 18:04
你這個程序框架結構本身就有致命問題,出現稀奇古怪的現象就不足為怪,就這一點功能洋洋灑灑寫這么啰嗦 ...

我是新手啊,多多指教
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久精品国产亚洲 | 精品少妇一区二区三区日产乱码 | 日韩视频福利 | 超碰日本 | .国产精品成人自产拍在线观看6 | 日韩精品视频一区二区三区 | 一区二区三区在线免费观看视频 | 女同久久另类99精品国产 | 欧洲一区二区在线 | 91av在线视频观看 | 国产三级精品视频 | 天天综合网天天综合色 | 日日日日日日bbbbb视频 | 成人免费看黄 | 操操日| 一区二区在线免费观看视频 | 国产91久久精品一区二区 | 免费看91| 在线观看av网站永久 | 国产欧美日韩久久久 | 日本一区二区三区精品视频 | 九九热视频这里只有精品 | 亚洲中午字幕 | 在线视频国产一区 | 欧美九九九| 孕妇一级毛片 | 激情欧美一区二区三区中文字幕 | 国产最新网址 | 国产亚洲精品久久情网 | 久久久久久久久91 | 在线中文av| 国产1区 | 日本三级播放 | 久久精品一区二区三区四区 | 久热国产在线 | 国产传媒视频在线观看 | 日韩1区 | 久久99精品国产99久久6男男 | 精品一二区| 国产精品免费一区二区三区 | 亚洲成人中文字幕 |