收藏 分享(赏)

stm32单片机节日彩灯控制器.doc

上传人:精品资料 文档编号:10715779 上传时间:2019-12-31 格式:DOC 页数:16 大小:282.50KB
下载 相关 举报
stm32单片机节日彩灯控制器.doc_第1页
第1页 / 共16页
stm32单片机节日彩灯控制器.doc_第2页
第2页 / 共16页
stm32单片机节日彩灯控制器.doc_第3页
第3页 / 共16页
stm32单片机节日彩灯控制器.doc_第4页
第4页 / 共16页
stm32单片机节日彩灯控制器.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、燕山大学课程设计说明书题目: 节日彩灯控制器设计学院(系):_年级专业 : _ 学 号 :_学生姓名 :_指导老师 :_答辩日期 :_燕山大学课程设计(论文)任务书院(系): 基层教学单位: 自动化系 学 号 学生姓名 专业(班级)设计题目 节日彩灯控制器设计设计技术参数1 开始,按此键则灯开始流动(由上而下)2 停止,按此键则停止流动,所有灯为暗。3 上,按此键则灯由上向下流动。4 下,按此键则灯由下向上流动。设计要求1、说明书一份,不少于 6000 字(如打印用 B5 纸,小四号字,汉字采用宋体,英文及数字采用 Times New Roman,单倍行距,上边距 2.6 厘米,下边距2.2

2、厘米,左右边距各 2.3 厘米,标出页码)。2、说明书顺序:封面、任务书、摘要、目录、正文、结论、参考文献、评审意见表3、说明书封面与内容需一致(打印或本人手抄) ,图表清晰,字迹工整。4、完成 A2 图纸一张。工作量1、说明书一份不少于 6000 字,可手写也可打印。2、A2 图纸一张,手工绘图。3、参考文献不少于 3 篇。工作计划第一周:1、确定系统总体设计方案(包括方案的选择说明) 。2、对所需元件进行选型。第二周:4、完成计算机、外设及被控设备的连接、调试、检验和计算机软件编程。修正、改进系统的硬、软件设计。5、编写说明书一份,绘制 A2 图纸一张。6、完成课程设计考核,评分。参考资料

3、反馈控制理论 、 单片机原理与应用 、 半导体变流技术 、 电力拖动及自动化 、 电子技术 、 计算机控制 、 制图 、 计算机原理 、 微机控制原理及应用 、 电力电子技术 、 计算机操作系统 、 计算机控制系统等课程教课书及相关专业报纸、杂志和论文。指导教师签字 胡硕、赵广磊 基层教学单位主任签字 刘福才摘要节日彩灯是生活中常常的装饰物品,是我国普遍流行的传统的民间的综合工艺品。彩灯艺术也是灯的综合性的装饰艺术。在当今社会里,彩灯已经成为我们生活当中的一部分,能给我们带来视觉上的享受,还能美化我们的生活。彩灯控制器主要是通过产生有规律变化的脉冲信号来实现彩灯的各种变化,他集中的应用了单片机

4、、LED、自动控制等技术,是典型的基于单片机的电子产品。本文以 stm32 单片机为控制核心,采用模块化的设计方案,运用 LED 彩灯、按键等组成电路,实现才在开启时满足不一样的闪亮方法及方式。按 K1开始,按此键则灯开始流动(由上而下) 。K2停止,按此键则停止流动,所有灯为暗。K3上,按此键则灯由上向下流动。K4下,按此键则灯由下向上流动。通过按键能方便使用者选择不一样的亮法。并用仿真软件进行仿真按不同的方式点亮 LED。还有就是这节日彩灯的制作成本低、精确度高、装调容易,为节日增添气氛,具一定的市场价值,因此制作了此节日彩灯。关键词:节日彩灯;单片机;LED;设计;仿真目 录1 概述 1

