嵌入式实验报告--按键控制流水灯.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课 题: 按键控制流水灯 专 业: 物联网工程 班 级: 学 号: 姓 名: 指导教师: 设计日期: 成 绩: 嵌入式设计报告 一、设计目的作用 通过编程实现对LED灯项目的改变,加深对stm32芯片的理解,对keil软件的熟悉掌握,工程的搭建以及头文件的使用。掌握外部设备的接入以及外部中断的实现。 二、设计要求 用四个按键控制8个流水灯的流水显示 (1).按键A按下时候流水灯按从左往右的流水显示。 (2).按键B按下时候流水灯按从右往左的流水显示。 (3).按键C按下时候流水灯按中心开花的方式流水显示:从中间向两边流水显示 (4).按键D按下时候流水灯按从两边到中心移动的方式流水显示。 (5).(选做)引入时针中断: 默认的流水方式: (1)对时钟中断的次数进行计数 (2)当时钟中断的次数除以4的余数为0时:按从左到右的顺序流水显示 (3)当时钟中断的次数除以4的余数为1时:按从右到左的顺序流水显示 (4)当时钟中断的次数除以4的余数为2时:按中心开花的方式流水显示 (5)当时钟中断的次数除以4的余数为3时:从两边到中心移动的方式流水显示。 系统启动时按默认的流水方式显示,当按下A、B、C、D四个按键时,按指定的方式流水显示,当按下按键E时恢复按默认的流水方式。 三、设计的具体实现 1、设计原理 这次使用的是stm32f103系列芯片,芯片引脚如下图 Stm32内部资源 GPIO原理及应用: STM32F10x系列最多 有7个16位并行I/O口: PA、PB、PC、PD、 PE、PF、PG 都是复用的,最少有2种 功能,最多有6种功能 GPIO的基本结构: GPIO的工作模式 输入模式 :浮空输入、上拉输入 、下拉输入、模拟输入 输出模式: 通用开漏输出、通用推挽输出、复用推挽输出、复用开漏输出 GPIO的复用功能 引脚的其它功能 A/D输入、D/A输出 中断请求输入 计数或时钟输入/输出 串行数据、时钟、握手、片选,等输入/输出 USART、IIC、SPI、IIS、USB、JTAG等 总线(FSMC、SD数据、地址、控制) 系统启动信息输入,等 GPIO寄存器的格式 1、端口控制(配置)寄存器 GPIOx_CRL、GPIOx_CRH 2、端口数据输入寄存器 GPIOx_IDR (低16位有效) 3、端口数据输出寄存器 GPIOx_ODR(低16位有效) 4、端口位设置/清除寄存器 GPIOx_BSRR(高16位清0,低16位设置) 高16位各位写1清0,低16位写1置1;写0不影响 5、端口位清除寄存器 GPIOx_BRR (低16位写1清0,写1不影响) 6、端口配置锁存寄存器 GPIOx_LCKR(低16位有效) GPIO引脚功能配置表: 引脚功能 CNF1 CNF0 MODE[1,0] 输 入 模拟输入 0 0 00 浮空输入 1 上/下拉输入 1 0 保留 1 1 通用 输出 推挽 0 0 01、10、11 (10、2、50MHz) 开漏 1 复用输出 推挽 1 0 开漏 1 GPIO库函数 1、GPIO_Init()函数 初始化 2、GPIO_DeInit() 复位 3、GPIO_SetBits()函数 位置1 4、GPIO_ResetBits()函数 位清0 5、GPIO_WriteBits()函数 写位, 写1/0 6、GPIO_Write()函数 写端口 7、GPIO_ReadInputData() 8、GPIO_ReadInputDataBit() 9、FWLib函数参数的检查 这些函数在“stm32f10x_gpio.c”中定义 初始化结构体GPIO_InitTypeDef的定义: typedef struct //对引脚进行设置 { uint16_t GPIO_Pin; //引脚对象 GPIOMode_TypeDef GPIO_Mode; //模式 GPIOSpeed_TypeDef GPIO_Speed; //速度 }GPIO_InitTypeDef; STM32中断分类 1、CPU中断(15个通道) 包括非屏蔽中断、异常、指令中断、复位。 2、设备中断(43~68个通道) 指STM32微控制器片内所有设备的中断,其数量与型号有关,对于大容量(hd)类型,共60个。 3、外部中断(16/20个中断源、7/11个通道) 16个中断源,

文档评论(0)

锦绣中华 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档