找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

直流電動機正反轉(zhuǎn)51單片機源碼及仿真

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:321273 發(fā)表于 2018-5-13 16:13 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
直流電機仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


直流電機正反轉(zhuǎn)單片機源程序如下:
  1. #include <reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit IN1 = P2^0;
  5. sbit IN2 = P2^1;
  6. sbit PWM = P2^2;
  7. sbit Key1 = P1^7;
  8. sbit Key2 = P1^6;
  9. sbit Key3 = P1^5;
  10. sbit Key4 = P1^4;
  11. sbit Key5 = P1^3;
  12. uint t = 46082;
  13. void delay_ms(uchar t)
  14. {
  15. uchar x,y;
  16. for(x = t;x > 0;x--)
  17.   for(y = 110;y > 0;y--);
  18. }
  19. void Timer0_Init()
  20. {
  21. TMOD = 0X01;
  22. TH0 = (65536 - 46082)/256;
  23. TL0 = (65536 - 46082)%256;
  24. EA = 1 ;
  25. ET0 = 1;
  26. TR0 = 1;
  27. }
  28. void Positive_Rotation()
  29. {
  30. IN1 = 0;
  31. IN2 = 1;
  32. }
  33. void Reverse_Rotation()
  34. {
  35. IN1 = 1;
  36. IN2 = 0;
  37. }
  38. void Stop_Rotation()
  39. {
  40. IN1 = 1;
  41. IN2 = 1;
  42. }
  43. void Key_Scan()
  44. {
  45. if(Key1 == 0)
  46. {
  47.   delay_ms(20);
  48.   if(Key1 == 0)
  49.   {
  50.    Positive_Rotation();  
  51.   }
  52. }
  53. else if(Key2 == 0)
  54. {
  55.   delay_ms(20);
  56.   if(Key2 == 0)
  57.   {
  58.    Reverse_Rotation();
  59.   }
  60. }
  61. else if(Key3 == 0)
  62. {
  63.   delay_ms(20);
  64.   if(Key3 == 0)
  65.   {
  66.    Stop_Rotation();
  67.   }
  68. }


復(fù)制代碼

所有資料51hei提供下載:
直流電機Keil Proteus仿真.zip (80.07 KB, 下載次數(shù): 43)


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

使用道具 舉報

沙發(fā)
ID:342685 發(fā)表于 2018-6-5 14:17 | 只看該作者
請問接在單片機上怎么接
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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