搜档网
当前位置:搜档网 › LED灯移位显示,ise开发环境Verilog编程流水灯

LED灯移位显示,ise开发环境Verilog编程流水灯

LED灯移位显示,ise开发环境Verilog编程流水灯
LED灯移位显示,ise开发环境Verilog编程流水灯

DDPP课程设计

八位LED可控移位显示设计与实现

本设计基于Xilinx ISE Design Suite 13.2软件开发平台和其综合工具进行八位LED可控移位显示数字电路的功能设计,在FPGA BSSYS2开发板上来完成设计的测试和实现。

I、总体RTL SCHEMATIC

端口说明:

CLK_IN:50MHZ时钟输入

C:控制左右移,0为

LED[0]-LED[7],1反之。

S:选择移动频率,共四档。

RST:重置

LED:点亮LED灯

II、源程序

module led_shiftingdisplay(LED,CLK_IN,RST,S,C);

input CLK_IN,RST,C;

input [1:0] S;

output [7:0] LED;

reg [25:0] cn;

reg CLK;

reg [7:0] LED;

wire CLK_OUT;

wire CLK2_OUT;

wire CLK3_OUT;

wire CLK4_OUT;

initial

begin

cn=0;

end

always @(posedge CLK_IN)

begin

if(cn==49999999)

begin cn<=0; end

else cn<=cn+26'd1;

end

assign CLK_OUT=cn[25]; //1HZ

assign CLK2_OUT=cn[24]; //2HZ

assign CLK3_OUT=cn[21]; //16HZ

assign CLK4_OUT=cn[20]; //32HZ

always @(S,CLK_OUT,CLK2_OUT,CLK3_OUT,CLK4_OUT) begin

case(S)

2'd0:CLK<=CLK_OUT;

2'd1:CLK<=CLK2_OUT;

2'd2:CLK<=CLK3_OUT;

2'd3:CLK<=CLK4_OUT;

endcase

end

initial begin LED=8'b00000000;end

always @(posedge CLK)

begin

if(C) //C==1,left shifting if(RST) LED<=8'b00000001;

