如题所示
讲述用按键控制电机的正反转
下面请各位爷入席就坐,表演即将开始。
要求:按下S1电机正转(PNP驱动,12V继电器控制)
按下S2电机反转
按下S3电机停止 为了方便仿真,我用的是5V继电器以及5V直流电机
直接上仿真图
单片机源程序如下:
- /**************电机正反转*******************/
- #include<reg51.h>
- #define uchar unsigned char
- #define uint unsigned int
- sbit Fwd=P2^0;
- sbit Rev=P2^1;
- sbit s1=P1^0; //电机正转
- sbit s2=P1^1; //电机反转
- sbit s3=P1^2; //电机停止
- /**********延时函数**************/
- void delayms(uint xms)
- {
- uint i,j;
- for(i=xms;i>0;i--)
- for(j=110;j>0;j--);
- }
- void key()
- {
- /*****电机正转*******/
- if(s1==0)
- {
- delayms(50);
- if(s1==0)
- {
- Fwd=1;
- Rev=0;
- }
- while(!s1);
- }
- /*****电机反转*******/
- if(s2==0)
- {
- delayms(50);
- if(s2==0)
- {
- Fwd=0;
- Rev=1;
- }
- while(!s2);
- }
- /*****电机停止*******/
- if(s3==0)
- {
- delayms(50);
- if(s3==0)
- {
- Fwd=1;
- Rev=1;
- }
- while(!s3);
- }
- }
- /**************主函数**********/
- void main()
- {
- while(1)
- {
- key();
- }
- }
复制代码
所有资料51hei提供下载:
电机正反转.rar
(34.9 KB, 下载次数: 67)
|