实例介绍
【实例简介】
KEY1-4分别控制LED1-4亮灭,芯片使用的是STM32F4XXX
【实例截图】
	 
 
	
【源码目录】
STM32F4设备指示灯
	├── 嵌入式作业4Keil工程文件
│   ├── CORE
│   │   ├── core_cm4.h
│   │   ├── core_cm4_simd.h
│   │   ├── core_cmFunc.h
│   │   ├── core_cmInstr.h
│   │   └── startup_stm32f40_41xxx.s
│   ├── FWLIB
│   │   ├── inc
│   │   │   ├── misc.h
│   │   │   ├── stm32f4xx_adc.h
│   │   │   ├── stm32f4xx_can.h
│   │   │   ├── stm32f4xx_crc.h
│   │   │   ├── stm32f4xx_cryp.h
│   │   │   ├── stm32f4xx_dac.h
│   │   │   ├── stm32f4xx_dbgmcu.h
│   │   │   ├── stm32f4xx_dcmi.h
│   │   │   ├── stm32f4xx_dma.h
│   │   │   ├── stm32f4xx_dma2d.h
│   │   │   ├── stm32f4xx_exti.h
│   │   │   ├── stm32f4xx_flash.h
│   │   │   ├── stm32f4xx_flash_ramfunc.h
│   │   │   ├── stm32f4xx_fmc.h
│   │   │   ├── stm32f4xx_fsmc.h
│   │   │   ├── stm32f4xx_gpio.h
│   │   │   ├── stm32f4xx_hash.h
│   │   │   ├── stm32f4xx_i2c.h
│   │   │   ├── stm32f4xx_iwdg.h
│   │   │   ├── stm32f4xx_ltdc.h
│   │   │   ├── stm32f4xx_pwr.h
│   │   │   ├── stm32f4xx_rcc.h
│   │   │   ├── stm32f4xx_rng.h
│   │   │   ├── stm32f4xx_rtc.h
│   │   │   ├── stm32f4xx_sai.h
│   │   │   ├── stm32f4xx_sdio.h
│   │   │   ├── stm32f4xx_spi.h
│   │   │   ├── stm32f4xx_syscfg.h
│   │   │   ├── stm32f4xx_tim.h
│   │   │   ├── stm32f4xx_usart.h
│   │   │   └── stm32f4xx_wwdg.h
│   │   └── src
│   │       ├── misc.c
│   │       ├── stm32f4xx_adc.c
│   │       ├── stm32f4xx_can.c
│   │       ├── stm32f4xx_crc.c
│   │       ├── stm32f4xx_cryp.c
│   │       ├── stm32f4xx_cryp_aes.c
│   │       ├── stm32f4xx_cryp_des.c
│   │       ├── stm32f4xx_cryp_tdes.c
│   │       ├── stm32f4xx_dac.c
│   │       ├── stm32f4xx_dbgmcu.c
│   │       ├── stm32f4xx_dcmi.c
│   │       ├── stm32f4xx_dma.c
│   │       ├── stm32f4xx_dma2d.c
│   │       ├── stm32f4xx_exti.c
│   │       ├── stm32f4xx_flash.c
│   │       ├── stm32f4xx_flash_ramfunc.c
│   │       ├── stm32f4xx_fmc.c
│   │       ├── stm32f4xx_fsmc.c
│   │       ├── stm32f4xx_gpio.c
│   │       ├── stm32f4xx_hash.c
│   │       ├── stm32f4xx_hash_md5.c
│   │       ├── stm32f4xx_hash_sha1.c
│   │       ├── stm32f4xx_i2c.c
│   │       ├── stm32f4xx_iwdg.c
│   │       ├── stm32f4xx_ltdc.c
│   │       ├── stm32f4xx_pwr.c
│   │       ├── stm32f4xx_rcc.c
│   │       ├── stm32f4xx_rng.c
│   │       ├── stm32f4xx_rtc.c
│   │       ├── stm32f4xx_sai.c
│   │       ├── stm32f4xx_sdio.c
│   │       ├── stm32f4xx_spi.c
│   │       ├── stm32f4xx_syscfg.c
│   │       ├── stm32f4xx_tim.c
│   │       ├── stm32f4xx_usart.c
│   │       └── stm32f4xx_wwdg.c
│   ├── HARDWARE
│   │   ├── KEY
│   │   │   ├── key.c
│   │   │   └── key.h
│   │   └── LED
│   │       ├── led.c
│   │       └── led.h
│   ├── OBJ
│   │   ├── HEX
│   │   │   ├── KEY-LED.axf
│   │   │   ├── KEY-LED.build_log.htm
│   │   │   ├── KEY-LED.hex
│   │   │   ├── KEY-LED.hex.asm
│   │   │   ├── KEY-LED.htm
│   │   │   ├── KEY-LED.lnp
│   │   │   ├── KEY-LED.sct
│   │   │   ├── LED.axf
│   │   │   ├── LED.build_log.htm
│   │   │   ├── LED.hex.asm
│   │   │   ├── LED.htm
│   │   │   ├── LED.lnp
│   │   │   ├── LED.sct
│   │   │   ├── delay.crf
│   │   │   ├── delay.d
│   │   │   ├── delay.o
│   │   │   ├── key.crf
│   │   │   ├── key.d
│   │   │   ├── key.o
│   │   │   ├── led.crf
│   │   │   ├── led.d
│   │   │   ├── led.o
│   │   │   ├── main.crf
│   │   │   ├── main.d
│   │   │   ├── main.o
│   │   │   ├── misc.crf
│   │   │   ├── misc.d
│   │   │   ├── misc.o
│   │   │   ├── startup_stm32f40_41xxx.d
│   │   │   ├── startup_stm32f40_41xxx.o
│   │   │   ├── stm32f4xx_gpio.crf
│   │   │   ├── stm32f4xx_gpio.d
│   │   │   ├── stm32f4xx_gpio.o
│   │   │   ├── stm32f4xx_it.crf
│   │   │   ├── stm32f4xx_it.d
│   │   │   ├── stm32f4xx_it.o
│   │   │   ├── stm32f4xx_rcc.crf
│   │   │   ├── stm32f4xx_rcc.d
│   │   │   ├── stm32f4xx_rcc.o
│   │   │   ├── stm32f4xx_syscfg.crf
│   │   │   ├── stm32f4xx_syscfg.d
│   │   │   ├── stm32f4xx_syscfg.o
│   │   │   ├── stm32f4xx_usart.crf
│   │   │   ├── stm32f4xx_usart.d
│   │   │   ├── stm32f4xx_usart.o
│   │   │   ├── sys.crf
│   │   │   ├── sys.d
│   │   │   ├── sys.o
│   │   │   ├── system_stm32f4xx.crf
│   │   │   ├── system_stm32f4xx.d
│   │   │   ├── system_stm32f4xx.o
│   │   │   ├── usart.crf
│   │   │   ├── usart.d
│   │   │   └── usart.o
│   │   ├── KEY-LED.map
│   │   ├── LED.build_log.htm
│   │   ├── LED.hex
│   │   ├── LED.map
│   │   └── startup_stm32f40_41xxx.lst
│   ├── SYSTEM
│   │   ├── delay
│   │   │   ├── delay.c
│   │   │   └── delay.h
│   │   ├── sys
│   │   │   ├── sys.c
│   │   │   └── sys.h
│   │   └── usart
│   │       ├── usart.c
│   │       └── usart.h
│   ├── USER
│   │   ├── DebugConfig
│   │   │   ├── LED_STM32F407ZG.dbgconf
│   │   │   └── Template_STM32F407ZG.dbgconf
│   │   ├── JLinkSettings.ini
│   │   ├── KEY-LED.uvguix.15814
│   │   ├── KEY-LED.uvguix_15814.bak
│   │   ├── KEY-LED.uvoptx
│   │   ├── KEY-LED.uvprojx
│   │   ├── KEY-LED_KEY-LED.dep
│   │   ├── KEY-LED_uvoptx.bak
│   │   ├── KEY-LED_uvprojx.bak
│   │   ├── LED.uvguix.15814
│   │   ├── LED.uvguix.Administrator
│   │   ├── LED.uvguix_15814.bak
│   │   ├── LED.uvoptx
│   │   ├── LED_LED.dep
│   │   ├── LED_uvoptx.bak
│   │   ├── LED_uvprojx.bak
│   │   ├── main.c
│   │   ├── stm32f4xx.h
│   │   ├── stm32f4xx_conf.h
│   │   ├── stm32f4xx_it.c
│   │   ├── stm32f4xx_it.h
│   │   ├── system_stm32f4xx.c
│   │   └── system_stm32f4xx.h
│   ├── keilkilll.bat
│   └── readme.txt
├── 嵌入式作业4proteus电路仿真图
│   ├── Backup Of 作业4_设备指示灯.pdsbak
│   ├── Last Loaded 作业4_设备指示灯.pdsbak
│   ├── 作业4_设备指示灯.pdsprj
│   └── 作业4_设备指示灯.pdsprj.DESKTOP-0DHRF3L.15814.workspace
└── 嵌入式作业4调试视频.mp4
17 directories, 172 files
	