5、2 任务要求 13 硬件电路分析 23.1 产品介绍 23.2 特点 43.3 系统作用 54 设计与论证 74.1 总体流程图设计 74.2 按键模块设计 85 心得体会 106 参考文献 107 程序设计代码 11一、概述20 世纪兴起的单片机以其先天的便捷、稳定的优点在现代电子技术电路中占有越来越重要的地位。又有数字电路与模拟电路相比有显而易见的稳定性。近年来,数字电路又有了巨大的发展。可编程逻辑器件(PAL、GAL 等)的发展和普及最终使 IC 的设计面向了用户(这是模拟电路无法做到的) ,而这毫无疑问会给用户带来巨大的便捷,从而奠定它在电子电路中的对位。随着集成技术的进一步提高,各种

6、新技术的出现和应用,人类历史横跨数码时代向更进一步发展已出现在各大型相关企业的宏伟蓝图中。新世纪里谁掌握了新技术谁就得到了获胜的资本,也仅仅是资本而矣。新世纪里电子行业的发展速度令人窒息,闻名的摩尔定律更把许多人威吓在门外。可以展望,一个由数字构成的新世界即将出现。那将是人类文明的又一飞跃,不仅可以获得良好的观赏效果,而且可以省电(与全部彩灯始终全亮相比) 。近年来,随着人们生活水平的较大提高,人们对于物质生活的要求也在逐渐提高,不光是对各种各样的生活电器的需要,也开始在环境的幽雅方面有了更高的要求。比如日光灯已经不能满足于我们的需要,彩灯的运用已经遍布于人们的生活中,从歌舞厅到卡拉 OK 包

7、房,从节日的祝贺到日常生活中的点缀。这些不紧说明了我们对生活的要求有了质的飞跃,也说明科技在现实运用中有了较大的发展。彩灯是我国普遍流行的传统的民间的综合性的工艺品。彩灯艺术也就是灯的综合性的装饰艺术。新中国成立后,彩灯艺术得到了更大的发展,特别是随着我国科学技术的发展,彩灯艺术更是花样翻新,奇招频出,传统的制灯工艺。二、任务要求(1)PD0: 开始,按此键则灯开始流动(由上而下) ;(2)PD1: 停止,按此键则停止流动,所有灯为暗;(3)PD2: 上,按此键则灯由上向下流动;(4)PD3: 下,按此键则灯由下向上流动。三、硬件电路分析1.stm32 单片机(1)产品介绍在 STM32F10

8、5 和 STM32F107 互连型系列微控制器之前,意法半导体已经推出 STM32 基本型系列、增强型系列、 USB 基本型系列、互补型系列;新系列产品沿用增强型系列的 72MHz 处理频率。内存包括 64KB到 256KB 闪存和 20KB 到 64KB 嵌入式 SRAM。新系列采用LQFP64、LQFP100 和 LFBGA100 三种封装,不同的封装保持引脚排列一致性,结合 STM32 平台的设计理念,开发人员通过选择产品可重新优化功能、存储器、性能和引脚数量,以最小的硬件变化来满足个性化的应用需求。截至 2010 年 7 月 1 日,市面流通的型号有:STM32F103“增强型”系列S

9、TM32F101“基本型”系列STM32F105、STM32F107“互联型”系列增强型系列时钟频率达到 72MHz,是同类产品中性能最高的产品;基本型时钟频率为 36MHz,以 16 位产品的价格得到比 16 位产品大幅提升的性能,是 32 位产品用户的最佳选择。两个系列都内置 32K 到 128K的闪 存,不同的是 SRAM 的最大容量和外设接口的组合。时钟频率72MHz 时,从闪存执行代码,STM32 功耗 36mA,是 32 位市场上功耗最低的产品,相当于 0.5mA/MHz。(2)特点内核:ARM32 位 Cortex-M3 CPU,最高工作频率72MHz,1.25DMIPS/MHz

