流水广告灯设计_第1页
流水广告灯设计_第2页
流水广告灯设计_第3页
流水广告灯设计_第4页
流水广告灯设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、0华科学院课程设计报告流水线广告灯设计设 计 人:马雪芬专 业:电子信息工程班 级:电子 092202H学 号:200922070216指导教师:郭晓冬二零一二年1 目录第一章 设计目的及要求 .- 1 -1.1 设计目的.- 1 -1.2 设计要求.- 1 -第二章 设计原理与方案 .- 3 -2.1 设计原理.- 3 -2.2 设计方案.- 3 -2.3 方案选择.- 3 -第三章 硬件设计 .- 4 -3.1 硬件设计.- 4 -3.1 硬件连接.- 4 -3.2 硬件实现.- 5 -第四章 软件设计 .- 7 -4.1 总体设计.- 7 -4.2 程序框图设计.- 8 -4.3 源程序

2、.- 10 -第五章 系统调试 .- 17 -第六章 结论分析及体会 .- 18 -参考文献 .- 19 -0第一章 设计目的及要求1.1 设计目的作为现代装饰的一种元素,流水广告灯被应用到许多地方,在诸多的娱乐场所、理发店、宾馆、饭店、公司等门外,我们都可以看到各式各样的广告流水灯。所谓的广告流水灯,就是将一系列的广告灯串联在一起,然后令这些灯按一定的次序逐个或几个的依次点亮或熄灭。由于广告灯点亮产生的效果就像流水一样,因此就称这类广告灯为广告流水灯。我们的生活中有各种各样的广告流水灯,其形式和点亮想顺序是多种多样的,有单一颜色的几个灯按固定次序点亮,有多个不同颜色的构成某一图案依次点亮的,

3、也有多排广告按多种组合好的顺序循环点亮的,可以说各种各样的形式数不胜数,而如此多的灯,如此多的点亮顺序是如何控制的,这就是我们要解决的问题。同时,巩固已学过的知识,初步掌握单片机技术的基础知识和技术要点,还可以通过这次课程设计培养自己动手能力及解决问题的能力。1.2 设计要求设计一种简单的广告流水灯,使用单片机控制 8 个彩灯的点亮,要求实现八种流水灯效果分别是:第一种:发光二极管交替闪烁1第二种:流水灯效果第三种:LED 闪烁点亮第四种:循环移动 LED第五种:“窗帘拉开关闭” 第六种:“跑动”点亮 LED第七种:移动 LED 无闪烁第八种:“幽灵” 。2第二章 设计原理与方案2.1 设计原

4、理要实现设计目的及要求中的 8 种动态效果,可以在时基中断当中完成显示的控制,在前面的主程序当中,响应键盘进入不同的显示模式设置,并打开所需要的中断。当进入中断服务程序后,判断当前的模式,进入对应的移位控制程序,以控制显示不同的效果。2.2 设计方案方案一:按照前面 8 种动态效果的要求,依次控制 LED 的点亮与熄灭,可以在时基中断当中完成显示的控制;方案二:8 种动态效果可以先将所有显示值编成一个表,然后在程序中通过查表的方式来逐个输出各显示值的数据,借此来控制 LED灯的亮灭,实现“流水”效果。2.3 方案选择考虑到原件是否充足和个人能力问题,方案二不易实现,而且方案一所需要的材料很容易

5、就能找到,所以最后决定使用方案一。3第三章 硬件设计3.1 硬件设计SPCE061A 是凌阳科技研发生产的性价比很高的一款十六位单片机,具有易学易用且效率较高的一套指令系统和集成开发环境。在此环境中,支持标准 C 语言,可以实现 C 语言与汇编语言的互相调用,而且,提供了语音播放和语音识别的库函数,只要了解库函数的使用方法,就可以很容易完成语音播放,为软件开发提供了方便的条件。SPCE061A 主要包括输入/输出端口、定时器/计数器、数模转换、串行设备输入输出、通用异步串行接口、低电压检测和复位等电路,并且内置在线仿真电路 ICE 接口,使其能够快速地处理复杂的数字信号。SPCE061 片内还

6、集成了一个 ICE(在线仿真接口电路)接口,使得对芯片的编程、仿真变得非常方便,而 ICE 接口不占用芯片上的硬件资源,结合凌阳科技提供的集成开发环境(unSP IDE),用户可以进行在线调试、仿真;而程序的下载(烧写)也是通过该接口完成的。3.1 硬件连接按照下面的硬件连接方式分别将 61 板的 IOA0-7 与 1*8key相连,IOA8-15 与显示器片选相连,IOB0-7 与显示器段选相连。4图 3.1LED 键盘模组与 61 板连接3.2 硬件实现通过按动键盘的 8 个按键就可以观察到八种不同的流水灯效果。5图 3.2 系统框图6第四章 软件设计4.1 总体设计本设计包含 3 个模块

7、,分别是主程序,中断服务程序,获取键值的程序。前面的主程序当中,响应键盘进入不同的显示模式设置,并打开所需要的中断。当进入中断服务程序后,判断当前的模式,进入对应的移位控制程序,以控制显示不同的效果。61 单片机主要通过 TCON 和 TMOD 两个特殊功能寄存器来实现定时的和计算功能的定时器控制器 TCON 是一个八位寄存器,TCON 的作用是控制定时器的启停,标志定时器溢出和中断情况。由于定时器/计数器的功能是由软件编程确定的,所以一般在使用定时/计数器前都要对其进行初始化,使其按设定的功能工作。初始化的步骤如下:1) 、确定工作方式2) 、预置定时或计数的初值3)、根据需要开放定时器/计

