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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7411|回復: 9
收起左側(cè)

為什么單片機數(shù)碼管一直在閃爍?

[復制鏈接]
ID:427104 發(fā)表于 2018-11-15 23:12 | 顯示全部樓層 |閱讀模式
        初學者 弄了一個60分鐘倒計時,為什么 數(shù)碼管一直在閃爍、

  1. #include <REGX51.H>
  2. #include <intrins.h>  
  3. void Delay1000ms();
  4. void Delay5ms();
  5. char temp[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};
  6. void main (void)
  7. {
  8. char i = 10;
  9. char shi = 5;
  10. char bai = 9;
  11. char qian = 5;
  12. while(1)
  13. {
  14. P2 = temp[i--];
  15. Delay1000ms();
  16. if(i<0)i=9,shi--;
  17. if(shi<0)shi=5,bai--;
  18. if(bai<0)bai=9,qian--;
  19. if(qian<0)i=0,shi=0,bai=0,qian=0;

  20. {
  21.   P3_2 = 1;
  22.   P3_3 = 1;
  23.   P3_4 = 1;
  24.   P2 = temp[qian];
  25.   P3_1 = 0;
  26.   Delay5ms();
  27.   P3_1 = 1;
  28.   P3_3 = 1;
  29.   P3_4 = 1;
  30.   P2 = temp[bai];
  31.   P3_2 = 0;
  32.   Delay5ms();
  33.   P3_1 = 1;
  34.   P3_2 = 1;
  35.   P3_4 = 1;
  36.   P2 = temp[shi];
  37.   P3_3 = 0;
  38.   Delay5ms();
  39.   P3_1 = 1;
  40.   P3_2 = 1;
  41.   P3_3 = 1;
  42.   P2 = temp[i];
  43.   P3_4 = 0;
  44.   Delay5ms();
  45. }
  46. }
  47. }
  48. void Delay1000ms()  //@11.0592MHz
  49. {
  50. unsigned char i, j, k;
  51. _nop_();
  52. i = 3;
  53. j = 26;
  54. k = 223;
  55. do
  56. {
  57.   do
  58.   {
  59.    while (--k);
  60.   } while (--j);
  61. } while (--i);
  62. }

  63. void Delay5ms()  //@11.0592MHz
  64. {
  65. unsigned char i, j;
  66. i = 9;
  67. j = 24;
  68. do
  69. {
  70.   while (--j);
  71. } while (--i);
  72. }
復制代碼




回復

使用道具 舉報

無效樓層,該帖已經(jīng)被刪除
ID:203000 發(fā)表于 2018-11-16 10:40 | 顯示全部樓層
因為你在15行設了“Delay1000ms();”1秒延時。
回復

使用道具 舉報

ID:269211 發(fā)表于 2018-11-16 13:59 | 顯示全部樓層
延時問題,調(diào)一下延時
回復

使用道具 舉報

ID:302640 發(fā)表于 2018-11-16 16:27 | 顯示全部樓層
是的,延時時間過長,在人眼可視范圍內(nèi)就變成閃爍了
回復

使用道具 舉報

ID:354116 發(fā)表于 2018-11-16 19:02 | 顯示全部樓層
延時太長,把延時調(diào)到人眼能識別的40ms以下,就可以了
回復

使用道具 舉報

ID:423511 發(fā)表于 2018-11-16 19:50 | 顯示全部樓層
Delay1000ms延遲時間太長,我把12行的while語句里的內(nèi)容改了一下,你試一下:
回復

使用道具 舉報

ID:423511 發(fā)表于 2018-11-16 19:54 | 顯示全部樓層
Delay1000ms()延遲時間太長,我把第12行的while語句中的內(nèi)容改了一下,Delay1000ms()那段語句就不用要了,你試一下:
while(1)
{
         for(j=10;j>0;j--)
         {
          for(i=25000;i>0;i--)
          {
     P2 = temp[10-j];
                 if(j<1)shi--;
     if(shi<0)shi=5,bai--;
     if(bai<0)bai=9,qian--;
     if(qian<0)i=0,shi=0,bai=0,qian=0;

    {
      P3_2 = 1;
      P3_3 = 1;
      P3_4 = 1;
      P2 = temp[qian];
      P3_1 = 0;
      Delay5ms();
      P3_1 = 1;
      P3_3 = 1;
      P3_4 = 1;
      P2 = temp[bai];
      P3_2 = 0;
      Delay5ms();
      P3_1 = 1;
      P3_2 = 1;
      P3_4 = 1;
      P2 = temp[shi];
      P3_3 = 0;
      Delay5ms();
      P3_1 = 1;
      P3_2 = 1;
      P3_3 = 1;
      P2 = temp[i];
      P3_4 = 0;
      Delay5ms();
    }
   }
  }
}
}
回復

使用道具 舉報

ID:423511 發(fā)表于 2018-11-16 20:01 | 顯示全部樓層
weiweimao1 發(fā)表于 2018-11-16 19:54
Delay1000ms()延遲時間太長,我把第12行的while語句中的內(nèi)容改了一下,Delay1000ms()那段語句就不用要了, ...

第8行改為   char  i , j ;
回復

使用道具 舉報

ID:337490 發(fā)表于 2018-11-16 20:03 | 顯示全部樓層
視覺停留效果,延時不要太長,二三十的延時就可以了
回復

使用道具 舉報

11#
無效樓層,該帖已經(jīng)被刪除
ID:427251 發(fā)表于 2018-11-16 21:09 | 顯示全部樓層
縮短延時到肉眼看不見
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品视频在线观看 | 成人免费视频网站在线看 | av看看 | 在线观看国产网站 | 91精品国产综合久久久亚洲 | 青青久久| 中文字幕亚洲一区 | 麻豆一区二区三区精品视频 | 91久久久久久久久久久 | 久久精品aaa | 高清国产一区二区 | 天天综合网91| 一区二区成人 | 日韩精品一区二区三区久久 | 日韩一区二区三区视频 | 毛片入口 | 日韩中文字幕免费在线观看 | 天天久久 | 天天碰日日操 | 久久久久国产一区二区三区四区 | 国产一级片久久久 | 中文精品视频 | 亚洲国产成人精品女人久久久 | 99亚洲| 欧美视频免费在线 | 毛片a级| 亚洲第一视频网 | 国产一区电影 | 91国内在线观看 | 日韩精品在线观看一区二区 | 成人精品免费视频 | 国产精品欧美一区二区三区不卡 | 人人干人人看 | 亚洲综合在| 亚洲精品视频在线观看免费 | 久久免费国产视频 | 美女毛片免费看 | 亚洲一区二区三区高清 | 在线亚洲免费视频 | 国产成人精品在线 | 91亚洲精品久久久电影 |