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

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

QQ登錄

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

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

有沒(méi)有大神用l9110s控制四個(gè)直流電機(jī),遇到過(guò)這種問(wèn)題,如下正文

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:376237 發(fā)表于 2018-8-13 10:30 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
已經(jīng)寫(xiě)好的前進(jìn)后退,在一個(gè)函數(shù)中調(diào)用正常,到了另外一個(gè)地方就會(huì)反向,本人用一個(gè)l9110s模塊控制四個(gè)直流電機(jī),左側(cè)兩個(gè)接到一個(gè)馬達(dá)端口,右側(cè)接一個(gè)馬達(dá)端口,效果與用兩個(gè)驅(qū)動(dòng)模塊相同。雙電源供電,開(kāi)發(fā)板P2口前四位控制馬達(dá),有獨(dú)立按鍵和定時(shí)器兩部分。代碼如下:?jiǎn)栴}是,分別將定時(shí)器和按鍵掃描注釋,相同的函數(shù)出現(xiàn)的現(xiàn)象不同
  1. #include<reg51.h>
  2. #include<reg51.h>
  3. typedef unsigned int  u16;          //對(duì)數(shù)據(jù)類型進(jìn)行重新聲明定義
  4. typedef unsigned char u8;
  5. #define motor P2//p2口控制四個(gè)馬達(dá),01口控制左側(cè),23口控制右側(cè)
  6. sbit k1=P3^0;//通過(guò)按鍵控制運(yùn)動(dòng)
  7. sbit k2=P3^1;
  8. sbit k3=P3^2;
  9. sbit k4=P3^3;
  10. void delay(u16 j)
  11. {
  12. while(j--);
  13. }
  14. void qj()//前進(jìn)
  15. {
  16. motor=0xfa; //0000 1010

  17. }
  18. void ht()//后退
  19. {
  20. motor=0xf5;//0000 0101

  21. }
  22. void yz()//右轉(zhuǎn)彎
  23. {
  24. motor=0x09;//0000 1001

  25. }
  26. void zz()//左轉(zhuǎn)彎
  27. {
  28. motor=0x06;//0000 0110

  29. }
  30. void Timer0Init()//定時(shí)50ms秒,完成后進(jìn)行中斷
  31. {
  32.         TMOD|=0X01;//0000 0001方式一
  33.          TH0=0x3C;//50ms
  34.     TL0=0xB0;
  35.         ET0=1;//打開(kāi)定時(shí)器0中斷允許
  36.         EA=1;//打開(kāi)總中斷        
  37.   TR0=1;
  38. }
  39. void keyscan()
  40. {
  41. if(k1==0)                  //檢測(cè)按鍵K1是否按下
  42.         {        
  43.                 delay(1000);   //消除抖動(dòng) 一般大約10ms
  44.                 if(k1==0)         //再次判斷按鍵是否按下
  45.                 {
  46.                 qj();
  47.                 }
  48.                 while(!k1);         //檢測(cè)按鍵是否松開(kāi)
  49.         }               

  50. if(k2==0)                  
  51.         {        
  52.                 delay(1000);   
  53.                 if(k2==0)        
  54.                 {
  55.                 ht();
  56.                 }
  57.                 while(!k2);         
  58.         }               
  59. if(k3==0)                 
  60.         {        
  61.                 delay(1000);   
  62.                 if(k3==0)         
  63.                 {
  64.     zz();
  65.                 }
  66.                 while(!k3);        
  67.         }               
  68. if(k4==0)                 
  69.         {        
  70.                 delay(1000);   
  71.                 if(k4==0)         
  72.                 {
  73.         yz();
  74.                 }
  75.                 while(!k4);        
  76.         }               
  77. }
  78. void main()
  79. {
  80. Timer0Init();
  81.   while(1)
  82. {
  83. keyscan();
  84. }
  85. }
  86. void Timer0() interrupt 1//interrupt后面無(wú)括號(hào)
  87. {
  88.   static  u16 i=0;
  89.    TH0=0x3C;//50ms
  90.     TL0=0xB0;
  91.     i++;
  92.   if(i==20)
  93.   {
  94.     qj();
  95.   }  
  96.   if(i==60)
  97.   {
  98.     i=0;
  99.     ht();
  100.   }
  101. }
復(fù)制代碼





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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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