基于51单片机控制步进电机LCD12864显示,步进电机按单—双八拍工作方式,程序配相当丰富的注解,非常适合初学者参考与使用。
2021-08-30 14:06:17 131KB 51单片机
51单片机按键与串口控制步进电机正反转调速,源码注释详细,适合单片机爱好者参考与学习。
2021-08-28 07:33:47 161KB 控制器/处理器
1
一、 实验目的 了解Qt界面与开发板底层硬件之间的调用机制 二、 实验方法 1,在QT程序中,新建一件,再添加一个用于操作硬件的新方法,如controlMachine,建立按钮与con个属于你自己的类,如Widget用于显示。 2,在你的类中添加按钮控trolMachine函数之间的信号与槽机制(使用connect函数)。 3,完善你的controlMachine函数,在函数中实现:读取Edit中变量的值,放在你的新变量中,使用Linux系统函数open打开设备文件,调用::ioctl函数(在QT中直接调用系统函数前边得加::两个冒号),使用ioctl传入参数,然后关闭文件。
2021-08-19 21:46:15 23KB Qt 步进电机
1
Arduino uno 红外收发模块控制 步进电机; 包含之前的两个程序; 需要下载相应的红外收发 库文件,可以在我的这里下载(Arduino_IRremote_master.zip);
2021-08-19 20:38:38 4KB Arduino 红外收发 步进电机
1
STM32 HAL库 四轴步进电机导轨控制,步进电机梯形加减速.
2021-08-15 01:41:07 5.04MB STM32 HAL 步进电机
1
1、本设计采用ATMEGA16单片机作为主控制器。 2、按键控制步进电机正反转,反转D1点亮,数码管显示1,正转D2点亮,数码管显示2,停止D1,D2都关闭,数码管显示0。 支持方案定制,及实物代开发,详情咨询:扣扣33548235
2021-08-13 09:05:50 292KB 单片机 步进电机 数码管
STM32F407VGT6精确脉冲控制步进电机源码,采用STM32F407VGT6芯片,抛弃单脉冲输出方式,直接使用普通PWM输出方式精确输出脉冲个数,每个脉冲都可以改变频率和占空比。PWM+中断,简单粗暴。 #include "sys.h" #include "delay.h" #include "pwm1.h" #include "pwm2.h" #include "pwm3.h" //注释见pwm1.c文件 extern int count2; int main(void) { delay_init(168); //初始化延时函数 TIM2_Init(1,167); TIM3_Init(1,167); TIM5_Init(1,167); //delay_ms(1000); TIM2_OUTPUT(); TIM3_OUTPUT(); TIM5_OUTPUT(); while(1) { //TIM2每次输出完10个脉冲后间隔100ms再次输出 if(count2 >= 10){ delay_ms(100); TIM2_OUTPUT(); } }
FPGA(EP4CE6)控制步进电机实验Verilog逻辑源码Quartus工程文件+文档资料, module STEP_MOTO_V1_0 ( //input input sys_clk , input [3:0] key , output reg mot_out_a , output reg mot_out_b , output reg mot_out_c , output reg mot_out_d ); //reg define reg [8-1:0] counter ; reg [8-1:0] count ; reg [25:0] clk_cnt ; reg [ 2:0] step_cnt ; //wire wire step_en ; //wire define //parameter define assign sys_rst_n = 1'b1 ; // gen a time counter , 5500000 * 20ns always @(posedge sys_clk or negedge sys_rst_n) begin if (sys_rst_n ==1'b0) clk_cnt <= 26'b0; else if ( clk_cnt == 26'd500000 ) clk_cnt <= 26'b0; else clk_cnt <= clk_cnt + 26'b1; end // step enable is active 5500000 * 20ns assign step_en = ( clk_cnt == 26'b0 ) ? 1:0 ; always @(posedge step_en or negedge sys_rst_n) begin if (sys_rst_n ==1'b0) step_cnt <= 3'b0; else step_cnt <= step_cnt + 3'b1; end always @(posedge step_en or negedge sys_rst_n) begin if (sys_rst_n ==1'b0) begin mot_out_a <= 1'b0; mot_out_b <= 1'b0; mot_out_c <= 1'b0; mot_out_d <= 1'b0; end else if ( step_cnt == 0 ) begin mot_out_a <= 1'b0; // 6 mot_out_b <= 1'b0; mot_out_c <= 1'b0; mot_out_d <= 1'b1; end else if ( step_cnt == 1 ) begin mot_out_a <= 1'b0; mot_out_b <= 1'b0; mot_out_c <= 1'b1; mot_out_d <= 1'b1; end else if ( step_cnt == 2 ) begin mot_out_a <= 1'b0;
仿真图,51单片机,c语言
2021-08-03 09:21:47 63KB 51单片机 仿真图
1
基于MATLAB2017b的步进电机速度控制、细分控制Simulink程序,有PDF说明文档。注:使用2017b之前的版本可能不能正常运行,请悉知!
1