数字电路课程设计:交通灯设计_第1页
数字电路课程设计:交通灯设计_第2页
数字电路课程设计:交通灯设计_第3页
数字电路课程设计:交通灯设计_第4页
数字电路课程设计:交通灯设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电自08班周星星20080711126课 程 设 计 报 告课程设计课题:交通灯报告人:周星星 20080711126同组成员:包晓红、李振明、徐林课程设计时间:12月05日-12月17日 课题:交通灯项目提纲:1-主要功能1.1-交通灯各个模式转换表1.2-交通灯LCD显示格式2-各个模块程序2.1-交通灯LCD显示模块程序2.2-交通灯主控制模块程序3- 原理图 4-心得体会1、 主要功能本交通灯共有4个指示灯(南北主干道直走SN、南北主干道向左拐SWNE、东西主干道直走EW、东西主干道向左拐WNES),有 3种模式(白天模式、黑夜模式、紧急模式)。1.1交通灯各个模式转换表A.白天模式 条件:复位信号R=0;正常/紧急信号CM=0;昼夜信号SWITCH=1.南北南北左拐东西东西左拐S0绿灯40s红灯00s红灯70s红灯00sS1黄灯05s红灯00s红灯30s红灯00sS2红灯00s绿灯20s红灯25s红灯00sS3红灯00s黄灯05s红灯05s红灯00sS4红灯50s红灯00s绿灯20s红灯00sS5红灯30s红灯00s黄灯05s红灯00sS6红灯25s红灯00s红灯00s绿灯20sS7红灯05s红灯00s红灯00s黄灯05s B.黑夜模式条件:复位信号R=0;正常/紧急信号CM=0;昼夜信号SWITCH=0.南北南北左拐东西东西左拐S0绿灯20s红灯00s红灯40s红灯00sS1黄灯05s红灯00s红灯20s红灯00sS2红灯00s绿灯10s红灯15s红灯00sS3红灯00s黄灯05s红灯05s红灯00sS4红灯35s红灯00s绿灯15s红灯00sS5红灯20s红灯00s黄灯05s红灯00sS6红灯15s红灯00s红灯00s绿灯10sS7红灯05s红灯00s红灯00s黄灯05s C.紧急模式 条件:复位信号R=0; 正常/紧急信号CM=1南北南北左拐东西东西左拐S0红灯00s红灯00s红灯00s红灯00s1.2交通灯LCD显示格式SNSNEWEW灯灯灯灯2.各个模块程序 2.1交通灯主控制模块-交通灯主控制程序- 1.设置环境为十字路口。- 2.配置灯:南北向、东西向左走/直走右走指示灯各一。- 3.采用6000000分频,以期达到秒脉冲计时的效果。- 4.具备紧急、白天、夜晚三种模式;复位后可任意切换。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL; entity JTD is port (CPIN,R ,SWITCH,CM:IN STD_LOGIC; SN,SWNE,EW,WNES :OUT STD_LOGIC_VECTOR(7 DOWNTO 0); EWRYG,SNRYG,SWNERYG,WNESRYG:OUT STD_LOGIC_VECTOR(2 DOWNTO 0) );end entity;-器件名称:JTD- 端口及其作用:- CPIN: 时钟脉冲输入 R: 复位信号输入-SWITCH: 白天/夜间模式切换信号输入- CM: 正常/紧急模式切换信号输入-SN: 南北向倒计时输出 SWNE: 南北向左指灯倒计时输出-EW: 东西向倒计时输 WNES: 东西向左指灯倒计时输出architecture JGT of JTD isSIGNAL CTEW,CTSN,CTSWNE,CTWNES:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL CPCT: INTEGER RANGE 0 TO 6000000;SIGNAL CP: STD_LOGIC;TYPE STATES IS (S0,S1,S2,S3,S4,S5,S6,S7);SIGNAL S: STATES;-实体名称:JGT-定义信号和类型变量:-CTSN: 南北向倒计时影子信-CTSWNE: 南北向左指灯倒计时影子信号-CTEW: 东西向倒计时影子信号-CTWNES: 东西向左指灯倒计时影子信号- CP: 内置时钟信号 CPCT: CP脉冲计时信号- S: 状态切换变量,仅可以取S0到S7共8个不同的值BEGINPROCESS(CPIN,R)BEGINIF R=1 THEN CPCT=6000000;ELSIF CPIN=1 AND CPIN EVENT THEN IF CPCT=0 THEN CPCT=6000000;CP=NOT CP; ELSE CPCT=CPCT-1; END IF;END IF;END PROCESS;-延时进程-作用:为下面的主进程提供合适的激励-采用6000000分频,保证数据经过足够长的时间后被改变。PROCESS(SWITCH,CM,CP,R)BEGINIF CM=0 THENIF SWITCH=1 THENIF R=1 THENS=S0;CTSN=X28;CTEW=X46;CTWNES=X00;CTSWNE=X00;SNRYG=001;EWRYG=100;SWNERYG=100;WNESRYGIF CTSN=X01 THEN S=S1;CTSN=X05;CTEW=X1E;SNRYG=010;EWRYG=100;SWNERYG=100;WNESRYG=100; ELSE CTSN=CTSN-1;CTEWIF CTSN=X01 THEN S=S2;CTEW=X19;CTSN=X00;CTSWNE=X14; SWNERYG=001;EWRYG=001;WNESRYG=100;SNRYG=100; ELSE CTSN=CTSN-1;CTEWIF CTSWNE=X01 THEN S=S3;CTSWNE=X05;CTEW=X05; SWNERYG=010;EWRYG=100; WNESR YG=100;SNRYG=100; ELSE CTSWNE=CTSWNE-1;CTEWIF CTSWNE=X01 THEN S=S4;CTSN=X32;CTSWNE=X00;CTEW=X14; SNRYG=100;EWRYG=001;SWNERYG=100;WNESRYG=100; ELSE CTSWNE=CTSWNE-1;CTEWIF CTEW=X01 THEN S=S5;CTSN=X1E;CTEW=X05; SNRYG=100;EWRYG=010;SWNERYG=100;WNESRYG=100; ELSE CTSN=CTSN-1;CTEWIF CTEW=X01 THEN S=S6;CTSN=X19;CTWNES=X14;CTEW=X00; SNRYG=100;WNESRYG=001;SWNERYG=100;EWRYG=100; ELSE CTSN=CTSN-1;CTEWIF CTWNES=X01 THEN S=S7;CTSN=X05;CTWNES=X05; SNRYG=100;EWRYG=010;SWNERYG=100;WNESRYG=100; ELSE CTSN=CTSN-1;CTWNESIF CTWNES=X01 THEN S=S0;CTSN=X28; CTEW=X46;CTWNES=X00; SNRYG=001;EWRYG=100;SWNERYG=100;WNESRYG=100; ELSE CTSN=CTSN-1;CTWNESNULL; END CASE; END IF;ELSIF SWITCH=0 THENIF R=1 THENS=S0;CTSN=X14;CTEW=X28;CTWNES=X00;CTSWNE=X00;SWNERYG=100;WNESRYG=100;SNRYG=001;EWRYGIF CTSN=X01 THEN S=S1;CTSN=X05;CTEW=X14; SNRYG=010;EWRYG=100;SWNERYG=100;WNESRYG=100; ELSE CTSN=CTSN-1;CTEWIF CTSN=X01 THEN S=S2;CTEW=X05;CTSN=X00;CTSWNE=X0F; SWNERYG=001;EWRYG=100;SNRYG=100;WNESRYG=100; ELSE CTSN=CTSN-1;CTEWIF CTSWNE=X01 THEN S=S3;CTSWNE=X05;CTEW=X05; SWNERYG=010;EWRYG=100;SNRYG=100;WNESRYG=100; ELSE CTSWNE=CTSWNE-1;CTEWIF CTSWNE=X01 THEN S=S4;CTSN=X23;CTSWNE=X00;CTEW=X0F; SNRYG=100;EWRYG=001;SWNERYG=100;WNESRYG=100; ELSE CTSWNE=CTSWNE-1;CTEWIF CTEW=X01 THEN S=S5;CTSN=X14;CTEW=X05; SNRYG=100;EWRYG=010;SWNERYG=100;WNESRYG=100; ELSE CTSN=CTSN-1;CTEWIF CTEW=X01 THEN S=S6;CTSN=X0F;CTEW=X00;CTWNES=X0A; SNRYG=100;WNESRYG=001;SWNERYG=100;EWRYG=100; ELSE CTSN=CTSN-1;CTEWIF CTWNES=X01 THEN S=S7;CTSN=X05;CTWNES=X05; SNRYG=100;EWRYG=100;SWNERYG=100;WNESRYG=010; ELSE CTSN=CTSN-1;CTWNESIF CTWNES=X01 THEN S=S0;CTSN=X14;CTEW=X28;CTWNES=X00; SNRYG=001;EWRYG=100;SWNERYG=100;WNESRYG=100; ELSE CTSN=CTSN-1;CTWNESNULL; END CASE;END IF;END IF;ELSIF CM=1THENCTSN=X00 ;CTEW=X00;CTSWNE=X00 ;CTWNES=X00;EWRYG=100;SNRYG=100;WNESRYG=100;SWNERYG=100 ;END IF;END PROCESS;-采用16进制计数,故需要在输出时将数据进行转换PROCESS(CTEW,CTSN,CTSWNE,CTWNES)BEGINIF CTEWX0A THEN EW=CTEW; ELSIF CTEWX14 THEN EW=CTEW+6; ELSIF CTEWX1E THEN EW=CTEW+12; ELSIF CTEWX28 THEN EW=CTEW+18; ELSIF CTEWX32 THEN EW=CTEW+24; ELSIF CTEWX3C THEN EW=CTEW+30; ELSIF CTEWX46 THEN EW=CTEW+36; ELSE EW=CTEW+42;END IF;IF CTSNX0A THEN SN=CTSN; ELSIF CTSNX14 THEN SN=CTSN+6; ELSIF CTSNX1E THEN SN=CTSN+12; ELSIF CTSNX28 THEN SN=CTSN+18; ELSIF CTSNX32 THEN SN=CTSN+24; ELSIF CTSNX3C THEN SN=CTSN+30; ELSIF CTSNX46 THEN SN=CTSN+36; ELSE SN=CTSN+40;END IF;IF CTSWNEX0A THEN SWNE=CTSWNE; ELSIF CTSWNEX14 THEN SWNE=CTSWNE+6; ELSIF CTSWNEX1E THEN SWNE=CTSWNE+12; ELSIF CTSWNEX28 THEN SWNE=CTSWNE+18; ELSIF CTSWNEX32 THEN SWNE=CTSWNE+24; ELSIF CTSWNEX3C THEN SWNE=CTSWNE+30;ELSE SWNE=CTSWNE+36;END IF;IF CTWNESX0A THEN WNES=CTWNES; ELSIF CTWNESX14 THEN WNES=CTWNES+6; ELSIF CTWNESX1E THEN WNES=CTWNES+12; ELSIF CTWNESX28 THEN WNES=CTWNES+18; ELSIF CTWNESX32 THEN WNES=CTWNES+24; ELSIF CTWNESX3C THEN WNES=CTWNES+30;ELSE WNES=CTWNES+36;END IF;END PROCESS;END JGT;2.2交通灯LCD显示模块-交通灯LCD显示程序- 1.与FPGA Peripherals库中LCD16X2A元件相适应- 2.采用65535分频作为扫描脉冲LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;entity JTDLCD is port (CPIN,R,BUSY :IN STD_LOGIC; EW,SWNE,WNES,SN:IN STD_LOGIC_VECTOR(7 DOWNTO 0); EWRYG,SWNERYG,WNESRYG,SNRYG : IN STD_LOGIC_VECTOR(2 DOWNTO 0); CLK,RST,STROBE,OUTLINE : OUT STD_LOGIC; DATA : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); ADDR : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) );end entity ;architecture JGT of JTDLCD is TYPE STATES IS (S0,S1,S2,S3,S4); SIGNAL S: STATES; SIGNAL LCDPT : INTEGER RANGE 0 TO 24; SIGNAL CPCT : INTEGER RANGE 0 TO 65535; SIGNAL CP: STD_LOGIC; SIGNAL ASCEW,ASCSWNE,ASCWNES,ASCSN : STD_LOGIC_VECTOR(7 DOWNTO 0);beginPROCESS(CPIN,R)BEGINCLK=CPIN;IF R=1 THEN CPCT=65535;ELSIF CPIN=1 AND CPIN EVENT THEN IF CPCT=0 THEN CPCT=65535;CP=NOT CP; ELSE CPCT=CPCT-1; END IF;END IF;END PROCESS;PROCESS(CP,R) BEGIN IF R=1 THEN S=S0;LCDPT=0;RST S=S1;LCDPT=0;RST RST=0;STROBE=0; IF BUSY=0 THEN LCDPT=LCDPT+1; IF LCDPT=13 THEN S=S3; ELSE S S=S1;STROBE STROBE=0; IF BUSY=0 THEN IF LCDPT=24 THEN LCDPT=13; ELSE LCDPT=LCDPT+1; END IF; S STROBE=1;S NULL; END CASE;END IF;END PROCESS;PROCESS(LCDPT)BEGINCASE LCDPT IS WHEN0=NULL; -LCDPT=0,NULLWHEN 1= DATA=01010011;ADDR=0001;OUTLINE DATA=01001110;ADDR=0010;OUTLINE DATA=01010011;ADDR=0100;OUTLINE DATA=01001110;ADDR=0101;OUTLINE DATA=00111100;ADDR=0110;OUTLINE=0; - DATA=00101101;ADDR=0111;OUTLINE DATA=01000101;ADDR=1000;OUTLINE DATA=01010111;ADDR=1001;OUTLINE DATA=01000101;ADDR=1011;OUTLINE DATA=01010111;ADDR=1100;OUTLINE DATA=00111100;ADDR=1101;OUTLINE=0; - DATA=00101101;ADDR=1110;OUTLINEDATA=ASCSN;ADDR=0001;OUTLINEDATA=0011&SN(7DOWNTO4);ADDR=0010;OUTLINEDATA=0011&SN(3 DOWNTO 0);ADDR=0011;OUTLINEDATA=ASCSWNE;ADDR=0100;OUTLINEDATA=0011&SWNE(7 DOWNTO 4);ADDR=0101;OUTLINEDATA=0011&SWNE(3 DOWNTO 0);ADDR=0110;OUTLINEDATA=ASCEW;ADDR=1000;OUTLINEDATA=0011&EW(7 DOWNTO 4);ADDR=1001;OUTLINEDATA=0011&EW(3 DOWNTO 0);ADDR=1010;OUTLINEDATA=ASCWNES;ADDR=1011;OUTLINEDATA=0011&WNES(7 DOWNTO 4);ADDR=1100;OUTLINEDATA=0011&WNES(3 DOWNTO 0);ADDR=1101;OUTLINE NULL;END CASE;END PROCESS;PROCESS(EWRYG)BEGIN -EW ;RYG 显示CASE EWRYG ISWHEN 100 = ASCEW ASCEW ASCEW NULL;END CASE;END PROCESS;PROCESS(SNRYG) -SN: RYG 显示BEGINCASE SNRYG ISWHEN 100 = ASCSN ASCSN ASCSN NULL;END CASE;END PROCESS;PROCESS(SWNERYG)BEGIN -SWNE:RYG 显示CASE SWNERYG ISWHEN 100 = ASCSWNE ASCSWNE ASCSWNE NULL;END CASE;END PROCESS;PROCESS(WNESRYG) -WNES:RYG 显示BEGINCASE WNESRYG ISWHEN 10

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论