正反转可控的直流电机proteus仿真原理图:
单片机源程序如下:
#include #define uchar unsigned char #define uint unsigned int sbit K1=P3^0; sbit K2=P3^1; sbit K3=P3^2; sbit P1_0=P1^0; sbit P1_1=P1^1; void motor_start(); void motor_turn(); void motor_pause(); void delay(uint x) { uchar i; while(x--) { for(i=0;i<120;i++); } } void main() { while(1) { motor_start(); motor_turn(); motor_pause(); } } void motor_start()//正转 { if(K1==0) { delay(10); if(K1==0) { P1_0=0; P1_1=1; } } } void motor_turn()//反转 { if(K2==0) { delay(10); if(K2==0) { P1_0=1; P1_1=0; } // while(K2==0); } } void motor_pause()//暂停 或者 停止 { if(K3==0) { delay(10); if(K3==0) { P1_0=0; P1_1=0; } ……………………