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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2083|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)水流計(jì)控制電磁閥門(mén)開(kāi)關(guān)程序問(wèn)題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:718523 發(fā)表于 2020-7-3 16:23 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
下面是我的代碼,請(qǐng)問(wèn)為什么每次出來(lái)的水不太一樣,就是隔一段時(shí)間運(yùn)行出來(lái)的水就不一樣了。

昨天晚上測(cè)試還是挺好的,今天早上再運(yùn)行一下流出來(lái)的水竟然少了一大半,感覺(jué)每次運(yùn)行的時(shí)候脈沖好像并不是40像是隨機(jī)的特別是隔一段時(shí)間后區(qū)別更大(我這水龍頭漏水一滴一滴的)。請(qǐng)問(wèn)大神我這代碼哪里有問(wèn)題嗎還請(qǐng)指教。
單片機(jī)源程序如下:
  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. /*延時(shí)函數(shù)結(jié)束*/
  19. #define pulse 40   //定義脈沖次數(shù)
  20. unsigned char number;//@初始化定義脈沖為0
  21. sbit valve=P1^0;  //定義閥門(mén)
  22. sbit power=P1^1;

  23. void main(){
  24. valve=1;//@初始化閥門(mén)
  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;//開(kāi)閥               

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

  45.                 }

  46.                         }
  47.                 while(!power); //如果沒(méi)確認(rèn)檢測(cè)到低電平跳出循環(huán)                        
  48.                         }
  49.                 }
  50. }


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



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

使用道具 舉報(bào)

沙發(fā)
ID:213173 發(fā)表于 2020-7-3 21:29 | 只看該作者
樓主的脈沖信號(hào)來(lái)自流量計(jì)?   outwait是變量?沒(méi)有被定義。
回復(fù)

使用道具 舉報(bào)

板凳
ID:718523 發(fā)表于 2020-7-4 04:33 | 只看該作者
現(xiàn)在可以了,是中斷開(kāi)了沒(méi)有關(guān)。現(xiàn)在又有一個(gè)問(wèn)題就是我用電池好好的,換上電腦的電源發(fā)現(xiàn)脈沖特別快比用電池快了三倍多。重啟一下好像又好了,還有電池不充電正常的一但充電時(shí)又是脈沖也不準(zhǔn)了又是power也不聽(tīng)使喚了感覺(jué)一切都亂了。
回復(fù)

使用道具 舉報(bào)

地板
ID:718523 發(fā)表于 2020-7-4 04:34 | 只看該作者
wulin 發(fā)表于 2020-7-3 21:29
樓主的脈沖信號(hào)來(lái)自流量計(jì)?   outwait是變量?沒(méi)有被定義。

是來(lái)自流量計(jì)啊,就是水流傳感器。那個(gè)我定義過(guò)了沒(méi)發(fā)出來(lái)。
回復(fù)

使用道具 舉報(bào)

5#
ID:213173 發(fā)表于 2020-7-4 06:39 | 只看該作者
forest415 發(fā)表于 2020-7-4 04:34
是來(lái)自流量計(jì)啊,就是水流傳感器。那個(gè)我定義過(guò)了沒(méi)發(fā)出來(lái)。

主要是硬件工作不穩(wěn)定,軟件也不完善所致。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表