灯毕业设计论文--基于eda技术的交通灯设计内容摘要:
if ena_scan 39。 139。 and recount 39。 139。 then case sign_state is when 000 load conv_std_logic_vector greensn_time,8。 sign_state ?00 ”时,南北方向绿灯亮 25s。 when 001 load conv_std_logic_vector yellowsn_time,8。 sign_state “ 001”时,南北方向黄灯亮 5s。 when 010 load conv_std_logic_vector redsn_time,8。 sign_state “ 010”时,南北方向红灯亮 15s。 when 011 load conv_std_logic_vector redew_time,8。 sign_state “ 011”时,东西方向红灯亮 15s。 when 100 load conv_std_logic_vector yellowew_time,8。 sign_state “ 100”时,东西方向黄灯亮 5s。 when 101 load conv_std_logic_vector greenew_time,8。 sign_state “ 101”时,东西方向绿灯亮 25s。 when others load conv_std_logic_vector yellowsn_time,8。 end case。 当外部信号发生器提供了 1kHZ 的时钟信号,并且重新计数信号 recount 为“ 1”时 ,load 信号就会按照预先设置的数值逐 1 递减 ,直至减到零为止 ,当下一个重新计数信号 recount 再次为“ 1”时,会重复此过程。 在这段程序的设计中用到了 conv_std_logic_vector value,n 语句,它的用法就是将已经定义的数值 value 转换成 n 位 bit 的表示方法。 例如程序中:when 000 load conv_std_logic_vector greenew_time,8。 就是将十进制的25 转换成二进制的 19,这就使设计减少了很多不必要的麻烦。 倒计时控制模块 通过日常生活中的观察,我发现在一些交通路口已经开始使用倒计时显示器,它们的作用就是用来提示车辆行人目前还有多长时间信号灯会发 生变化,这样车辆行人就可以提前判断是否有足够的时间通过路口,进而就可以避免很多意外事故的发生。 例如:南北方向绿灯,车辆处于正常行驶中,东西方向红灯,车辆处于等待中,若南北方向行驶的车辆看到倒计时显示器上可以通行的时间很短,可能就会放慢速度等待下一次通行,这样在东西方向绿灯时,车辆就能够正常行驶,不会为等待南北方向强行的车辆而耽误更多的时间。 如此循环下去,道路就会畅通无阻了。 考虑到有些路口的交通拥堵现象较为严重,车辆会在道路上排成很长的一队,这样排在较远距离的司机就很难看清楚倒计时显示器上变化的数字,有可能会 影响到车辆之间的正常行驶。 因此,如果采用发光二极管作为倒计时的显示装置就会使司机和行人一目了然,同样也能够起到很好的提示作用。 所以, hld3 倒计时控制电路 见图 9 最主要的功能就是负责接收 hld2 电路输出的值,然后将其转换成 BCD 码,并利用发光二极管显示出来,让车辆行人能够清楚地知道再过多久信号灯就会发生变化。 图 9 倒计时控制电路 系统输入信号: clk:由外部信号发生器提供 1kHz 的时钟信号; reset:系统内部自复位信号; ena_1hz:接收由时钟发生电路提供的 1Hz 的脉冲信号; recount:重新计数的使能控制信号; load:负责接收计数器所需要的计数数值。 系统输出信号: led:负责将计数数值转换成 BCD 码,并利用发光二极管显示倒计时状态; next_state:当计数器计时完毕后,负责产生一个脉冲信号,作为下一个状态的触发信号。 经仿真后得到的时序图 见图 10 : 图 10 倒计时控制电路时序图 由倒计时控制电路的时序图 见图 10 可以看出,当 clk 时钟信号来临后,在 ena_1hz脉冲信号的同时激励下, led会按照预先设置好的时间开始逐 1递减,进行倒计时显示。 process clk,reset begin if reset 39。 139。 then t_ff 00000000。 led 0000000000000000000000000。 当 reset 1,则将 t_ff 与 led清零。 elsif clk39。 event and clk 39。 139。 then if ena_1hz 39。 139。 then if recount 39。 139。 then t_ff load1。 当 reset 0,clk 为上升沿触发,且 ena_1hz与 recount 为 1 时, load 将减 1 的数值赋给 t_ff。 else t_ff t_ff1。 当 reset 0,clk 为上升沿触发,且ena_1hz 为 1 时, recount 为 0 时, t_ff 减 1。 end if。 end if。 case conv_integer t_ff is when 0 led 24 downto 0 1XXXXXXXXXX00000000000000。 when 1 led 24 downto 0 1XXXXXXXXXX00000000000000。 when 2 led 24 downto 0 1XXXXXXXXXX00000000000000。 when 3 led 24 downto 0 1XXXXXXXXXX00000000000000。 „„ when 23 led 24 downto 0 1XXXXXXXXXX1XXXXXXXXXX110。 when 24 led 24 downto 0 1XXXXXXXXXX1XXXXXXXXXX111。 when others led 24 downto 0 0000000000000000000000000。 end case。 这段程序是采用的就是查表的方法并且利用发光二极管进行倒计时显示 ,如图 10 所示 :当绿灯点亮开始计数后, load 就会将减 1 后的值赋给 t_ff,之后t_ff 又会从 case 语句中查找到相对应的值再赋给 led 显示所剩余的时间。 在程序编写过程中运用到了 conv_integer 语句,它可以将 t_ff 所赋的值转换成整数。 由图可知 led 是 25 位的系统输出信号,负责控制发光二极管的输出,所以 25 位的输出信号可以分成七组控制发光二极管的显示,其中“ 1”为点亮,“ 0”为熄灭。 其对应方式如下表所示: 发光二极管 7 组 6 组 5 组 4 组 3 组 2 组 1 组 led 24 downto 0 000y xwvu tsrq ponm lkji hgfe dcba 表 1:LED25 位系统输出信号 红绿灯信号控制模块 在红绿灯交通信号系统中,大多数的情况是通过自动控制的方式指挥交通。 但为了配合高峰时段,防止交通拥挤,有时还必须使用手动控制,即让交通警察自行指挥交通。 因此, hld4 红绿灯信号控制电路 见图 11 除了负责监控路口红绿灯之外,最主要的功能就 是能够利用开关来切换手动与自动的模式,让交通警察能够通过外部输入的方式来控制红绿灯交通信号系统的运做。 图 11 红绿灯信号控制电路 系统输入信号: clk:由外部信号发生器提供 1kHZ 的时钟信号; reset:系统内部自复位信号; ena_scan:接收由时钟发生电路提供的 250Hz 的时钟脉冲信号; ena_1hz:接收由时钟发生电路提供的 1Hz 的脉冲信号; flash_1hz:接收由时钟发生电路提供的 1Hz 的脉冲时钟信号; a_m:手动、自动切换按钮( 1:自动、 0:手动); st_butt: 红绿灯状态切换按钮(在手动操作下,每按一次按钮就变换一个状态); next_state:接收由倒计时控制电路提供的下一个状态的触发信号。 系统输出信号: recount:产生重新计数的输出使能控制信号; sign_state:产生输出状态信号; red:负责红色信号灯的显示; green:负责绿色信号灯的显示; yellow:负责黄色信号灯的显示。 经仿真后得到的时序图 见图 12 : 图 12 红绿灯信号控制电路时序图 图 12 显示的是第三种状态时东西方向红灯亮、南北方向绿灯亮。 红绿灯信号控制电路的作用就是产生的一系列的控制信号去完成之前几个模块设定好的功能。 交通灯系统总述及仿真 在程序设计语言中,程序的开始总会调用库 library 来提供设计程序时所需要的基本命令。 但是,如果要进一步设计较为复杂的程序时,库中的命令可能就无法 支持了。 因此,可以设计一个子程序来满足程序设计的需求。 上述问题在硬件描述语言的设计中也存在,在 VHDL 程序中的第一行 library ieee。 就是要使用 IEEE 设计好的库文件,但如果需要使用的元器件并不在库中时,就只能自己定义了。 一个程序包中至少应该包含以下结构中的一种: 常数说明:如定义系统数据总线通道的宽度。 VHDL 数据类型说明:主要用于在整个设计中通用的数据类型。 元件定义:元件定义主要规定在 VHDL 设计中参与文件例化的文件接 口界面。 子程序:并入程序包的子程序有利 于在设计中任一处进行方便地调 用。 经仿真后得到的时序图 见图 13 : 图 13 连接各个模块后的时序图 连接各个模块后的时序图 见图 13 是综合了上述 4 个模块后仿真出来的波形。 图 13 显示的也是状态三时东西方向红灯亮、南北方向绿灯亮,这与之前红绿灯信号控制电路仿真出来的波形结果是相同的。 结束语 通过这次课程设计,我进一步加深了对电子设计自动化的了解。 并进一步熟练了对 QuartusII 软件的操作。 在编写程序的过程中,遇到了很多问题,使我发现自己以前学习上存在的不足。 通过与同学探讨和请教老师,终于把问题都解决了,并加深了对交通灯原理和设计思路的了解。 同时也掌握了做课程设计的一般流程,为以后的设计积累了一定的经验。 做课程设计时,先查阅相关知识,把原理吃透,确定一个大的设计方向,在按照这个方向分模。灯毕业设计论文--基于eda技术的交通灯设计
相关推荐
农业技术全集之植,萎病的生态防治技术 棉花枯、黄萎病是棉花的重要病害,直接影响棉花的产量,病害严重时可使棉花绝产,因此是限制老棉区棉花产量提高的重要因素。 实际生产中要选用抗枯、黄萎病性好的品种。 市场上虽有多种针对黄萎病的药剂出售,实际效果并不十分理想。 因此,除控制好枯、黄萎病的传播途径外,从栽培耕作学的角度出发,改变棉花枯、黄萎病发生的生态环境,使之不利于枯、黄萎病的发生,从而减轻棉花枯
农业技术全集之植,蚜,俗称腻虫、油汗。 危害特征以成若蚜群集于叶背和嫩尖上吸食汁液,被害组织细胞受到破坏,致使棉叶向背面卷曲,植株矮缩不长,同时分泌蜜露,导致霉菌滋生,影响光合作用。 发生规律苗蚜 5 月中旬6 月中旬,伏蚜 7 月中旬8 月中旬,每年繁殖1020 代。 近年来在我国棉花主产区上升为主要虫害,严重影响棉花生产。 防治技术防治指标:棉花苗期蚜虫防治指标:3 片真叶前卷叶株率 510
.使用户更合理的维护产品 B.使用户更好的使用产品 C.使用户更安全的使用产品 D.使用户自己能维修产品 注解:技术与设计 1,158 页 7以下 哪一项不是工艺 ( C) A.汽车的装配流程 B.景泰蓝的上色方法 C.可口可乐的生产配方 D.手工业的艺术品 7我们在设计制作的过程中,为了降低制作成本和制作难度,常希望使用一些“标准件”。 你对 “标准件”的理解是 ( A)
1、农业技术全集之植,熟、稳产、高产栽培技术 (一)选好品种。 在品种选择上应以抗逆性强和稳产高产为主要着眼点,既早熟性好,又有高产潜力,而且受灾后恢复快,具备这几条的品种应成为首选。 (二)在播种适期内偏晚播种。 降低极端天气对棉苗的影响,规避苗期风险。 棉花成熟早晚不完全取决于播种早晚,不要一看升温立即播种,在气温未稳定前,异常升温后必有降温要靠安全使用除草剂、营养剂拌种、苗期勤中耕等措施
酸盐及氧化铅等为主要药剂)。 [炸药]雷汞、叠氮化铅、硝铵炸药、氯酸钾炸药、高氯酸铵炸药、硝化甘油、乙二醇二硝酸酯、黄色炸 药、液态氧炸药、芳香族硝基化合物类炸药。 [起爆器材]雷管、实弹、空弹、信管、引爆线、导火线、信号管、焰火。 爆炸品是将分解爆炸性物质,经适当调配而制成的成品。 关于这类物质的使用,必须遵守政府有关法令的规定,并按照导师的嘱咐进行处理。 5. 有毒物质