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

电子说

1.2w人已加入

描述

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);

}

}

}

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分