1 开发环境
仿真图:proteus8.15
程序代码:KEIL5
原理图:proteus
2 功能说明介绍
结合实际情况,设计基于STC51单片机的矩阵键盘控制电机速度功该系统。
具体实现功能:
1、8位数码管显示速度值,最大支持99999999;
2、实现4*4矩阵键盘功能。
3、实现电机启停控制、
4、实现电机正转与反转;
5、实现数码管小数点左移与右移。
6、实现速度修改设置。
工程文件使用keil5打开
主函数代码
void main(void )
{
int i ;
init(); //开启定时器,用于增加时间
motoen = 1;
while(1)
{
keynum = MatrixKey();
switch(keynum)//检测列
{
case 1:start_flag = 0x01 - start_flag ;break;
case 2:veer = 0x01 - veer;break;
case 3:set = 0x01;break;
case 4:set = 0x00;vulue_ok();break;
case 8:++num;if(num > 8)num = 1;break;
case 12:--num;if(num < 1)num = 8;break;
}
a = value / 10000000;
b = value / 1000000%10;
c = value / 100000%10;
d = value / 10000%10;
e = value / 1000%10;
f = value / 100%10;
g = value / 10%10;
h = value % 10;
if(start_flag == 0x01&&set == 0x00)
{
if(veer == 0x00)//正向
{
for(i=0; i<4; i++)
{
P3 = step[i];
delay(value);
}
}
else//反向
{
for(i=0; i<4; i++)
{
P3 = istep[i];
delay(value);
}
}
}
else
{
P3 = 0x00;
}
}
}