#include <reg52.h>
unsigned char Flag;//定义正反转和停止标志位
sbit KEY = P3^3;
unsigned char code F_Rotation[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9}; //正转表格
unsigned char code B_Rotation[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1}; //反转表格
/******************************************************************/
/* 延时函数 */
/******************************************************************/
void Delay(unsigned int i)//延时
{
while(--i);
}
/******************************************************************/
/* 主函数 */
/******************************************************************/
main()
{
unsigned char i;
EX1=1; //外部中断0开
IT1=1; //边沿触发
EA=1; //全局中断开
while(Flag==0)
{
P0=0x71;//显示 F 标示正转
for(i=0;i<8;i++) //4相
{
P1=F_Rotation[i]; //输出对应的相 可以自行换成反转表格
Delay(200); //改变这个参数可以调整电机转速 ,数字越小,转速越大
}
}
while(Flag==1)
{
P0=0x7C;//显示 b 标示反转
for(i=0;i<8;i++) //4相
{
P1=B_Rotation[i]; //输出对应的相
Delay(200); //改变这个参数可以调整电机转速 ,数字越小,转速越大
}
}
while(Flag==2) //停止
{
P0=0x6D;// 显示 S
P1=0;
}
}
/******************************************************************/
/* 中断入口函数 */
/******************************************************************/
void ISR_Key(void) interrupt 2 using 1
{
Delay(500);
if(!KEY)
{
Flag++; //s3按下触发一次
if(Flag==3)
Flag=0;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
bujindianji.zip_l298n模块51
共13个文件
bak:2个
lst:2个
a51:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 58 浏览量
2022-09-23
11:56:22
上传
评论
收藏 14KB ZIP 举报
温馨提示
实现51单片机控制步进电机的转动,驱动模块使用的是L298N
资源推荐
资源详情
资源评论
收起资源包目录
bujindianji.zip (13个子文件)
切片机—向上升起
led_Opt.Bak 1010B
led.Uv2 2KB
led.M51 5KB
led.LST 3KB
led.Opt 1011B
led.c 2KB
led.OBJ 3KB
led.plg 185B
STARTUP.lst 11KB
STARTUP.A51 5KB
led.hex 499B
led_Uv2.Bak 2KB
led 2KB
共 13 条
- 1
资源评论
小贝德罗
- 粉丝: 70
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功