10、。单周期乘法和硬件除法。存储器:片上集成 32-512KB 的 Flash 存储器。6-64KB 的 SRAM 存储器。时钟、复位和电源管理:2.0-3.6V 的电源供电和 I/O 接口的驱动电压。上电复位(POR)、掉电复位(PDR)和可编程的电压探测器(PVD)。4-16MHz 的晶振。内嵌出厂前调校的 8MHz RC 振荡电路。内部 40 kHz的 RC 振荡电路。用于 CPU 时钟的 PLL。带校准用于 RTC 的 32kHz 的晶振。低功耗:3 种低功耗模式:休眠,停止,待机模式。为 RTC 和备份寄存器供电的 VBAT。调试模式:串行调试(SWD)和 JTAG 接口。DMA:12

11、通道 DMA 控制器。支持的外设:定时器,ADC, DAC, SPI,IIC 和 UART。3 个 12 位的 us 级的 A/D 转换器(16 通道):A/D 测量范围:0-3.6V。双采样和保持能力。片上集成一个温度传感器。2 通道 12 位 D/A 转换器:STM32F103xC,STM32F103xD,STM32F103xE 独有。最多高达 112 个的快速 I/O 端口:根据型号的不同,有26,37,51,80,和 112 的 I/O 端口,所有的端口都可以映射到 16 个外部中断向量。除了模拟输入,所有的都可以接受 5V 以内的输入。最多多达 11 个定时器:4 个 16 位定时器

12、,每个定时器有 4 个IC/OC/PWM 或者脉冲计数器。2 个 16 位的 6 通道高级控制定时器:最多 6 个通道可用于 PWM 输出。2 个看门狗定时器(独立看门狗和窗口看门狗)。Systick 定时器:24 位倒计数器。2 个 16 位基本定时器用于驱动 DAC。最多多达 13 个通信接口: 2 个 IIC 接口(SMBus/PMBus)。5 个USART 接口(ISO7816 接口,LIN,IrDA 兼容,调试控制)。3 个 SPI接口(18 Mbit/s),两个和 IIS 复用。CAN 接口(2.0B)。USB 2.0 全速接口。SDIO 接口。ECOPACK 封装:STM32F1

13、03xx 系列微控制器采用 ECOPACK 封装形式。(3)系统作用1、集成嵌入式 Flash 和 SRAM 存储器的 ARM Cortex-M3 内核。和8/16 位设备相比, ARM Cortex-M3 32 位 RISC 处理器提供了更高的代码效率。STM32F103xx 微控制器带有一个嵌入式的 ARM 核,所以可以兼容所有的 ARM 工具和软件。2、嵌入式 Flash 存储器和 RAM 存储器:内置多达 512KB 的嵌入式Flash,可用于存储程序和数据。多达 64KB 的嵌入式 SRAM 可以以CPU 的时钟速度进行读写(不待等待状态)。3、可变静态存储器( FSMC):FSMC

14、 嵌入在STM32F103xC,STM32F103xD,STM32F103xE 中,带有 4 个片选,支持四种模式:Flash,RAM,PSRAM,NOR 和 NAND。3 个 FSMC 中断线经过OR 后连接到 NVIC。没有读/写 FIFO,除 PCCARD 之外,代码都是从外部存储器执行,不支持 Boot,目标频率等于 SYSCLK/2,所以当系统时钟是 72MHz 时,外部访问按照 36MHz 进行。4、嵌套矢量中断控制器(NVIC):可以处理 43 个可屏蔽中断通道(不包括 Cortex-M3 的 16 根中断线),提供 16 个中断优先级。紧密耦合的 NVIC 实现了更低的中断处理

15、延迟,直接向内核传递中断入口向量表地址,紧密耦合的 NVIC 内核接口,允许中断提前处理,对后到的更高优先级的中断进行处理,支持尾链,自动保存处理器状态,中断入口在中断退出时自动恢复,不需要指令干预。5、外部中断 /事件控制器(EXTI):外部中断/ 事件控制器由用于 19条产生中断/事件请求的边沿探测器线组成。每条线可以被单独配置用于选择触发事件(上升沿,下降沿,或者两者都可以),也可以被单独屏蔽。有一个挂起寄存器来维护中断请求的状态。当外部线上出现长度超过内部APB2 时钟周期的脉冲时,EXTI 能够探测到。多达 112 个 GPIO 连接到16 个外部中断线。6、时钟和启动:在启动的时候