【核心代码】
	int main(void)
{ 
 
 int key1 = 1;//标志key1
 int key2 = 1;//标志key2
 int key3 = 1;//标志key3
 int key4 = 1;//标志key4
 delay_init(168);//初始化延时函数
 LED_Init(); //LED初始化 
 KEY_Init(); //KEY按键初始化 
 while(1)
 {
 //KEY1控制D1点亮和熄灭 
 if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0) == 0) //判断KEY1是否被按下
 {
 delay_ms(90); //延时消抖
 if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0) == 0)//判断KEY1是否被按下
 {
 
 key1 = !key1; //标志key1取反
 if(!key1)
 {
 GPIO_ResetBits(GPIOE,GPIO_Pin_9); //点亮D1
 GPIO_SetBits(GPIOE,GPIO_Pin_10); //熄灭D2
 GPIO_SetBits(GPIOE,GPIO_Pin_11); //熄灭D3
 GPIO_SetBits(GPIOE,GPIO_Pin_12); //熄灭D4
 }
 else
 {
 GPIO_SetBits(GPIOE,GPIO_Pin_9); //熄灭D1
 }
 
 }
 else
 {
 ;
 }
 }
 //KEY2控制D2点亮和熄灭
 else if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_1) == 0) //判断KEY2是否被按下
 {
 delay_ms(90); //延时消抖
 if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_1) == 0)//判断KEY2是否被按下
 {
 key2 = !key2; //标志key2取反
 if(!key2)
 {
 GPIO_ResetBits(GPIOE,GPIO_Pin_10); //点亮D2
 GPIO_SetBits(GPIOE,GPIO_Pin_9); //熄灭D1
 GPIO_SetBits(GPIOE,GPIO_Pin_11); //熄灭D3
 GPIO_SetBits(GPIOE,GPIO_Pin_12); //熄灭D4
 }
 else
 {
 GPIO_SetBits(GPIOE,GPIO_Pin_10); //熄灭D2
 }
 
 }
 else
 {
 ;
 }
 }
 //KEY3控制D3点亮和熄灭
 else if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_2) == 0) //判断KEY3是否被按下 
 {
 delay_ms(90); //延时消抖
 if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_2) == 0)//判断KEY3是否被按下
 {
 key3 = !key3; //标志key3取反
 if(!key3)
 {
 GPIO_ResetBits(GPIOE,GPIO_Pin_11); //点亮D3
 GPIO_SetBits(GPIOE,GPIO_Pin_9);   //熄灭D1
 GPIO_SetBits(GPIOE,GPIO_Pin_10); //熄灭D2
 GPIO_SetBits(GPIOE,GPIO_Pin_12); //熄灭D4
 
 }
 else
 {
 GPIO_SetBits(GPIOE,GPIO_Pin_11); //熄灭D3
 }
 
 }
 else
 {
 ;
 }
 }
 //KEY4控制D4点亮和熄灭
 else if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_3) == 0) //判断KEY4是否被按下 
 {
 delay_ms(90); //延时消抖
 if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_3) == 0)//判断KEY4是否被按下
 {
 key4 = !key4; //标志key4取反
 if(!key4)
 {
 GPIO_ResetBits(GPIOE,GPIO_Pin_12);//点亮D4
 GPIO_SetBits(GPIOE,GPIO_Pin_9); //熄灭D1
 GPIO_SetBits(GPIOE,GPIO_Pin_10); //熄灭D2
 GPIO_SetBits(GPIOE,GPIO_Pin_11); //熄灭D3
 
 }
 else
 {
 GPIO_SetBits(GPIOE,GPIO_Pin_12); //熄灭D4
 }
 
 }
 else
 {
 ;
 }
 }
 //无操作
 else
 {
 ;
  }
  
  
   
 
 }
}
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
 
                 
            

网友评论
我要评论