嵌入式课程设计流水灯(2020年10月整理).pptx

上传人:摩西的****12 文档编号:148835791 上传时间:2020-10-22 格式:PPTX 页数:4 大小:26.49KB
返回 下载 相关 举报
嵌入式课程设计流水灯(2020年10月整理).pptx_第1页
第1页 / 共4页
嵌入式课程设计流水灯(2020年10月整理).pptx_第2页
第2页 / 共4页
嵌入式课程设计流水灯(2020年10月整理).pptx_第3页
第3页 / 共4页
嵌入式课程设计流水灯(2020年10月整理).pptx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《嵌入式课程设计流水灯(2020年10月整理).pptx》由会员分享,可在线阅读,更多相关《嵌入式课程设计流水灯(2020年10月整理).pptx(4页珍藏版)》请在金锄头文库上搜索。

1、流水灯编程,实验目的: 掌握GPIO 端口的基本控制方法 掌握硬件电路仿真方法。 实验内容: 复习流水灯的工作原理。 按教材上3.4 节的内容或实验指导书2.1 节的内容创建好项目, 生成可执行文件。 阅读 LED 示例程序代码。 软件模拟,无误后下载到实验板上运行,观察效果。 通过硬件仿真的方式调试程序。分析 LED_Init、main 这 2 个函 数中每一行代码的作用。 修改程序使得灯改变一次状态的时间间隔为 0.02、0.01、0.1、 0.3、0.5、1、2 秒。 修改程序使得灯闪动的方向反向。 修改循环亮灯的程序,使每次亮灯的起始位置依次下移。 选做进阶版 用左边 4 个灯闪烁代表

2、绿灯,右边 4 个灯闪烁代表红灯,8 个 灯全亮代表黄灯。模拟交通信号灯运行(绿灯 10 秒,红灯 20 秒,绿到红过渡时黄灯 3 秒) 将自己的学号编码用 LED 灯效果展示出来。 实验原理:,1,2,电路中有 L0,L1,L2,L3,L4,L5,L6,L7 共八个发光二极管,当引脚 LED_SEL 输入为 1,对于A、B、C、D、E、F、G、H 引脚,只要输入为 1,则点亮相连接的发光二极管。 AH 引脚连接 STM32F108VB 芯片的 PE8PE15,程序初始化时,对 其进行初始设置。引脚 LED_SEL 为 1 时,发光二极管才工作,否则右 边的数码管工作。注意,LED_SEL 连

3、接于PB3,该引脚具有复用功能, 在默认状态下,该引脚的 IO 不可用,需对 AFIO_MAPR 寄存器进行设 置,设置其为 IO 可用。 实验过程及结果描述: 按实验内容的步骤一步一步的来。重点描述实验内容的 6、7、8 还 有选修进阶的 1、2. 要实现改变灯状态的时间间隔,只需改变 delay_ms 这函数的里面 的参数即可,例如时间间隔改为 0.02 秒就将参数改为 20,1 秒就将参 数改为 1000,(delay_ms()函数里面参数的单位为 ms)其它以此类推。 通过参数的改变可以看到灯状态改变的时延相应的改变了。 改变灯的闪动方向则将light 左移或者右移位数的值赋给ligh

4、t, 例 如 循 环 一 次 左 移 一 位 , 则 light=light1;这里又涉及到当左移(右移)到最左(右)一位时, 再次亮灯时的起始位置设置的问题,这里就可以设置当左移(右移) 到最左(最右),设置一个判断语句当左移(右移)到左(右)端点时,将 初始值赋给题目要求的位置即可。 实验结果:灯的移动方向改变。每次循环完一次之后通过改变赋给初,3,始亮的灯的值可以实现灯初始位置的下移。 红绿灯的实现,就是实现左边四盏灯、右边四盏灯、八盏灯按先 后次序以及相对应的时延实现全亮。这里主要是理解GPIOE-ODR |= (lightODR 高八位 有效,通过左移或者右移位数的次数来实现同时点亮

5、哪几盏灯。比如 同时点亮左边四盏,将最左边的灯的值赋给 light,然后添加四个 GPIOE-ODR |= (light1;语句就可以实现左边 四盏灯同时亮的效果。通过设置 delay_ms()函数里面的参数可以实 现四盏灯亮多长时间的效果,同样的思路可以实现右边四盏灯和八盏 灯全亮。 最后是学号的 LED 实现。因为学号的显示在数码管的实验中有更 好的实现,这里只描述简单的数字显示。主要的思路就是将学号存在 一个数组里面,然后每一位学号对应一个数码管显示。 问题及解决: 最初在移位时出了一点问题。比如从左移改为右移时没有更改初 始亮灯的位置,所以之后出现灯不亮的情况。 做这个题目时,看到有些

6、同学做红绿灯这一块,有些同学是实现 常亮(不闪烁),有些同学实现这个有灯光闪烁的效果。于是自己也 想实现一下。总的来说,这个题目难度不是很大,但是要做好还是要 动点,所以在如何实现灯常亮或者闪烁这个问题上出了一点问题。在 灯进入循环时,例如实现左边四盏灯亮时,每一个循环最后加一个 GPIOE-ODR 即最后将其高八位置零,之后再进入循,4,环时就会出现闪烁的效果。 总结: 这个题目在完成基本要求的同时,完成了两个选修进阶项。在实 验的过程中有点粗心,比如移位的时候没有改初试亮灯的位置以及当 灯到两端的时候没有改再次亮灯的初始位置,以致于在一次循环之后 灯就不亮了。一个小小的收获就是在红绿灯的实现时实现了两种效果 一种是常亮的效果,另一种是闪烁的效果。 参考资料: STM32 中文参考手册_V10 STM32F10 xxx 参考手册 ARM Cortex-M3 权威指南(中文版) 流水灯说明书,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号