16、还是要进行系统时钟选择,但复位的时候内部 8MHz 的晶振被选用作 CPU 时钟。可以选择一个外部的 4-16MHz 的时钟,并且会被监视来判定是否成功。在这期间,控制器被禁止并且软件中断管理也随后被禁止。同时,如果有需要(例如碰到一个间接使用的晶振失败),PLL 时钟的中断管理完全可用。多个预比较器可以用于配置 AHB 频率,包括高速 APB(PB2)和低速 APB(APB1),高速APB 最高的频率为 72MHz,低速 APB 最高的频率为 36MHz。7、电源供电方案: VDD ,电压范围为 2.0V-3.6V,外部电源通过VDD 引脚提供,用于 I/O 和内部调压器。VSSA 和 VD

17、DA,电压范围为2.0-3.6V,外部模拟电压输入,用于 ADC,复位模块,RC 和 PLL,在VDD 范围之内(ADC 被限制在 2.4V),VSSA 和 VDDA 必须相应连接到 VSS 和 VDD。VBAT,电压范围为 1.8-3.6V,当 VDD 无效时为RTC,外部 32KHz 晶振和备份寄存器供电(通过电源切换实现)。8、电源管理:设备有一个完整的上电复位(POR)和掉电复位(PDR )电路。这条电路一直有效,用于确保从 2V 启动或者掉到 2V 的时候进行一些必要的操作。当 VDD 低于一个特定的下限 VPOR/PDR 时,不需要外部复位电路,设备也可以保持在复位模式。设备特有一

18、个嵌入的可编程电压探测器(PVD),PVD 用于检测 VDD,并且和 VPVD 限值比较,当 VDD 低于 VPVD 或者 VDD 大于 VPVD 时会产生一个中断。中断服务程序可以产生一个警告信息或者将 MCU 置为一个安全状态。PVD 由软件使能。9、电压调节:调压器有 3 种运行模式:主(MR ),低功耗(LPR)和掉电。MR 用在传统意义上的调节模式(运行模式),LPR 用在停止模式,掉电用在待机模式:调压器输出为高阻,核心电路掉电,包括零消耗(寄存器和 SRAM 的内容不会丢失)。10、低功耗模式:STM32F103xx 支持 3 种低功耗模式,从而在低功耗,短启动时间和可用唤醒源之

19、间达到一个最好的平衡点。休眠模式:只有 CPU 停止工作,所有外设继续运行,在中断/事件发生时唤醒 CPU;停止模式:允许以最小的功耗来保持 SRAM 和寄存器的内容。 1.8V 区域的时钟都停止,PLL,HSI 和 HSE RC 振荡器被禁能,调压器也被置为正常或者低功耗模式。设备可以通过外部中断线从停止模式唤醒。外部中断源可以使 16 个外部中断线之一, PVD 输出或者 TRC 警告。待机模式:追求最少的功耗,内部调压器被关闭,这样 1.8V 区域断电。PLL,HSI 和HSE RC 振荡器也被关闭。在进入待机模式之后,除了备份寄存器和待机电路,SRAM 和寄存器的内容也会丢失。当外部复

20、位( NRST 引脚),IWDG 复位,WKUP 引脚出现上升沿或者 TRC 警告发生时,设备退出待机模式。进入停止模式或者待机模式时,TRC,IWDG 和相关的时钟源不会停止。四、设计与论证本方案主要是通过对基于单片机的多控制、多闪烁方式的 LED 彩灯系统的设计,来达到本设计的要求。其硬件以单片机为核心控制,由单片机最小系统、时钟电路、发光二极管和独立按键组成。 此设计方案中单片机的 P1 口接 4 路按键控制电路,实现彩灯花型的切换功能,单片机上的 P0 口接 8 路 LED 发光二极管组成彩灯电路,显示彩灯循环情况。1、总体流程图设计开始正向循环开始键按下?是否停止键按下?正向键按下?

