×
单片机 > 单片机程序设计 > 详情

STM32开发板实验箱8位独立按键测试学习

发布时间:2020-08-31 发布时间:
|

1、畅学STM32核心板

2、 配套STM32主芯片 F103C8T6


3、 畅学系列STM32实验箱

EESKILL畅学系列多功能开发学习板功能底板,加上配套畅学STM32核心板,再配上专用的超大铝箱即构成了EESKILL畅学STM32开发学习实验箱。

整个开发板由功能主板和扩展核心板组成,扩展核心板可以通过铜柱、螺母固定到底板,组合成为一个多功能开发学习板。功能底板和扩展核心板可以一起使用,也可以分开单独使用,灵活性、扩展性极强。


除STM32核心板之外,畅学系列多功能开发学习板/实验箱还支持以下核心板:

 畅学51单片机核心板

 畅学PIC单片机核心板

 畅学MSP430单片机核心板 (2种)

MSP430F149 MSP430F5438A

 畅学AVR核心板

 畅学ARM7核心板

4、8位独立按键测试

硬件准备:8P杜邦线2根

程序下载:正确下载对应的测试hex

接线说明: 使用1根8P杜邦线连接核心板PB口和底板JP69,具体接法:PB8-K1,PB9-K2,PB10-K3,PB11-K4,PB12-K5,PB13-K6,PB14-K7,PB15-K8;使用1根8P杜邦线连接核心板PA口与JP44。具体接法:PA0-A,PA1-B,PA2-C,PA3-D,PA4-E,PA5-F,PA6-G,PA7-DP。

跳线说明:无

具体接法:PB8-K1,PB9-K2,PB10-K3,PB11-K4,PB12-K5,PB13-K6,PB14-K7,PB15-K8。

具体接法:PA0-A,PA1-B,PA2-C,PA3-D,PA4-E,PA5-F,PA6-G,PA7-DP。

实验现象:按下复位键,1位数码管显示独立按键的

5、相关实验程序源码

/******************** (C) COPYRIGHT 2017 EESKILL多功能开发学习板********************

* 文件名 :main.c

* 描述 :当按下独立按键K1-K8时,1位数码管分别显示1-8

* 实验平台:EESKILL多功能开发学习板

* 库版本 :ST3.5.0

* 硬件连接:---------------------------

* 单片机IO | PB8 - JP69 - key1 |独立按键模块

* | PB9 - key2 |

* | PB10 - key3 |

* | PB11 - key4 |

* | PB12 - key5 |

* | PB13 - key6 |

* | PB14 - key7 |

* | PB15 - key8 |

* ---------------------------

* 硬件连接:--------------------

* 单片机IO | PA0 - JP44 - A |一位共阳数码管模块

* | PA1 - JP44 - B |

* | PA2 - JP44 - C |

* | PA3 - JP44 - D |

* | PA4 - JP44 - E |

* | PA5 - JP44 - F |

* | PA6 - JP44 - G |

* | PA7 - JP44 - DP |

* --------------------

* 实验说明:采用的软件查询方法实现,无法检测多个按键按下

**********************************************************************************/

#include "stm32f10x.h"

#include "delay.h"

#include "key.h"

#include "smg.h"

/**

* @brief Main program.

* @param None

* @retval : None

*/

int main(void)

{

/* config the sysclock to 72m */

SystemInit();

SMG_GPIO_Config();

Key_GPIO_Config();

while(1)

{

if( Key_Scan(GPIOB,GPIO_Pin_8) == KEY_ON )

{

Display_N(1);

}

if( Key_Scan(GPIOB,GPIO_Pin_9) == KEY_ON )

{

Display_N(2);

}

if( Key_Scan(GPIOB,GPIO_Pin_10) == KEY_ON )

{

Display_N(3);

}

if( Key_Scan(GPIOB,GPIO_Pin_11) == KEY_ON )

{

Display_N(4);

}

if( Key_Scan(GPIOB,GPIO_Pin_12) == KEY_ON )

{

Display_N(5);

}

if( Key_Scan(GPIOB,GPIO_Pin_13) == KEY_ON )

{

Display_N(6);

}

if( Key_Scan(GPIOB,GPIO_Pin_14) == KEY_ON )

{

Display_N(7);

}

if( Key_Scan(GPIOB,GPIO_Pin_15) == KEY_ON )

{

Display_N(8);

}

}

}



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
AVR熔丝位操作时的要点和需要注意的相关事项