ULN2003步进电机通过延时固定打角

来源:互联网 发布:sip v4.19.1 linux 编辑:程序博客网 时间:2024/06/16 16:33

主函数

#include "dj.h"#include "delay.h"#include "sys.h"#include "key_led.h"//ALIENTEK miniSTM32¿ª·¢°åʵÑé1//ÅÜÂíµÆʵÑé  //¼¼ÊõÖ§³Ö£ºwww.openedv.com//¹ãÖÝÊÐÐÇÒíµç×ӿƼ¼ÓÐÏÞ¹«Ë¾              int main(){ int i=512;   //ÕâÀïתһȦÐèÒª4096¸öÂö³åÐźŠתһȦiÉèÖÃΪ512u32 t=550;    //¼ÆËãµÃ305Ϊ10sµÄʱ¼ä£¬ÕâÀïÓÐ1sµÄÎó²î£¬¹Ê¼õÈ¥ÁË1sµÄʱ¼ä   //1s¼ÆËãµÃµ½ËùÐèÑÓʱΪ30     305-30=275//´ËÍ⣬¼ÆËãÁË5sËùÐèµÄÑÓʱ£¬275/2=137.5 È¡137  ²âµÃʱ¼äÎó²îÔÚ0.2s×óÒÔÄÚ delay_init();     //ÑÓʱº¯Êý³õʼ»¯Dj_Init();  //³õʼ»¯ÓëLEDÁ¬½ÓµÄÓ²¼þ½Ó¿Ú     while(1) { while(i)   { A1_H;B1_L;C1_L;D1_L;   delay_us(t);     A1_H;B1_H;C1_L;D1_L;   delay_us(t);     A1_L;B1_H;C1_L;D1_L;   delay_us(t);     A1_L;B1_H;C1_H;D1_L;   delay_us(t);     A1_L;B1_L;C1_H;D1_L;   delay_us(t);     A1_L;B1_L;C1_H;D1_H;    delay_us(t);     A1_L;B1_L;C1_L;D1_H;    delay_us(t);     A1_H;B1_L;C1_L;D1_H;   delay_us(t); i--; } }}
端口使能

dj.c

#include "stm32f10x.h"#include "sys.h"#include "dj.h"#include "delay.h"void Dj_Init(void){  GPIO_InitTypeDef  GPIO_InitStructure;  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //ʹÄÜPA,PD¶Ë¿ÚʱÖÓ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //LED0-->PA.8 ¶Ë¿ÚÅäÖà GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //ÍÆÍìÊä³ö GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO¿ÚËÙ¶ÈΪ50MHz GPIO_ResetBits(GPIOA,GPIO_Pin_0); //PA.8 Êä³ö¸ß GPIO_Init(GPIOA, &GPIO_InitStructure); //¸ù¾ÝÉ趨²ÎÊý³õʼ»¯GPIOA.8 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;     //LED1-->PD.2 ¶Ë¿ÚÅäÖÃ, ÍÆÍìÊä³ö GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //ÍÆÍìÊä³ö GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO¿ÚËÙ¶ÈΪ50MHz GPIO_ResetBits(GPIOA,GPIO_Pin_1);  //PD.2 Êä³ö¸ß GPIO_Init(GPIOA, &GPIO_InitStructure); //¸ù¾ÝÉ趨²ÎÊý³õʼ»¯GPIOA.8 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;     //LED1-->PD.2 ¶Ë¿ÚÅäÖÃ, ÍÆÍìÊä³ö GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //ÍÆÍìÊä³ö GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO¿ÚËÙ¶ÈΪ50MHz GPIO_ResetBits(GPIOA,GPIO_Pin_2);          //PD.2 Êä³ö¸ß GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;     //LED1-->PD.2 ¶Ë¿ÚÅäÖÃ, ÍÆÍìÊä³ö GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //ÍÆÍìÊä³ö GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO¿ÚËÙ¶ÈΪ50MHz GPIO_ResetBits(GPIOA,GPIO_Pin_3);  //PD.2 Êä³ö¸ß  GPIO_Init(GPIOA, &GPIO_InitStructure); //¸ù¾ÝÉ趨²ÎÊý³õʼ»¯GPIOA.8}



原创粉丝点击