else if(LED==8'b00000000)

LED<=8'b00000001;

else LED<=LED<<1;

else //C==1,right shifting if(RST) LED<=8'b10000000;

else if(LED==8'b00000000)

LED<=8'b10000000;

else LED<=LED>>1;

end

endmodule

III、用户约束文件led_shiftingdisplay.v

NET "C" LOC = N3;

NET "CLK_IN" LOC = B8;

NET "LED[0]" LOC = M5;

NET "LED[1]" LOC = M11;

NET "LED[2]" LOC = P7;

NET "LED[3]" LOC = P6;

NET "LED[4]" LOC = N5;

NET "LED[5]" LOC = N4;

NET "LED[6]" LOC = P4;

NET "LED[7]" LOC = G1;

NET "RST" LOC = A7;

NET "S[0]" LOC = P11;

NET "S[1]" LOC = L3;

# PlanAhead Generated IO constraints

NET "C" IOSTANDARD = LVCMOS33;

NET "CLK_IN" IOSTANDARD = LVCMOS33; NET "LED[0]" IOSTANDARD = LVCMOS33; NET "LED[1]" IOSTANDARD = LVCMOS33; NET "LED[2]" IOSTANDARD = LVCMOS33; NET "LED[3]" IOSTANDARD = LVCMOS33; NET "LED[4]" IOSTANDARD = LVCMOS33; NET "LED[5]" IOSTANDARD = LVCMOS33; NET "LED[6]" IOSTANDARD = LVCMOS33; NET "LED[7]" IOSTANDARD = LVCMOS33; NET "RST" IOSTANDARD = LVCMOS33; NET "S[0]" IOSTANDARD = LVCMOS33; NET "S[1]" IOSTANDARD = LVCMOS33;

IV、程序仿真

测试文件led_shiftingdisplay.v

module test_ledshiftingdisplay;

reg CLK_IN;

reg RST;

reg [1:0] S;

reg C;

wire [7:0] LED;

led_shiftingdisplay uut (

.LED(LED),

.CLK_IN(CLK_IN),

.RST(RST),

.S(S),

.C(C)

);

parameter PERIOD = 20;

initial

begin

CLK_IN = 1'b0;

#10;

forever

#(PERIOD/2) CLK_IN = ~CLK_IN;

end

initial begin

RST = 0;

S = 3;

C = 1;

end

endmodule

仿真波形:

各个信号仿真波形正常,唯有LED[7:0]均为高阻态(除最低位外),仿真不成功,不得其解。

基于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

220vled灯电路图

220vled灯电路图 降压使用啊,给你一个图,你参考一下。 最多可以接80个,但接的多了要适当的加大C1的容量。 1个led接220V不会接咋搞? 220vled灯电路图 1个led直接接在220V上是不可以的,LED的工作电压3.2V,需要串联一个100K-120K的电阻降压,才能使用。 如果80个红色LED灯珠串在一起用几K 几W的电阻?

这要看你串接后接入多少伏的电压回路中,还有所用的LED的额定工作电流、及每只的工作电压值是多少。现假设LED设定在10毫安,端电压2伏/只,接入220伏电压中,可知串接的限流电阻上承担60伏电压,因此阻值为60除以0.01安为6千欧,可取标准值6.2K,消耗功率为60伏乘以10毫安为600毫瓦,考虑功耗余量应选1W~2W的电阻器。以上是直流状态下的情形,若接入交流电路中,可加入四只如1N4007的二极管作整流转换为直流后接入。 是用在220V的交流电路中吗,为你提供一个电路图你参考一下吧。 在这个图中串连80个LED是可以的。 53个LED灯珠接几个3W的电阻? 老板,你是做电子灯牌吧???我可以给你做也 要看电路的电压是多少,接法怎样。 一般高亮LED工作电压3V,电流20MA,53个就是160V左右,电源电压减去160,再除以0.02A就得到电阻值。电源电压减去160,再乘以0.02就是电阻的功率。

贴片电阻的阻值识别方法 (1)2位数字后面加一字母表示法:这种方法前面两位数字表示电阻值的有效数值,后面的字母表示有效数值后面应乘以10的多少次方,单位Ω.其标识意义见下图。如:02C为102×102=10.2kΩ,27E为 187×104=1.87MΩ 贴片电阻的阻值编码表 (2)3位数字表示法:这种表示方法前两位数字代表电阻值的有效数字,第3位数字表示在有效数字后面应添加”0”的个数。当电阻小于10Ω时,在代码中用R表示电阻值小数点的位置,这种表示法通常用有阻值误差为5%电阻系列中。比如:330表示33Ω,而不是330Ω;221表示220Ω;683表示68000Ω即68kΩ;105表示1MΩ;6R2表示602Ω。 (3)4位数字表示法,这种表示法前3位数字代表电阻值的有效数字,第4位表示在有效数字后面应添加0的个数。当电阻小于10Ω时,代码中仍用R表示电阻值小数点的位置,这种表示方法通用用有阻值误差为1%精密电阻系列中。比如:0100表示10Ω而不是100Ω;1000表示100Ω而不是1000Ω;4992表示49900Ω,即49.9kΩ;1473表示147000Ω即147kΩ;0R56表示0.56Ω。 300是30欧(这是国际标法) 30R是30欧(这是英国标法) 常看国外绘制的线路图,美国、英国、日本对零件符号的标示都不同。不过对于电阻阻值之标示却逐渐趋于一致,因为那个「点」常会出问题。所以本文所谈的标示,并非是色码认识,而是零件数值表上的标

Verilog流水灯实验报告

流水灯实验报告 实验二流水灯 一、实验目的 学会编写一个简单的流水灯程序并掌握分频的方法。熟悉Modelsim仿真软件的使用。 二、实验要求 用Quartus编写流水灯程序,在Modelsim软件中进行仿真。 三、实验仪器和设备 1、硬件:计算机 2、软件:Quartus、Modelsim、(UE) 四、实验内容 1、将时钟周期进行分频。 2、编写Verilog程序实现LED等依次亮灭,用Modelsim进行仿真,绘制波形图。 五、实验设计 (一)分频原理 已知时钟周期f为50MHz,周期T为1/f,即20ns。若想得到四分频计数器,即周期为80ns的时钟,需要把时钟进行分频。即每四个时钟周期合并为一个周期。原理图如图1所示。 图1 四分频原理图 (二)流水灯设计思路 1、实现4盏LED灯依次隔1s亮灭,即周期为1s; 2、计算出频率f为1/T=1Hz; 3、设置计数器cnt,当检测到clk上升沿时开始计数,当cnt计数到24_999_999时,clk_4跳变为1,LED灯亮起,当cnt计数49_999_999时,clk_4置0,LED灯熄灭。 4、给LED赋初值4’b0001,第一盏灯亮。 5、利用位拼接,实现循环。 (三)设计框图 图2 设计基本框图 (四)位拼接的用法 若输入a=4'b1010,b=3'b101,c=4'b0101,想要使输出d=5'b10001 用位拼接,符号“{ }”:d<={b[2:1],c[1],a[2:1]} 即把b的低1~2位10,c的低1位0,a的低1~2位01拼接起来,得到10 0 01。 流水灯 4'b0001 4'b0010 4'b0100 4'b1000

实验五 流水灯与中断控制

一、实验设备 (1)PC一台 (2)单片机多功能试验板一块 (3)KEIL uVision 4.22 集成开发环境、STC-ISP烧录软件、串口调试助手(电子工程基础实验QQ群文件共享) 二、实验目的 (1)了解单片机的4组I/O端口 (2)掌握通过串口通信控制LED灯的方法 (3)复习巩固C语言知识 三、实验要求与任务 使用KEIL uVision 4软件新建一个C51内核工程,步骤如下: (1)在”Soruce Group 1”新建C程序文件,文件名:main.c (2)在工程中新建两个组,名称分别为com和myled. (3)在工程文件对应的目录下,再新建两个目录,com文件夹和myled文件夹。 (4)在工程中新建四个文件,分别名称com.c, com.h, myled.c, myled.h,前两个文件保存在com文件夹中,后两个文件保存在myled文件夹中。 (5)将共享资料的“单片机开发板资料\学习版资料\例程\LED\driver”目录及文件拷贝到工程文件所在的目录中,并在工程中新建driver组,把driver文件夹下的 两个文件添加进去。(提示,我们要使用它提供的延时函数) 文件的组织结构如下图: 实验任务: 通过串口助手输入分别输入字符‘0’,‘1’,‘2’,‘3’,‘4’,‘5’,分别完成以下功能: 输入’0’,打开led1到led5共5个灯,它们处于常亮状态。 输入’1’,关闭led1到led5共5个灯。 输入’2’,led1到led5这5个灯间隔0.5秒轮流点亮(流水灯效果)。

输入’3’,led1、led3、led5这3个灯间隔0.5秒轮流点亮(流水灯效果)。 输入’4’,led2、led4这3个灯间隔0.5秒轮流点亮(流水灯效果)。 四、示例代码 1. 实例代码 https://www.sodocs.net/doc/327265240.html,.c文件(不需要修改,可参考主程序中如何调用它里面的函数)

交通灯设计 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

led灯电路驱动原理

LED灯电路驱动电路研究 内容摘要:论文提出了几种有代表性的实用LED驱动电路方案,并对每一种驱动电路的工作原理,优缺点及适用范围进行了较详尽的论述。对LED用户合理选用驱动电路有一定的指导作用。 论文并附电压系数计算表、LED恒流驱动器型谱图、恒流驱动器性能对比表、恒流驱动器接线图等图表4张。 一、 LED是一种节能、环保、小尺寸、快速、多色彩、长寿命的新型光源。近年来国内许多厂家都在积极研发LED新型灯具。但是一个不容忽视的事实是与LED灯配套的驱动器却没有及时跟上来,驱动电路性能不佳,故障率高,成了LED推广应用的瓶颈,其中还有许多技术问题需要研究解决。 接触过LED的人都知道:由于LED正向伏安特性非常陡(正向动态电阻非常小),要给LED供电就比较困难。不能像普通白炽灯一样,直接用电压源供电,否则电压波动稍增,电流就会增大到将LED烧毁的程度。为了稳住LED的工作电流,保证LED能正常可靠地工作,各种各样的LED驱动电路就应运而生。最简单的是串联一只镇流电阻,而复杂的是用许多电子元件构成的“恒流驱动器”。 近两年来,我公司为解决研发LED灯的需要,广开思路对各种可能有使用价值的LED驱动电路,从简单到复杂,从小功率到大功率,从直流到交流,全面深入地进行了试验研究,从中提炼出了几种有代表性的驱动电路方案,经试用效果良好。下面逐一介绍,与同行作一次交流。

二、镇流电阻方案 此方案的原理电路图见图1。 这是一种极其简单,自LED 面世以 来至今还一直在用的经典电路。 LED 工作电流I 按下式计算: L U U I R -= (1) I 与镇流电阻R 成反比;当电源电压U 上升时,R 能限制I 的过量增长,使I 不超出LED 的允许范围。 此电路的优点是简单,成本低;缺点是电流稳定度不高;电阻发热消耗功率,导致用电效率低,仅适用于小功率LED 范围。 一般资料提供的镇流电阻R 的计算公式是:L U U R I -= (2) 按此公式计算出的R 值仅满足了一个条件:工作电流I 。而对驱动电路另两个重要的性能指标:电流稳定度和用电效率,则全然没有顾及。因此用它设计出的电路,性能没有保证。 笔者摸索出一种新的设计计算方法,取名叫“电压系数法”。它是从电流稳定度和用电效率的要求出发,再计算出镇流电阻R 和电源电压U 的值。这样设计出来的电路,就能满足三个条件:电流稳定度I I ?;用电效率η和工作电流I 。 电压系数法的内容如下:(公式中用到的符号见图1) 首先建立电压系数定义:L U K U = (3) (电源电压与LED 工作

VerilogHDL流水灯设计讲课稿

V e r i l o g H D L流水灯 设计

大规模数字逻辑题目:流水灯控制 专业电子信息科学与技术 班级 学号 学生姓名 设计时间 教师评分 2013年 12 月 10 日

目录 一、概述 0 二、设计目的 0 三、设计内容 0 四、设计原理图 (1) 五、引脚分配情况 (1) 六、源程序代码 (1) VerilogHDL 程序: (1) 分频器部分: (4) 七、心得体会 (5) 八、参考文献 (6)

一、概述 流水灯是一串按一定的规律像流水一样连续闪亮,流水灯控制是可编程控制器的一个应用,其控制思想在工业控制技术领域也同样适用。流水灯控制可用多种方法实现,但对现代可编程控制器而言,基于EDA技术的流水灯设计也是很普遍的。 二、设计目的 1、熟悉利用Quartus II 开发数字电路的基本流程和Quartus II 软件的相关操作。 2、掌握基本的设计思路,软件环境参数配置,仿真,管脚分配,利用JTAG/AS进行下载等基本操作。 3、了解VerilogHDL 语言设计或原理图设计方法。 4、通过本此设计,了解流水灯的工作原理,掌握其逻辑功能及设计方法。 三、设计内容 1、用VerilogHDL语言设计一个流水灯,输入0的时候led~led7,1Hz正向流水3次,然后全亮;然后2Hz逆向流水5次全亮;循环。输入1的时候led0~led7,0.5Hz奇数流水2次,全亮,1Hz偶数流水4次,全亮,然后循环。 2、用QuartusII 软件进行编译,仿真,下载到实验平台进行验证。

四、设计原理图 en为可调输入,输出为8位数据,为流水灯实验,试用8个LED指示灯来表示,具体引脚分配见下。 五、引脚分配情况 六、源程序代码 VerilogHDL 程序: module LED( clk,led,en ); input clk; input en; output [7:0]led;// 输出端口定义为寄存器型

(完整word版)51单片机流水灯

51单片机的流水灯控制 班级:100712 姓名:全建冲 学号:10071047

一、设计要求 用51单片机设计一个流水灯的控制方案,要求采用定时器定时,利用中断法控制流水灯的亮灭,画出电路图和程序流程图,写出程序代码以及代码注释。 二、电路原理图 原理图分析: 本原理图采用STC89S52单片机控制8个LED灯,其中8个LED灯的负极接单片机的P1端口,正极通过1KΩ排阻连接到电源上。原理图中还给出了晶振与复位端,以保证控制器的稳定工作。

三、程序流程图

四、程序代码及注解 1.非中断定时器控制 #include #include//包含了_crol_函数的头文件 #define uchar unsigned char #define uint unsigned int uint i=0; uchar a=0xfe; void main() { TMOD=0x01;//设置工作方式为定时器0,16位手动重装初值 TH0=(65536-46080)/256;//50毫秒定时赋初值 TL0=(65536-46080)%256; TR0=1;//启动定时器0 while(1) { If(TF==1)//读溢出标志位 { TH0=(65536-46080)/256;//重新赋初值 TL0=(65536-46080)%256;

i++; if(i==10)//500毫秒定时 { i=0; P1=a;//P1端口赋值 a=_crol_(a,1);//循环左移 } TF=0;//清除定时器溢出标志 } } } 程序分析:本程序采用非中断定时器法控制流水灯,核心语句在于读取标志位TF位,TF为定时器溢出标志位,溢出时硬件自动置一,所以循环读取标志位以判断定时器是否溢出,而每次溢出需要手动清零,否则定时器无法再次溢出,利用标志i读取10次即可达到500毫秒的定时。另外需要注意的是单片机晶振为11.0592MHz,所以计时一个数的时间为12/11.0592=1.085us,故定时50毫秒的计数为50000/1.085=46080。 2.中断定时器控制 #include

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来表示。

VerilogHDL流水灯设计

大规模数字逻辑题目:流水灯控制 专业电子信息科学与技术 班级 学号 学生 设计时间 教师评分 2013年12 月10 日

目录 一、概述 (1) 二、设计目的 (1) 三、设计容 (1) 四、设计原理图 (2) 五、引脚分配情况 (2) 六、源程序代码 (2) VerilogHDL 程序: (2) 分频器部分: (5) 七、心得体会 (6) 八、参考文献 (7)

一、概述 流水灯是一串按一定的规律像流水一样连续闪亮,流水灯控制是可编程控制器的一个应用,其控制思想在工业控制技术领域也同样适用。流水灯控制可用多种方法实现,但对现代可编程控制器而言,基于EDA技术的流水灯设计也是很普遍的。 二、设计目的 1、熟悉利用Quartus II 开发数字电路的基本流程和Quartus II 软件的相关操作。 2、掌握基本的设计思路,软件环境参数配置,仿真,管脚分配,利用JTAG/AS 进行下载等基本操作。 3、了解VerilogHDL 语言设计或原理图设计方法。 4、通过本此设计,了解流水灯的工作原理,掌握其逻辑功能及设计方法。 三、设计容 1、用VerilogHDL语言设计一个流水灯,输入0的时候led~led7,1Hz正向流水3次,然后全亮;然后2Hz逆向流水5次全亮;循环。输入1的时候led0~led7,0.5Hz奇数流水2次,全亮,1Hz偶数流水4次,全亮,然后循环。 2、用QuartusII 软件进行编译,仿真,下载到实验平台进行验证。

四、设计原理图 en为可调输入,输出为8位数据,为流水灯实验,试用8个LED指示灯来表示,具体引脚分配见下。 五、引脚分配情况 六、源程序代码 VerilogHDL 程序: module LED( clk,led,en ); input clk; input en; output [7:0]led;// 输出端口定义为寄存器型

定时器控制流水灯

成绩 信息与通信工程学院实验报告 (操作性实验) 课程名称:微机原理与微控制器应用 实验题目:c51单片机的定时器实验指导教师: 班级: 学号:学生姓名: 一、实验目的和任务 1.掌握定时器中断的编程方法。 2.掌握keil C51集成开发环境在硬件仿真条件下各参数的设置。 二、实验仪器及器件 硬件:电脑一台、微机原理与单片机试验箱:51开发板、开关及LED显示单元、导线若干 软件:keil uVision4 三、实验内容及电路图 利用实验板上的八个LED灯作显示,利用定时器中断编写中断一次为50ms的定时程序,控制单片机定时器进行定时,总定时时间为0.75ms。

四、流程图与程序 #include "SST89x5x4.h" #include int temp=0x01,num=0; void T0Int() interrupt 1 { TH0=(65536-45872)/256; TL0=(65536-45872)%256; num++; if(num==15) { num=0; P1=_crol_(temp,1);

temp=P1; } } void main() { EA=1; ET0=1; TMOD=0X01; TH0=(65536-45872)/256; TL0=(65536-45872)%256; TR0=1; while(1); } 五、实验结果 八个LED灯由左往右依次亮起,并且每个LED灯点亮时间大约为0.75m。

六、实验数据分析及处理 从实验现象来看,LED灯从左到右依次点亮,符合实验要求,说明实验操作正确,实验结果正确。 七、实验结论与感悟(或讨论)

交通灯设计-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秒

一款5050三芯贴片LED灯制作资料和贴片LED节能灯电路图

一款5050三芯贴片LED灯制作资料和贴片LED节能灯电路图 为了让广大的电子爱好者和电子DIY发烧友能够自己制作简易的贴片LED节能灯,现博主特意为广大的朋友奉献一款贴片LED节能灯的制作资料和贴片LED灯的简易制作过程包含贴片LED节能灯制作电路图,以下是10贴片LED灯的制作电路图: 图 1 图1是一款贴片LED照明灯具的实用电路图,该灯使用220V电源供电,220V交流电经C1降压电容降压后经全桥整流再通过C2滤波后经限流电阻R3给串联的10颗贴片LED提供恒流电源.贴片LED的额定电流为20mA,但是我们在制作节能灯的时候要考虑很多方面的因素对贴片LED的影响,包括光衰和发热的问题,LED的温度对光衰和寿命影响很大,如果散热不好很容易产生光衰,因为LED的特性是温度升高电流就会增大,所以一般在做大功率照明时散热的问题是最重要的,将影响到LED的稳定性,小功率一般都采取自散热方式,所以在电路设计时电流不宜过大.图中R1是保护电阻,R2是电容C1的卸放电阻,R3是限流电阻防止电压升高和温度升高LED的电流增大,C2是滤波电容,实际在LED电路中可以不用滤波电路,C2是用来防止开灯时的冲击电流对LED的损害,开灯的瞬间因为C1的存在会有一个很大的充电电流,该电流流过LED将会对LED产生损伤,有了C2的介入,开灯的充电电流完全被C2吸收起到了开灯防冲击保护.该电路是小功率灯杯最实用的电路,占用体积小可以方便的装在空间较小的灯杯里,现在被灯杯产品广泛的采用.优点:恒流源,电源功耗小,体积小,经济实用.但是在设计时降压电容要采用耐压在400V以上的涤纶电容或CBB电容,滤波电容要用耐压250v以上.此电路适合驱动7-12只20mA的贴片LED 图2是电路板图PCB

FPGA 用verilog语言写的花样流水灯包含四种变换

FPGA 用verilog语言写的花样流水灯包含四种变换 module ledwater(clk,rst,sla,slb,out); input clk,sla,slb,rst; output[7:0] out; reg[7:0] out,date,count; reg[3:0] h,l; reg flg; always@(posedge clk) if(rst) begin if(count==8'd128) begin count=8'd0; case({sla,slb}) 2'b00: begin date=~date;out=date;end 2'b01: begin date=date<<1;out=~date;if(date==8'b00000000)date=8'b11111111;end 2'b10: begin h=h>>1;l=l<<1;date={h,l};out=~date;if(date==8'b00000000)begin h=4'b1111;l=4'b1111;end end 2'b11: begin if(flg==1'b0)begin date=date<<1;out=~date;if(date==8'b00000000)begin date=8'b11111111; flg=1'b1;end end else begin date=date>>1;out=date;if(date==8'b00000000)begin date=8'b11111111; flg=1'b0;end end end endcase end else count=count+8'd1; end else begin date=8'b11111111;h=4'b1111;l=4'b1111;flg=1'b0;count=8'd0;end endmodule

单片机课程设计 外部中断控制流水灯变化

单片机课程设计报告 设计题目:外部中断控制流水灯变化 姓名

一.设计目的 通过学习单片机工作原理和各种工作方式及各管脚的功能,想通过P3口的俩管脚P3.2和P3.3第二功能,即外部中断来使CPU响应,达到控制流水灯的目的。 二.设计要求 主程序实现8个灯从P2.0到P2.7依次亮灭,灯与灯 之间间歇约0.5秒.当P3.3口是低电平时,灯从P2.7到P2.0依次亮灭,灯与灯之之间间歇约0.5秒.循环3次返回主程序.当P3.2口是低电平时,灯全灭,当P3.2口是高电平时,返回主程序.当同时使P3.2和P3.3为低电平时,灯全灭,因为外部中断0的优先级高于外部中断1的优先级. 三.MCS-51的硬件结构: 四.P3口的状态 P3口是双功能口,默认为第一功能(通用I/O口),通过编程可设

置第二功能。 五.中断传送方式: 中断方式则是在外设为数据传送做好准备之后,就向CPU发出中断请求信号(相当于通知CPU)。CPU接收到中断请求信号之后立即作出 响应,暂停正在执行的原程序(主程序),而转去外设的数据输入输出 服务,待服务完之后,程序返回。CPU再继续执行被中断的原程序。六.外部中断 外部中断是指从单片机外部引脚输入请求信号。输入/输出的中断请求、实时事件的中断请求、掉电和设备故障的中断请求都可以作为 外部中断源,从引脚INT0、INT1输入。 外部中断请求、有两种触发方式:电平触发及跳变(边沿)触发。 这两种触发方式可以通过对特殊功能寄存器TCON编程来选择。 七.电路原理逻辑图如下:

八.实验硬件电路图如下

九.程序流程图如下 十.程序清单 ORG 0000H AJMP START ORG 0003H AJMP SER ORG 0013H AJMP SER1 ORG 0030H START: MOV IE,#85H ;外部中断0和1都开

通过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开发板上进行验证。 七、实验器材(设备、元器件)

LED射灯驱动电路原理图

LED射灯驱动电路原理图如下所示: 监控照明是全球节能的主流,而大功率LED 照明更是今后世界的照明发光系统的主流趋势。大功率LED具有亮度高、节能环保、安全性和稳定性高等特点,比传统光源节电60% ~ 70%.传统的声光控延时控制器能很好地实现对灯的控制,在光线黑暗时或晚上来临时,能有效地实现“人来灯亮,人去灯熄”,但由于其开关用的是继电器之类的机械控制器,所以在人流量多的地方由于频繁的开关,较容易损坏。 LED射灯驱动电路 V IN 上电时,电感( L )和电流采样电阻( RS )的初始电流为零,LED 输出电流也为零(见图2 )。这时候,内部功率开关导通,SW 的电位为低。电流通过电感(L )、电流采样电阻( RS )、LED 和内部功率开关从V IN 流到地,电流上升的斜率由V IN、电感(L )和LED 压降决定,在RS 上产生一个压差VCSN,当为 115 mV 时,内部功率开关关断,电流以另一个斜率流过电感( L )、电流采样电阻(R S )、LED和肖特基二极管( D ); 当( V IN-VCSN )为85mV时,功率开关重新打开,这样使得在LED 上的平均电流为IOUT = ( 0. 085+ 0. 015) /2 RS = 0. 1 /R S.如果不使用调光功能,可使DIM 引脚悬空,这时可输出设定的最大电流。

基于AT89C2051的智能控制器电路如图4所示,其主要由传感器单元、A D 转换单元、控制器单元组成。AT89C2051芯片用于对来自声控和光控传感器检测到的信号经过整形以后的信号数据做处理,进而控制LED 驱动器。该电路中AT89C2051的p3. 0 和p3. 1端口用作输入信号检测,剩下的13 个端口可选择输出控制。软件流程图如图5所示。 图4 智能控制器电路图 设计的LED射灯智能驱动系统,能有效地LED、检测周围环境的变化,及时关闭、开启灯源以及调光。该系统与传统的声光控延时开关照明系统相比,不仅能大量节省电能,而且其特有的调光模块使用电效率大大提高。该系统在工程上有较好的应用前景。

Verilog流水灯实验报告

流水灯实验报告 实验二 流水灯 一、 实验目的 学会编写一个简单的流水灯程序并掌握分频的方法。熟悉Modelsim 仿真软件的使用。 二、 实验要求 用Quartus 编写流水灯程序,在Modelsim 软件中进行仿真。 三、 实验仪器和设备 1、 硬件:计算机 2、 软件:Quartus 、Modelsim 、(UE ) 四、 实验内容 1、 将时钟周期进行分频。 2、 编写Verilog 程序实现LED 等依次亮灭,用Modelsim 进行仿真,绘制波形图。 五、 实验设计 (一)分频原理 已知时钟周期f 为50MHz ,周期T 为1/f ,即20ns 。若想得到四分频计数器,即周期为80ns 的时钟,需要把时钟进行分频。即每四个时钟周期合并为一个周期。原理图如图1所示。 rst_n clk clk_4 图1 四分频原理图 (二)流水灯设计思路 1、实现4盏LED 灯依次隔1s 亮灭,即周期为1s ; 2、计算出频率f 为1/T=1Hz ; 3、设置计数器cnt ,当检测到clk 上升沿时开始计数,当cnt 计数到24_999_999时,clk_4跳变为1,LED 灯亮起,当cnt 计数49_999_999时,clk_4置0,LED 灯熄灭。 4、给LED 赋初值4’b0001,第一盏灯亮。 5、利用位拼接,实现循环。 (三)设计框图

FPGA clk cnt LED LED 图2 设计基本框图 (四)位拼接的用法 若输入a=4'b1010,b=3'b101,c=4'b0101,想要使输出d=5'b10001 用位拼接,符号“{ }”:d<={b[2:1],c[1],a[2:1]} 即把b 的低1~2位10,c 的低1位0,a 的低1~2位01拼接起来,得到10 0 01。 流水灯 4'b0001 4'b0010 4'b0100 4'b1000 相当于把低三位左移,并最高位放在最低位。 用位拼接可写为: led<={led[2:0], led[3]}; 低三位 最高位 六、 实验方法和步骤 (一)时钟分频 1、 编写分频程序。 2、 编写测试程序。 3、 进行仿真,波形如图3所示。 图3 分频仿真结果 (二)流水灯 1、编写分频程序。

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 交通灯系统示意图

led节能灯维修电路图

led节能灯维修电路图 led节能灯维修电路图 led节能灯有低电压启辉、无频闪、无噪音、高效节能、开灯瞬间即亮、使用寿命长(3000小时以上,为普通白炽灯的3倍多)的好处,深受广大消费者的喜爱 先说下led节能灯好坏的检测流程 首先要排除假故障。关灯后节能灯有间隙性的闪光,这并不是灯的质量问题。主要原因是电工线路安装不规范,将开关设在零线造成的。只要把进线端的零线与火线调换一下即可。使用了带氖灯的开关,关灯后仍然能形成微流通路,或借线安装双联开关的,会造成有时关灯后有闪光现象。 维修led节能灯时,为安全应用英才取措施:隔离变压器隔离市电。 一、led节能灯不能正常点亮的检修 1.常见为谐振电容C6击穿(短路)或耐压降低(软击穿),应换为耐压在1kV以上的 同容量优质涤纶或CBB电容。 2.灯管灯丝开路。若灯管未严重发黑,可在断丝灯脚两端并联0.047μF/400V的涤 纶电容后应急使用。

3.R1、R2开路或变值(一般以R1故障可能性较大),用同阻值的1/4W优质电阻代 换。 4.三极管开路。如发现只有一只三极管开路,但不能更换一只,而应更换一对耐压在 400V以上的同型号配对开关管。否则容易出现灯光打滚或再次烧管。 5.灯光闪烁不停。灯管若未严重发黑,检查D5、D6有无虚焊或开路,若D5、D6软击 穿或滤波电容C1漏液及不良,也会使灯光闪烁不停。 6.灯难以点亮,有时用手触摸灯管能点亮或灯光打滚,这可能是C3、C4容量不足、不 配对。 7.倘若单支小功率节能灯点亮后灯丝有发红或发光的现象,还应检查D1~D4有无软 击穿,C1是否装反或漏电,电源部分有无短路等。 8.扼流圈L及振荡变压器B的磁心有断裂。如若单换磁心,要注意三点:(1)使用符 合要求的磁心,否则可能使扼流圈的电感值有较大出入,给节能灯埋下隐患;(2)磁隙不能过小,以免磁饱和;(3)磁隙间用合适的垫衬物垫好后,用胶粘剂粘上,并缠上耐高温阻燃胶带,以防松动。此外对B的同名端不能接错。 9.检修使用触发管的电子镇流器,应重点检查双向触发二极管,此管一般用DB3型, 它的双向击穿电压为32±4V。 二、led节能灯有元件明显损坏的检修 1.1.虽不熔断保险、不烧断进线处线路而电阻等有明显损坏的,三极管必损无疑。这 首先可能是灯管老化引起的,其次是使用环境差,另外可能是由C1失去容量造成的。 对于前二种情况,在更换电阻、三极管时,最好也更换配对的C3、C4小电解。对于后一种,C3、C4不必更换,由于C1工作在高压条件下,务必选用优质耐热电解电容器进行代换。 2.在熔断保险、烧断进线处线路的情况下,若C1、Q1、Q2完好,则必须逐个对D1~ D4进行常规检查和耐压测试。或把D1~D4全部用优质品代换。 3.C1爆裂,如伴有熔断保险、烧断进线的现象,应将D1~D4、C1全部更换。 4.只有Q2一侧的阻容件、三极管烧坏的,应重点检查C2是否已击穿。 5.若高频变压器B损坏,可用∮0.32mm高强线在10mm×6mm×5mm的高频磁环上 绕制,T1、T2各为4圈;T3为8圈(注意头尾)。扼流圈L:灯管功率5~40W,相应为1.5~5.5mH之间。 三、少数电子节能灯对其他家用电器的干扰。 可调整L的电感量或C2的电容量,使其不干扰遥控电视机,又能安全工作。 四、日常使用中led节能灯应该注意的地方 1.led节能灯不能在调光台灯、延时开关、感应开关的电路中使用。 2.led节能灯应避免在高温高湿的环境中使用。

相关主题