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

標題: 有大佬幫忙看看單片機程序為啥仿真時蜂鳴器不響 [打印本頁]

作者: 1032405648    時間: 2020-6-2 23:11
標題: 有大佬幫忙看看單片機程序為啥仿真時蜂鳴器不響
求助程序和電路都在下面,怎么調試蜂鳴器都沒反應。

  1. #include<reg52.h>
  2. #include<string.h>
  3. #include<intrins.h>
  4. #define uchar unsigned char
  5. #define uint unsigned int
  6. unsigned long count;
  7. sbit key1=P3^4;
  8. sbit key2=P3^5;
  9. sbit dula=P2^6;
  10. sbit wela=P2^7;
  11. sbit beep=P1^4;
  12. uchar code table[]={
  13. 0x3f,0x06,0x5b,0x4f,
  14. 0x66,0x6d,0x7d,0x07,
  15. 0x7f,0x6f,0x77,0x7c,
  16. 0x39,0x5e,0x79,0x71
  17. };
  18. void delay(uint z)
  19. {
  20. uint x,y;
  21. for(x=z;x>0;x--);
  22. for(y=110;y>0;y--);
  23. }
  24. void display()
  25. {
  26. int a,b,c,d,e,f;
  27. a = count/100000%10;   //十萬
  28. b = count/10000%10;    //萬
  29. c = count/1000%10;     //千
  30. d = count/100%10;      //百
  31. e = count/10%10;       //十
  32. f = count/1%10;        //個

  33.     P0=0xfe; //第一個LED
  34. wela=1;
  35. wela=0;
  36. P0=table[a]; //十萬位數
  37. dula=1;
  38.   dula=0;
  39.     P0=0xff;   //消隱
  40. delay(1);

  41. P0=0xfd; //第二個LED
  42. wela=1;
  43.   wela=0;
  44. P0=table[b];  // 萬位位數
  45. dula=1;
  46.   dula=0;
  47. P0=0xff;
  48. delay(1);

  49. P0=0xfb; //第三個LED
  50. wela=1;
  51.   wela=0;

  52. P0=table[c];  // 千位數
  53. dula=1;
  54.   dula=0;
  55. P0=0xff;
  56. delay(1);

  57. P0=0xf7; //第四個LED
  58. wela=1;
  59.   wela=0;

  60. P0=table[d];  // 百位數
  61. dula=1;
  62.   dula=0;
  63. P0=0xff;
  64. delay(1);
  65. P0=0xef; //第五個LED
  66. wela=1;
  67.   wela=0;

  68. P0=table[e];  // 十位數
  69. dula=1;
  70.   dula=0;
  71.     P0=0xff;
  72. delay(1);

  73. P0=0xdf; //第六個LED
  74. wela=1;
  75.   wela=0;
  76. P0=table[f];  // 個位數
  77. dula=1;
  78.   dula=0;
  79. delay(1);

  80. }
  81. void key()
  82. {
  83. if(key1==0)
  84. {
  85.   delay(7);
  86.   if (key1==0)
  87.   {
  88.    count++;
  89.   }
  90.   while(!key1)
  91.   {
  92.    display();
  93.   }
  94.   delay(1);
  95.   while(!key1)
  96.   {
  97.    display();
  98.   }
  99. }

  100. if(key2==0)
  101. {
  102.   count=0;
  103. }
  104. }
  105. void main()
  106. {
  107. P3=0xff;
  108. P0=0xff;
  109. beep=1;
  110. while(1)
  111. {
  112.   key();
  113.   display();
  114.   if(count>=999999)
  115.   {
  116.    count=0;
  117.    beep=0;
  118.    delay(50);
  119.    beep=1;
  120.   }
  121. }
  122. }
復制代碼


作者: 1032405648    時間: 2020-6-2 23:12
我是把999999改成50測試的
作者: nyyd20181    時間: 2020-6-3 08:06
測試下晶體管有沒有導通,感覺你程序主循環里少一句延時吧,BEEP一直是0。

作者: benclee    時間: 2020-6-3 08:37
if(count>=999999)//這里改為<試試
  {
   count=0;
   beep=0;
   delay(50);
   beep=1;
  }
作者: wulin    時間: 2020-6-3 08:48
此蜂鳴器沒有仿真功能



作者: 1943798304    時間: 2020-6-9 16:04
可能是器件問題
作者: daocheng    時間: 2020-6-10 09:42
蜂鳴器沒有仿真功能?是不是這個蜂鳴器是無源的?需要在響時通方波?這個蜂鳴器應該有芯片驅動吧,我的就是普通的無源蜂鳴器
希望對你有幫助

作者: 魏海龍    時間: 2020-7-7 12:11

蜂鳴器可以有問題。
作者: yaoj666    時間: 2020-7-7 14:49
你那個蜂鳴器有問題 ,你換個仿真軟件試試




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1