直流电机多键控制可以实现正转反转,不同速度的转技术总结.docVIP

  • 14
  • 0
  • 约2.65千字
  • 约 9页
  • 2017-01-23 发布于湖北
  • 举报

直流电机多键控制可以实现正转反转,不同速度的转技术总结.doc

单片机课程设计报告 直流电机控制 一、电源电路: 电源用5V电池供电,转换电路由四个二极管组成,这个设计是为了防止电源正负极接反造成电路烧坏。 二、最小系统: 直流电机驱动原理图: 利用PWM功率驱动电路来驱动直流电机,只要ZDJ_A的电压比ZDJ_B的电压高,电机正转。如果ZDJ_BD的电压比ZDJ_A的电压高,电机反转。 系统整体原理图: 五、问题及解决方法: 问题:在运行程序的时候出现错误不能生成HEX文件? 解决方法:检查程序发现少了一个“}”,加上就可以生成HEX文件了。 问题:运行程序的时候电机不转动? 解决方法:单片机的管脚的连线和程序中的不同,改变连线就可以转动了。 六、程序流程图: 七、实验心得体会: 通过软件的设计及运行,实验达到了预期的效果,实现了直流电机正转、反转、加速和减速。这次设计让我对直流电机有了进一步的了解、在设计电路的过程中,培养了我的设计思维,增强了自己的实际操作能力,也让我认识到理论与实践有一定的差距,在以后的学习过程中,我会更加注重理论与实践结合起来,让自己不断的进步。最后,对张老师表示衷心的感谢,老师,您辛苦了。 八、实验程序: #includereg51.h #includeabsacc.h #includeintrins.h #define uint unsigned int #define uchar unsigned char sbit k0 = P2^0; sbit k1 = P2^1; sbit k2 = P2^2; sbit k3 = P2^3; sbit k4 = P2^4; sbit k5 = P2^5; sbit k6 = P2^6; sbit k7 = P2^7; sbit C1 = P1^0; sbit C2 = P1^1; delay(uint ims);//延时函数 void main() { while(1) { if(k6 == 1) { //一种最快的占空比 if(k7 ==1) { delay(20); C1 = 1; delay(30); C1 = 0; delay(1) C2 = 0; } else { delay(20); C2 = 1; delay(30); C2 = 0; delay(1); C1 = 0; } } if(k5 == 1) { //一种第二快的占空比 if(k7 ==1) { delay(20); C1 = 1; delay(20); C1 = 0; delay(1); C2 = 0; } else { delay(20); C2 = 1; delay(20); C2 = 0; delay(1); C1 = 0; } } if(k4 == 1) { //一种第三快的占空比 if(k7 ==1) { delay(20); C1 = 1; delay(10); C1 = 0; delay(1); C2 = 0; } else { delay(20); C2 = 1; delay(10); C2 = 0; delay(1); C1 = 0; } } if(k3 == 1) { //一种第四快的占空比 if(k7 ==1) { delay(20); C1 = 1; delay(6); C1 = 0; delay(12); C2 = 0; } else { delay(20); C2 = 1; delay(6); C2 = 0; delay(12); C1 = 0; } } if(k2 == 1) { //一种第五快的占空比 if(k7 ==1) { delay(20); C1 = 1; delay(6); C1 = 0; delay(18); C2 = 0; } else { delay(20); C2 = 1; delay(6); C2

文档评论(0)

1亿VIP精品文档

相关文档