目錄
一、主要功能
二、使用步驟
三、硬件資源
四、軟件設計
五、實驗現象
聯系作者
一、主要功能
1、LCD顯示當前擋位、方向等;
2、按鍵控制步進電機擋位、方向等。
二、使用步驟
系統運行后,LCD1602顯示當前擋位、方向;
通過按鍵控制步進電機轉動速度、方向。
三、硬件資源
1、32單片機核心模塊
2、按鍵模塊
3、ULN2003A驅動模塊
4、LCD1602顯示模塊
四、軟件設計
#include "delay.h"
#include "sys.h"
#include "1602.h"
#include "key.h"
#include "step.h"
#include "exti.h"u8 Key_num=0;//按鍵值
bool turn_flag=true;//轉向
u16 Shift_num=0;//擋位
u16 Star_flag=0;//啟動標志位
void key_san(void);//按鍵判斷函數void Delay(int num)
{while(num--) ;
}
void display_data(void)///顯示
{ LcdWriteCom(0x0C); //取消光標閃爍 LcdWriteCom(0x80+6); //第一行LcdWriteData((Shift_num+1)+0x30);LcdWriteCom(0x80+15); //第一行if(turn_flag==true) LcdWriteData('Z');elseLcdWriteData('F');LcdWriteCom(0x80+0x40+7); //第二行if(Star_flag==0) LcdWritestr("stop");elseLcdWritestr("star");
}int main()
{ delay_init(); //延時函數初始化LCD1602_Init(); //lcd函數初始化KEY_Init(); //按鍵函數初始化Step_Motor_GPIO_Init();NVIC_Configuration(); //設置NVIC中斷分組2:2位搶占優先級,2位響應優先級 EXTIX_Init();//外部中斷初始化 while(1) { if(Star_flag==0)MOTOR_STOP();//停止elsemotorNcircle(Shift_num,turn_flag);//n為步進電機轉動的擋位,position為正轉或者反轉 }
}
五、實驗現象
B站演示視頻:【STM32單片機-A010】【Proteus仿真】步進電機控制系統仿真_嗶哩嗶哩_bilibili本項目使用Proteus8仿真STM32單片機步進電機控制系統使用LCD1602液晶、按鍵、ULN2003A驅動模塊。系統運行后,LCD1602顯示當前擋位、方向;通過按鍵控制步進電機轉動速度、方向。主要功能如下:1、LCD顯示當前擋位、方向等;2、按鍵控制步進電機擋位、方向等。, 視頻播放量 0、彈幕量 0、點贊數 0、投硬幣枚數 0、收藏人數 0、轉發人數 1, 視頻作者 無憂電子設計, 作者簡介 Q:215138327 V:Kinpar 承接51,32單片機設計定做,51,32單片機protues仿真,實物,程序等。,相關視頻:【STM32單片機-A008】【Proteus仿真】MPX4115壓力檢測系統仿真,【51單片機-B003】【protues仿真】基于51單片機交通燈1仿真,基于STM32單片機DHT11溫濕度檢測系統仿真,基于STM32單片機DS18B20溫度檢測系統仿真,【51單片機-B002】【protues仿真】基于51單片機多功能計算器仿真,基于STM32單片機溫濕度光敏檢測系統仿真,【STM32單片機-A009】【Proteus仿真】矩陣按鍵系統仿真,51單片機 熱電偶溫度控制系統,【STM32單片機-A004】【Proteus仿真】超聲波測距系統,基于54單片機波形發生器https://www.bilibili.com/video/BV1KfTvzLEcJ/
聯系作者
作者B站鏈接:https://space.bilibili.com/3493294220773802
專注于51單片機、STM32、Proteus、物聯網軟件開發,PCB設計。