计算机课程设计红绿灯,labview红绿灯课程设计报告

1.1 课程设计目的

(1) 掌握labview的软件编程方法;

(2) 培养综合应用所学知识来指导实践的能力; 1.2 课程设计的任务

本次课程设计要完成一个十字交通灯的设计,这个交通灯系统能为东西和南北两个方向行驶的车辆指示能否通行。这个交通路口每一个方向上的红绿灯按绿—黄—红的顺序循环,每个循环的时间为60秒,其中红灯时间为30秒,黄灯时间5秒,绿灯时间25秒,当按下停止键时,循环停止。 1.3 课程设计的要求及技术指标

(1) 能够将现实生活中的交通灯出现顺序在电脑上面显示; (2) 要有时间现实; (3) 具有有好的人机界面; 1.4总体设计思路

此次设计可以用12盏灯来指示路口的红绿灯状况,他们分别是下文中的东西红

1、东西红

2、东西黄

1、东西黄

2、东西绿

1、东西绿

2、南北红

1、南北红

2、南北黄

1、南北黄

2、南北绿

1、南北绿2。

信号灯按一定规律循环点亮,每盏红灯亮30秒,每盏黄灯亮5秒,每盏绿灯亮25秒。每个循环包括四个阶段。第一阶段:南北绿(

1、2)和东西红(

1、2)亮25秒;第二阶段:南北黄(

1、2)和东西红(

1、2)亮5秒;第三阶段:南北红(

1、2)和东西绿(

1、2)亮25秒;第四阶段:东西黄(

1、2)和南北红(

1、2)亮5秒;中间放置一个时间计数器,用于观测时间的进行。

用计数器产生以秒为单位的计时信号,再将信号进行分段,每到一个时间段时时间系统进行相应的动作。

总体流程图如下:

1.5前面板的设计

前面板是VI的用户界面。创建VI时,通常应先设计前面板,然后在前面板上创建输入/输出任务。本课程设计总前面板的设计比较简单,需要用到12盏灯、一个时间显示器、一个停止键即可。其中的12盏灯,在控件选板中选择指示灯,将它放在前面板合适的位置,单击鼠标右键,更改指示灯的属性,改变指示灯的大小并设定颜色,做出一个合适的指示灯,再用框将每组灯框起来,做成一个交通灯。在每组交通灯合适的位置放置一个数值显示控件作为交通灯的计时器。在前面板合适的位置放置一个开关按钮,控制循环的启停。这样交通灯系统的前面板就做好了。

1.6 定时信号的产生

定时信号在程序框图中右键→执行过程控制→while循环中产生

由于i产生的时间频率过快,所以在程序框图中右键→执行过程控制→时间延迟,用于控制i产生时间的频率,防止过快,或者过慢,可自行控制。选中该图标,右键属性,设置配置时间延迟1秒。

1.7 为了更好的观察时间的变化,添加数值显示器

1.8 时间信号的分段

将得到的时间信号除以每个循环所用的时间60秒,取余数。得到的余数x的范围为0<=x<60,当0<=x<25时,条件满足,执行第一个条件结构里面的程序,东西红和南北绿灯亮。当25<=x<30时,条件满足,执行第二个条件结构里的程序,南北黄河东西红灯亮。当30<=x<55时,条件满足,执行第三个条件结构里的程序,东西绿和南北红灯亮。当55<=x<60时,条件满足,执行第四个条件结构里的程序,东西黄和南北红灯亮。

1.9 总控制程序

本设计采用的是编程方法控制红绿灯的亮灭,简单而又方便。在程序框图中右键→编程→公式节点,在该公式节点框中输入C语言程序,并设置输入输出节点;

2.0 类型转换

由于控制程序中设置的变量时整型,而指示灯是布尔型,所以需要在两者之间添加强制转换,以便于两者之间的连接。

通过新数据类型平化和还原,使x强制转换为某个类型。如函数无法转换数据而必须对其解释,Labview可使用临时缓冲区。 2.1 程序框图总体设计

2.2 各个工作阶段截图

第一阶段:0~25秒内,东西红和南北绿灯亮。

第二阶段:25~30秒内,东西红和南北黄灯亮。

第三阶段:30~55秒内,东西绿和南北红灯亮。

第四阶段:55~60秒内,东西黄和南北红灯亮

2.3 心得体会

此次课程设计圆满结束,对于我经过努力的结果,我感到非常满意。由于大家平时都是学习理论知识,没有过实际开发设计的经验,虽然上课的时候讲过很多LabVIEW的应用,但课后也从没真正地应用过这个软件,对它一点都不熟悉,拿到这个设计的时候都不知道怎么做。但通过对LabVIEW进行了几天的摸索学习,我终于把课程设计做好了,并发现LabVIEW很实用。通过这次课程设计我基本学会了虚拟仪器设计的步骤和基本方法,提高了动手能力,增强了理论联系实际的能力。

