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

標題: 51單片機水流計控制電磁閥門開關程序問題 [打印本頁]

作者: forest415    時間: 2020-7-3 16:23
標題: 51單片機水流計控制電磁閥門開關程序問題
下面是我的代碼,請問為什么每次出來的水不太一樣,就是隔一段時間運行出來的水就不一樣了。

昨天晚上測試還是挺好的,今天早上再運行一下流出來的水竟然少了一大半,感覺每次運行的時候脈沖好像并不是40像是隨機的特別是隔一段時間后區別更大(我這水龍頭漏水一滴一滴的)。請問大神我這代碼哪里有問題嗎還請指教。
單片機源程序如下:
  1. #include "reg51.h"
  2. #define uint unsigned int
  3. unsigned char i;
  4. void Delay1ms()                //@12.000MHz
  5. {
  6.         unsigned char i, j;

  7.         i = 2;
  8.         j = 239;
  9.         do
  10.         {
  11.                 while (--j);
  12.         } while (--i);
  13. }

  14. void delayms(uint x)//毫秒變量
  15. {
  16.         while(x--)Delay1ms();
  17. }
  18. /*延時函數結束*/
  19. #define pulse 40   //定義脈沖次數
  20. unsigned char number;//@初始化定義脈沖為0
  21. sbit valve=P1^0;  //定義閥門
  22. sbit power=P1^1;

  23. void main(){
  24. valve=1;//@初始化閥門
  25. power=1;//@初始化電平
  26. number=0;
  27.         while(1){
  28.                 if(power==1){
  29.                 outwait=0;
  30.                 }

  31.                 if(power==0){
  32.                 delayms(30);
  33.                         if(power==0){                        
  34.                         outwait=1;                        
  35.                         number=0;//脈沖歸零
  36.                         EA=1;
  37.                         IT0=1;
  38.                         EX0=1;                                       
  39.                         valve=0;//開閥               

  40.                         if(number >= pulse){
  41.                         valve=1; //關閥
  42.                         number=0; //脈沖歸零
  43.                         i--;                        
  44.                         }

  45.                 }

  46.                         }
  47.                 while(!power); //如果沒確認檢測到低電平跳出循環                        
  48.                         }
  49.                 }
  50. }


  51. void int0() interrupt 0
  52. {                 
  53.         number++;//脈沖遞增
  54. }
復制代碼




作者: wulin    時間: 2020-7-3 21:29
樓主的脈沖信號來自流量計?   outwait是變量?沒有被定義。
作者: forest415    時間: 2020-7-4 04:33
現在可以了,是中斷開了沒有關。現在又有一個問題就是我用電池好好的,換上電腦的電源發現脈沖特別快比用電池快了三倍多。重啟一下好像又好了,還有電池不充電正常的一但充電時又是脈沖也不準了又是power也不聽使喚了感覺一切都亂了。
作者: forest415    時間: 2020-7-4 04:34
wulin 發表于 2020-7-3 21:29
樓主的脈沖信號來自流量計?   outwait是變量?沒有被定義。

是來自流量計啊,就是水流傳感器。那個我定義過了沒發出來。
作者: wulin    時間: 2020-7-4 06:39
forest415 發表于 2020-7-4 04:34
是來自流量計啊,就是水流傳感器。那個我定義過了沒發出來。

主要是硬件工作不穩定,軟件也不完善所致。




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