标题: stm32按键灯亮程序 [打印本页]

作者: geige    时间: 2015-7-26 02:20
标题: stm32按键灯亮程序
//分别按下S1~S4,D1~D4分别点亮
#include "stm32f10x.h"
void Delay(unsigned intx);

int main(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD| RCC_APB2Periph_GPIOE,ENABLE);//IO口使能设置
  GPIO_InitTypeDefGPIO_InitStructure;   //定义结构体
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7; //LED管脚   
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOC,&GPIO_InitStructure);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_13;     //LED管脚
  GPIO_Init(GPIOD,&GPIO_InitStructure);
  
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4| GPIO_Pin_5;//按键管脚
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;  //设置为上拉输入
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOE,&GPIO_InitStructure);
  
  
  while(1)
  {
   if(!(GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_5)))
     GPIO_SetBits(GPIOC,GPIO_Pin_6);  
   else
     GPIO_ResetBits(GPIOC,GPIO_Pin_6);
   if(!(GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_4)))
     GPIO_SetBits(GPIOC,GPIO_Pin_7);
   else
     GPIO_ResetBits(GPIOC,GPIO_Pin_7);
   if(!(GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_3)))
     GPIO_SetBits(GPIOD,GPIO_Pin_13);
   else
     GPIO_ResetBits(GPIOD,GPIO_Pin_13);
   if(!(GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_2)))
     GPIO_SetBits(GPIOD,GPIO_Pin_6);
   else
     GPIO_ResetBits(GPIOD,GPIO_Pin_6);
   

  }
}


void Delay(unsigned intx)
{
unsigned int t;
t=x;
while(t--);
}







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1