嵌入式课程设计流水灯.pdf

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

嵌入式课程设计流水灯--第1页

流水灯编程

实验目的:

掌握GPIO端口的基本控制方法

掌握硬件电路仿真方法。

实验内容:

1.复习流水灯的工作原理。

2.按教材上3.4节的内容或实验指导书2.1节的内容创建好项目,

生成可执行文件。

3.阅读LED示例程序代码。

4.软件模拟,无误后下载到实验板上运行,观察效果。

5.通过硬件仿真的方式调试程序。分析LED_Init、main这2个函

数中每一行代码的作用。

6.修改程序使得灯改变一次状态的时间间隔为0.02、0.01、0.1、

0.3、0.5、1、2秒。

7.修改程序使得灯闪动的方向反向。

8.修改循环亮灯的程序,使每次亮灯的起始位置依次下移。

选做进阶版

1.用左边4个灯闪烁代表绿灯,右边4个灯闪烁代表红灯,8个

灯全亮代表黄灯。模拟交通信号灯运行(绿灯10秒,红灯20

秒,绿到红过渡时黄灯3秒)

2.将自己的学号编码用LED灯效果展示出来。

实验原理:

嵌入式课程设计流水灯--第1页

嵌入式课程设计流水灯--第2页

电路中有L0,L1,L2,L3,L4,L5,L6,L7共八个发光二极管,当引脚

LED_SEL输入为1,对于A、B、C、D、E、F、G、H引脚,只要输入为

1,则点亮相连接的发光二极管。

A~H引脚连接STM32F108VB芯片的PE8~PE15,程序初始化时,对

其进行初始设置。引脚LED_SEL为1时,发光二极管才工作,否则右

边的数码管工作。注意,LED_SEL连接于PB3,该引脚具有复用功能,

在默认状态下,该引脚的IO不可用,需对AFIO_MAPR寄存器进行设

置,设置其为IO可用。

实验过程及结果描述:

按实验内容的步骤一步一步的来。重点描述实验内容的6、7、8

还有选修进阶的1、2.

要实现改变灯状态的时间间隔,只需改变delay_ms这函数的里面

的参数即可,例如时间间隔改为0.02秒就将参数改为20,1秒就将参

数改为1000,(delay_ms()函数里面参数的单位为ms)其它以此类推。

通过参数的改变可以看到灯状态改变的时延相应的改变了。

改变灯的闪动方向则将light左移或者右移位数的值赋给light,

例如循环一次左移一位,则light=light1,右移则是

light=light1;这里又涉及到当左移(右移)到最左(右)一位时,

再次亮灯时的起始位置设置的问题,这里就可以设置当左移(右移)

到最左(最右),设置一个判断语句当左移(右移)到左(右)端点时,将

初始值赋给题目要求的位置即可。

实验结果:灯的移动方向改变。每次循环完一次之后通过改变赋给初

嵌入式课程设计流水灯--第2页

嵌入式课程设计流水灯--第3页

始亮的灯的值可以实现灯初始位置的下移。

红绿灯的实现,就是实现左边四盏灯、右边四盏灯、八盏灯按先

后次序以及相对应的时延实现全亮。这里主要是理解GPIOE-ODR|=

(light8);light=light1;这两段代码的意思。GPIOE-ODR高八

位有效,通过左移或者右移位数的次数来实现同时点亮哪几盏灯。比

如同时点亮左边四

文档评论(0)

181****6682 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档