


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验八报告学院:物理与信息工程学院 专业:通信工程年级:2007级班级:二班学号:110700221姓名:林明明指导老师:杨秀芝实验八交通灯控制电路的设计一、实验目的:进一步学习复杂数字电路的设计方法,提高利用硬件描述语言进行电路设计的技巧和熟练程度。二、实验要求及原理:1、满足图1顺序工作流程。图中设南北方向的红、黄、绿灯分别为NSR、NSY、NSG,东西方向的红、黄、绿灯分别为EWR、EWY、EWG。它们的工作方式有些必须是并行进行的,即南北方向绿灯亮,东西方向红灯亮;南北方向黄灯亮,东西方向红灯亮;南北方向红 灯亮,东西方向绿灯亮;南北方向红灯亮,东西方向黄红灯亮。图1交通灯顺序工作流程
2、图2、应满足两个方向的工作时序:即东西方向亮红灯时间应等于南北方向亮黄、绿灯时 间之和,南北方向亮红灯时间应等于东西方向亮黄、绿灯时间之和。时序流程图2所示。图2中,假设每个单位时间为 3秒,则南北、东西方向绿、黄、红灯亮时间分别15秒、3秒、18秒,一次循环为36秒。其中红灯亮的时间为绿灯、黄灯亮的时间之和。123456789 10 11 12123456t _nLrLrLn_nLnLnLrLrLrmnLnLrLrmrLnLnsg|NSYIIIINSR厂ewrEWG1 i1EWYTT5t5tkt6tbk:图2交通灯时序工作流程图3、十字路口要有数字显示,作为时间提示,以便人们更直观地把握时间
3、。具体为:当 某方向红灯亮时,置显示器为某值,然后以每秒减1计数方式方式工作,直至减到数为“ 0 ”, 十字路口红、绿灯交换,一次工作循环结束,进入下一步某方向地工作循环。例如:当南北方向从黄灯转换成红灯时,置南北方向数字显示为 24,并使数显计数器开 始减“ 1”计数,当减到“ 0”,时,此时红灯灭,而南北方向的绿灯亮;同时,东西方向的 红灯亮,并置东西方向的数显为 24。三、实验内容 :1、根据实验要求及原理 1、2 画出交通指示灯控制电路原理框图。提示:两个方向的控制电路可以共用一个24 进制计数器实现。2、用VHDL硬件描述语言层次化设计方法进行顶层文件和各模块电路的设计。3、用 Qu
4、artusII 对设计进行编译、综合、仿真,给出仿真波形和时序分析数据(不包括数 码显示部分) 。4、通过 QuartusII 集成环境,将设计下载到实验电路上进行硬件测试。管脚锁定:clk: clk1 43clk1start:PIO2330SW1NSGPIO1929LED12NSYPIO2028LED11NSRPIO2127LED10EWGPIO22LED3EWYPIO12LED2EWRLED15、 画出完整的交通灯控制电路原理框图(含数码显示部分)。6、修改上述内容 2 的设计,增加数码显示部分。注意:两方向的计数要求分别显示在数码管1、 2和数码管 7、 8上。7、用MAX_plus H
5、对设计进行编译、综合、仿真,给出仿真波形和时序分析数据。8、再次将设计下载到实验电路上进行硬件测试。新增管脚锁定:A(6): PIO6 11 SEG gA(5): PIO5 10 SEG fA(4): PIO4 9 SEG eA(3): PIO3 8 SEG dA(2): PIO2 7 SEG cA(1): PIO1 6 SEG bA(0): PIO0 5 SEG a*S(2):80*S(1):79*S(0):78四、思考题:1、控制电路除用有限状态机实现外,还可以采用什么方法实现?2、 如果增加夜间显示(即全部黄灯闪烁),电路该怎样设计?实验结果:交通灯控制电路原理框图:clk start
6、NSEW:U11>EWG1>EWI>EWYI >NSG1>NSRJ>NSYuhcktedispr-jqEirtJ".ledMSI7-01J!>ledEWR.Ol顶层电路的VHDL描述:library ieee;ii use ieee.std_logic_1164.all;use ieee.std_logic_ un sig ned.all;en tity traffic is| port(clk,start:in std_logic;I NSG,NSY,NSR,EWG,EWY ,EWR:out stdogic;i| ledNS,ledEW:o
7、ut std_logic_vector(7 downto 0); 一 一end;architecture behav of traffic isIcomp onent NSEWI port(clk,start:in std_logic;I NSG,NSY,NSR,EWG,EWY ,EWR:out stdogic);end comp onent;comp onent led7s| port(clock,start:in std_logic;I ledns,ledew:out stdogic_vector(7 downto 0); 一一end comp onent;i signal clk0,cl
8、k1,clk2,clknsr,clkewr:std_logic;beg inu1:NSEW port map(clk=>clk,start=>start,|NSG=>NSG,NSY=>NSY ,NSR=>NSR,'EWG=>EWG,EWY=>EWY ,EWR=>EWR);u2:led7s port map(clock=>clk,start=>start,led ns=>ledNS,ledew=>ledEW);end;'各模块电路的' VHdlL描述:一-一-”-模块clock的VHDL苗述libra
9、ry ieee;| use ieee.stdogic_1164.all;| use ieee.std_logic_unsigned.all;en tity clock isi port(clk,start:in std_logic;i clk0,clk1,clk2:out stdogic);end clock;architecture behav of clock isbeg inprocess(clk,start)! variable cql:stdogic_vector(6 downto 0);beg inif clk'event and clk='1' theni
10、f start='1'the nif cql<48 then cql:=cql+1;else cql:=(others=>'0');end if;if cql<24 the nclk1<='1'else clk1<='0'end if;if cql>23 and cql<48 the nclk2<='1'else clk2<='0'end if;end if;end if;end process;end; _模块cnt10的VHDL苗述LIBRA
11、RY IEEE;| USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 IS1 PORT(CLK,E N,L D:IN STD_LOGIC;| CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);I D:IN STD_LOGIC_VECTOR(3 DOWNTO 0);COUT:OUT STD LOGICi_);END CNT10;ARCHITECTURE BEHAV OF CNT10 ISBEGINPROCESS(CLK,EN)i VARIABLE CQI :STD_LOGIC_V
12、ECTOR(3 DOWNTO 0);BEGINIF CLK'EVENT AND CLK='1' THENIF LD='1' THEN CQI:=D;IF EN='1' THENIF CQI>0 THEN CQI:=CQI-1;ELSE CQI:="1001"END IF;END IF;END IF;END IF;IF CQI=0 THEN COUT<='1'ELSE COUT<='0'END IF;CQ<=CQI;END PROCESS;END BEHAV丄_模块
13、NSG的VHDL描述library ieee;I| use ieee.std_logic_1164.all;I use ieee.std_logic_unsigned.all;en tity NSG is| port(clk,start:in std_logic;| cq:out std_logic_vector(3 downto 0);I oout:out std_logic);一end;architecture one of NSG isbeg inprocess(clk,start)i variable cqi:stdogic_vector(3 downto 0);beg inif cl
14、k'event and clk='1' thenif start='1' thenIif cqi<11 the n cqi:=cqi+1;else cqi:=(others=>'0');end if;end if;if cqi<5 the n oout<='1'else oout<='0'end if;end if;cqv=cqi;end process;end one;"模块NSR '的VHD描述二二一 ”-”library ieee;| use ieee.
15、std_logic_1164.all;i use ieee.std_logic_unsigned.all;en tity NSR isI port(clk,start:in std_logic;| cq:out stdogic_vector(3 downto 0);| oout:out std_logic ); _end;architecture one of NSR isbeg inprocess(clk,start)I variable cqi:std_logic_vector(3 downto 0);ibeg inif clk'event and clk='1'
16、thenif start='1' thenif cqi<11 the n cqi:=cqi+1;else cqi:=(others=>'O');end if;end if;if cqi<6 the n oout<='0'else oout<='1'end if;end if;cq<=cqi;end process;end_ong; _模块NSEW 的VHDL描述library ieee;I use ieee.std_logic_1164.all;I use ieee.std_logic_unsi
17、gned.all;en tity NSEW isi port(clk,start:in std_logic;i NSG,NSY,NSR,EWG,EWY ,EWR:out stdogic);end;architecture one of NSEW isIbeg inprocess(clk,start)i variable cqi:std_logic_vector(5 downto 0);beg inif clk'event and clk='1'and start='1' theniif cqi<47 the n cqi:=cqi+1;else cq
18、i:=(others=>'0');end if;if cqi<21 then NSG<='1'else NSG<='0'end if;if cqi>20 and cqi<25 then NSY<='1'else NSY<='0'end if;if cqi<25 then EWRv='1'else EWR<='0'end if;if cqi>24 and cqi<49 then NSR<='1'
19、;else NSR<='0'end if;if cqi>24 AND cqi<45 then EWG<='1'else EWG<='0'end if;if cqi>44 AND CQI<49 then EWY<='1'else EWY<='0'end if;end if;end process;end_on$; _模块led7s的VHDL描述:library ieee;I use ieee.std_logic_1164.all;use ieee.std_logi
20、c_ un sig ned.all;en tity led7s is! port(clock,start:in std_logic;| ledns,ledew:out stdogic_vector(7 downto 0) ); 一一end;architecture behav of led7s is! signal cqi : std_logic_vector(7 downto 0);| signal cql : std_logic_vector(7 downto 0);! signal cnt6: std_logic_vector(7 downto 0);| signal clk : std
21、_logic; beg inclk <= clock ;process(clk)beg inif clk'event and clk='1' then| if start='1'the niif cnt6<47 thencn t6<=cnt6+1;|else cn t6<="00000000"'end if;iend if;| end if;end process;process(clk)beg inif clk'event and clk='1' thenif start=
22、39;1'the nIifcqi>32 then cqi<=cqi-1;elsif cqi=32 then cqi<="00011001"elsif cqi>16 then cqi<=cqi-1;elsif cqi=16 then cqi<="00001001"elsif cqi>0 then cqi<=cqi-1;elsif cqi=0 and cn t6=0the n cqi<="00100100"end if;if cql>32 then cql<=cql
23、-1;elsif cql=32 then cql<="00011001"elsif cql>16 the n cql<=cql-1;elsif cql=16 then cql<="00001001"elsif cql>0 the n cql<=cql-1;elsif cql=0 and cn t6=24the n cql<="00100100"end if;end if;end if;end process;ledew<=cqi;led ns<=cql;end; _ _ _ _ _
24、 _ _ _ _ _交通灯工作时序仿真波形:33L65 saoioei141.39 s1I5S.13 s敢茁|isBESE sII71.23 s17615n.g? 51 1Vue2; 0茁Itu-tB I11Dll 1 H IIa i i i i iii i a ii1 a 1iiii1111111 I 1 11 1HmnnnniuimiruWlT-Rnwirun:uwmmnnjihnjHiBCIIII 1 II 1 II I 1i1BCi»i>iiiHII1II1|1iI;iliii!11111»1111111 iiiniiiiiii ai1 iiiiiiiIIIEYKBT11 1 1 H 1 H 1 1 H1! 1 1 1 1 1 1iii1iIi>ikiiii1111a1111111 i i i b i h i i i 1 91 II 11 111 11i 1 1 1 1 1 1国1迦KOO1 1 1 1 1 1 I飞曉糜痿迥趣呢姿茨亜駆亜耳?厂BSGBL1 1 II 1 1 11 1 1 1 » II 1 1 11 1 1L1 1 1 1 1OBD1i i i i I i a i qi 1II II 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年智能制造及工业互联网相关考试试题及答案
- 2025年建筑行业施工员招聘笔试题目与答案
- 自考英语写作模板及范文集锦
- 网络营销策略与数据分析案例
- 企业安全生产管理实操指南
- 养殖场环保及建设项目环境影响评价报告
- 高考试题《登鹳雀楼》专项复习册
- 人员素质测评方法与实践满分作业
- 部编本小学语文第二册教学课件
- 房地产销售合同样本与解读
- TCTBA 001-2019 非招标方式采购代理服务规范
- 冷库储存生姜合同范本
- 《小狗钱钱》完整版
- 《酒类鉴赏威士忌》课件
- 消化道出血患者的护理
- 各种奶茶配方资料
- 《国家电网公司电力安全工作规程(火电厂动力部分、水电厂动力部分)》
- 八年级语文下册-专题08-语言表达与运用-(中考真题演练)(原卷版)
- 肾脏病与药物治疗
- 泵站管理制度
- 20以内的加法口算练习题4000题 205
评论
0/150
提交评论