用51单片机控制一个电机(直流电机即可)。在任意时刻按下按钮,电机正向转动约5秒钟,停止约10秒钟,反向转动约5秒钟。过一段时间再按,电机仍执行上述动作的代码,用keil完成
时间: 2024-03-19 12:45:43 浏览: 31
以下是51单片机控制直流电机正反转的代码,具体实现可以根据您的需要进行修改和调整:
```
#include <reg51.h>
sbit IN1 = P1^0; // 正向控制端口
sbit IN2 = P1^1; // 反向控制端口
void delay(unsigned int t) // 延时函数
{
unsigned int i, j;
for(i = 0; i < t; i++)
for(j = 0; j < 120; j++);
}
void main()
{
while(1)
{
if(P3^0 == 0) // 按钮按下
{
IN1 = 1; // 正向转动
IN2 = 0;
delay(5000); // 转动5秒
IN1 = 0;
IN2 = 0;
delay(10000); // 停止10秒
IN1 = 0; // 反向转动
IN2 = 1;
delay(5000); // 转动5秒
IN1 = 0;
IN2 = 0;
delay(10000); // 停止10秒
}
}
}
```
这段代码使用P1口控制电机的正反转和停止,P3口作为按钮输入端口。当按下按钮时,电机会按照要求正反转动。当需要停止或者改变转动方向时,只需要修改IN1和IN2的值即可。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)