21、灯全灭是否是否反向键按下? 反向循环是正向键按下?否停止键按下? 是否是否2、按键模块设计由于在单片机按键操作中,存在按键抖动的问题,会造成取值不稳定的情况,如下图即为按键操作波形:键按下按键操作波形所以必须考虑去抖动的问题,解决方法有如下两种: 消除按键的抖动既可采用硬件方法,也可采用软件的方法。使用硬件消抖的方式,需要在按键连接的硬件设计上增加硬件消抖电路,如采用 R-S 触发器或 RC 积分电路等。采用硬件消抖方式增加了系统的成本,而利用软件方式消抖则是比较经济的做法,但增加了软件设计的复杂性。 软件方式消抖的基本原理是在软件中对按键进行两次测试确认,即在第一次检测到按键按下后,间隔 1

22、0ms 左右再次检测该按键是否按下,只有在 两次都测到按键按下时才最终确认有键按下,从而消除了抖动的影响。由于用软件方式消抖比较方便,比较经济,而硬件消抖即复杂又不经济,所以本次设计我们采用的是软件消抖。功能说明:S1-开始,按此键,灯开始流动(从上到下)S2-停止,按此键,灯停止流动(灭灯)S3-上,按此键,灯从上而下流动S4-下,按此键,灯从下而上流动五、心得体会本次课程设计既要求我们对知识掌握的牢固,又要求我们对知识能够灵活运用。从所涉及的知识面来说,它不仅要求我们运用所学过的知识还要求我们去查找,学习,借鉴其他科目或门类的知识。从时间上来说,这次设计的时间是最长的,因此我们有足够的时间

23、去重新温习学过的知识,更有充足的时间去搜集学习一些我们没有涉猎过的知识。这样不仅锻炼了我们学习新知识的能力,同时也拓宽了我们的知识面。我们经过将近两周的努力,终于完成本次创新课程设计,过程虽是辛苦的,但从中我们却学到了很多东西。首先巩固了课上学习的理论知识,对于计算机 C 语言的系统化整体化有了更深的认识。整个设计过程最大的收获就是意识到理论知识扎实的重要性,实践是建立在理论之上的,平时的基础知识很重要。另外就是合作的重要性,每个人都有他的特长一个人难免有疏漏,只有大家共同努力才能顺利的完成任务。通过本次课程设计,提高了我的自学能力,提高了理论联系实际的能力,把自己所学应用到实验中,对所用到的

24、硬件有了更加深刻的理解;同时提高了我克服困难的信心和勇气,为我今后的职业生涯打下了坚实的基础。 六、参考文献1、 倪云峰著 单片机原理与应用 西安电子科技大学出版社出版2、 莫正康著 半导体变流技术 机械工业出版社出版3、 边召海著 计算机原理 北京理工大学出版社出版七、程序设计代码#include”stm32f10x.h”#include”delay.h”#includeUint8_t table =0xfe,0xfd,0xfb,0xf7,0xfb,0xfdVoid GPIO_Configuration(void)GPIO_InitTypeDef GPIO_InitStructure;RCC

25、_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA| RCC_APB2Periph_GPIOD,ENABLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;GPIO_Pin=GPIO_Pin_1; GPIO_Pin=GPIO_Pin_2;GPIO_Pin=GPIO_Pin_3;GPIO_InitStructure.GPIO_speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_Init(GPIOA,GPIO_InitStructure.G

26、PIO_Pin=GPIO_Pin_0;GPIO_Pin=GPIO_Pin_1; GPIO_Pin=GPIO_Pin_2;GPIO_Pin=GPIO_Pin_3;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;GPIO_Init(GPIOD,Int main(void)Uint8_t i;GPIO_Configuration();Delay_init(72);While(1)If(GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_0=0) delay_ms(10);for(i=0;i=0;i-) GPIO_write(GPIOA,tablei);delay_ms(500);If(GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_1=0)delay_ms(10)GPIO_SetBits(GPIOA,GPIO_Pin_0| GPIO_Pin_1| GPIO_Pin_2| GPIO_Pin_3);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报