用verilog语言编写交通灯程序.doc

用verilog语言编写交通灯程序.doc
用verilog语言编写交通灯程序.doc

交通灯

一、实验目的

写一个交通灯,要求:

①有东西南北四个方向,两组交通灯轮流交替变换,其中,红灯时间为30个时间单位,绿灯时间为25个时间单位,黄灯时间为5个时间单位。最后用modelsim软件进行仿真。

②要求设计是一个可综合设计。

二、实验原理

根据实验要求的逻辑功能描述,可以分析得出原理图如下:

控制器即可以设计为一个有限状态机的形式:

根据实验要求画出控制器的状态转移图如下:

三、代码

1、源代码

(1)控制器模块

module traffic_lights(clk,rst,count,ew,sn); input clk,rst; input[5:0] count; output[2:0] ew,sn; reg[2:0] ew,sn; reg[3:0] state;

parameter Idle=3'b000,s1=3'b001,s2=3'b010,s3=3'b011,s4=3'b100; always @(posedge clk) if(!rst)

begin

state<=Idle; end else

casex(state) Idle: if(rst) begin

state<=s1;

end

s1: if(count=='d25)

begin

state<=s2; end

s2: if(count=='d30) begin

state<=s3; end

s3: if(count=='d55)

begin

state<=s4; end

s4: if(count=='d60) begin

state<=s1; end endcase

always @(posedge clk) begin if(!rst) begin

ew<=3'b100; sn<=3'b100; end

else

casex(state) Idle: if(rst) begin

ew<=3'b100;

sn<=3'b001; end

s1: if(count=='d25) begin

ew<=3'b100;

sn<=3'b010; end

s2: if(count=='d30) begin

ew<=3'b001;

sn<=3'b100; end

s3: if(count=='d55) begin

ew<=3'b010;

sn<=3'b100; end

s4: if(count=='d60) begin

ew<=3'b100;

sn<=3'b001; end

default: state<=Idle; endcase end endmodule (2)计数器模块

module counter(en,clk,rst,out); output[5:0]out; input en,clk,rst;

reg[5:0] out;

always@(posedge clk or negedge rst) begin if(!rst)

out<='d0; else if(!en&&out<'d60) out<=out+1;

else

out<='d1; end

endmodule

(3)将控制器与计数器进行连接

module traffic_lights_top(out,clk,rst,en,ew,sn); input clk,rst,en; output[2:0] ew,sn; output[5:0]out; wire[5:0] out;

traffic_lights u1(

.clk(clk), .rst(rst),

.count(out), .ew(ew),

.sn(sn) ); counter u2(

.en(en), .clk(clk),

.rst(rst), .out(out) );

endmodule

2、激励

`timescale 1ns/100ps module traffic_lights_tb;

reg clk,rst,en;

wire[2:0] ew,sn; wire[5:0]out;

traffic_lights_top m(

.clk(clk), .rst(rst

基于VerilogHDL的通行时间可变的交通灯控制器

通行时间可变的交通灯控制器设计 module tr1(ng,clk,reset,resets,emergency,lighta,lightb,seg,select); input ng,clk,reset,emergency,resets; output[6:0]seg;//显示用的 output[3:0] lighta,lightb;//a是主干道,b是支干道 output [3:0] select;//选择那一个管子进行显示 reg clk1,clk2;//clk1要5HZ clk2要几千HZ reg [3:0] select; reg tim1,tim2;//这是看你的等有没有变过颜色的控制信号 reg [1:0] cont; reg[2:0]state1,state2,ste;两个控制颜色变化状态的信号。 reg[3:0]lighta,lightb;//a是主干道,b是支干道 reg[3:0]num;//译码器是根据这个东西来译码的 reg [35:0] fout; reg[6:0]seg;//显示 reg[7:0] numa,numb; reg[7:0] red1,red2,green1,green2,yellow1,yellow2,left1,left2; always @(ng ) if(!ng) begin //设置计数初值 green1 <=8'b00110000;//30S red1 <=8'b01010001;//51S yellow1<=8'b00000011;//3S left1 <=8'b00010101; //15S green2 <=8'b00110000;//30S

嵌入式简单汇编程序实例

ARM实验报告 姓名:郭健傧学号:L2101898 1.实验目的 (1)了解ADS1.2集成开发环境及ARMulator软件仿真; (2)熟悉ARM的乘法指令和逻辑指令; (3)结合ARM处理器硬件特性,比较处理函数的特性; 2.实验设备 硬件:pc机一台; 软件:Windowsxp系统,ADS1.2集成开发环境; 3.实验内容 (1)建立一个新的工程; (2)建立一个汇编文件,并添加到工程; (3)根据所给的两个C语言函数编写相应的汇编程序,并比较一下代码中fact1和fact2两个函数的特性; 4.实验步骤 (1)启动ADS1.2IDE集成开发环境,使用ARM Executable Image 工程模块建立一个工程heiye。 (2)建立汇编源文件test.s,编写程序实验,并添加到工程heiye中。 (3)设置工程连接地址Ro Base为0x40000000,RWBase为0x40003000。设置调试入口地址Image entry point为0x40000000。 (4)编译链接工程,并启动AXD进行软件仿真调试。 5.编写程序如下: C程序源代码: int fact1(int limit) { int fact=1; for(i=1;i

设计题目 交通灯控制器设计

广西科技大学 单片机技术课程设计报告 课程:单片机技术 题目: 学院: 专业: 姓名: 学号: 指导老师: 完成时间: 成绩评定 设计报告得分S1:(百分制) 平时考勤得分S2:(百分制) 问题回答得分S3:(百分制) 总成绩:(S1×0.6+S2×0.2+ S3×0.2) 指导教师签字年月日

摘要 随着各种交通工具的发展和交通指挥的需要,第一盏名副其实的三色灯(红、黄、绿三种标志)于1918年诞生。它是三色圆形四面投影器,被安装在纽约市五号街的一座高塔上,由于它的诞生,使城市交通大为改善。黄色信号灯的发明者是我国的胡汝鼎,他怀着“科学救国”的抱负到美国深造,在大发明家爱迪生为董事长的美国通用电器公司任职员。一天,他站在繁华的十字路口等待绿灯信号,当他看到红灯而正要过去时,一辆转弯的汽车呼地一声擦身而过,吓了他一身冷汗。回到宿舍,他反复琢磨,终于想到在红、绿灯中间再加上一个黄色信号灯,提醒人们注意危险。他的建议立即得到有关方面的肯定。于是红、黄、绿三色信号灯即以一个完整的指挥信号家族,遍及全世界陆、海、空交通领域了。 交通灯控制器设计主要功能是用单片机控制LED灯模拟指示。模拟东西南北方向的十字路口交通灯信号控制情况。以89C52单片机为核心芯片,采用中断方式实现控制。本模拟系统由单片机硬/软件系统,两位8段数码管和LED灯显示系统。和复位电路控制电路等组成,较好的模拟了交通路面的控制。 关键词:交通灯单片机数码管

目录 1.概述 (1) 2系统总体方案及硬件设计 (2) 2.1设计内容 (2) 2.2 设计要求 (2) 2.3 总体设计思想 (2) 2.4 设计参考 (2) 2.5 知识点准备 (2) 3各模块设计 (3) 3.1设计项目简介 (3) 3.2总体设计 (3) 3.3硬件设计 (3) 3.4软件设计 (9) 4软件仿真 (12) 5课程设计体会 (13) 参考文献 (14) 附录一程序清单 (15) 附录二系统原理图 (21)

微机原理课程设计报告交通灯

WORD格式微机原理课程设计 设计题目交通灯的设计 实验课程名称微机原理 姓名王培培 学号080309069 专业09自动化班级2 指导教师张朝龙 开课学期2011至2012学年上学期

一、实验设计方案 实验名称:交通灯的设计实验时间:2011/12/23 小组合作:是□否?小组成员:无 1、实验目的: 分析实际的十字路口交通灯的亮灭过程,用实验箱上的8255实现交通灯的控制。(红,黄,绿三色灯) 2、实验设备及材料: 微机原理和接口技术实验室的实验箱和电脑设备等。 3、理论依据: 此设计是通过并行接口芯片8255A和8086计算机的硬件连接,以及通过8253延时的方法,来实现十字路口交通灯的模拟控制。 如硬件连接图所示(在后),红灯(RLED),黄灯(YLEDD)和绿灯(GLED)分别接在8255 的A,B,C口的低四位端口,PA0,PA1,PA2,PA3分别接1,2,3,4(南东北西)路口的红灯,B,C口类推。8086工作在最小模式,低八位端口AD0~AD7接到8255和8253的D0~D7,AD8~AD15通过地址锁存器8282,接到三八译码器,译码后分别连到8255和8253的CS片选端。8253的 三个门控端接+5V,CLOCK0接由分频器产生的1MHZ的时钟脉冲,OUT0接到CLOCK1和CLOCK,2 OUT1接到8086的AD18,8086通过检测此端口是否有高电平来判断是否30s定时到。OUT2产生 1MHZ方波通过或门和8255的B口共同控制黄灯的闪烁。8255三个口全部工作在方式0既基本 输入输出方式,红绿灯的转换由软件编程实现。

4、实验方法步骤及注意事项: ○1设计思路 红,黄,绿灯可分别接在8255的A口,B口和C口上,灯的亮灭可直接由8086输出0,1 控制。 设8253各口地址分别为:设8253基地址即通道0地址为04A0H,通道1为04A2H,通道2 为04A4H,命令控制口为04A6H。 黄灯闪烁的频率为1HZ,所以想到由8253产生一个1HZ的方波,8255控制或门打开的时 间,在或门打开的时间内,8253将方波信号输入或门使黄灯闪烁。 由于计数值最大为65535,1MHZ/65536的值远大于2HZ,所以采用两个计数器级联的方 式,8253通道0的clock0输入由分频器产生的1MHZ时钟脉冲,工作在方式3即方波发生器方 式,理论设计输出周期为0.01s的方波。1MHZ的时钟脉冲其重复周期为T=1/1MHZ=1s,因此 通道0的计数初值为10000=2710H。由此方波分别作为clock1和clock2的输入时钟脉冲,所以 通道1和通道2的输入时钟频率为100HZ,通道1作计数器工作在方式1,计数初值3000=BB8H 既30s,计数到则输出一个高电平到8255的PA7口,8255将A口数据输入到8086,8086检测 到高电平既完成30s定时。通道2工作在方式3需输出一个1HZ的方波,通过一个或门和8086 共同控制黄灯的闪烁,因此也是工作在方波发生器方式,其计数初值为100=64H,将黄灯的状态 反馈到8055的端口PB7和PC7,同样输入到8086,8086通过两次检测端口状态可知黄灯的状态 变化,计9次状态变化可完成5次闪烁。 三个通道的门控信号都未用,均接+5V即可。 ○ 2硬件原理及电路图 由于8255A与8086CPU是以低八位数据线相连接的,所以应该是8255A的A1、A 0 线分别与 8086CPU的A2、A线相连,而将8086的 1 A 0 线作为选通信号。如果是按8255A内部地址来看, 则在图中它的地址是PA口地址即(CS+000H),PB口地址为(CS+001H),PC口地址为(CS+002H),

交通灯设计 verilog

数电课程设计 学生姓名: 专业:电子信息工程 指导教师: 完成日期: 2016-6-30

摘要 Verilog HDL作为一种规范的硬件描述语言,被广泛应用于电路的设计中。它的设计描述可被不同的工具所支持,可用不同器件来实现。利用Verilog HDL语言自顶向下的设计方法设计交通灯控制系统,使其实现道路交通的正常运转,突出了其作为硬件描述语言的良好的可读性、可移植性和易理解等优点,并通过Quartus5.0完成综合、仿真。此程序通过下载到FPGA芯片后,可应用于实际的交通灯控制系统中。 关键词:Verilog HDL;硬件描述语言;状态;FPGA Abstract As a common language for the description of hardware, Verilog HDL is widely applied in circuit designing. The design description can be supportted by differenttools and implemented by different devices.In this paper, the process of design ing traffic light controller system by the Verilog HDL topdown design method is presented, which has made the road traffic work well, the design of t his system has shown the readability, portability and easily understanding of Verilog HDL as a hard description language Circuit synthesis and simulation are pe rformed by Quartus5.0. The program can be used in the truly traffic light controller system by downloading to the FPGA chip Keywords:Verilog HDL; hardware description language; state; FPGA

汇编语言交通灯

设计报告 一、设计方法: 1、通过老师上课讲的内容及要求来设计。 2、开始时可跟着老师走从基础使用4094实现倒计时开始一步一 步实现。 3、实现基础部分后我们就可按着自己的思路结合单片机的学习 从而一步一步实现整个功能。 二、设计思路: 1、首先在实现整个功能之前我并不清楚自己要设计的界面应是什么 样子的,我从最基本的开始先学会使用4094实现一位倒计时,然 后使用4094实现两位倒计时,实现了两位倒计时之后基本上就可 以实现四个路口的倒计时显示。 2、完成基本型后就要想办法如何才能实现在线修改参数,且按照新 的参数执行,而且参数用什么来设置等等,通过单片机的学习我 想到了用中断方式的方法来实现,且在中断里来调用子程序来设 置参数,并选用了键盘来设置参数。因为单片机里已学过键盘子 程序,现在再来使用这样的键盘,虽比单片机里学过的4*4键盘 复杂点,但总不会太难了。就这样一步一步按照自己的思路完成。 3、以上实现后,我们也可多加些按键来控制暂停、复位、行人按键 等等,而这些在完成以上功能后再来实现它们就会很容易了。 流程图:

三、选择的芯片: AT89C51、4094、KEYPAD-PHONE、LED-GREEN、LED-RED、LED-YELLOW、TSEG-COM-AN-GRN、3WATT100R、BUTTON 四、硬件设计:

五、软件设计: 1、部分代码: ;30H、34H、35H主干道红、绿、黄灯,33H、31H、32H支干道红、绿、黄灯,修改用外部中断 ORG 0000H LJMP MAIN ORG 0003H ;复位中断入口地址 LJMP FW ORG 0013H ;修改参数中断入口地址 LJMP XG ORG 0030H MAIN:MOV 30H,#50 MOV 31H,#30

verilog课程设计—交通灯

课程论文 论文题目基于DE2的交通灯设计完成时间 课程名称Verilog语言设计 任课老师 专业 年级

1.交通信号控制器设计要求与思路 1.1设计背景 FPGA是一种用户根据各自需要而自行构造逻辑功能的数字集成电路,其种类很多,内部结构也不同,但共同的特点是体积小、使用方便。本文介绍了用VerilogHDL语言设计交通灯控制器的方法,并在QuartusII系统对FPGA芯片进行编译下载,由于生成的是集成化的数字电路,没有传统设计中的接线问题,所以故障率低、可靠性高,而且体积非常小。本文通过EDA设计,利用VerilogHDL语言模拟仿真交通灯控制电路。 1.2设计要求 根据交通灯控制器要实现的功能,考虑用两个并行执行的always语句来分别控制A方向和B方向的3盏灯。这两个always语句使用同一个时钟信号,以进行同步,也就是说,两个进程的敏感信号是同一个。每个always语句控制一个方向的3种灯按如下顺序点亮,并往复循环:绿灯----黄灯----红灯,每种灯亮的时间采用一个减法计数器进行计数,计数器用同步预置数法设计,这样只需改变预置数据,就能改变计数器的模,因此每个方向只要一个计数器进行预置数就可以。为便于显示灯亮的时间,计数器的输出均采用BCD码,显示由4个数码管来完成,A方向和B方向各用两个数码管。设定A方向红灯、黄灯、绿灯亮的时间分别为:35s、5s、35s,B方向的红灯、黄灯、绿灯亮的时间分别为:35s、5s、35s。假如要改变这些时间,只需要改变计数器的预置数即可。 1.3设计思路 两个方向各种灯亮的时间能够进行设置和修改,此外,假设B方向是主干道,车流量大,因此B方向通行的时间应该比A方向长。交通灯控制器的状态转换表见下表。表中,1表示灯亮,0表示灯不亮。A方向和B方向的红黄绿分别用R1、Y1、G1、R2、Y2、G2来表示。

城市路口交通灯设计.

城市路口交通灯设计 摘要 随着社会经济的发展,城市交通问题越来越引起人们的关注,人、车、路三者关系得和谐已成为交通治理部分必需要解决的主要问题之一,本交通灯设计系统用于对于疏导交通流量、提高道路通行能力、减少交通事故有明显效果。 本设计主要为实现一款带时间自主修改功能的多功能交通灯。本文选定了采用单片机技术实现交通灯功能,本设计应用AT89C51芯片作为核心,CD4511芯片作为显示芯片驱动,详细介绍了Atmel公司的AT89C51单片机的性能和特点,以及CD4511原理和特性,指出了交通灯设计系统的思路和所需考虑的问题,详细描述了交通灯系统的硬件、软件设计以及系统仿真调试过程等。该设计的优点是电路简单、性能可靠、实时性好、时间精度高,操作简单,可广泛应用于各个交通要道。 关键词:单片机,交通灯,控制器

The Design of Traffic Light in the City Abstrac t:This design is mainly for realizing a paragraph of time the independent modify functions with multi-function traffic. This paper adopts single-chip microcomputer selected technologies to realize this design, lights function AT89C51 chip as the core, CD4511 chip as display chip drive, introduces in detail the AT89C51 Atmel company performance and characteristics of CD4511 principle and characteristics, and lights design system, points out the idea and the problems needed to consider the advantages of this method is reliable in performance, simple circuit, good real-time, high precision time, simple operation. And widely used in various hubs. When entering adjustment function can add, subtract function operation, in order to achieve timing function, thus can undertake traffic lights countdown system. When the timing Settings, system through the AT89C51 control things, sn of traffic light real-time status. Eight LED digital tube will show countdown time, time display format for: ten - bytes; And have real-time display current countdown time functions Keyword: a single-chip microcomputer, the lights, controller, design, realization

交通灯设计-verilog.

. 基于Verilog语言交通灯设计报告 院系:工学院自动化系 年级:14级 班级:10班 姓名:周博 学号:14032291

这学期我学习了EDA技术及其创新实践这门课程,通过自己学习的内容和自己查找的一些资料用Verilog语言编写交通灯的程序,并且完成了仿真。Verilog HDL是工业和学术界的硬件设计者所使用的两种主要的HDL之一,另一种是VHDL。现在它们都已成为IEEE标准。两者各有特点,但Verilog HDL拥有更悠久的历史、更广泛的设计群体,资源也远比VHDL丰富,且非常容易学习掌握。一、设计背景和意义 交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制。在现代化的大城市中,十字交叉路口越来越多,在每个交叉路口都需要使用红绿灯进行交通指挥和管理,红、黄、绿灯的转换要有一个准确的时间间隔和转换顺序,这就需要有一个安全、自动的系统对红、黄、绿灯的转换进行管理,本系统就是基于此目的而开发的。 二、设计任务 (1)设计一个交通红绿灯。要求分主干道和支干道,每条道上安装红(主:red1,支:red2)绿(主:green1,支:green2)黄(主:yellow1,支:yellow2)三种颜色灯,由四种状态自动循环构成; (2)在交通灯处在不同的状态时,设计一个计时器以倒计时方式显示计时,主干道上绿灯亮30S,支干道上绿灯亮20S。每个干道上,在绿灯转为红灯时,要

求黄灯先亮5S。 在完成基本要求的基础上,可进一步增加功能、提高性能,如绿灯亮的时间可调。 三、设计方案 1.工作原理: 城市十字交叉路口红绿灯控制系统主要负责控制主干道走向和从干道走向的红绿灯的状态和转换顺序,关键是各个状态之间的转换和进行适当的时间延时,正是基于以上考虑,采用如下设计: S0:当主干道走向的绿灯亮时,从干道走向的红灯亮,并保持30s S1:当主干道走向的黄灯亮时,从干道走向的黄灯亮,并保持5s S2:当主干道走向的红灯亮时,从干道走向的绿灯亮,并保持20s S3:当主干道走向的黄灯亮时,从干道走向的黄灯亮,并保持5s 在S3结束后又回到(1)状态,并周期重复进行。 状态图如下: 30秒 5秒5秒

汇编语言交通灯控制系统设计

交通灯控制系统 一、设计要求 1.东西方向车辆放行60秒钟。即东西方向的绿灯和南北方向的红灯同时点亮1分钟; 2.1分钟后,东西方向的黄灯闪烁5秒钟,以警示车辆将切换红绿灯。此时南北方向仍维持红灯点亮。在南北方向亮红灯期间,在2位数码管上显示计数值(每秒减1),从60减为0。 3.东西方向的黄灯闪烁5秒钟后,转为南北方向放行20秒钟。即东西方向的红灯和南北方向的绿灯同时点亮20秒钟; 4.南北方向放行20秒钟后,转为南北方向的黄灯闪烁5秒钟,以警示将切换红绿灯。此时东西方向仍维持红灯点亮。 5.南北方向的黄灯闪烁5秒钟后,再转为东西方向车辆放行1分钟。如此循环重复。 二、设计目的 ⒈了解交通灯管理的基本工作原理 ⒉熟悉8259A中断控制器的工作原理和应用编程 ⒊熟悉8255A并行接口的各种工作方式和应用 ⒋熟悉8254计数器/定时器的工作方式及应用编程,掌握利用软硬件相结合定时的方法 ⒌掌握多位LED显示问题的解决 三、程序设计流程图 主程序流程图,如下图所示。 装入计数初值

四、总体设计和电路图 Ⅰ.芯片选择及端口选择 1.用实验系统8255A实现对信号灯的控制(所用端口自定);2位数码显示用8255A实现控制。 2. 用实验系统8254的计数器2定时向实验系统主片8259A的IRQ7请求中断,以实现要求的1分钟、5秒钟和20秒的定时。实验系统8254的计数器2的CLK2接OPCLK,频率为1.19318MHZ;GATE2已接 +5V;定时采用软硬件相结合的方式实现。 ⒊用实验系统的发光二极管模拟红绿灯。 注:8259A的端口地址为:218H、219H 8255A的端口地址为:端口A-200H、端口B-201H、端口C-202H、控制端 口-203H

通过Verilog实现交通灯设计实验报告

电子科技大学 实 验 报 告 一、实验室名称:虚拟仪器实验室 二、实验项目名称:交通灯设计实验 三、实验学时:4学时 四、实验原理

假设交通灯处于南北和东西两条大街的“十”字路口,如图1所示。用FPGA 开发板的LED 灯来模拟红、黄、绿3种颜色信号,并按一定顺序、时延来点亮LED ,如图2所示。图3给出了交通灯的状态转移图。设计使用频率为1Hz 的时钟来驱动电路(注1:仿真时采用1MHz 的时钟来驱动电路),则停留1个时钟可得到1S 的延时,类似停留3个时钟可得到3S 的延时,停留15个时钟可得到15S 的延时(注2:开发板工作时钟为50MHz )。 北 南 西东 图1. 六个彩色LED 可以表示一组交通信号灯 图2. 交通灯状态 南北 东西 红 黄 绿 红 黄 绿 S0 1 0 0 0 0 1 S1 1 0 0 0 1 0 S2 1 0 0 1 0 0 S3 0 0 1 1 0 0 S4 0 1 0 1 0 0 S5 1 0 0 1 0 0

图3. 交通灯的状态转移图 顶层模块 时钟分频模块状态机跳转模块 图4. 交通灯的原理框图 五、实验目的 本实验是有限状态机的典型综合实验,掌握如何使用状态转移图来定义Mealy状态机和Moore状态机,熟悉利用HDL代码输入方式进行电路的设计和仿真的流程,掌握Verilog语言的基本语法。并通过一个交通灯的设计掌握利用EDA软件(Xilinx ISE 13.2)进行HDL代码输入方式的电子线路设计与仿真的详细流程。。 六、实验内容 在Xilinx ISE 13.2上完成交通灯设计,输入设计文件,生成二进制码流文件下载到FPGA开发板上进行验证。 七、实验器材(设备、元器件)

STC12系列单片机的PWM输出汇编语言示例程序

STC12系列单片机的PWM输出汇编语言示例程序

对于以下程序我的理解是:equ是一个符号定义伪指令pulse_width_max equ 0f0HMOV A,#pulse_width_max 它的意思是:将pulse_width_max里的值作为数值赋到寄存器A里.MOV A,pulse_width_max 它的意思是:将pulse_width_max里的值作为地址赋到寄存器A里. 相关帖子>>>: ?我的8个PWM给你参考(2774字)coody[63次]2006-8-29 15:01:43 ;************************************************************** ?;************************************************************** ?T0interrupt: ;max 53T ? PUSH PSW ? PUSH ACC ? ?;*************************** 30T *********************************** ? MOV P1,PWM_TEMP ? ? INC PWM_DUTY ? MOV A,PWM_DUTY ? JNZ L_PWM ? MOV PWM_TEMP,PWM_TEMP1 ? SJMP L_QuitPWM ?

?L_PWM: ? CJNE A,PWM0,L_NotClearPWM0 ? SETB B_PWM0 ?L_NotClearPWM0: ? ? CJNE A,PWM1,L_NotClearPWM1 ? SETB B_PWM1 ?L_NotClearPWM1: ? ? CJNE A,PWM2,L_NotClearPWM2 ? SETB B_PWM2 ?L_NotClearPWM2: ? ? CJNE A,PWM3,L_NotClearPWM3 ? SETB B_PWM3 ?L_NotClearPWM3: ? ? CJNE A,PWM4,L_NotClearPWM4 ? SETB B_PWM4 ?L_NotClearPWM4: ? ? CJNE A,PWM5,L_NotClearPWM5 ? SETB B_PWM5 ?L_NotClearPWM5: ? ? CJNE A,PWM6,L_NotClearPWM6 ? SETB B_PWM6 ?L_NotClearPWM6: ? ? CJNE A,PWM7,L_NotClearPWM7 ? SETB B_PWM7 ?L_NotClearPWM7: ?L_QuitPWM: ?;************************************************************** ? ?L_QuitT0Interrupt: ? POP ACC ? POP PSW

verilog课程设计—交通灯1

课程设计 课程名称__EDA技术综合设计与实践__ 题目名称交通灯控制系统 学生学院信息工程学院 专业班级通信工程08(4) 学号 3108002925 学生姓名高高 指导教师李学易 2011 年12 月26 日

基于FPGA 的交通灯控制器的设计 摘要:Verilog 是广泛应用的硬件描述语言,可以用在硬件设计流程的建模、综合和模拟等多个阶段。随着硬件设计规模的不断扩大,应用硬件描述语言进行描述的CPLD 结构,成为设计专用集成电路和其他集成电路的主流。现代城市在日常运行控制中,越来越多的使用红绿灯对交通进行指挥和管理。而一套完整的交通灯控制系统通常要实现自动控制和手动控制去实现其红绿灯的转换。 基于FPGA 设计的交通灯控制系统电路简单、可靠性好。本设计利用Verilog HDL 语言、采用层次化混合输入方式,可控制4个路口的红、黄、绿、左转四盏信号灯,让其按特定的规律进行变化。在QUARTUSⅡ下对系统进行了综合与仿真。仿真结果表明系统可实现十字路口红绿灯及左转弯控制和倒计时显示,并能够自动控制交通灯转变。通过应用Verilog HDL 对交通灯控制器的设计,达到对Verilog HDL 的理解 关键词:FPGA;交通灯自动控制;V erilog HDL;Quartus Ⅱ 1.交通信号控制器设计要求与思路 1.1设计要求 在交通灯系统中(图1),路口1、2、3、4均需要红、黄、绿、左转四盏灯(用RYGL分别表示) ,并且每个路口都需要一个倒数的计时器,假设绿灯每次维持的时间是40 s ,黄灯为5 s ,左转灯10s,红灯60s,黄灯亮时以一定的频率闪动。交通灯系统大多是自动控制来指挥交通的,但有时需要由交警手动控制红绿灯,所以要求设 计的该交通信号系统需要具有该功能。 实现设计目标如下: (1)设计一个十字路口的交通灯控制电路,每条路配有红、黄、绿交通信号灯,通过电路对十字路口的两组交通灯的状态实现自动循环控制; (2)实现东西车道和南北车道上的车辆交替运行,绿灯每次维持的时间是40 s ,黄灯为5 s ,左转灯10s,红灯60s; (3)要求黄灯亮5 秒后,红灯才能转为绿灯,黄灯亮时以一定的频率闪动; (4)东西车道和南北车道每次通行的时间不同且可调; 图1 交通灯系统示意图

交通灯汇编语言课程设计资料

课程设计 题目名称交通灯系统设计 课程名称单片机 学院信息学院 专业电子信息科学与技术班级 姓名 学号 指导教师 2012年12月

一、设计内容及要求 假设一个十字路口为东西南北走向。开始为四个路口的红灯全部亮之后,东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车,延时一段时间后(20秒),东西路口的绿灯,闪烁若干次后(3秒),东西路口的绿灯熄灭,同时东西路口的黄灯亮,延时一段时间后(2秒),东西路口的红灯亮,南北路口的绿灯亮,南北路口方向通车,延时一段时间后(20秒),南北路口的绿灯闪烁若干次后(3秒),南北路口的绿灯熄灭,同时南北路口的黄灯亮,延时一 段时间后(2秒),再切换到东西路口的绿灯亮,南北路口的红灯亮,之后重复以上过程。 扩展部分:用LED数码管显示时间、紧急情况下全部红灯时间暂停、行人闯红灯报警、 车流量计数 设计要求有具体的硬件电路和软件实现,方案切实可行,使用简单方便。 二、设计原始资料 单片机实验十八--交通灯控制实验;为我们开始完成相应的单片机设计提供 了思路。利用系统提供的双色LED显示电路。 单片机实验九--串行静态数码显示实验使用四只74LS164组成四位静态数码管显示电路,在数码管上滚动显示“0”到“F”十六进制字符。 三、设计完成后提交的文件和图表 1.计算说明书部分 说明具体实现过程,方案等,相关计算等 2.图纸部分: 相关电路原理图、软件流程图、系统框图和源程序等 五、主要参考资料 李念强王玉泰张鲁张羽.《单片机原理及应用》.机械工业出版社 童诗白华成英 .《模拟电子技术基础》(第四版).高等教育出版社 目录 一、设计任务与要求 (1)

8255交通灯单片机课程设计

《单片机原理与应用》 课程设计报告 题目:简单交通灯控制系统 专业: 班级: 学号: 姓名: 天津理工大学中环信息学院 计算机工程系 2011年12月29 日

交通灯控制系统设计 摘要 设计一个交通灯控制系统,该控制系统工作后,交通灯按照下列规律变化:初始态东南西北均为红灯,持续时间为2s;然后转为状态1(10s),为东西红、南北绿;状态2(3s)东西红灯不变、南北绿灯灭、黄灯闪烁三次;状态3(15s),为东西绿、南北红;状态4(3s),为东西绿灯灭、黄灯闪烁三次、南北红灯不变;最后回到状态1,依此循环。如遇到特殊情况,可拨动应急开关,使各向均为红灯,特殊车辆不受红灯限制,待其顺利通过后拨动另一个开关,系统返回继续运行。同时用LED用倒计时方式显示各路口亮灯时间。 关键词:单片机,交通灯,应急开关,LED

1绪论 1.1设计背景 红绿交通灯自动控制系统在城市十字(或丁字)路口有着广泛的应用。随着社会的进步,人们生活水平的提高,私家车数量会不断增加,对城市交通带来前所为有的压力。道路建设也将随之发展,错综复杂的道路将不段增多。为维持稳定的交通秩序,红绿灯自动控制系统将得到更为广泛的应用。现在实际应用的红绿灯系统中一般没有倒计时功能,使司机和行人不知道指示灯还有多久将会改变现有状态。本设计应用基本数字电路知识,采用LED灯作红、绿、黄三交通灯,用七段数码管作同步倒计时显示。实现两方向通行时间不相等的控制并配有倒计时。 1.2设计目的 熟悉单片机控制系统,并了解系统设计的一般规律。 掌握8255芯片的结构及编程方法。 熟悉模拟交通灯控制的实现方法。 1.3设计任务及要求 设计一个交通灯控制系统,该控制系统工作后,交通灯按照下列规律变化:初始态东南西北均为红灯,持续时间为2s;然后转为状态1(10s),为东西红、南北绿;状态2(3s)东西红灯不变、南北绿灯灭、黄灯闪烁三次;状态3(15s),为东西绿、南北红;状态4(3s),为东西绿灯灭、黄灯闪烁三次、南北红灯不变;最后回到状态1,依此循环。如遇到特殊情况,可拨动应急开关,使各向均为红灯,特殊车辆不受红灯限制,待其顺利通过后拨动另一个开关,系统返回继续运行。同时用LED用倒计时方式显示各路口亮灯时间。 2 设计使用的仪器和设备 2.1 达爱思教仪 本实验采用达爱思教仪型号是Dais-PG206FD 2.2八段数码管 码管, 2.3 8255芯片 8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(8255引脚如图1,8255编程模式如图2)。 的中间接口电路。8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接

基于VerilogHDL的交通灯控制器设计

目录 第一章设计原理 (1) 1.1设计要求 (1) 1.2设计思路和原理 (1) 1.3实现方法 (1) 第二章Verilog 程序设计 (2) 2.1整体设计 (2) 2.2 具体设计 (3) 第三章仿真 (7) 3.1 波形仿真 (7) 第四章设计总结 (9) 4.1 总结 (9) 4.2参考资料 (9) 程序清单 (10)

交通灯控制器设计 第一章 设计原理 1.1设计要求 设计一个交通控制器,用LED 显示灯表示交通状态,并以7段数码显示器显示当前状态剩余秒数 主干道绿灯亮时,支干道红灯亮;反之亦然,二者交替允许通行,主干道每次放行35s ,支干道每次放行25s 。每次由绿灯变为红灯的过程中,亮光的黄灯作为过渡,黄灯的时间为5s 。能进行特殊状态显示,特殊状态时东西、南北路口均显示红灯状态。用LED 灯显示倒计时,并且能实现总体清零功能,计数器由初始状态开始计数,对应状态的显示灯亮。 1.2设计思路和原理 本次设计是针对十字路口,进行南北和东西直行情况下交通灯控制。设定东西方向为主干道方向,根据交通灯的亮的规则,在初始状态下四个方向的都为红灯亮启,进入正常工作状态后,当主干道上绿灯亮时,支干道上红灯亮,持续35S 后,主干道和支干道上的黄灯都亮启,持续5S 后,主干道上红灯亮启,支干道上绿灯亮启持续25S ,之后主干道和支干道上的黄灯都亮启5s ,一个循环完成。循环往复的直行这个过程。其过程如下图所示: 0s 30s 25s 主干道方向 支干道方向 图1.交通灯点亮时间控制说明 1.3实现方法 本次采用文本编辑法,即利用Verilog 语言描述交通控制器,通过状态机计数法,实现设计所要求的交通灯控制及时间显示。设计中用两组红黄绿LED 模拟两个方向上的交通灯,用4个7段数码管分别显示两个方向上的交通灯剩余时间,控制时钟由试验箱上频率信号提供。

汇编语言例子

实验三: 1)题目:在内存中从ARRAY开始的连续三个字节单元存放着30H,40H,50H。编制程序将这三个连续的数据传送到内存TABLE开始的单元。 DATA SEGMENT ARRAY DB 30H,40H,50H 定义数据段 TABLE DB 3 DUP (?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV ES,AX LEA SI,ARRAY LEA DI,TABLE MOV CX,3 REP MOVSB JMP $ CODE ENDS END START (2)题目:把内存2000H和3000H字单元的内容相加,结果存入4000H单元。(不考虑溢出) DATA SEGMENT ORG 2000H DW 1234H ORG 3000H DW 5678H ORG 4000H DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AX,[2000H] ADD AX,[3000H] MOV [4000H],AX JMP $ CODE ENDS END START 实验四 1、数据传送指令和算术运算指令完成NUM1和NUM2相加,结果放入SUM中。

DATA SEGMENT NUM1 DW 0012H,0030H,0FC21H ; 数1 NUM2 DW 3E81H,44E9H,6D70H ; 数2 SUM D W 3 DUP(?) ; 结果单元 DATA ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA START: MOV AX, DATA MOV DS, AX MOV CX,3 LEA SI,NUM1 LEA DI,NUM2 LEA AX,SUM HE: MOV BX,[SI] ADD BX,[DI] MOV [AX],BX INC SI INC DI INC AX LOOP HE MOV AH, 4CH ; 返回DOS INT 21H CODE ENDS END START 2、内存中自TABLE开始的七个单元连续存放着自然数0至6的立方值(称作立方表)。;任给一数X(0≤X≤6)在XX单元,查表求X的立方值,并把结果存入YY单元中。;提示用XLAT指令 DATA SEGMENT TABLE DB 0H,1H,2H,3H,4H,5H,6H XX DB 1 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA BX,TABLE MOV AL,[XX] XLAT MOV DL,AL MOV AH,02H INT 21H JMP $

《微机原理与接口技术》课程设计-交通灯

信息工程系 计算机科学与技术 12计本1班 1214110214 黄 福 朱 茜 2015年06月29日 院 系: 专 业: 年级班级: 学 号: 姓 名:指导教师: 设计日期:

目录 一.课程设计目的 (3) 二.课程设计任务 (3) 三.总体设计方案 (3) 五.程序设计流程图 (4) 六. 程序连接图 (5) 七.程序清单 (5) 八.实验结果 (8) 九.课程设计总结和体会 (8)

一.课程设计目的 用汇编语言和微机原理实验箱完成实现双方向交通信号灯控制系统,以达到熟练运用汇编语言编程以及实验箱上各个芯片的灵活运用。 ⒈了解交通灯管理的基本工作原理 ⒉熟悉8253定时计数器的工作方式和编程应用 ⒊熟悉8255A并行接口的工作方式和编程应用 二.课程设计任务 本次课程设计的内容为双方向交通信号灯的控制和管理。 具体要求如下: 1.东西方向车辆放行20秒钟。即东西方向的绿灯和南北方向的红灯同时点亮25秒钟和黄灯点亮3秒钟。 2.南北方向车辆放行20秒钟后,转为南北方向的黄灯点亮3秒钟,以警示将切换红绿灯。此时东西方向仍维持红灯点亮。 3.循环重复执行1和2两步骤。 三.总体设计方案 1、用实验系统8255A实现对信号灯的控制(B端口),A端口的PA6、PA7口用来和8253共同控制信号灯点亮的时间。 2、实验中,8255选用(10010000)方式选择字,A组工作0方式,A端口输入,PC4-PC7输出,B组0方式,B端口输出,PC3-PC0输出 3、实验中,8253采用两个计数器级联的方式达到定时的效果,8253计数器0的CLK0输入1MHZ的时钟脉冲,工作在模式3即方波发生器,理论设计OUT0 输出周期为0.01S的方波,则计数器0的初值为10000;OUT0输出的方波分别作为计数器1、计数器2的CLK1和CLK2的输入时钟脉冲,计数器1和计数器2工作方式为模式1,计数器1的初值为2500,即OUT1输出25秒,控制红绿灯的时间;计数器2初值为300,即OUT2输出3秒,控制黄灯的时间。

用verilog语言编写交通灯程序

交通灯 一、实验目的 写一个交通灯,要求: ①有东西南北四个方向,两组交通灯轮流交替变换,其中,红灯时间为30 个时间单位,绿灯时间为25个时间单位,黄灯时间为5个时间单位。最后用modelsim软件进行仿真。 ②要求设计是一个可综合设计。 二、实验原理 根据实验要求的逻辑功能描述,可以分析得出原理图如下: 根据实验要求画出控制器的状态转移图如下:

三、代码 1、源代码 (1)控制器模块 module traffic_lights(clk,rst,count,ew,sn); input clk,rst; input[5:0] count; output[2:0] ew,sn; reg[2:0] ew,sn; reg[3:0] state; parameter Idle=3'b000,s1=3'b001,s2=3'b010,s3=3'b011,s4=3'b100; always @(posedge clk) if(!rst) begin state<=Idle; end else casex(state) Idle: if(rst) begin state<=s1; end s1: if(count=='d25) begin state<=s2; end s2: if(count=='d30) begin state<=s3;

end s3: if(count=='d55) begin state<=s4; end s4: if(count=='d60) begin state<=s1; end endcase always @(posedge clk) begin if(!rst) begin ew<=3'b100; sn<=3'b100; end else casex(state) Idle: if(rst) begin ew<=3'b100; sn<=3'b001; end s1: if(count=='d25) begin ew<=3'b100; sn<=3'b010; end

相关文档
最新文档