直流电机的两端连接在ULN2003D的VCC与OUTx端(x任选1~4引脚),请实现直流电机的运行和停止控制,启动键为独立按键区的K1,停止键为K2。51单片机数码管显示学号08
时间: 2023-07-16 16:14:10 浏览: 94
STM32F103单片机+ULN2003驱动直流电机
5星 · 资源好评率100%
以下是基于51单片机的直流电机运行和停止控制代码:
```c
#include <reg52.h>
sbit K1 = P1^0; // 启动按键
sbit K2 = P1^1; // 停止按键
sbit OUT1 = P2^0; // ULN2003D的OUT1引脚
void delay(unsigned int ms) // 延时函数
{
unsigned int i, j;
for (i = 0; i < ms; i++)
for (j = 0; j < 110; j++);
}
void main()
{
unsigned int i;
unsigned char code num[8] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07}; // 数码管显示0~7
unsigned char count = 0;
while (1)
{
if (K1 == 0) // 按下启动按键
{
OUT1 = 1; // OUT1输出高电平
for (i = 0; i < 100; i++) // 延时一段时间
delay(10);
OUT1 = 0; // OUT1输出低电平
count++; // 数码管显示加1
if (count > 7) count = 0;
}
if (K2 == 0) // 按下停止按键
{
OUT1 = 0; // OUT1输出低电平
}
P0 = 0x00; // 关闭数码管显示
P2 = num[count]; // 显示当前数码
P0 = 0x01; // 打开当前数码的显示
delay(10); // 延时
}
}
```
在代码中,我们使用了一个ULN2003D芯片来控制直流电机的运行和停止。当按下启动按键K1时,ULN2003D的OUT1引脚输出高电平,从而使直流电机开始运行;当按下停止按键K2时,OUT1引脚输出低电平,从而使直流电机停止运行。
此外,我们还使用了一个数码管来显示学号08。在每次按下启动按键K1时,数码管显示会加1,当显示到7时又从0开始。
阅读全文