这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » luorenxuan ARM DIY 进程帖-( ARM 和51单片机一

共4条 1/1 1 跳转至

luorenxuan ARM DIY 进程帖-( ARM 和51单片机一样简单之 不一样的流水灯、程序)

菜鸟
2012-03-19 00:27:44     打赏



关键词: luorenxuan     进程     单片机     一样     简单         

菜鸟
2012-03-31 21:07:12     打赏
2楼

焊接中的 PCB .由于手里没有 0603封装的电阻电容,不过0805 封装的还是可以焊上去的

这样不就焊上去了-

今天调试的时候 才 发现把 LED 焊接反了。
没仔细看原理图,按照经验方式焊接,认为 限流电阻都是在 LED 的正极性。EEPW 的 开发板,限流电阻在LED 负极。


菜鸟
2012-03-31 21:09:41     打赏
3楼

焊接中的 PCB 等焊好了再给它洗澡


菜鸟
2012-04-03 15:33:06     打赏
4楼

/*******************************************************************************************************
LED.H
*****************************************************************************************/

#ifndef __LED_H
#define __LED_H 
#include "sys.h"
 
//LED端口定义
#define LED3 PEout(2)//定义  PE 2为 LED3 IO 口
#define LED4 PEout(3)//定义  PE 3为 LED4 IO 口   
#define LED5 PEout(4)//定义  PE 4为 LED5 IO 口
#define LED6 PEout(5)//定义  PE 5为 LED6 IO 口

#define  ON 1
#define  OFF 0 

void LED_Init(void);//初始化          
#endif
/*******************************************************************************************************
LED.C
*****************************************************************************************/

#include <stm32f10x_lib.h>   
#include "led.h"
//LED IO初始化
void LED_Init(void)
{
 RCC->APB2ENR|=1<<6;    //使能PORTA时钟    
 GPIOE->CRL&=0XFF0000FF;
 GPIOE->CRL|=0X00333300;//PE 2-5 推挽输出    
    GPIOE->ODR|=0xff;      //PE 输出高
            
}

/*******************************************************************************************************
key.h
*****************************************************************************************/

#ifndef __KEY_H
#define __KEY_H 
#include "sys.h"

#define S0 PAin(0) //定义 PA 0  为 S0 按键 WK_UP
#define S1 PFin(11) //定义 PF 11  为 S1 按键
#define S2 PCin(13) //定义 PC 13  为 S2 按键
void KEY_Init(void);//按键IO初始化

#endif
/*******************************************************************************************************
key.c
*****************************************************************************************/

#include <stm32f10x_lib.h>
#include "key.h"
#include "delay.h"

void KEY_Init(void)
{
 RCC->APB2ENR|=1<<2;     //  使能PORTA时钟
 GPIOA->CRL&=0XFFFFFFF0;//   清除PA0 状态  
 GPIOA->CRL|=0X00000008; //   PA0设置成输入   按键 WAKE UP
 
 RCC->APB2ENR|=1<<7;     //  使能PORTF时钟
 GPIOF->CRH&=0XFFFF0FFF;//   清除PF0 状态  
 GPIOF->CRH|=0X00008000; //   PF0设置成输入 
 GPIOF->ODR|=1<<11;  //PF11 上拉, 按键 S1

 RCC->APB2ENR|=1<<4;     //  使能PORTF时钟
 GPIOC->CRH&=0XFF0FFFFF;//   清除PF0 状态  
 GPIOC->CRH|=0X00800000; //   PF0设置成输入 
 GPIOC->ODR|=1<<13;  //PF11 上拉, 按键 S1
 
  
}
/*******************************************************************************************************
main.c
*****************************************************************************************/

#include <stm32f10x_lib.h>
#include "sys.h"
#include "usart.h"  
#include "delay.h" 
#include "led.h"
#include "key.h"   

  
main(void)
{   
 u8 t;  
 Stm32_Clock_Init(9); //系统时钟设置
 delay_init(72);      //延时初始化
 LED_Init();      //初始化与LED连接的硬件接口
 KEY_Init();          //初始化与按键连接的硬件接口
 while(1)
 { 
       t=10;
     GPIOE->ODR=0xffff;   //PORT E 输出全高
    while(t!=0)
     {
     delay_ms(50);
     LED3=~LED3;
     t--;
     if(S0==1)break;
     }

    while(t!=10)
     {
     delay_ms(50);
     LED4=~LED4;
     t++;
     if(S0==1)break;
     }
    while(t!=0)
     {
     delay_ms(50);
     LED5=~LED5;
     t--;
     if(S0==1)break;
     }
    while(t!=10)
     {
     delay_ms(50);
     LED6=~LED6;
     t++;
     if(S0==1)break;
     }
     if(S0==1)
     { delay_ms(10);
     if(S0==1)
     { 
      t=5;
      while(t!=0)
       {
        LED3=LED4=LED5=LED6=ON;
        delay_ms(100);
        LED3=LED4=LED5=LED6=OFF;
        delay_ms(100);
        t--;
        }
        }
     }
 } 
}

 


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]