嵌入式课程设计流水灯_第1页
嵌入式课程设计流水灯_第2页
嵌入式课程设计流水灯_第3页
嵌入式课程设计流水灯_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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个灯闪烁代

2、表红灯,8个灯全亮代表黄灯。模拟交通信号灯运行(绿灯10秒,红灯20秒,绿到红过渡时黄灯3秒)2.将自己的学号编码用LED灯效果展示出来。实验原理:电路中有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连接于PB3,该引脚具有复用功能,在默认状态下,该引脚的IO不可用,需对AFIO_MAPR寄存器

3、进行设置,设置其为IO可用。实验过程及结果描述:按实验内容的步骤一步一步的来。重点描述实验内容的6、7、8还有选修进阶的1、2.要实现改变灯状态的时间间隔,只需改变delay_ms这函数的里面的参数即可,例如时间间隔改为0.02秒就将参数改为20,1秒就将参数改为1000,(delay_ms()函数里面参数的单位为ms)其它以此类推。通过参数的改变可以看到灯状态改变的时延相应的改变了。改变灯的闪动方向则将light左移或者右移位数的值赋给light,例如循环一次左移一位,则light=light1;这里又涉及到当左移(右移)到最左(右)一位时,再次亮灯时的起始位置设置的问题,这里就可以设置当左

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

5、ay_ms()函数里面的参数可以实现四盏灯亮多长时间的效果,同样的思路可以实现右边四盏灯和八盏灯全亮。最后是学号的LED实现。因为学号的显示在数码管的实验中有更好的实现,这里只描述简单的数字显示。主要的思路就是将学号存在一个数组里面,然后每一位学号对应一个数码管显示。问题及解决:最初在移位时出了一点问题。比如从左移改为右移时没有更改初始亮灯的位置,所以之后出现灯不亮的情况。做这个题目时,看到有些同学做红绿灯这一块,有些同学是实现常亮(不闪烁),有些同学实现这个有灯光闪烁的效果。于是自己也想实现一下。总的来说,这个题目难度不是很大,但是要做好还是要动点,所以在如何实现灯常亮或者闪烁这个问题上出了一点问题。在灯进入循环时,例如实现左边四盏灯亮时,每一个循环最后加一个GPIOE-ODR &= (0xff8);即最后将其高八位置零,之后再进入循环时就会出现闪烁的效果。总结:这个题目在完成基本要求的同时,完成了两个选修进阶项。在实验的过程中有点粗心,比如移位的时候没有改初试亮灯的位置以及当灯到两端的时候没有改再次亮灯的初始位置,以致于在一次循环之后灯就不亮了。一个小小的收获就是在红绿灯的实现时实现

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论