当前位置:首页 > 单片机 > 单片机
[导读]驱动方式为A-AB-B-BC-C-CD-D-DA-A使用延时函数实现主函数#include"dj.h"#include"delay.h"#include"sys.h"#include"key_led.h"//ALIENTEKminiSTM32?a·¢°?êμ?é1//?ü?íμ?êμ?é//??ê??§3?£owww.openedv.c

驱动方式为A-AB-B-BC-C-CD-D-DA-A

使用延时函数实现


主函数


#include"dj.h"

#include"delay.h"

#include"sys.h"

#include"key_led.h"

//ALIENTEKminiSTM32?a·¢°?êμ?é1

//?ü?íμ?êμ?é

//??ê??§3?£owww.openedv.com

//1??YêDD?òíμ?×ó????óD?T1???

intmain()

{

inti=512;//?aà?×aò?è|Dèòa4096????3?D?o?×aò?è|iéè???a512

u32t=550;//????μ?305?a10sμ?ê±??£??aà?óD1sμ??ó2?£?1ê??è¥á?1sμ?ê±??

//1s????μ?μ??ùDè?óê±?a30305-30=275

//′?ía£?????á?5s?ùDèμ??óê±£?275/2=137.5è?1372aμ?ê±???ó2??ú0.2s×óò??ú

delay_init();//?óê±oˉêy3?ê??ˉ

Dj_Init();//3?ê??ˉó?LEDá??óμ?ó2?t?ó?ú

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"

voidDj_Init(void)

{

GPIO_InitTypeDefGPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//ê1?üPA,PD???úê±?ó

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;//LED0-->PA.8???ú????

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//í?íìê?3?

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//IO?ú?ù?è?a50MHz

GPIO_ResetBits(GPIOA,GPIO_Pin_0);//PA.8ê?3???

GPIO_Init(GPIOA,&GPIO_InitStructure);//?ù?Yéè?¨2?êy3?ê??ˉGPIOA.8

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1;//LED1-->PD.2???ú????,í?íìê?3?

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//í?íìê?3?

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//IO?ú?ù?è?a50MHz

GPIO_ResetBits(GPIOA,GPIO_Pin_1);//PD.2ê?3???

GPIO_Init(GPIOA,&GPIO_InitStructure);//?ù?Yéè?¨2?êy3?ê??ˉGPIOA.8

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_2;//LED1-->PD.2???ú????,í?íìê?3?

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//í?íìê?3?

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//IO?ú?ù?è?a50MHz

GPIO_ResetBits(GPIOA,GPIO_Pin_2);//PD.2ê?3???

GPIO_Init(GPIOA,&GPIO_InitStructure);

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_3;//LED1-->PD.2???ú????,í?íìê?3?

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//í?íìê?3?

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//IO?ú?ù?è?a50MHz

GPIO_ResetBits(GPIOA,GPIO_Pin_3);//PD.2ê?3???

GPIO_Init(GPIOA,&GPIO_InitStructure);//?ù?Yéè?¨2?êy3?ê??ˉGPIOA.8

}


dj.h


#ifndef__DJ_H

#define__DJ_H

#include"sys.h"

//////////////////////////////////////////////////////////////////////////////////

//本程序只供学习使用,未经作者许可,不得用于其它任何用途

//ALIENTEKminiSTM32开发板

//按键驱动代码

//正点原子@ALIENTEK

//技术论坛:www.openedv.com

//修改日期:2012/9/3

//版本:V1.0

//版权所有,盗版必究。

//Copyright(C)广州市星翼电子科技有限公司2009-2019

//Allrightsreserved

//////////////////////////////////////////////////////////////////////////////////

#define A1_H GPIO_Se

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