8、数器的中断4) 、启动定时器/计数器下面介绍一下确定定时器/计数器初值的具体方法。因为在不同工作方式下计数器位数不同,因而最大计数值也不同。74.2 程序框图设计输入键盘值,进行键盘扫描获得键盘值,根据键盘值判断当前模式,通过移位控制程序完成显示控制。8图 4.1 程序框图94.3 源程序/ 工程名称: Ad_Led/ 功能描述:/ 涉及的库: CMacro.lib/ 组成文件: main.c/ 硬件连接: IOA 口的低 8 位连接 1*8 键盘,键盘公共端接低电平/IOB 口的低 8 位接 8 个 LED 灯/如使用 LED 键盘模组,还需把 IOA 高 8 位连接到 LED/键盘模组的

9、DIG 接口,作为 LED 灯的使能端(高电平有效)/ 维护记录: 2005-09-12 v1.0/=/=/ 文件名称: main.c/ 功能描述:/ 维护记录: 2005-09-12 v1.0/=10#include ptr.h#include key.h#define KEY10 x0001#define KEY20 x0002#define KEY30 x0004#define KEY40 x0008#define KEY50 x0010#define KEY60 x0020#define KEY70 x0040#define KEY80 x0080#define C_IRQ5_2Hz0

10、 x0004#define C_IRQ5_4Hz0 x0008#define C_IRQ6_TMB20 x0001#define C_IRQ6_TMB10 x0002unsigned int g_uiMode;unsigned int g_uiConst;unsigned int g_uiData;unsigned int g_uiCount;/=11/ 语法格式: int main(void)/ 实现功能:/ 参数:无/ 返回值:无/=int main(void)unsigned int uiKey;*P_IOA_Dir = 0 x4000;*P_IOA_Attrib = 0 x4000;*

11、P_IOA_Data = 0 x4000;/先初始化A 端口的 IOA14,作为 LED 灯的使能用(为符合 LED 键盘模组)*P_IOB_Dir = 0 x00ff;/初始化 IOB的低八位端口*P_IOB_Attrib = 0 x00ff;*P_IOB_Data = 0 x0000;Key_Init();/调用键盘初始化程序,初始化 IOA 低八位口以及中断while(1)uiKey = Key_Get();/获取键值12switch(uiKey)/不同的按键,进入不同的响应模式,通过修改标志变量/通知中断当前模式case KEY1:g_uiMode = 0 x0001;*P_IOB_D

12、ata = 0 x0055;*P_INT_Ctrl = C_IRQ6_TMB2 | C_IRQ5_2Hz;break;case KEY2:g_uiMode = 0 x0002;*P_IOB_Data = 0 x0001;*P_INT_Ctrl = C_IRQ6_TMB2 | C_IRQ5_4Hz;break;case KEY3:g_uiMode = 0 x0004;g_uiConst = 0 x000c;*P_INT_Ctrl = C_IRQ6_TMB2 | C_IRQ5_4Hz; break;case KEY4:g_uiMode = 0 x0008;g_uiConst = 0 x0000;/

13、计数g_uiData = 0 x0000;/0:点亮,1:熄灭13*P_INT_Ctrl = C_IRQ6_TMB2 | C_IRQ5_4Hz; break;case KEY5:g_uiMode = 0 x0010;g_uiConst = 0 x0000;*P_INT_Ctrl = C_IRQ6_TMB2 | C_IRQ5_2Hz; break;case KEY6:g_uiMode = 0 x0020;g_uiConst = 0 x0000;*P_INT_Ctrl = C_IRQ6_TMB2 | C_IRQ5_4Hz; break;case KEY7:g_uiMode = 0 x0040;g_

14、uiConst = 0 x0000;*P_INT_Ctrl = C_IRQ6_TMB2 | C_IRQ6_TMB1; break;case KEY8:g_uiMode = 0 x0080;g_uiConst = 0 xffff;*P_TimeBase_Setup = 0 x0001;/选择 16Hz*P_INT_Ctrl = C_IRQ6_TMB2 | C_IRQ6_TMB1;break;default:14break;/=/ 汇编格式: F_Key_Get/ C 格式:void Key_Get(void);/ 实现功能: 获取键值/ 入口参数: 无/ 出口参数: r1 - 获得的键值/ 破坏

15、寄存器:r1/=.public F_Key_Get.public _Key_GetF_Key_Get:_Key_Get:int offpush r2 to spr2 = 0 x01P_Watchdog_Clear = r2r2 = ScanCntcmp r2,Key_Debounce15jb ?L_GetKey_NoKeycmp r2,Key_TimeOutjnb ?L_GetKeyr2 = KeyUpjnz ?L_GetKey?L_GetKey_NoKey:r1 = 0jmp ?L_GetKey_Exit?L_GetKey:r1 = KeyCoder2 = 0KeyCode = r2ScanCnt = r2KeyUp = r2?L_GetKey_Exit:int fiq,irqpop r2 from sp16第五章 系统调试在 unSP IDE2.6.2 环境下,加载程序代码进行编译的过程首先,全部编译成功后,再不出语法错误的情况下;然后,按照步骤进行并进行 download 的下载,显示下载成功。以设计方案为指导思想选择合适的器件来实现这一思想,选择器件时要从功能和电气特性等方面来选择和论证。经过对比选择选定 SPCE061A 芯片。在软件调试过程中,对出现的错误进行了认真的分析

温馨提示

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

评论

0/150

提交评论