流水灯实验报告
流水灯实验报告
扬 州 大 学 广 陵 学 院
课
程
设
计
报
告
设计题目: 流水灯设计 姓 名:
学号: 100036137
班级:
时间:2013年 7月 4日
目 录
一( 设计任务与要求„„„„„„„„„„„„„„„„3
二( 实验目的„„„„„„„„„„„„„„„„„.„..3
三( 实验思路„„„„„„„„„„„„„„„„„.„..3
1系统逻辑设计„„„„„„„„„„„„„„...„3 2源程序代码„„„„„„„„„„„„„„„..„3 ?LED流水灯控制模块„„„„„„„„„„„„„.4 ?分频器„„„„„„„„„„„„„„„„„„„5 ?四位选择器„„„„„„„„„„„„„„„„„.5 ?六位计数
器„„„„„„„„„„„„„„„„..6 ?2位计数器„„„„„„„„„„„„„„„„...6 3实验原理调用„„„„„„„„„„„„„ „„.7 4仿真结果与分析„„„„„„„„„„„.„„„.7
四( 心得体会„„„„„„„„„„„„„„„„„..„.8
一(设计任务与要求
随着大规模集成电路技术和EDA技术的迅速发展,使得数字系统的硬件设计如同软件设计那样方便快捷,而Verilog HDL 是当前应用最广泛的并成为IEEE
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
的一种硬件描述语言。Verilog HDL是在C语言的基础上演化而来,具有结构清晰、文法简明、功能强大、高速模拟和多库支持等优点。此次课程设计通过使用Verilog HDL硬件描述语言设计了一个程序,使得流水灯可以根据自己所期望的方式点亮,并能在、MAX+plus?进行仿真测试,得出出仿真结果。通过课程设计深入理解VHDL语言的精髓,加深对数字电路和VHDL基本单元的理解,理论联系实际,提高设计能力,提高分析、解决计算机技术实际问题的独立工作能力。
二、实验目的
1、熟悉利用MAX+plus?开发数字电路的基本流程和MAX+plus?软件的相关操作。
2、掌握基本的设计思路、软件环境参数配置和仿真。
3、了解VerilogHDL语言设计或原理图设计
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
。
4、通过本知识点的学习,了解流水灯的工作原理,掌握其逻辑
功能设计方法。
三、实验思路
根据时钟信号的脉冲输入,我们以改变每个LED点亮状态的保持的时间来改变LED的变换间隔时间,根据LED的循环点亮和时间间隔的改变设计成为一个直观的LED流水灯自动循环系统,由此思路我们就可以很容易的着手流水灯控制程序的设计。
1. 系统逻辑设计:
根据以上的设计要求,运用模块化的设计思路,我们在MAX+plus? 软件系统中设计了LED流水灯控制模块、分频器模块、4位选择器、6位计数器、2位计数器,并通过各个模块程序之间的端口合理连接和协调,成功设计出LED流水灯灯控制电路,得到逻辑结构原理图,即为整个流水灯控制电路的逻辑结构。使用VerilogHDL语言设计相应的模块。
2. 源程序代码:
?LED流水灯控制模块
控制流水灯闪烁
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
。
module LED( a, led );
input [5:0]a;
output [7:0]led;
reg [7:0] led;
always @(a)
begin
case(a)
0: led = 8'b11111110;
1: led = 8'b11111101;
2: led = 8'b11111011;
3: led = 8'b11110111;
4: led = 8'b11101111;
5: led = 8'b11011111;
6: led = 8'b10111111;
7: led = 8'b01111111;
8: led = 8'b00111111;
9: led = 8'b10011111;
10: led = 8'b11001111;
11: led = 8'b11100111;
12: led = 8'b11110011;
13: led = 8'b11111001;
14: led = 8'b11111100;
15: led = 8'b11111010;
16: led = 8'b00011111;
17: led = 8'b11000111;
18: led = 8'b11110001;
19: led = 8'b11111000;
20: led = 8'b11110010;
21: led = 8'b00111011;
22: led = 8'b00101111;
23: led = 8'b10111100;
24: led = 8'b00001111;
25: led = 8'b10000111;
26: led = 8'b11000011;
27: led = 8'b11100001;
28: led = 8'b11110000;
29: led = 8'b10111000;
30: led = 8'b11101000;
31: led = 8'b00011101;
32: led = 8'b00000111;
33: led = 8'b10000011;
34: led = 8'b11000001;
35: led = 8'b11100000;
36: led = 8'b01110000;
37: led = 8'b00111000;
38: led = 8'b11001000;
39: led = 8'b00010101;
default: led = 8'b00000000;
endcase
end
endmodule
转化成symbol文件
?分频器
分频器可以用四位计数器替代。4位选择器选择不同的计数时,就会实验分频器的功能。
module counter4(q,clk);
output [3:0]q;
input clk;
reg [3:0] q;
always @( negedge clk)
begin
q=q+1;
end
endmodule
转化成symbol文件
?四选一选择器
用来选择分频器不同时钟信号来控制流水灯亮暗速度。
module lx (cg,clk,sel);
input [3:0]cg;
input[1:0] sel;
output clk;
reg clk;
always @(cg or sel)
case(sel)
2'b00 : clk=cg[0];
2'b01 : clk=cg[1];
2'b10 : clk=cg[2];
2'b11 : clk=cg[3];
default :clk=2'bx;
篇二:单片机实验报告——流水灯
电子信息工程学系实验报告
课程名称: 单片机原理及接口
实验项目名称: 实验2 流水灯实验 时间: 2011-10-21 班级: 电信092 姓名: 蔡松亮 学号: 910706247
一、实 验 目 的:
进一步熟悉keil仿真软件、proteus仿真软件的使用。了解并熟悉单片机I/O口和LED灯的电路结构,学会构建简单的流水灯电路。掌握C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。
二、实验原理:
MCS-51系列单片机有四组8位并行I/O口,记作P0、P1、P2和P3。每组I/O口内部都有8位数据输入缓冲器、8位数据输出锁存器及数据输出驱动等电路。四组并行I/O端口即可以按字节操作,又可以按位操作。当系统没有扩展外部器件时,I/O端口用
作双向输入输出口;当系统作外部扩展时,使用P0、P2口作系统地址和数据总线、P3口有第二功能,与MCS-51的内部功能器件配合使用。
以P1口为例,内部结构如下图所示:
图 P1口的位结构
作输出时:输出0时,将0输出到内部总线上,在写锁存器信号控制下写入锁存器,锁存器的反向输出端输出1,下面的场效应管导通,输出引脚成低电平。输出1时,下面的场效应管截止,上面的上拉电阻使输出为1。作输入时:P1端口引脚信号通过一个输入三态缓冲器接入内部总线,再读引脚信号控制下,引脚电平出现在内部总线上。
I/O口的注意事项,如果单片机内部有程序存贮器,不需要扩展外部存贮器和I/O接口,单片机的四个口均可作I/O口使用;四个口在作输入口使用时,均应先对其写“1”,以避免误读;P0口作I/O口使
用时应外接10K的上拉电阻,其它口则可不必;P2可某几根线作地址使用时,剩下的线不能作I/O口线使用;P3口的某些口线作第二功能时,剩下的口线可以单独作I/O口线使用。
三、实 验 环 境:
硬件:PC机,基本配置CPU PII以上,内存2G 软件:keil 2, Proteus
7.5
四、实 验 内 容 及 过 程:
1、用Proteus画流水灯电路图流程:
1)、运行Proteus仿真软件,单击pick from libraries,打开搜索元器件窗口,如图 1 所示:
图 1 打开搜索元器件窗口
2)、搜索添加元器件,如图2 所示:
图2 搜索添加元器件窗口
3)、添加元器件,修改元器件的参数,绘制流水灯原理图,元器件参数为c1=c2=20pf、c3=10uf;
R1=R2=R3=R4=R5=R6=R7=R8=470欧姆、R9=10k欧姆;晶振=12M;VCC=5V。总电路图如图 3 所示:
图 3 流水灯电路原理图
2、用keil建项目流程:
1)、运行keil 2软件,启动后,点击Project菜单新建项目,新建项目后,选择为AT89C51的仿真单片机的型号,单击File选择New新建程序文件,保存后,右击Source Group1添加入程序文件。
2)、编写程序,右击Target 1打开设置输出HEX窗口,如图 4 所示:
图 4 打开设置输出HEX窗口
3)、设置输出HEX文件,勾选上Output下的Create HEX Fi:,单击确定保存,运行程序得到HEX文件,如图 5 所示:
图5 设置输出HEX文件
3、实验内容:
1)、8个LED灯从最高位依次点亮,每次只亮一盏灯,依此循环。
新建keil文件,编写程序,程序如下:
#include reg52.h #include intrins.h #define uint unsigned int
#define uchar unsigned char void defay(uint z) {
uint x,y;
for(x=100;x0;x--) for(y=z;y0;y--); }
uchar temp; void main() {
temp=0xfe; P2=temp; while(1)
{
temp=_crol_(temp,1); defay(500); P2=temp;
} }
2)、编写程序使8个LED灯从两边向中间循环点亮。
编写程序,程序如下:
uchar temp,m,n;
uint i; void main() {
m=0xfe; n=0x7f; while(1) {
P2=m&n;
m=_crol_(m,1); n=_cror_(n,1); if(m==0xef)
{
m=0xfe; n=0x7f; }}
3)、编写程序使用一根或二根I/O线接一开关控制流水灯流向。
编写程序,程序如下:
sbit p15=P1 ; void main() {temp=0xfe;
P2=temp; while(1) defay(500); }
{
if (p15==1){ temp=_crol_(temp,1);
defay(500); }
if (p15==0) { temp=_cror_(temp,1); defay(500); }
P2=temp; } }
五、实 验 心 得:
通过本次的实验,熟悉keil仿真软件、proteus仿真软件的使用。了解并熟悉单片机I/O口和LED灯
篇三:流水灯实验报告
实验二 流水灯
实验时间:2011-11-20 实验地点:物理楼406一、实验目的
通过此实验进一步了解,熟悉FPGA开发软件的使用方法及Verilog.HDL,的编程方法;学习简单时序电路的设计。
二、实验原理和内容
实验内容:在实验板上实现LED1~LED8发光二极管流水灯显示
实验原理:在LED1~LED8引脚上周期性地输出流水数据,如原来输出的数据是11111100则
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示点亮LED1,LED2,流水一次后,输出数据应该为11111000,而此时则应点亮LED1~LED3三个LED发光二极管,这样就可以实现LED流水灯,为了观察方便,流水速
率最好在2Hz左右。在QuickSOPC核心板上有-48MHz的标准时钟源,该时钟脉冲CLOCK与芯片的28脚相连,为了产生2Hz的时钟脉冲,在此调用了一个分频模块int_div模块,通过修改分频系数来改变输出频率,int-div模块是一个占空比为50%的任意整数分频器。
三、实验步骤
1,启动Quartus?建立一个空白工程,然后命名为led-water.qpf。
2,新建Verilog HDL源程序文件ledwater.v,输入程序代码并保存,然后进行综合编译。若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。
3,从设计文件创建模块,由ledwater.v生成名为ledwater.bsf的模块符号文件。
4,将光盘中EDA-Component目录下的int-div.bsf和int-div.v拷贝到工程目录。
5,新建图形设计文件命名为led-water.bdf并保存。在空白处双击鼠标左键,在Symbol对话框左上角的libraries.v中,分别将project下的ledwater和int-div模块放在图形文件led-water.bdf
中,加入输入,输出引脚,双击各引脚符号进行引脚命名。将与ledwater模块led[7..0]连接的引脚命名为led[7..0],与int-div模块clock连接的引脚命名为clock,int-div模块的clk-out与ledwater模块的clk相连接。
6,选择目标器件并对相应的引脚进行锁定,在这里所选择的器
件为Altera公司Cyclone系列的EPIC12Q240C8芯片,引脚锁定方法见下表,将未使用的引脚设置为三态输入。
表 引脚锁定方法
7,将led-water.bdf设置为顶层实体,对该工程文件进行全程编译处理,若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。
8,最后将跳线短接跳帽跳接到SmartSOPC实验箱上JP6的LED0~LED7,使LED1~LED8分别与FPGA的引脚50,53~55,176和47~49相连,将Altera ByteBlaster?下载电缆的两端分别接到PC机的打印机并口和QuickSOPC核芯板上的JTAG下载口上,打开电源,执行下载命令,把程序下载到FPGA器件中,此时,即可在SmartSOPC实验箱上看到流水灯。 9,更改分频模块(int-div)的分频系数,并重新编译下载,观察流水灯的变化。
实验参考程序
四、实验数据与结果
观察到实验箱流水灯依次闪烁。
五、实验
总结
初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf
(1)在保存文件名字时不能以数字开头,并文件名要和程序中的模且块名一致,不然编译的时候会报错,当程序编译时的警告超过(来自:WWw.XieLw.com 写 论 文 网:流水灯实验报告)25个以上后,程序不能在目标板上正常执行。 (2)学会了怎么使用Quartus II,新建工程与下载程序的方法等等