在这个课程实际中,我真正的感受到了虚拟仪器的优越性,“软件即仪器”,仅仅在LabVIEW上写入一些图形程序,就可以实现相应的仪器的功能,只需借助一台计算机,一个LabVIEW软件,就可以实现很多仪器的功能。

课程设计的过程中,我遇到不少的问题,但最终我还是战胜困难,取得了成功,当然其中很大一部分功劳都要归功于指导老师和同学们,如果没有指导老师和与同学们的相互交流学习,我的课程设计肯定不会如此轻松。总之,在这次课程设计中,我受益匪浅。

微机原理红绿灯课程设计报告

实验报告 2009-09-02 18:16:02 阅读1337 评论2 字号:

大中小

要:

介绍了基于8255A的交通灯系统设计方案,重点论述了软件系统的编写方法。实际结果表明该系统方案切实可行。

近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结

构软硬件结合,加以完善。

十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用8255A芯片实现了A、B口设置红、绿灯点亮时间的功能;红绿灯循环点亮,红绿灯变换之间,黄灯闪烁5秒

关键字: 交通灯、软件系统

设计内容 本次课程设计是交通灯实时控制器,主要是用发光二极管模拟十字路口的红绿灯,如下图所示。交通灯控制器的设计与实现主要是通过编写汇编语言程序利用8255的A口和B口对灯的亮与灭进行控制。由于实验室的仪器上只有16个发光二极管,所以还得弄清楚是每个发光二极管所代表的灯的颜色及方向。16个发光二级管,且从高到低依次为:D15D14D13D12D11D10D9D8 D7D6D5D4D3D2D1D0。在设计的过程中做了如下的规定:R表示红灯,G表示绿灯,Y表示黄灯,E表示方向东,W表示方向西,S表示方向南,N表示方向北,D15D14表示ER,D13D12表示SR,D11D10表示EG,D9D8表示SG,D7D6表示WR,D5D4表示NR,D3D2表示WG,D1D0表示NG,D15D14D11D10表示EY,D7D6D3D2表示WY,D13D12D9D8表示SY,D5D4D1D0

表示NY。 交通灯控制示意图 具体时间的分配和控制如下:

东西方向绿灯亮,南北方向红灯亮,时间20秒 东西方向黄灯闪烁,南北方向红灯亮,时间5秒 东西方向红灯亮,南北方向绿灯亮,时间20秒 东西方向红灯亮,南北方向黄灯闪烁,时间5秒

设计器材设备 微机、TD-PIT++实验箱

实验电路图 设计流程图

总体设计过程

1.根据选择题目的要求,结合所参考的资料,选择8255单元芯片以及LED显示单元电路。

1)

电路元器件的选择 可编程并行通信接口芯片8255 2)

完成8255单元电路的设计及参数计算

8255的A口地址是:IOY0+00H*4

B口地址是:IOY0+01H*4 C口地址是:IOY0+02H*4 控制端口地址是:IOY0+03H*4

2.

软件流程图的设计 3.

电路接线图的设计 4.

软件的设计(程序见附录) 1)

芯片初始化,写8255的方式字 2)

延时,延时是通过设置指令的循环次数实现的 3)

东西方向绿灯亮,南北方向红灯亮,时间20秒 4)

东西方向黄灯闪烁,南北方向红灯亮,时间5秒 5)

东西方向红灯亮,南北方向绿灯亮,时间20秒 6)

东西方向红灯亮,南北方向黄灯闪烁,时间5秒

7) 判断是否有键按下 8)

返回到DOS 5.

进行软硬件调试

因采用了pc机和微机原理实验箱,硬件电路设计相对比较简单,利用微机实验箱上的8255并行口、发光二级管,便构成了交通灯控制系统。

心得体会

通过这次课程设计,加强了我的动手、思考和分析解决问题的能力。在整个设计过程中,我们按照老师给出的总体方案设计了一套电路原理和电路连接图。通过查阅各方面资料我们编写了程序代码,并通过了调试,最终证实了该系统

方案确实可行。 在设计过程中,了解了很多元器件的功能,并且对于其在电路中的使用有了更多的认识。在

