




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
is one of the practical form of values. The so-called values refers to the objective things are of no value and the value of fundamental perspective. Different values, peoples behaviour, attitudes, ways are different. People-oriented focus on human value and reality, we need the broadest masses as values. Adhere to people-oriented values, is to make the economy more development, improve democracy, cultural prosperity, and live a happier; is deeply concerned that human development and human values, development of social and human development of rational unified, insisted in the material civilization, political civilization and spiritual civilization in the overall advancement of Socialist civilization to a higher level. Also want to see that persons value is not only meet your needs, also is to meet the needs of others and the community. Adhere to people-oriented, to strongly advocate every community member, serve others, beneficial to the community of people. The so-called Outlook, attitude is on the record, including who, how to create a record of achievements, how to evaluate performance, and so on. What values, what kind of Outlook. Adhere to people-oriented Outlook, is on the premise of respecting the interests and power of people, creating a popular, warm hearts, steady heart performance, creating serve for one officer, the benefit of achievements, and overall construction of well-off society and promoting the all-round development of peoples performance. Achievement evaluation in both economic accomplishments, take another look at the effectiveness of social progress; changes in both urban and rural change; both hard environment to strengthen and take another look at the soft environment improvement momentum of development at present, depending on the potential for sustainable development. Leave people to talk about values are worthless and leave people to talk about Outlook is not what the performance. 4. people responded to the starting point of the question, and replied to questions point. Man is the sum of social relationships. We cannot leave the chichuanyongdu, housing, tourism and entertainment, entertaining, and even certain political, economic, cultural and social environment, and so on. Due to human needs, all walks of life will come into being. People create for their survival, and continue enjoying the results of the construction. Colorful in the transformation of the people of the world, community vitality in the creation of man. Therefore, any work we do, the starting point is human, what are people. Us speed up development, the core of which is to meet the needs of people, including survival needs, emotional needs and self-actualization needs. It should be noted that people are not machines, not the slave of an object, not to be controlled. People have their own personality, has its own personality, has its own dignity. Person in need of care, you need to understand, need to meet. It is said that in the agricultural society, people plant; in industrial society, man is an animal; the information society, return数字系统与逻辑设计实验-课题三:交通灯控制器课题三:交通灯控制器课题三:交通灯控制器一设计课题的任务要求(一)、实验目的1. 熟练掌握 VHDL 语言和QuartusII 软件的使用;2. 理解状态机的工作原理和设计方法;3. 掌握利用 EDA 工具进行自顶向下的电子系统设计方法;(二)、相关知识本实验要利用 CPLD 设计实现一个十字路口的交通灯控制系统,与其他控制系统一样,本系统划分为控制器和受控电路两部分。控制器使整个系统按设定的工作方式交替指挥车辆及行人的通行,并接收受控部分的反馈信号,决定其状态转换方向及输出信号,控制整个系统的工作过程。路口交通灯控制系统的有东西路和南北路交通灯 R(红)、Y(黄)、G(绿)三色,所有灯均为高电平点亮。设置20s 的通行时间和5s 转换时间的变模定时电路,用数码管显示剩余时间。提供系统正常工作/复位和紧急情况两种工作模式。(三)、实验任务1.基本任务:设计制作一个用于十字路口的交通灯控制器。1). 南北和东西方向各有一组绿、黄、红灯用于指挥交通,绿灯、黄灯和红灯的持续时间分别为20 秒、5 秒和25 秒;2). 当有特殊情况(如消防车、救护车等)时,两个方向均为红灯亮,计时停止,当特殊情况结束后,控制器恢复原来状态,继续正常运行;3). 用两组数码管,以倒计时方式显示两个方向允许通行或禁止通行的时间;2.提高要求:1). 增加左、右转弯显示控制功能;2). 紧急状况时增加声光警告功能;3). 自拟其它功能。二系统设计(包括设计思路、总体框图、分块设计)(一)设计思路1.总体设计-输入部分:1) CLK时钟频率输入,可由实验板上直接提供,为准确确定时间长度,选择High挡的1MHz高频信号。2) 紧急状态按键拨码开关EMERGENCY,当将其置为高电平,表示紧急情况发生,两个方向均为红灯亮,计时停止,蜂鸣器蜂鸣;当置其为低电平,信号灯和计时器恢复原来状态,正常工作。3) 复位拨码开关RESET,当将其置为高电平,表示复位,工作停止,全部回到初始状态;当置其为低电平,重新开始工作。2.总体设计-输出部分:1) 东西方向和南北方向各使用4个LED显示,LIGHT1,LIGHT2,红黄绿各代表红黄绿灯,剩下两个红灯分别表示限制两个方向的禁止左转。2) 东西方向和南北方向计时均为2位数,共需要4个LED七段数码管显示。由于为共阴极控制,输出一个CAT_TEMP信号控制选择数码管显示,NUM信号输出显示的内容。3) 增加一个BELL输出,控制紧急状态下的蜂鸣器。(二)总体框图1.输入输出示意图CLK LIGHT1EMERGENCYLIGHT2RESETBELLNUMCATTEMPCLK开关1数码管显示输出数码管共阴极控制东西向交通灯南北向交通灯蜂鸣器开关22.模块示意图控制器紧急请求系统复位BELL控制器南北灯(包括禁止左转灯)东西灯(包括禁止左转灯)复位紧急请求分频器时钟时间计数器译码器时间倒计时显示警铃3.流程图YES南北绿,东西红东西禁止左转灯亮是否绿灯时间到20s?对黄灯开始计时南北黄,东西红东西禁止左转灯亮是否黄灯时间到5s?对绿灯开始计时南北红,东西绿南北禁止左转灯亮是否绿灯时间到20s?对黄灯开始计时南北红,东西黄南北禁止左转灯亮是否黄灯时间到5s?对绿灯开始计时YESYESYESNONONONO启动/复位任何/当前正常运行状态警报开关是否打开?全部亮红灯+警铃YESNO4.RTL图5.状态转移列表(状态机)红绿灯显示状态状态S0南北绿灯亮,东西红灯亮,东西禁止左转S1南北黄灯亮,东西红灯亮,东西禁止左转S2南北红灯亮,东西绿灯亮,南北禁止左转S3南北红灯亮,东西黄灯亮,南北禁止左转S4南北东西红灯都亮,南北东西都禁止左右转(三)分块设计 -在VHDL设计中,采用自顶向下的设计思路。1.顶层模块中,根据硬件设计,设置如下端口:u 外部时钟信号:CLKu 紧急状态按键:EMERGENCYu 南北方向状态灯:LIGHT1u 东西方向状态灯:LIGHT2u 蜂鸣器控制:BELLu 数码管显示信号:NUMu 数码管共阴极控制:CAT_TEMP2.在底层中,把不同功能分模块设计。u FREQUENCY模块,由于外部时钟信号CLK的频率为50MHz,而实际需要的内部计时时钟频率为1Hz,需要一个分频电路。输入端口:CLK外部时钟信号输出端口:CLK_OUT分频后信号u COUNTER模块,由于整个过程的显示周期为50秒,即50个状态,所以该模块为计数器模块,计数周期为50,输入为1Hz的外部时钟,并加入紧急信号和复位信号,当输入紧急信号,计数停止,当输入复位信号,计数置1.通过该计数器的计数输出信号来控制LIGHT模块和COUNTDOWN模块的状态。输入端口:CLK时钟信号,EMERGENCY紧急信号,RESET复位信号输出端口:COUNTER计数状态信号,BELL报警信号u COUNTDOWN模块,倒计时显示模块,通过输入的COUNTER和CLK来控制数码管共阴极和7段数码管数字显示控制。输入接口:CLK时钟信号,COUNT计数器信号输出接口:CAT_TEMP共阴极控制,NUMIN数字输出u SHOW模块,接收数字信号,进行7位数码管显示译码输出。输入接口:NUMIN输入信号输出接口:NUM译码输出u LIGHT信号灯控制模块,使用状态机,双进程控制5个状态输入接口:COUNT计数器信号,EMERGENCY紧急状态控制输出接口:LIGHT1,LIGHT2信号灯输出三仿真波形及波形分析仿真波形-由于时钟为50MHz,故在仿真时为了波形图更易读,将分频器设为20分频1状态周期为150,在每个状态内,数码管共阴极进行扫描,且扫描同时数码管显示进行循环变化2周期状态,在120,2125,2645,4650进行红绿灯显示变化3.一整个周期状态150,在120,2125,2645,4650进行红绿灯显示变化 4.多个周期循环5.紧急状态和复位状态四源程序(注释)l TRAFFIC.vhd-主程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY TRAFFIC IS PORT( CLK,RESET,EMERGENCY:IN STD_LOGIC;-输入时钟信号,复位信号,紧急信号 LIGHT1,LIGHT2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);-输出东西南北向两个红信号NUM:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);-输出7端数码管选通信号CAT_TEMP:OUT STD_LOGIC_VECTOR(5 DOWNTO 0);-输出7端数码管共阴极信号BELL:OUT STD_LOGIC;-输出警铃信号NUMIN:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);-输出信号(用十进制在波形图显示数字)COUNTERS:OUT STD_LOGIC_VECTOR (5 DOWNTO 0)-输出信号(用十进制在波形图中显示周期状态) );END TRAFFIC;ARCHITECTURE TRAFFICSHOW OF TRAFFIC ISSIGNAL TEMPCLK:STD_LOGIC;SIGNAL TEMPCOUNT:STD_LOGIC_VECTOR(5 DOWNTO 0);SIGNAL TEMPNUM:STD_LOGIC_VECTOR(3 DOWNTO 0);COMPONENT FREQUENCY IS-组合FREQUENCY模块,以下同 PORT( CLK:IN STD_LOGIC; CLK_OUT:OUT STD_LOGIC );END COMPONENT;COMPONENT COUNTER ISPORT(CLK:IN STD_LOGIC;RESET:IN STD_LOGIC;EMERGENCY:IN STD_LOGIC;COUNTER:OUT STD_LOGIC_VECTOR (5 DOWNTO 0);BELL:OUT STD_LOGIC;COUNTERS:OUT STD_LOGIC_VECTOR (5 DOWNTO 0);END COMPONENT;COMPONENT LIGHT IS PORT( EMERGENCY:IN STD_LOGIC; COUNT:IN STD_LOGIC_VECTOR(5 DOWNTO 0); LIGHT1,LIGHT2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0) );END COMPONENT;COMPONENT COUNTDOWN IS PORT( COUNT:IN STD_LOGIC_VECTOR(5 DOWNTO 0); CLK:IN STD_LOGIC; NUMIN:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CAT_TEMP:OUT STD_LOGIC_VECTOR(5 DOWNTO 0); NUMIN1:OUT STD_LOGIC_VECTOR (3 DOWNTO 0) );END COMPONENT;COMPONENT SHOW ISPORT(NUM_IN:IN STD_LOGIC_VECTOR(3 DOWNTO 0);NUM:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END COMPONENT;BEGIN-将各个模块接口连接起来U1:FREQUENCY PORT MAP (CLK=CLK,CLK_OUT=TEMPCLK);U2:COUNTER PORT MAP (BELL=BELL,CLK=TEMPCLK,RESET=RESET,EMERGENCY=EMERGENCY,COUNTER=TEMPCOUNT,COUNTERS=COUNTERS);U3:LIGHT PORT MAP (EMERGENCY=EMERGENCY,COUNT=TEMPCOUNT,LIGHT1=LIGHT1,LIGHT2=LIGHT2);U4:COUNTDOWN PORT MAP (NUMIN1=TEMPNUM,CAT_TEMP=CAT_TEMP,COUNT=TEMPCOUNT,CLK=CLK,NUMIN=NUMIN);U5:SHOW PORT MAP (NUM_IN=TEMPNUM,NUM=NUM);END TRAFFICSHOW;l FREQUENCY.vhd-分频器模块,1HzLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY FREQUENCY ISPORT(CLK:IN STD_LOGIC;CLK_OUT:OUT STD_LOGIC);END FREQUENCY;ARCHITECTURE FREQ OF FREQUENCY ISSIGNAL TEMP:INTEGER RANGE 0 TO 4999999;-设置分频999999,则为1HzBEGINPROCESS(CLK)BEGINIF(CLKEVENT AND CLK=1)THENIF(TEMP=4999999)THENTEMP=0;ELSETEMP=TEMP+1;END IF;IF TEMP4999999 THEN CLK_OUT=0; ELSE CLK_OUT=1; END IF; END IF;END PROCESS;END;l COUNTER.vhd-计数器模块(主要控制模块),用外部时钟设置了50个状态的一个周期150 -由于该交通灯的状态为50种,数码管有50种显示状态 -完全通过控制计数器的停止和复位来控制闪灯和数码管LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY COUNTER ISPORT(CLK:IN STD_LOGIC;-外部时钟输入RESET:IN STD_LOGIC;-复位信号输入EMERGENCY:IN STD_LOGIC;-紧急信号输入COUNTER:OUT STD_LOGIC_VECTOR (5 DOWNTO 0):=000001;-计数信号输出BELL:OUT STD_LOGIC;-警铃信号输出COUNTERS:OUT STD_LOGIC_VECTOR (5 DOWNTO 0)-计数信号输出(波形));END COUNTER;ARCHITECTURE CON OF COUNTER ISSIGNAL TEMPCOUNT:INTEGER RANGE 1 TO 50:=1;-定义信号计数,初始状态为1BEGINPROCESS(CLK,RESET,EMERGENCY)BEGIN IF CLKEVENT AND CLK=1 THEN-外部时钟,1Hz IF EMERGENCY=0 THEN-当不是紧急状态 BELL=0; IF RESET=1 THEN-复位状态 TEMPCOUNT=1;-计数器回到初始状态1 ELSIF TEMPCOUNT=50 THEN TEMPCOUNT=1;-计数器计数状态,加1 ELSE TEMPCOUNT=TEMPCOUNT+1; END IF; ELSIF EMERGENCY=1 THEN-当紧急信号为高电平,进入紧急状态 TEMPCOUNT=TEMPCOUNT;-计数器停止计数 BELL=1;-警铃为高电平 END IF; END IF; END PROCESS;COUNTER=CONV_STD_LOGIC_VECTOR(TEMPCOUNT,6);-内部信号转化为输出COUNTERS=CONV_STD_LOGIC_VECTOR(TEMPCOUNT,6);-内部信号转化为输出END CON;l LIGHT.vhd-交通灯显示信号LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY LIGHT IS PORT( EMERGENCY:IN STD_LOGIC;-紧急信号输入,控制紧急状态 COUNT:IN STD_LOGIC_VECTOR(5 DOWNTO 0);-计数器输入,控制其它正常状态 LIGHT1,LIGHT2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)-交通灯信号输出 );END LIGHT;ARCHITECTURE LIGHTSHOW OF LIGHT ISTYPE STATES IS-设置状态机,控制状态(S0,S1,S2,S3,S4);SIGNAL STATE:STATES;SIGNAL TEMPCOUNT:INTEGER RANGE 1 TO 50;BEGINP1:PROCESS(COUNT,EMERGENCY)BEGINTEMPCOUNT=CONV_INTEGER(COUNT);-将二进制输入转化为十进制计数信号 IF EMERGENCY=1 THEN-EMERGENCY为高电平时为紧急状态 STATE STATE STATE STATE STATELIGHT1=0010;-南北绿灯 LIGHT2LIGHT1=0100;-南北黄灯 LIGHT2LIGHT1=1001;-南北红灯,且禁止左转 LIGHT2LIGHT1=1001;-南北红灯,且禁止左转 LIGHT2LIGHT1=1001;-南北红灯,且禁止左转 LIGHT2=1001;-东西红灯,且禁止左转 END CASE;END PROCESS;END LIGHTSHOW;l COUNTDOWN.vhd-7段数码管倒计时控制模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY COUNTDOWN IS PORT( COUNT:IN STD_LOGIC_VECTOR(5 DOWNTO 0);-计数器输入信号 CLK:IN STD_LOGIC;-时钟信号 NUMIN:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);-输出7段数码管显示数字信号,输出到译码模块 CAT_TEMP:OUT STD_LOGIC_VECTOR(5 DOWNTO 0);-7端数码管共阴极输出控制信号 NUMIN1:OUT STD_LOGIC_VECTOR (3 DOWNTO 0)-输出7段数码管显示数字信号(波形图观察) );END COUNTDOWN;ARCHITECTURE COUNTSHOW OF COUNTDOWN ISSIGNAL TEMP:INTEGER RANGE 0 TO 3;SIGNAL COUNTER:INTEGER RANGE 1 TO 50;SIGNAL CAT:STD_LOGIC_VECTOR(5 DOWNTO 0):=011111;SIGNAL NUM_IN:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINP1:PROCESS(CLK)-内部时钟,控制7段数码管显示扫描内容BEGIN COUNTER=CONV_INTEGER(COUNT);IF(CLKEVENT AND CLK=1)THENIF(TEMP=3)THENTEMP=0;ELSETEMP=TEMP+1;END IF;END IF;END PROCESS P1;P2:PROCESS(COUNTER,TEMP) BEGIN COUNTERCASE TEMP IS-在每个状态内部设置数码管扫描过程,由于COUNTER和-扫描时钟不同 -则可在数码管上同时显示4个数字,以状态1-(COUNTER=1)为例 -显示“1924”,并在共阴极上扫描,以下同 -共标记50种状态 WHEN 0=NUM_IN=0001;CATNUM_IN=1001;CATNUM_IN=0010;CATNUM_IN=0100;CATCASE TEMP IS WHEN 0=NUM_IN=0001;CATNUM_IN=1000;CATNUM_IN=0010;CATNUM_IN=0011;CATCASE TEMP IS WHEN 0=NUM_IN=0001;CATNUM_IN=0111;CATNUM_IN=0010;CATNUM_IN=0010;CATCASE TEMP IS WHEN 0=NUM_IN=0001;CATNUM_IN=0110;CATNUM_IN=0010;CATNUM_IN=0001;CATCASE TEMP IS WHEN 0=NUM_IN=0001;CATNUM_IN=0101;CATNUM_IN=0010;CATNUM_IN=0000;CATCASE TEMP IS WHEN 0=NUM_IN=0001;CATNUM_IN=0100;CATNUM_IN=0001;CATNUM_IN=1001;CATCASE TEMP IS WHEN 0=NUM_IN=0001;CATNUM_IN=0011;CATNUM_IN=0001;CATNUM_IN=1000;CATCASE TEMP IS WHEN 0=NUM_IN=0001;CATNUM_IN=0010;CATNUM_IN=0001;CATNUM_IN=0111;CATCASE TEMP IS WHEN 0=NUM_IN=0001;CATNUM_IN=0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农业科技养殖协作与农产资源调配合同
- 2025年蚌埠市淮上区区属国有企业招聘考试试题【答案】
- 儿童画晒鱼课件
- 儿童画大鸭梨课件
- 双美培训课件
- 第九章 9.2.4总体离散程度的估计 人教A版高中数学必修第二册教学课件
- 广东省高三文科数学试卷
- 人教版中国地理上册课件
- 湖南特岗数学试卷
- 景区综合服务中心项目投标书(范文模板)
- 手枪钻手传振动测试报告5
- 《音乐基础-乐理·视唱》
- YS/T 921-2013冰铜
- GB/T 5193-2007钛及钛合金加工产品超声波探伤方法
- GB/T 1041-2008塑料压缩性能的测定
- GA/T 1555-2019法庭科学人身损害受伤人员后续诊疗项目评定技术规程
- 酶学(高级生化课件)
- 新人教版七年级上册初中生物全册课时练(课后作业设计)
- 仿制药生物等效性试验指导原则(日本)
- 一诺LZYN质量流量计使用说明书-2009版
- 2022年部编版二年级语文下册期末试卷(及参考答案)
评论
0/150
提交评论