基于Labview的跑马灯、流水灯设计
基于NiosII的流水灯设计解读
基于NiosII的流水灯设计一、实验目的:基于NiosII设计一个8位LED流水灯系统,要求掌握SOPC系统设计方法,了解SDRAM和FLASH芯片的接口特性,掌握QuartusII软件的使用方法以及NiosII EDS设计应用软件的基本流程。
二、实验条件:、使用按键1实现系统复位(模式7,按键为单脉冲,接口为IO0):复位用LED 阵列显示流水灯效果:注:要求使用LED1~LED8。
对应的IO 编号分别为(IO60、IO67、IO65、IO63、IO70、IO73、IO75、IO79)。
四、实验步骤:1. 打开QuartusII 软件,建立一个新的工程:单击菜单File\New Project Wizard …输入工程的路径、工程名以及顶层实体名。
单击Next>按钮,出现以下窗口⒈ ⒉ ⒊ ⒋ ⒌ ⒍ ⒎ ⒏ ⒐⒑⒒⒓⒔⒕⒖⒗由于我们建立的是一个空的项目,所以没有包含已有文件,单击Next>继续。
设置器件信息:单击Next>,指定第三方工具:这里我们不指定第三方EDA工具,单击Next>后结束工程建立。
2. 建立SOPC系统单击Tool\SOPC Builder菜单项,启动SOPC Builder配置工具。
在弹出的系统命名对话框中为系统名称命名“MySystem”,并选择目标描述语言为“VHDL”,点击OK保存。
统添加NiosII处理器。
Finish默认系统的配置。
右键处理器更改其名称为“MyCPU”。
本设计所使用的存储器是核心板载的SDRAM(K4S561632)和FLASH (AM29VL065D),所以需要通过为系统添加相关的IP核来驱动。
双击IP核列表中的Memories and Memory Controllers/SDRAM/SDRAM Controller将弹出以下的SDRAM控制器配置窗口,根据板载的SDRAM外围参数,按以下数据填入。
点击Next填写SDRAM的延时参数(默认参数),点击Finish完成。
虚拟仪器课程设计基于LabVIEW的流水灯设计
虚拟仪器课程设计---基于LabVIEW的流水灯设计电控学院课程设计(论文)课程名称:虚拟仪器题目:数字流水灯的设计院(系):专业班级:姓名:学号:指导教师:年月日基于LabVIEW的流水灯设计摘要虚拟仪器(virtual instrumention)是基于计算机的仪器。
计算机和仪器的密切结合是目前仪器发展的一个重要方向。
LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。
流水灯是一种生活中比较常见的装饰,本文主要通过labview来设计了一个流水灯系统的上位机界面,通过串口通信实现了其有规律的亮灭,带来一定的观赏效果。
关键词:虚拟仪器、上位机、串口通信、流水灯AbstractVirtual Instrument (virtual instrumention) is a computer-based instruments. Closecombination of computer and instruments is an important development direction of the current instrument. LabVIEW is a program development environment from National Instruments (NI) developed by the company, similar to C and BASIC development environment, but LabVIEW significantly different from other computer languages are: the use of other computer languages are generated text-based language code, and the use of LabVIEW graphical programming G editing language program is produced in block diagram form.Light water is a relatively common life decorative paper labview mainly through the PC interface to design a light water system through serial communication achieved its regular light off, bring some viewing.Keywords: Virtual Instrument, PC, serial communications, water lights目录1 设计任务 (1)2系统方案选择 (1)2.1整体设计 (1)2.2通信协议 (1)2.3下位机设计方案 (2)2.4上位机设计方案 (2)3下位机设计 (2)3.1硬件设计 (3)3.1.1单片机串口发送数据单元 (3)3.2软件设计 (4)3.2.1跑马灯程序设计 (4)3.2.2串口发送数据程序设计 (5)4上位机设计 (5)4.1前面板设计 (6)4.2后面板设计 (6)5系统调试 (7)6结论 (8)7总结 (9)参考文献 (10)附录 (11)1 设计任务1.通过RS232接口进行数据采集。
虚拟仪器课程设计--基于LabVIEW上下位机的LED显示设计
虚拟仪器课程设计--基于LabVIEW上下位机的LED显示设计电控学院课程设计(论文)课程名称:LabVIEW程序设计教程题目:基于LabVIEW上下位机的LED显示设计院(系):电气与控制工程学院专业班级:XXXXXXXXXXXXXXX姓名:XXXX学号:XXXXXX指导教师:XXX XX2014年 1 月9 日目录1 设计任务 (1)2 系统方案选择 (1)2.1整体设计 (1)2.2 通信协议 (1)2.2.1 数据信号线 (2)2.2.2 控制信号线 (2)2.3 下位机总体设计 (3)2.4 上位机总体设计 (3)3 下位机设计 (3)3.1 硬件 (3)3.1.1 时钟晶振模块 (3)3.1.2 复位模块 (3)3.1.3 LED显示模块 (4)3.1.4 串口通信模块 (4)3.2 软件设计 (5)3.2.1 主程序设计 (5)3.2.2 串口通信设计 (5)4 上位机设计 (6)5 系统调试 (7)6 结论 (7)7 总结 (8)8 参考文献 (9)9 附录 (11)基于labview的上位机与下位机之间的通信1 设计任务此次设计所要完成的功能是使用AT89C52作为下位机,通过RS-232C串口与上位机相连,将编程所实现的跑马灯和端口设置数据显示在上位机上。
上位机是通过LabVIEW软件绘制实现,上位机界面包括设置区、命令控件区、显示控件区、数据接收区。
2 系统方案选择2.1整体设计下位机使用AT89C52进行流水灯设计,上位机使用LabVIEW进行界面设计,显示出端口设置数据和8个LED灯的显示,通过RS232进行串口通讯传送数据到上位机中显示。
图2.1 设计框架2.2 通信协议RS-232C标准定义了数据通信设备(DCE)与数据终端设备(DTE)之间进行串行数据传输的接口信息,规定了接口的电气信号和接插件的机械要求。
RS-232C 对信号开关电平规定如下:驱动器的输出电平为:逻辑“0”:+5~+15V;逻辑“1”:-5~-15V。
基于LABVIEW的跑马灯的设计
基于LABVIEW跑马灯的设计摘要:虚拟仪器(virtual instrumention)是基于计算机的仪器。
计算机和仪器的密切结合是目前仪器发展的一个重要方向。
使用虚拟仪器用户可以通过操作显示屏上的“虚拟”按钮或面板,完成对数据的采集、传输、显示等功能。
本文设计就是建立在VI基础上,在此平台上完成数据通信的功能。
关键字:虚拟仪器; VI;数据通信Labview简介LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。
与C和BASIC一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。
LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。
LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。
虚拟仪器(virtual instrumention)是基于计算机的仪器。
计算机和仪器的密切结合是目前仪器发展的一个重要方向。
粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。
随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。
另一种方式是将仪器装入计算机。
以通用的计算机硬件及操作系统为依托,实现各种仪器功能。
虚拟仪器主要是指这种方式。
下面的框图反映了常见的虚拟仪器方案。
虚拟仪器的主要特点有:◆编程简单;◆开发周期短;◆高效性;◆开放性;◆自定义性;◆性价比高,能一机多用。
课题分析:随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。
彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰已经成为一种时尚。
EDA实验一:流水灯与跑马灯
准备工作注意事项:先听老师进行讲解,然后才可以进行后面的操作。
①先进行软件破解。
破解方法可参考附件《QuartusII的奇幻漂流_v1.0》的第11-13页。
其中“licence.dat”文件在“C:\altera91\91”下,将“licence.dat”文件用记事本打开,将本电脑的网卡Mac地址去替换“HOSTID”后面的那一段,保存。
然后在quartus II菜单栏“tools”-“license setup”里把修改后的license.dat 挂上,即完成破解。
详细方法请听现场老师讲解。
(在破解之前先不要把USB-blaster数据线接到电脑上)②在插拔JTAG数据线的时候,必须保证实验箱的电源是关闭的。
如果通电时进行插拔JTAG数据线,极易损坏JTAG口。
如果不按要求操作造成设备损坏的,学生本人照价赔偿。
③驱动程序的安装。
将USB-blaster数据线接到电脑上,电脑会提示安装驱动,具体的安装方法可参考附件《QuartusII的奇幻漂流_v1.0》的第14-18页,也可听老师现场讲解。
④驱动安装好后,在保证实验箱电源是关闭的情况下,将USB-blaster数据线的JTAG接口连接到实验箱上的JTAG接口上。
连接无误后,再打开实验箱电源。
至此,准备工作就绪。
实验一流水灯与跑马灯一、实验目的1、通过一个简单的流水灯和跑马灯实验,掌握时序电路的设计方法;2、初步了解QUARTUS II 的使用全过程;3、熟悉实验箱的使用流程。
二、实验原理本实验实现的是让实验箱上的4个LED灯实现流水灯和跑马灯功能。
流水灯,就是让LED灯像流水一样地点亮。
如果把流水做慢动作播放,可以想象到其实就是移动,即:水块不断地向同一方向移动,而原来的水块保持不动,就形成了流水。
同样,如果使得最左边的灯先亮,然后,通过移位,在其右侧的灯,由左向右依次点亮,而已经亮的灯又不灭,便形成了向右的流水灯。
而当4个灯都点亮时,需要一个操作使得所有的灯恢复为初始状态,即灯都不亮。
labview流水灯课程设计
labview流水灯课程设计一、课程目标知识目标:1. 学生能理解流水灯的基本原理,掌握LabVIEW编程中循环结构的使用。
2. 学生能够运用数字I/O接口进行数据读写,实现流水灯效果。
3. 学生了解LabVIEW中定时控制的概念,并能应用于流水灯程序设计。
技能目标:1. 学生能够运用LabVIEW软件设计流水灯程序,具备实际操作能力。
2. 学生通过实际操作,培养解决实际问题的能力,提高编程技巧。
3. 学生能够进行团队协作,共同分析问题、解决问题,提高沟通与协作能力。
情感态度价值观目标:1. 学生对LabVIEW编程产生兴趣,激发学习热情,培养自主学习能力。
2. 学生通过实践,体验科技的魅力,增强创新意识和实践能力。
3. 学生在团队协作中,学会互相尊重、关心他人,培养团结合作的品质。
本课程针对中学生设计,课程性质为实践性强的学科课程。
考虑到学生的特点,本课程注重培养学生的动手能力、逻辑思维能力和团队协作能力。
在教学要求方面,强调理论与实践相结合,以实际操作为主线,让学生在实践中掌握知识,培养技能,提高情感态度价值观。
通过本课程的学习,学生能够将所学知识应用于实际项目中,实现学习成果的转化。
二、教学内容1. LabVIEW软件基本操作与界面介绍- 软件安装与启动- 界面布局与功能介绍2. 数字I/O接口原理与应用- 数字输入/输出基本概念- 传感器与接口连接方法- 数据读取与写入3. LabVIEW循环结构编程- While循环与For循环- 循环结构在流水灯程序中的应用4. 定时控制与流水灯程序设计- 定时器原理与使用方法- 流水灯程序设计步骤- 程序调试与优化5. 实践操作与团队协作- 流水灯电路搭建- 编程实践与问题解决- 团队合作与交流教学内容依据课程目标,结合教材相关章节进行组织。
在教学过程中,教师将引导学生学习LabVIEW基本操作,掌握数字I/O接口原理,运用循环结构编程,实现定时控制下的流水灯程序设计。
彩灯流水电路(流水灯)的设计
彩灯流水电路(流水灯)的设计对于彩灯流水电路的设计,我们一般采用LED流水灯的形式。
LED流水灯的原理是通过输入一个时钟信号,来控制LED灯的亮灭顺序,从而实现LED灯的流水效果。
下面就以一个8位LED流水灯电路为例,来分步骤介绍如何进行彩灯流水电路的设计。
1. 材料与元器件的准备该8位LED流水灯电路所需要的材料与元器件如下:(1)芯片:AT89C51(2)时钟:11.0592MHz(3)LED数码管:8款(4)电阻:九个330欧姆电阻(5)电容:两个22pF陶瓷电容(6)稳压管:7805(7)热熔胶枪(8)面包板2. 电路原理图设计接下来,我们需要根据电路的设计要求,来进行电路原理图的设计。
如下图所示,该电路原理图包含了AT89C51芯片、时钟、稳压管、电容以及LED数码管等元器件。
其中,AT89C51芯片作为电路的主控制芯片,时钟则用来控制电路的工作频率。
LED数码管则是用来实现LED灯的罗列效果。
3. 电路焊接装配电路原理图完成后,进入电路焊接与装配环节。
首先,我们需要将元器件逐一地焊接在面包板上。
这里,我们需要注意焊接的顺序和脚位。
接着,将电路连线固定在面包板上,然后接上电源线,即可启动LED数码管。
4. 代码编写最后,我们需要编写AT89C51芯片的代码。
该代码用来控制LED数码管的流水效果。
该代码的编写需要考虑以下几个方面:(1)如何将LED数码管控制程序放入芯片中?(3)如何实现不同的流水显示模式?(4)如何使用时钟来控制LED数码管的刷新速度?经过以上步骤的设计后,我们便可成功地制作出一款功能完善的彩灯流水电路产品。
如需实现更高级别的彩灯效果,还需不断探究和创新。
实验三:跑马灯实验
微控制器综合设计与实训实验名称:实验三跑马灯实验实验三:跑马灯实验1 实训任务(1) 编写程序,实现对LED1~LED8的轮流点亮;(2) 仿真调试,调整延时时间,利用仿真示波器观察延时时间长短;(3) 下载程序,观察跑马灯运行状况。
1.1 实验说明本实验将要实现的是控制实训平台上的8个LED灯实现一个类似跑马灯的效果,LED通过控制IO口的高低电平工作,因此实验的关键在于如何控制STM32的IO口输出。
1.2 实验步骤(1) 在实训平台上将IO口与LED(LED1~LED8)连接;(2) 复制工程模板文件夹,新建led.c和led.h文件,并将新建文件加入工程中;(3) 编写led.h文件,声明void LED_Init(void)初始化函数,宏定义LED1~LED8;(4) 编写led.c文件,建立void LED_Init(void)初始化函数,实现对LED灯用到的IO端口的配置,配置为推挽输出,速度为50MHZ;(5) 编写main()函数,实现对LED1~LED8的轮流点亮;(6) 软件仿真,调整延时时间,利用仿真示波器观察延时时间长短;(7) 下载程序,观察跑马灯的运行状况。
2 程序设计2.1 通过数组实现流水灯:2.2 通过宏定义实现流水灯:2.3 通过函数实现流水灯:2.4 通过SYSTICK中断实现流水灯:3硬件原理图设计4 总结通过数组实现流水灯:通过宏定义实现流水灯:通过函数实现流水灯:通过SYSTICK中断实现流水灯:实验心得:本次实验通过四种方法来实现流水灯,分别是通过数组实现流水灯,通过宏定义实现流水灯,通过函数实现流水灯,通过SYSTICK中断实现流水灯。
让我体会到单片机代码的多样性及强大的拓展功能。
MCU通过控制IO口的高低电平来直接控制LED的亮灭,所以本实验的关键是如何控制STM32的IO口输出,来达到我们想要的效果。
就比如灯光秀。
STM32实验-GPIO输出-流水灯实验报告
通过一个经典的跑马灯程序,了解STM32F1的IO口作为输出使用的方法。通过代码控制开发板上的4个LED灯交替闪烁,实现类似跑马灯的效果。
2.实验内容
工程文件建立、程序的调试,编译、jlink驱动的安装与配置、程序下载、实验结果验证。
3.实验环境
Windouws10 Keil uVision5
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_SetBits(GPIOA,GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4);
实验日期:2018年10月18日
成绩评定
教师签名:
年月日
Welcome To
Download !!!
2018年10月18日姓名学号班级指导老师课程名称嵌入式系统原理与应用实验成绩实验名称gpio输出流水灯1实验目的通过一个经典的跑马灯程序了解stm32f1的io口作为输出使用的方法
课程实验报告
学院:专业:2018年10月18日
姓名
学号
班级
指导老师
课程名称
嵌入式系统原理与应用实验
成
绩
实验名称
GPIO输出-流水灯
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9;
GPIO_Init(GPIOC, &GPIO_InitStructure);
4. 实验方法和步骤(含设计)
(1)实验硬件连接图
基于NIOS技术的流水灯LED显示系统的设计
基于NIOS技术的流水灯LED显示系统的设计内容提要:随着电子技术的不断发展,电子产品向体积越来越小、设计时间越来越短、集成度越来越精密、产品周期越来越短、成本越来越低、功能越来越强大等方向发展。
使用NIOSⅡ处理器的用户可以根据他们的需要调嵌入式系统的特性、性能以及成本,快速使得产品推向市场,扩展产品的生命周期,并且避免处理器的更新换代。
本论文结合EDA技术、C语言、NIOSⅡ技术、计算机技术等多种技术实现基于NiosⅡ的系统设计。
并用LED流水灯显示来检验我设计的NIOSⅡ技术的系统功能。
同时也为其他相关项目的设计提供了参考。
关键词:E DA技术SOPC技术 NIOSⅡ处理器嵌入式技术LED显示NIOS Ⅱ technology-based systems design andimplementation of- LED light water showAbstract:With the continuo us development of electronic technolo gy, electronic products to the size is getting smaller and smaller, shorter and shorter design time, more and more sophisticated integration, product life cycle is becoming shorter and shorter, more and more low-cost, more and more powerful features, such as Direction. The use of NIOS Ⅱprocessor users based on their need to transfer the characteristics of embedded systems, performance and cost of making products to market quickly, expand the product's life cycle and to avoid the replacement of the processor.This thesis EDA combination of technology, C language, NIOS Ⅱ technology, computer technology and other technology-based Nios Ⅱ system design. And the LED light water show designed to test my NIOS Ⅱ technology system. At the same time as other related projects designed to provide a referenceKey words:EDA Technology SOPC technology NIOS Ⅱ processor technology embedded LED display目录一、前言…………………………………………………………………………………二、总体方案……………………………………………………………………………(一)方案比较………………………………………………………………………(二)方案论证与选择……………………………………………………………三、所用技术和器件的介绍……………………………………………………………(一)基本器件的介绍…………………………………………………………………1、EDA的介绍…………………………………………………………………………2、CPLD和FPGA的介绍…………………………………………………………………3、QuartusⅡ的介绍……………………………………………………………………(二)特殊器件介绍……………………………………………………………………1、SOPC Builder开发工具介绍………………………………………………………2、NIOSⅡ的使用说明…………………………………………………………………3、Cyclone EP1C12Q240C8开发板的介绍……………………………………………四、系统设计……………………………………………………………………………(一)、硬件设计………………………………………………………………………1.新建工程……………………………………………………………………………2.用SOPC Builder 定制NiosⅡ处理器及其外设……………………………………3.在Quartus Ⅱ工程中添加上述niosⅡ系统………………………………………4.添加其他元件模块…………………………………………………………………5.定义管脚……………………………………………………………………………6.编译工程……………………………………………………………………………7.下载编辑代码到FPGA………………………………………………………………(二)、软件设计………………………………………………………………………1.设计该工程软件……………………………………………………………………2.编译设置……………………………………………………………………………3.编译…………………………………………………………………………………五、系统调试…………………………………………………………………………1.调试…………………………………………………………………………………2.编译并下载到实验板上面…………………………………………………………六、系统功能、指标参数………………………………………………………………七、总结与体会…………………………………………………………………………八、辞谢…………………………………………………………………………………附录……………………………………………………………………………………参考文献………………………………………………………………………………基于NIOS Ⅱ技术的系统设计与实现一、前言(绪论)随着微电子技术的发展,促使集成电路向高速、高集成度、低工耗的系统集成方向发展,SOP C(Sy ste m On a Pro gra mma ble Ch ip、片上可编程系统)是现代电子技术和电子系统设计的汇聚点和发展方向。
基于LabVIEW的广告LED灯设计
成绩:《虚拟仪器技术及应用》期末作业学期:2013~2014学年第一学期指导教师:陶林时间:2013 年12月25 日姓名:XXXX学号:惺惺惜惺惺小年级、专业:XXXXX西南交通大学峨眉校区机械工程系基于LabVIEW的广告LED灯设计关键字:LabVIEW 广告LED灯引言LED广告灯是一种通过控制半导体发光二极管的显示方式,其大概的样子就是由很多个通常是红色的发光二极管组成,靠灯的亮灭来显示字符。
LED广告灯不断的闪动结合停留,有效的提高了人们的视觉冲击力;提高了广告单位面积利用率。
LED广告灯集霓虹灯的优点于一身,白天晚上可以不间断的闪动,动静结合引起人们的注意。
各种文字、图案有序跳跃、交替辉映,强烈的视觉冲击力。
满足观者视觉感受,推动广告主获取最大经济效益基于labvie软件编程能够实现:①根据用户需要,在文本输入框中填入相应信息,然后在LED屏中完整显示出来;②能够选择字体和设计用户自定义字体一、LED广告灯的总体设计1.1设计思路要将文本信息在LED屏中滚动显示,可LED一维跑马灯原理,其中用到的数组循环移位控制方法1.2设计原理将需要显示的文字通过“获取文本矩形区域”函数,和在“矩形中绘制文本”函数得到一张新的文本图片,然后通过“图片至像素图”和“还原像素图”函数,将文本图片转化为一位像素图,这个图是一种包含图片数据的数组,再通过数组循环移位函数将其显示在LED显示屏上。
1.3主要控件介绍①.用户自定义字体控件:根据用户自己需要设计的字体样式,其中包括删除线,斜体,下划线,轮廓、阴影、粗体等的设计;②.应用程序字体控件: 控件提供了四种字体,可与“用户自定义字体”函数搭配使用。
③“获取文本矩形区域”函数④“矩形中绘制文本”函数,为形成新的文本图片。
⑤“图片至像素图”函数,这个函数主要使图片转换为图片数据的簇。
⑥“还原像素图”函数。
⑦“一维数组循环移位”函数。
⑧“等待下一个整数倍毫秒”函数。
跑马灯课程设计
摘要:本设计使用89C51芯片,利用P0的8个端口连接8个发光二极管,通过P0.0到P0.7的值控制“跑马灯”的亮灭,以达到显示效果。
设计的中断程序要对多个按键动作进行响应,灯光变换的花样有4种,用4个按键k0,k1,k2,k3切换。
按下k1键,程序作左向流水灯; 按下k2按键程序作右向流水灯; 按下k3键为亮点向中间移动; 按下k4键为执行亮点向两边移动。
浏览了网上的各种作品及代码,通过各种实现代码的比较,和各种优化,总结出本程序,以较优秀的代码实现各种可控的“跑马”功能。
引言:本设计用4个开关按键控制8个发光二极管,组成为一排跑马灯进行各种样式的亮灯形式,在中断程序中处理多个按键动作的响应,以控制一排跑马灯的工作。
1设计概述本程序设计意在展示跑马灯的色彩样式及“跑马”变换效果,如果将跑马灯做大,会有很高的观赏价值。
我查阅书籍资料,浏览网上的各种作品及代码,通过各种实现代码的比较,和各种优化,总结出本程序,以较优秀的代码实现各种可控的“跑马”功能。
本设计的中断程序要对多个按键动作进行响应,灯光变换的花样有4种,用4个按键k1,k2,k3,k4切换。
进入程序后,程序作双向流水灯;按下k1键,程序作左向流水灯; 按下k2按键程序作右向流水灯; 按下k3键为亮点向中间移动; 按下k4键为执行亮点向两边移动。
2硬件电路设计及描述本设计使用89C51芯片,利用P0的8个端口连接8个发光二极管,通过P0.0到P0.7的值控制“跑马灯”的亮灭,以达到显示效果,连接图如图1所示。
图1:硬件电路连接图1利用P1.0到P1.3这4个端口作为4个控制开关的输入,控制开关连接INT0中断,按键触发中断响应以停止“跑马灯”当前的执行样式,进而改变跑马灯的显示样式。
图2:硬件电路连接图2综上所述,总体的电路连接如图3:图3:总体硬件电路连接图3软件设计流程及描述主程序的设计思路为,开始时执行左右流水灯,在中断服务程序中,首先读取按键状态,然后延时10ms,再次读取按键状态。
基于labview的交通灯设计
基于labview的交通灯设计虚拟仪器技术课程设计题目名称:基于LabVIEW的交通灯设计专业:班级:学号:学生姓名:指导老师:学年学期:2013--2014学年第一学期2013年12月26日一、设计要求和条件交通灯通常指由红、黄、绿三种颜色灯组成用来指挥交通的信号灯。
绿灯亮时,准许车辆通行,黄灯亮时,已越过停止线的车辆可以继续通行;红灯亮时,禁止车辆通行。
中华人民共和国道路交通安全法实施条例第四十条车道信号灯表示:(一)绿色箭头灯亮时,准许本车道车辆按指示方向通行;(二)红色叉形灯或者箭头灯亮时,禁止本车道车辆通行。
第四十一条方向指示信号灯的箭头方向向左、向上、向右分别表示左转、直行、右转。
第四十二条闪光警告信号灯为持续闪烁的黄灯,提示车辆、行人通行时注意瞭望,确认安全后通过。
二、设计目的为了提高电子线路系统设计与实际的应用能力,开始为期二周的电子线路设计与测试。
本课程实验使学生更好理解和巩固课堂上所讲的理论知识,提高学生的动手能力,加强学生独立分析问题和解决问题的能力,为进一步学习专业课作好准备,并为今后从事专业方面的工作打下坚实基础。
通过实践环节使学生在巩固所学各门专业基础课与专业课知识,进一步把其与虚拟仪器系统移植结合起来,增强学生对所学知识的实际应用能力和以及与当前专业的前沿知识结合,达到对电子线路设计与测试系统的学习和理解,为以后工作的研究和开发打好基础。
三、设计方案论证1、方案论证实现十字路口信号灯控制系统的方法有很多,可以通过可编程控制器PLC、单片机、标准逻辑器件等方案实现。
但是这些控制方法的功能修改及调试都需要硬件的支持在一定程度上增加了设计难度,提高了设计成本。
随着计算机技的迅猛发展,虚拟仪器技术在数据采集、自动测试和仪器控制领域得到广泛应用促进并推动测试系统和测量控制的设计方法与实现技术发生了深刻的变化。
“软件就是仪器”己经成为测试与测量技术发展的重要标志。
于是基于LabVIEW的智能交通灯控制系统就出现了,该系统可实现3种颜色灯的交替点亮,通过信息提示指挥车辆和行人安全通行,并能实时监测交通灯工作状态。
单片机16盏流水灯控制程序设计三
练习报告
项目编号EX3-4 项目名称单片机端口输出方波班级楼宇081 小组完成时间4月1日
完成人员林宗跃自我评价良好教师评价
任务要求:设计一个利用51单片机I/O口输出信号,控制16个发光二极管每0.2s交替闪亮,实现跑马灯,即D1-D2-…D15-D16-D…循环电缆。
闪亮时间由简单延时电路实现。
在MedWin集成开发环境中编辑、编译控制程序,并产生代码,在Proteus平台里仿真系统,撰写练习报告
任务分析:要求实现16盏灯的闪烁,每次灯亮的时间为0.2s形成跑马灯。
可以采用51单片机的I/O口(此时用作输出)中的P0和P1口来控制,通过指令周期性地重复改变此I/O口的电平状态,此时的间隔时间可以通过执行延时指令(无意义的指令)来实现。
根据状态控制码的分析,我们可以采用P1口的状态依次左移后再使P0口的状态依次右移来实现设计要求。
设计步骤:
1:硬件电路设计
(1)思路。
根据设计要求分析,可以将16个发光二极管分别接到P0口(P0.0~P0.7)和P1口(P1.0~P1.7)的端口上,采用直接驱动,为提高驱动电流能力,采用共阳极接法。
单片机其他电路接成最小系统即可。
(2)在Proteus中画好电路图,如图下图所示。
关于数码管日历以及流水灯功能实现设计报告
关于数码管日历以及流水灯功能实现设计报告1.设计内容:利用Quartus II 13.0建立CPU软核,同时用NIOS II 生成相应的驱动程序。
本人利用8个七段数码管作为日历显示器,同时以4个按键作为控制器,用6个LED灯显示四个按键状态,另外额外添加了8个LED实现流水灯。
2.设计要求:能实现日期显示,并且能够实现日期的修改,用key3控制程序是否运行,用key2控制修改的项目,初始状态默认为修改年份,按下key2状态变为修改月份,再按下key2状态变为修改天数,之后重复。
Key1和key0分别为增加和减少。
同时添加一个流水灯显示。
3.软核建立:利用Quartus II 13.0建立软核,在Qsys中分别添加以下相应器件:a.CPU使用的是f型的cpub.SDRAM位宽16,64Mbits,基地址保证为0x00000000c.CLOCK 内部时钟,频率为50MHzd.EPCS串行存储器,代码被从EPCS控制器的片内搬到RAM中执行e.SYSID系统基地址分配f.JTAG UART深度64位,用于内部测试和在线编程g.LIGHTS加入一个位宽为8的PIO控制8个LED灯用于流水灯显示h.SEG添加了8个七段数码管用于显示年月日i.KEY 添加了四个key输入管脚,分别为key1、key2、key3、key4,使用上升沿触发。
输入管脚经非门之后输入。
j.KEY_STATEPIO输出管脚控制LED等,显示按键目前数值状态:Generate之后,添加一个PLL,两个时钟输出,一个相位偏移为0,另外一个是75o。
将相位不变的时钟作为cpu时钟,另外一个作为sdram时钟。
Re_set接vcc,pll的输入接外接时钟,输入接非门进入,然后自动生成其他pins。
将I/O设置为普通的I/O,然后分配管脚。
编译,通过之后软核就生成完毕。
图 1 软核框图示意图4.NIOS II驱动程序编写:本实验设想是利用七段数码管显示日期,日期可以更改,并且能够显示流水灯。
基于LABVIEW串口通讯的LED控制
基于串口通讯的LED控制前言:LABVIEW的宣言”Software is instrument!”如果我们使用LABVIEW只停留在软件设计上,那就不能完全符合这个宣言的含义!其实NI为LABVIEW提供了一个强大的标准接口驱动应用——NI-VISA。
(/nisearch/app/main/p/bot/no/ap/tech/lang/zhs/pg/1/sn/catnav:du,n8:3.25 .123.1640,ssnav:sup/)只要你在LABVIEW的基础上再安装这个驱动,那你就可以设计一些连接硬件的实用型VI了!1.功能说明:前面板上有8个圆形指示灯与8个LED按键一一对应同时与单片机模块上的8个LED 灯也是一一对应的关系。
A.VISA资源名称通过下拉箭头选择LABVIEW需要连接的接口,本设计选择COM1即串口1。
B.当按下其中一个LED按键,对应的圆形指示灯亮三秒自动熄灭,同时单片机模块上对应的LED灯也是亮三秒自动熄灭。
C.当按下“流水灯”确定按钮,单片机上的8个LED灯按流水灯形式亮一次。
D.当按下“全灯闪烁”确定按钮,单片机上8个LED灯一齐闪烁三次。
E.当按下停止按钮,程序退出。
2.硬件连接本设计通过“PL2303的USB转串口线”把“STC89C52RC单片机小系统模块”(附带8个LED灯)的串口与笔记本电脑的“USB口”相连!3.软件设计A.C51程序部分设计使用KEIL软件编写下位机程序,即写入到单片机的程序。
程序代码如下:#include <reg52.h>typedef unsigned char uchar;typedef unsigned int uint;//****************************************IO端口定义***************************************sbit L ED1=P2^0;sbit L ED2=P2^1;sbit L ED3=P2^2;sbit L ED4=P2^3;sbit L ED5=P2^4;sbit L ED6=P2^5;sbit L ED7=P2^6;sbit L ED8=P2^7;uchar RX_Byte=0;//************************************串口初始化*********************************************************void StartUART( void ){ //波特率4800SCON = 0x50;TMOD = 0x20;TH1 = 0xFA;TL1 = 0xFA;PCON = 0x00;TR1 = 1;}//************************************通过串口将数据发送给PC端**************************************void TX_S_Byte(uchar TX_Byte){SBUF = TX_Byte;while( TI == 0 ); //查询法TI = 0;}//************************************通过串口接收PC端的数据**************************************void RX_S_Byte(void){while( RI == 0 ); //查询法RX_Byte = SBUF ;RI = 0;}//*********************ms延时函数*************************************** void Delay(uint x){uint i,j;for(i=0;i<x;i++)for(j=0;j<110;j++);}//************************跑马灯函数***************************void loop_led(void){uchar i,j;for(i=0;i<1;i++){P2=0xfe;Delay(500);for(j=0;j<7;j++){P2<<=1;P2|=0x01;Delay(500);}}}//****************************全灯闪烁*****************************void shan(void){uchar i;for(i=0;i<3;i++){P2=0;Delay(500);P2=0xff;Delay(500);}}//************************************主函数************************************************************void main(void){uchar TX_data=0x0f;//定义发送数据StartUART();//串口初始化P2=0xff;//8个LED灯初始化,全灭Delay(100);//延时100mswhile(1)//主循环{RX_S_Byte();//接收串口数据switch(RX_Byte)//匹配数据,执行对应分支操作{case 0x01: LED1=0;Delay(3000);LED1=1;break;//LED1灯亮3S熄灭case 0x02: LED2=0;Delay(3000);LED2=1;break; //LED2灯亮3S熄灭case 0x03: LED3=0;Delay(3000);LED3=1;break; //LED3灯亮3S熄灭case 0x04: LED4=0;Delay(3000);LED4=1;break; //LED4灯亮3S熄灭case 0x05: LED5=0;Delay(3000);LED5=1;break; //LED5灯亮3S熄灭case 0x06: LED6=0;Delay(3000);LED6=1;break; //LED6灯亮3S熄灭case 0x07: LED7=0;Delay(3000);LED7=1;break; //LED7灯亮3S熄灭case 0x08: LED8=0;Delay(3000);LED8=1;break; //LED8灯亮3S熄灭case 0x09: loop_led();P2=0xff;break;//8个LED灯执行流水灯一次后全灭case 0x0a: shan();break;//8个LED灯闪烁3次default: break;//乱码跳出}}}BVIEW程序部分设计1.在前面板添加以下几个控件:8个圆形指示灯、10个确定按钮(8个为LED按钮,2个为功能启动按钮)、VISA资源名称(新式—I/O—VISA资源名称)、停止按钮2.切换到程序框图窗口,先在上面添加以下两个函数:串口配置函数和串口关闭函数。