关于AT89C52单片机编写程序关于采用三个按键,编写程序实现直流电机正转、反转、停止。
时间: 2023-10-20 19:14:22 浏览: 49
好的,关于AT89C52单片机编写程序,我们可以采用端口P1的三个引脚作为按键输入,再利用端口P2的两个引脚控制直流电机的正转和反转,另一个引脚控制直流电机的停止。具体的程序实现如下:
```c
#include<reg52.h> //头文件,包含单片机寄存器的定义
sbit key1 = P1^0; //定义三个按键
sbit key2 = P1^1;
sbit key3 = P1^2;
sbit motor1 = P2^0; //定义两个引脚控制电机正转和反转
sbit motor2 = P2^1;
sbit motor_stop = P2^2; //定义一个引脚控制电机停止
void delay(unsigned int i) //延时函数
{
unsigned int j;
for(;i>0;i--)
for(j=110;j>0;j--);
}
void main() //主函数
{
motor_stop = 1; //初始状态为电机停止
while(1) //循环检测按键
{
if(key1 == 0) //按键1按下,电机正转
{
motor1 = 1;
motor2 = 0;
motor_stop = 0;
delay(500); //延时一段时间,防止按键抖动
}
if(key2 == 0) //按键2按下,电机反转
{
motor1 = 0;
motor2 = 1;
motor_stop = 0;
delay(500);
}
if(key3 == 0) //按键3按下,电机停止
{
motor_stop = 1;
delay(500);
}
}
}
```
以上就是关于AT89C52单片机编写程序采用三个按键,实现直流电机正转、反转、停止的程序实现。