1、畅学STM32核心板
2、 配套STM32主芯片 F103C8T6
STM32F103C8T6芯片基于ARM Cortex-M3 32位的RISC内核,工作频率最高可达72MHZ,内置高速存储器(64KB的闪存和20KB的SRAM),丰富的增强I/O端口和联接到两条APB总线的外设。
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);
}
}
}