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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1655|回復: 4
收起左側

這個單片機電機控制程序有錯誤嗎?可以用Proteus仿真嗎? 求幫助

[復制鏈接]
回帖獎勵 50 黑幣 回復本帖可獲得 50 黑幣獎勵! 每人限 1 次
ID:697560 發表于 2020-3-6 13:23 | 顯示全部樓層 |閱讀模式
程序主要內容  首先按鍵選擇模式  然后根據對應的模式進行相應的延時  最后都驅動電機旋轉  程序如果有錯希望幫我改正
  1. #include<reg52.h>
  2. #include<stdio.h>
  3. #include<intrins.h>
  4. #define uchar unsigned char
  5. #define uint unsigned int
  6. uchar code FFW[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9};
  7. uchar code REV[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1};
  8. uint F_key;
  9. sbit KEY1 = P3^0;
  10. sbit KEY2 = P3^1;
  11. sbit KEY3 = P3^2;
  12. sbit KEY4 = P3^3;


  13. void delay(uint t)
  14. {
  15. uint k;
  16. while(t--)
  17. {
  18. for(k=0; k<125; k++)
  19. { ;}
  20. }
  21. }


  22. void motor_ffw(uint n)
  23. {
  24. uchar i;
  25. uint j;
  26. for (j=0; j<12*n; j++)
  27. {
  28. for (i=0; i<8; i++)
  29. {
  30. P1 = FFW[i];
  31. delay(15);
  32. }
  33. }
  34. }


  35. void motor_rev(uint n)
  36. {
  37. uchar i;
  38. uint j;
  39. for (j=0; j<12*n; j++)
  40. {
  41. for (i=0; i<8; i++)
  42. {
  43. P1 = REV[i];
  44. delay(15);
  45. }
  46. }
  47. }



  48. void main()
  49. {
  50. if(KEY1==0)
  51. {
  52. if(F_key==0)
  53. {
  54.    F_key=1;
  55.    
  56.   {                        
  57.         uint i=0;
  58.         uchar j=0;
  59.         while(1)
  60.         {
  61.                 delay(10);
  62.                 i++;        
  63.                 if(i==30000)   
  64.                 {
  65.                         i=0;
  66.                         j++;
  67.                 }
  68.                 if(j==3)     
  69.                 {
  70.                  motor_ffw(5);
  71.      delay(5000);
  72.      motor_rev(5);
  73.      delay(1000);
  74.                 }
  75.         }
  76.   }

  77. }
  78. }
  79. else
  80. if( F_key==1)
  81. {
  82. F_key=0;
  83. }
  84. if(KEY2==0)
  85. {
  86. if( F_key==0)
  87. {
  88.   F_key=2;
  89.   {                        
  90.         uint i=0;
  91.         uchar j=0;
  92.         while(1)
  93.         {
  94.                 delay(10);   
  95.                 i++;        
  96.                 if(i==30000)   
  97.                 {
  98.                         i=0;
  99.                         j++;
  100.                 }
  101.                 if(j==1)     
  102.                 {
  103.                  motor_ffw(5);
  104.      delay(5000);
  105.      motor_rev(5);
  106.      delay(1000);
  107.                 }
  108.         }
  109.   }

  110. }
  111. }
  112. else
  113. if( F_key==2)
  114. {
  115. F_key=0;
  116. }
  117. if(KEY3==0)
  118. {
  119. if( F_key==0)
  120. {
  121.   F_key=3;
  122.   {                        
  123.         uint i=0;
  124.         uchar j=0;
  125.         while(1)
  126.         {
  127.                 delay(10);  
  128.                 i++;        
  129.                 if(i==30000)   
  130.                 {
  131.                         i=0;
  132.                         j++;
  133.                 }
  134.                 if(j==2)   
  135.                 {
  136.                  motor_ffw(5);
  137.      delay(5000);
  138.      motor_rev(5);
  139.      delay(1000);
  140.                 }
  141.         }
  142.   }

  143. }
  144. }
  145. else
  146. if( F_key==3)
  147. {
  148. F_key=0;
  149. }
  150. if(KEY4==0)
  151. {
  152. if( F_key==0)
  153. {
  154. F_key=4;
  155. while(1)
  156. {
  157. motor_ffw(5);
  158. delay(5000);
  159. motor_rev(5);
  160. delay(1000);
  161. }
  162. }
  163. else
  164. if( F_key==1)
  165. {
  166. F_key=0;
  167. }
  168. }
  169. }
復制代碼


回復

使用道具 舉報

ID:316880 發表于 2020-3-7 23:25 | 顯示全部樓層
51單片機的話可以選擇用STC的單片機,可以仿真,容易查找問題。
回復

使用道具 舉報

ID:648281 發表于 2020-3-8 09:00 | 顯示全部樓層
你好!
1、從程序看,硬件的按鍵和步進電機,是可以仿真的;
2、不知道你都要實現什么功能,要求需要說明
3、程序是否有錯誤,要看你的要求和仿真結果
回復

使用道具 舉報

ID:691449 發表于 2020-3-8 11:58 | 顯示全部樓層
你好。
1.電機驅動程序要看你用的是什么電機,電機的種類有很多,有步進電機,直流電機,種類不一樣,驅動方式也不一樣
2.單片機IO口驅動能力無法驅動電機,需要加放大,一般都是專門的電機驅動芯片,電機驅動芯片不一樣,驅動方式也不一樣。
3.proteus可以仿真電機。
4.仿真效果肯定不如實驗板,實驗板效果比仿真好,仿真還容易出錯。
回復

使用道具 舉報

ID:688189 發表于 2020-3-8 19:14 | 顯示全部樓層
Proteus仿真 要畫好仿真電路  單片機在把對應腳 連接好就行了  
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品福利在线 | 国产成人亚洲精品 | 一区二区三区在线看 | 国产精品久久午夜夜伦鲁鲁 | 日韩欧美二区 | 国产婷婷在线视频 | 久久久久久国产免费视网址 | 欧美寡妇偷汉性猛交 | 欧美成人aaa级毛片在线视频 | 成人性视频免费网站 | 成人欧美一区二区三区色青冈 | 国产午夜在线 | 国产一二三区免费视频 | 亚洲播放| 欧美一区二区三区在线 | 国产精品视频播放 | 久久精品国产免费看久久精品 | 午夜一级黄色片 | 国产麻豆乱码精品一区二区三区 | 欧美日韩国产高清视频 | 精品三级在线观看 | 一级片在线视频 | h视频在线看 | 国产欧美精品在线观看 | 国产免费福利小视频 | 久久精品小视频 | 久久久国产一区 | 亚洲 欧美 日韩在线 | 日本精品视频 | 欧美成人免费在线 | 久久人人网 | 夜夜操天天艹 | 激情久久av一区av二区av三区 | 亚洲综合大片69999 | 欧美一区二区三区在线视频 | 国产精品美女久久久久久久久久久 | 一区二区免费在线视频 | 91精品久久久久久久 | 中文字幕一区二区三区乱码图片 | 在线国产一区 | 欧美一区二区三区久久精品 |