红绿灯模拟系统: 前面板:模拟的十字路口红绿灯和两条人行横道。 程序框图:1·本程序主要用到平铺式顺序结构和层叠式 顺序结构顺序执行程序语句,用真假常量 来控制灯亮与不亮。 2·本程序好用到了while循环和for循环。 3·本程序依照国家交通法规定来执行的。 4·本程序的难点就在于各个路口和人行横道 在时域上的协调,以确保安全畅通的通行! 说明:一·人行横道1,2红灯禁止行人通行 通道A---允许左转,右转,禁止 直行。 通道B---允许左转,右转,禁止 直行。 通道C---允许右转, 禁止 左转,直行。 通道D---允许右转, 禁止 左转,直行。 一过程共15秒=13秒+3秒闪烁提示。 二·人行横道1绿灯允许行人通行,人行横道2红灯 通道A---允许直行,右转,禁止 左转。 通道B---允许直行, 禁止 右转,左转。 通道C---允许右转, 禁止 左转,直行。 通道D---禁止 左转,右转,直行。 二过程共10秒。 三·人行横道1黄灯闪烁提醒行人将要禁止行人通行 了,人行横道2红灯 通道A---允许直行,右转,禁止 左转。 通道B---允许直行, 禁止 右转,左转。 通道C---允许右转, 禁止 左转,直行。 通道D---禁止 左转,右转,直行。 三过程共3秒 四·人行横道1,2红灯禁止行人通行。 通道C---允许左转,右转,禁止 直行。 通道D---允许左转,右转,禁止 直行。 通道A---允许右转, 禁止 左转,直行。 通道B---允许右转, 禁止 左转,直行。 四过程共15秒=13秒+3秒闪烁提示。 五·人行横道2绿灯允许行人通行,人行横道1红灯 通道C---允许直行,右转,禁止 左转。 通道D---允许直行, 禁止 右转,左转。 通道B---允许右转, 禁止 左转,直行。 通道A---禁止 左转,右转,直行。 五过程共10秒。 六·人行横道2黄灯闪烁提醒行人将要禁止行人通行 了,人行横道1红灯 通道C---允许直行,右转,禁止 左转。 通道D---允许直行, 禁止 右转,左转。 通道B---允许右转, 禁止 左转,直行。 通道A---禁止 左转,右转,直行。 六过程共3秒。 七·循环一,二,三,四,五,六,七。
目 录 第一章 概述 1 第二章 总体设计 2 2.1 时钟显示的结构 2 2.2设计总思路 2 第三章 软件设计 3 3.1获取时间的各整型数据 3 3.2提取数字的各位 4 3.3 七段布尔显示控件编码 4 3.4 译码、布尔显示数字 5 3.5 显示时间的区段 5 3.6 闪烁 6 第四章 程序调试 7 总 结 8 附 录 9 程序框图前面板 9 程序面板程序框图 10 第一章 概述 虚拟仪器技术就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、 测量和自动化的应用。灵活高效的软件能帮助您创建完全自定义的用户界面,模块化的 硬件能方便地提供全方位的系统集成,标准的软硬件平台能满足对同步和定时应用的需 求。这也正是NI近30年来始终引领测试测量行业发展趋势的原因所在。只有同时拥有高 效的软件、模块化I/O硬件和用于集成的软硬件平台这三大组成部分,才能充分发挥虚拟 仪器技术性能高、扩展性强、开发时间少,以及出色的集成这四大优势。LabVIEW(Lab oratory Virtual Instrument Engineering Workbench,实验室虚拟仪器集成环境)是一种图形化的编程语言(又称G语言),它是 由美国NI公司推出的虚拟仪器开发平台,也是目前应用最广、发展最快、功能最强的图 形化软件集成开发环境。使用这种语言编程时,基本上不用写程序代码,取而代之的是 程序框图。LabVIEW的特点如下: 编程简单; 开发周期短; 高效性; 开放性; 自定义性; 性价比高,能一机多用。 第二章 总体设计 2.1 时钟显示的结构 本课题要求设计一个数字时钟。通过获取电脑的系统时间,并分离出给数字,在通过 布尔显示显示。数字的显示主要是7个长条的布尔显示组成,原理与7段数码管相似。7段 数码管显示不同的数字主要通过其7个布尔不同的真假值控制,将0- 9对应的7段布尔显示值依次存入一个布尔数组里,只需提取此数组的不同段即可让其显 示不同的值,如显示"0"提取数组的0-6位分别赋值给7段布尔显示。 2.2设计总思路 获取时间的控件可以获取的信息有:年、月、日、星期、天数、时、分、秒、秒小数 等,取得的值为整型数据,利用除数取余即可分离个十位。为了获得更好的显示效果将 背景改为黑色,布尔显示的颜色为绿色。 第三章 软件设计 3.1获取时间的各整型数据 软件中获取日期/时间(秒)控件从计算机系统中自动提取时间,并转换成日期、时 间等,控件图如下: 图3-1 在获取时间后,将数据解除捆绑即分别取得年、月、日、时间等,如下图: 图 3-2 3.2提取数字的各位 通过除10取余便可得到个位,商为十位,以此方法也可求出年的各个数字,如下图: 图3-3 3.3 七段布尔显示控件编码 取出各位数字后,并不可直接显示,要通过统一编码规范显示的格式,这样才能显示 各位数,编码各段如下: 图3-4 A、B、C、D、E、F、G分别对应着七段布尔显示控件,要显示"0"时A~G的赋值分别为:1 1 1 1 1 1 0(1代表真,0为假),显示其他数字也是按此做法的。最后将此70个值串接起来存入一 个布尔数组里,如图3-4右。 3.4 译码、布尔显示数字 要显示数字时,只需将数字乘以7,再将乘积的值作为索引在那存放真值的数组里寻找对 应显示的七个布尔显示控件的值。如显示'2',则从数组的第2*7=14位开始,依次取出7 个(分别代表着七个布尔的真值),其他也同理。最后捆绑成簇,因为七段显示布尔已 做成簇。Labview表达如下: 图 3-5 3.5 显示时间的区段 显示的时间被分成7段,即凌晨、早上、上午、中午、下午、傍晚、晚上,只需通过表达 式节点计算出此时属于哪一段(1- 7),再通过七个布尔文本分别显示即可,布尔显示控件叠加在一起,程序及显示效果如 下图: 图3-6 3.6 闪烁 闪烁时只要判断其是否秒数大于0.5S,大于则显示(为真),小于则熄灭(为假),图 3-7为程序框图,3-8为实际效果: 图 3-7 图 3-8 第四章 程序调试 程序很容易上手,没有C语言那么复杂的语法等,图形界面让人更直观的对各部分进 行操作。此课程设计重点及难点在于布尔显示数字,开始时感觉其数据量非常大,由于 簇的特点使得程序的复杂性大大降低,而且程序更加清晰。显示的主要借助于平时常用 的数码管,它的显示原理就如本课程设计的要求是一样的,主要有统一的编码,显示时 通过解码即可显示出数字。 开始做好7段布尔显示后,不管怎么看都很生硬,完全不是数字时钟的模样,研究了 半天,原来是背景的缘故,当我换背景成黑色,且布尔显示位绿色后,显示效果大不一 样,让人感觉到它就是一个电子手表一样。不过它还是有一点不足:显示的字还是那么 生硬,不生动,字体台统一、死板了。不过由于是布尔
根据提供的引用内容,LabVIEW十字路口红绿灯课程设计的要求及技术指标如下: 1. 实现一个十字交通灯的设计,能为东西和南北两个方向行驶的车辆指示能否通行。 2. 每个方向上的红绿灯按照绿—黄—红的顺序循环,每个循环的时间为60秒。 3. 其中红灯时间为30秒,黄灯时间5秒,绿灯时间25秒。 4. 当按下停止键时,循环停止。 根据引用,可以通过LabVIEW前面板和程序框图的逻辑,完成十字路口红路灯的模拟。具体实现步骤如下: 1. 打开LabVIEW软件,创建一个新的VI。 2. 在前面板上添加控件,包括4个LED灯(分别表示东、西、南、北方向的红绿灯)、一个停止按钮和一个计时器。 3. 在程序框图中添加代码,实现红绿灯的循环控制。具体实现方式可以使用循环结构和条件结构,根据不同的时间段控制LED灯的亮灭。 4. 在停止按钮的事件结构中添加代码,实现按下按钮后循环停止的功能。 以下是一个简单的LabVIEW程序框图示例,用于实现十字路口红绿灯的循环控制: ```LabVIEW While Loop | |--Sequence | | | |--Case Structure (30s) | | | | | |--LED (Red) | | | |--Case Structure (5s) | | | | | |--LED (Yellow) | | | |--Case Structure (25s) | | | |--LED (Green) | |--Sequence | | | |--Case Structure (30s) | | | | | |--LED (Red) | | | |--Case Structure (5s) | | | | | |--LED (Yellow) | | | |--Case Structure (25s) | | | |--LED (Green) | |--Sequence | | | |--Case Structure (30s) | | | | | |--LED (Red) | | | |--Case Structure (5s) | | | | | |--LED (Yellow) | | | |--Case Structure (25s) | | | |--LED (Green) | |--Sequence | |--Case Structure (30s) | | | |--LED (Red) | |--Case Structure (5s) | | | |--LED (Yellow) | |--Case Structure (25s) | |--LED (Green) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值