文档库 最新最全的文档下载
当前位置:文档库 › 材料_基于FPGA的SOPC流水灯演示实验

材料_基于FPGA的SOPC流水灯演示实验

材料_基于FPGA的SOPC流水灯演示实验
材料_基于FPGA的SOPC流水灯演示实验

基于FPGA的SOPC演示实验

秦菁2012-07-10演示实验:流水灯

实验内容:将8位LED灯点亮,进行流水灯控制

实验步骤:

(1)在Quartus II中建立工程

(2)用SOPC builder建立Nios系统模块

(3)在Quartus II中的图形编辑界面进行引脚连接工作等

(4)编译工程后下载到FPGA中

(5)在Nios II IDE中根据硬件建立软件工程

(6)编译后,经过简单设置下载到FPGA中进行调试、实验

随着嵌入式处理器、专用数字器件和DSP算法以IP核的形式嵌入FPGA中,以单片FPGA完成整个嵌入式系统数字部分的设计已经成为现实。此实验主要通过运用Altera公司提供的Nios II软核处理器,了解SOPC的基本概念和基于FPGA的嵌入式系统的开发方法,掌握SOPC硬件开发工具,软件调试工具的使用。下面主要从硬件和软件的部分进行介绍。

一、硬件部分设计

(1)运行Quartus II软件,选择File/New Project Wizard菜单,选择工程目录(自定义)、工程名以及顶层文件名为led_test,在选择器件设置对话框中选择目标器件为Cyclone系列的EP1C6Q240C8N,建立新工程。

(2)双击左侧Entitiy框中的器件名,弹出如下对话框,点击Device and pin options/Unused pins,在Reserved all unused pins中选择As input tri-stated。

(3)选择Tools/SOPC Builder菜单项,或者点击Quartus II软件右上方工具栏的,打开SOPC Builder程序。弹出Create New System对话框。在System Name 文本框中键入nios32(自拟,但与工程名不同),选择语言为VHDL,单击确定

(4)确认Device Family中我们选择的是Cyclone,系统频率为50MHz。如图:

(5)下面开始添加系统需要的元件:Nios II32位CPU、JTAG UART Interface、led_pio、RAM。

(5.1)首先添加Nios II32位CPU:双击Nios II Processor,或单击选中后点击

Add按钮,然后在弹出的Nios II Processor设置对话框中设置添加CPU的参数,分别在Core Nios II和JTAG Debug Module选项中选择Nios II/e和level1,其他选项保持默认。Nios II有三种标准:经济型(Nios II/e)、标准型(Nios II/s)、

全功能型(Nios II/f)。本实验中选择经济型。

切换至JTAG Debug Module选项选择level1,

其他选项保持默认。

设置完成后单击Finish按钮返回SOPC Builder窗口,重命名为cpu。注意:命名时,名字必须以英文字母开头,不能以数字开头,能使用的字符有英文字母、数字和下划线“_”,不能连续使用下划线符号,名字也不能以下划线结束。

(5.2)添加JTAG UART,此接口为Nios II系统嵌入式处理器新添加的接口元件,通过它可以在PC主机和SOPC Builder系统之间进行串行字符流通,主要用来调试、下载数据等,也可以作为标准输入/输出来使用。

(5.3)添加内部RAM,RAM作为程序运行空间,类似于计算机的内存。在左侧选择Memories and Memory Controllers/On-Chip,双击On-Chip Memory(RAM or ROM),弹出如图所示的设置对话框,按图中所示进行设置(系统默认),单击Finish按钮后返回SOPC Builder窗口,重命名为RAM。

(5.4)加入PIO,此元件为I/O口,与单片机中的I/O类似,用户可以根据需要配置设置选项。在左侧选择Peripherals/Microcontroller Peripherals,双击PIO,在弹出的对话框中做如图所示的设置,重命名为led_pio。Width为8,表示有8个输出用IO口,分别控制开发板上的8个绿色LED灯(LEDG[7..0])。

(5.5)指定基地址和分配中断号。SOPC Builder会给用户的Nios II系统模块分配默认的基地址,用户也可以更改这些默认地址。如下图所示,分别点击system 菜单中的Assign Base Addresses和Assign Interrupt Numbers,让系统自动分配基地址和中断分配号,避免冲突。

(5.6)系统设置。双击cpu,在弹出的对话框中,分别在Reset Vector:Memory 和Exception Vector:Memory:下拉栏中选择ram。

(6)生成系统模块。选择System Generation选项卡,单击Generate按钮,则SOPC Builder会根据用户的不同设定,而在生成的过程中执行不同的操作,大约两分钟系统生成,系统生成后单击如果准确无误,会提示System generation was successful,单击Exit推出SOPC Builder。

(7)将刚生成的模块以符号的形式添加到BDF中:在SOPC Builder生成的过程中,会生成系统模块的符号文件,可以将该符号文件像其他Quartus II符号文件一样添加到当前项目的BDF文件中。SOPC系统生成完毕后,回到Quartus II 软件,选择File->New…,在弹出的对话框中选择Block Diagram/Schematic File,点击OK。双击空白处,或单击右键,在弹出的快捷菜单中选择Insert/Symbol,打开新对话框,在左侧的列表中选择Project->nios32,单击ok按钮。

(8)按照如图所示连接各个模块。Nios32元件为刚才使用SOPC Builder生成的片上系统。共有3组IO口,分别是clk时钟输入、reset_n重启信号输入和LED 信号输出IO口。再次在空白部分双击,在Name框内输入input,添加输入端口。一共需要两个。然后使用同样步骤添加一个ouput输出端口。双击输入或输出元件可以更改它们的名称。将两个输入端分别改名为clk及rst,实际与之连接的是开发板上的50MHz晶振和KEY0按钮。将输出端改名为led_down[7..0],代表开发板上的LEDG7到LEDG0共8个LED灯。需要注意的是SOPC Builder生成的系统的重启信号为低电平有效,开发板上的按键按下后代表低电平,弹起代表高电平。然后将这几个元件连接起来,硬件电路部分设计完毕。

(9)连接完成后,选择Processing/Start Compilation选项或者点击工具栏上按钮,开始编译该文件。编译无误后开始下一步工作。

(10)如果有编辑好的管脚定义文件,则点击Quartus II软件菜单栏上的Assignments->Import Assignments…导入文件,此处我们打开pin planner,按照文件夹中《EP1C6FPGA实验系统中EP1C6的管脚分配.doc》自定义引脚。

(10)定义完成后,需要再次编译工程。选择Processing/Start Compilation选项或者点击工具栏上按钮,开始编译。

(11)配置FPGA,选择Tools/Programmer菜单或者单击工具栏上的按钮,选择Hardware Setup,选择ByteBlasterMV[LPT1],单击close后,选择Start按

钮,开始将编译生成的sof文件下载到目标板上。

二、软件部分设计

在FPGA器件配置完要求的硬件后,接下来就需要创建和执行实现期望操作的应用程序。这个可以用Nios II汇编语言或高级语言如C来书写要求的程序实现。下面主要在Nios II IDE中利用C语言完成软件部分的设计。

(1)启动Nios II IDE,在开始菜单中选择所有程序/Altera/Nios II EDS11.0/legacy Nios II tools/Nios II11.0IDE命令,打开Nios II IDE软件。

(2)新建工程,选择File->New->Nios II C/C++Application

在Select Project Template内选择第一项Blank Project,Name自拟,SOPC Builder System PTF File的设置非常关键,此时应该选择第一步中SOPC Builder生成的.ptf文件,单击后面的browse,找到自己所建的工程所在目录下的nios.ptf文件,点击打开。注意,Nios II IDE是通过这个.ptf文件与SOPC Builder连接的,也就是说Nios II IDE的软件工程与SOPC Builder建立的系统是一一对应的,如果选错的话Nios II IDE就会连接到其他的系统上,后面的软件设计也会跟着发生错误。正确选择后,点Next>,在下一个界面中选择第一项,Create a new system library,点击Finish完成。

(3)设置软件工程的属性。打开软件界面后会看到新建的两个文件夹,第一个是show,一个是show_syslib[nios32],它是对应的软件工程的程序库。要设置软件工程的属性,右击第一个文件show,选择System Library Properities,进入系统设置界面,Stdout、stderr和stdin是系统的标准输入输出,由于没有添加这方面的IP核,所以默认使用null,将Support C++前面的勾去掉,这里不需要对C++的支持;再将Small C Library前面的勾打上,因为程序运行的空间是在片内的

RAM上,它只有20KB的容量,无法运行全部C语言的编译库,所以使用精简后的C语言编译库。右侧使用默认的ram,设置完毕后单击OK按钮。

(4)软件设计,要求同学们自己编写相应的程序,以实现不同的目的,下附演

示实验流水灯的源程序:

#include"stdio.h"

#include"system.h"

#include"altera_avalon_pio_regs.h"

#include"alt_types.h"

int main(void)__attribute__((weak,alias("alt_main")));

int alt_main(void)

{

alt_u8led=0x80;

volatile int i;

while(1)

{

while(i<500000)

i++;

led=led>>1;

if(led==0x00)

led=0x80;

led=~led;

IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE,led);

led=~led;

i=0;

printf("Hello world!\n");

}

}

此处需要注意,我们在程序中可以看到以下一行陌生的代码:IOWR_ALTERA_AV ALON_PIO_DATA(LED_PIO_BASE,led);

这个函数的意思是把led变量的值赋给LED_PIO_BASE,LED_PIO_BASE就是曾在SOPC Builder添加的led_pio核的基地址,Nios II使用地址都是用_BASE 表示,一定要用大写,所以此处_BASE前面的名字一定要与前面的led_pio名字一致。这些规定在System.h中都有定义,有兴趣的同学可以在软件工程show中查看。System.h文件在编译后生成。

(5)编译软件工程。选择Project/Build Project命令进行编译。如果上面提到的名字不一致这里就会报错提示,等待进度条结束,下面的信息栏也没有错误提示,说明软件工程也已经设置完毕。

(6)单击保存,在IDE界面,选择Run/Run菜单,系统会自动探测JTAG连接电缆,并弹出如下图所示的对话框,

选择左侧的Nios II Hardware,双击Nios II Hardware下出现的**Nios II HW configuration,在main选项卡下的Project中选择自己所建工程,然后切换到Target Connection选项卡,按如下图所示设置:

此一个简单的流水灯控制完成了。

LED流水灯设计

单片机课程设计报告 LED流水灯的设计 专业: 姓名:学号: 姓名:学号: 姓名:学号: 2015年月日

目录 LED流水灯的设计0 第一章绪论1 设计目的1 设计任务1 设计方法1 第二章设计内容与所用器件1 基本功能1 LED彩灯错误!未定义书签。 循环移位法2 第三章硬件系统设计2 单片机时钟电路2 第四章软件设计2 汇编语言和C语言的特点及编程 2 LED显示原理3 第五章系统调试与存在的问题4 程序下载4 硬件调试5 软件调试5 总结5 参考文献 6 LED流水灯的设计 [摘要]:当今社会,随着人们物质生活的不断提高,电子产品已经走进了家家户户,无论是生活或学习,还是娱乐和消遣几乎样样都离不开电子产品,大型复杂的计算能力是人脑所不能胜任的,而且比较容易出错。计算器作为一种快速通用的计算工具方便了用户的使用。计算器可谓是我们最亲密的电子伙伴之一。本设计着重在于分析计算器软件和开发过程中的环节和步骤,并从实践经验出发对计算器设计做了详细的分析和研究。 单片机由于其微小的体积和极低的成本,广泛的应用于家用电器、工业控制等领域中。在工业生产中。单片微型计算机是微型计算机称单片机,特别适用于控制领域,故又称为微控制器。 本系统就是充分利用了8051芯片的I/O引脚。系统以采用MCS-51系列单片机Intel8051为中心器件来设计LED流水灯系统,实现8个LED霓虹灯的左、右循环显示,并实现循环的速度可调。 [关键字]:单片机技术;系统设计;LED流水灯

第一章绪论 设计目的 通过本次课题设计,应用《单片机原理及应用》等所学相关知识及查阅资料,完成简易LED流水灯系统设计,以达到理论与实践更好的结合、进一步提高综合运用所学知识和设计的能力的目的。 通过本次设计的训练,可以使我在基本思路和基本方法上对基于MCS-51单片机的嵌入式系统设计有一个比较感性的认识,并具备一定程度的设计能力。 设计任务 在本次课程设计中,主要完成如下方面的设计任务: 1、掌握MCS-51系列8051的最小电路及外围扩展电路的设计方法; 2、了解单片机数据转换功能及工作过程; 3、设计LED流水灯系统,实现8个LED霓虹灯的左、右循环显示; 4、完成主要功能模块的硬件电路设计。 设计方法 本课题使用STC89C52RC单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。 如果要让接在口的LED1亮起来,那么只要把口的电平变为低电平就可以了;相反,如果要接在口的LED1熄灭,就要把口的电平变为高电平;同理,接在~口的其他7个LED的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。 由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。 第二章设计内容与所用器件 基本功能 利用STC89C52RC作为主控器组成一个LED流水灯系统,实现8个LED霓虹灯的左、右循环显示。 可选器件 51系列单片机、电容C104、、18?和1K的电阻、LED灯、按键、晶振等。 总体框架图

FPGA实验报告

数字电路与逻辑设计 用Verilog编程 用FPGA实现汽车尾灯控制系统 实验报告 学院:信息与通信工程学院 专业:电子信息工程 班级: 2015211103 组员:傅远昌 2015210077 张楷 2015210078

一.实验要求 根据汽车行驶状态自动控制汽车尾灯 1.直行:尾灯不亮 2.右转:右侧尾灯亮而且按秒闪烁,左侧尾灯不亮 3.左转:左侧尾灯亮而且按秒闪烁,右侧尾灯不亮 4.临时停车或故障:两侧尾灯同时闪烁 5.倒车显示 二.用FPGA实现方式设计 1.用三色LED代表左右汽车尾灯,为了便于区分,左尾灯选择靠左的三色LED且显示为蓝色,右尾灯选择靠右的三色LED且显示为红色。两灯同时闪烁表示停车或倒车。 2.用八个单色LED以流水灯的方式显示汽车的行驶状态,向前滚动表示汽车前行,向后滚动表示汽车到车,只有前四个LED 亮表示左转,只有后四个LED亮表示右转。 3.用四个拨码开关分别表示前行、左转、右转、故障(倒车),器输入组合1000表示前行,0100表示左转、0010表示右转、0001表示故障(倒车); 三.设计思路分析 1.使用不同的进程来分别处理时钟分频及各个状态下的灯光效果 2.用三色LED代表左右汽车尾灯

3.用拨码开关控制汽车行驶状态 4.用单色LED显示汽车行驶状态 5.使用状态机的思想来设计,通过过状态来决定灯光效果,通过外部输入来改变状态。 四.波形仿真 五.管脚分配 1.输入管脚分配: 2.输出管脚分配:

六.实验总结体会: (1)本次实验,我们采用模块化的设计方法,将整体分成不同功能的模块,如计时模块、分频模块、显示控制模块、LED灯显示模块,然后分模块编写程序(由小组人员分工完成),之后再将模块之间用变量连接起来,从而实现汽车尾灯显示要求。 (2)在实现本次设计的过程中,使我们了解了汽车尾灯的基本原理,从而让我们觉得,首次将我们的专业知识与生活联系起来,增强了我们对本课程的学习兴趣。 (3)在本次实验的实现过程中,通过调用case语句、always语句,是我们进一步加深了对case、always语句的认识,并且能够将其运用到其他设计中,使我们进一步熟练了这种设计方法和verilog程序设计语言。 七.实现代码

流水灯实验报告综合二

实验名称:流水灯的实验设计与制作班级100713 学号07 姓名张凯瑜指导教师庞涛 一、实验目的: 1.增进对单片机的感性认识,加深对单片机理论方面的理解。 2.掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、串行口通讯等。 3.了解和掌握单片机应用系统的软/硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础。 二、实验原理:

原理图说明:该设计选用一块STC89C52型单片机,使用其P1口和P3口的部分。P1口作为发光二极管的控制信号输出端,P3.2作为按钮K1外部中断0的信号输入口,P3.3为按钮K2外部中断1的信息输入口,P3.4作为K3信息输入口。单片机晶振频率为11.0592MHz,方便在线下载程序调试。电源使用5v 直流电,其中R11、C6为K1键硬件消抖(但效果不太理想,所以在软件中也做了软件消抖)。 三、实验设备: 电烙铁、万用电表、斜口钳、剥线钳、镊子、电池座、导线若干,所需元件清单: 四、实验方法与步骤: (1)认识各种元件,了解各元件的功能和使用方法。 (2)根据实验原理设计实验电路图和焊接图,并多次进行修正。

(3)按照实验焊接图在洞洞板上进行焊接。 焊接时在覆铜一面进行焊接,没有覆铜的一面用来放置元件。焊接时先对MCU座定好位,焊好对角两个角,然后焊接电源电路,按键电路,再复位和晶振电路,最后焊接LED 部分。 (4)插上编写好程序的单片机,实现“流水灯”效果。 五、实验测量与记录: 功能说明:本设计一共可以显示5种花样 k1键:切换显示花样k2键:暂停显示k3键:继续显示 流水灯——正面无单片机时 流水灯——正面有单片机时

花样流水灯实验报告

黄淮学院信息工程学院 单片机原理及应用课程设计性实验报告

五、硬件电路设计 根据设计任务,首先进行系统硬件的设计。其硬件原理图由LED显示电路和单片机最小系统组成,如图所示,其中包括时钟电路采用部时钟方式,复位电路采用上电自动复位。由于单片机的I/O口的高电平驱动能力只有微安级,而灌电流可以达到3毫安以上,因此采用低电平驱动。P1、P2、P3分别控制8个led灯。 六、软件程序设计 1、软件设计思路 如果通过上图所示电路图完成实验要求,通过数组,分别同时控P0、P1、P2分别控制8个led灯,从而协调控制24个灯实现花样流水灯效果。 开始 编写数组 主循环 逐个点亮 24灯同时闪烁 逐个熄灭

P3=table1[i]; delayms(500); } shan();//全部闪烁 for(i=0;i<8;i++)//逐个熄灭{ P3=table2[i]; delayms(500); } for(i=0;i<8;i++) { P1=table3[i]; delayms(500); } for(i=0;i<8;i++) { P0=table2[i]; delayms(500); } } } void delayms (uintt) { uint x,y; for(x=t; x>0;x--) for(y=50;y>0;y--); } 七、软硬件仿真调试分析 1、仿真调试结果

图片 1 逐个点亮图片 2 24灯闪烁 图片 3 逐个熄灭 2、性能测试及结果分析 通过仿真结果发现通过上述系统可以实现实验要求,24个灯逐个点亮,24个灯全亮后,24个灯一起闪烁,闪烁5次后,然后24个灯逐个熄灭。由此证明系统满足实验要求。 八、项目总结 在本次花样流水灯试验中,使用循环程序、数组语句实现了实验要求,设计过程中遇到了很多的问题,但经过努力,最终设计出了合理的解决方案。通过此次实验,对多个led灯的控制能力进一步得到提升。 九、项目设计报告成绩 实验报告成绩: 指导教师签字: 年月日

流水灯设计报告

流水灯设计报告 一、实验目的 通过本实验教学,学习数字电路综合应用(将单元电路组成系统电路的方法),掌握简单数字系统设计方法。通过查阅手册和文献资料,培养独立分析和解决实际问题的能力。掌握示波器、信号发生器、频率计、万用电表等常用电子仪器设备的使用。获得数字电路综合应用能力。 二、实验内容 用D 触发器和译码器设计一个8位可循环的流水灯,用仿真软件进行仿真,最后根据电路图在万能板上焊接出来。 三、实验原理 1.D 触发器 D 触发器的状态方程为:Q n+1=D 。其状态的更新发生在CP 脉冲的边沿,74LS74(CC4013)、74LS175(CC4042)等均为上升沿触发,故又称之为上升沿触发器的边沿触发器,触发器的状态只取决于时针到来前D 端的状态。D 触发器应用很广,可用做数字信号的寄存,移位寄存,分频和波形发生器等,图A 为74LS74外引线排列,图B 为D 触发器逻辑符号。 2.译码器 74LS138 为3 线-8 线译码器,共有 54LS138和 74LS138 两种线路结构型式 工作原理: ① 当一个选通端(E1)为高电平,另两个选通端((/E2))和/(E3))为低电平时,可将地址端(A0、A1、A2)的二进制编码在Y0至Y7对应的输出端以低电平译出。比如:A2A1A0=110时,则Y6输出端输出低电平信号。 图A 74LS74外引线排列 图B D 触发器逻辑符号

表1 74LS138逻辑功能表 ② 利用 E1、E2和E3可级联扩展成 24 线译码器;若外接一个反相器还可级联扩展成 32 线译码器。 ③ 若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。 ④ 可用在8086的译码电路中,扩展内存。 引脚功能: A0∽A2:地址输入端 STA (E1):选通端 /STB (/E2)、/STC (/E3):选通端(低电平有效) /Y0∽/Y7:输出端(低电平有效) VCC :电源正 GND :地 A0∽A2对应Y0——Y7;A0,A1,A2以二进制形式输入,然后转换成十进制,对应相应Y 的序号输出低电平,其他均为高电平。 如图C 所示为74LS138译码器的引脚排列图。功能表如表1所示 四、实验结果 图C 74LS138的引脚排列图

单片机实验报告

PIC单片机原理与应用实验报告 学校: 学院: 班级: 姓名: 学号: 指导教师:

实验一I/O端口实验 一、实验目的 (1)掌握MPLAP IDE集成开发环境的基本操作。 (2)掌握单片机的I/O端口的设计方法。 (3)掌握在线调试器的使用方法。 (4)学会查阅相关数据手册。 二、实验仪器设备 (1)PC机一台; (2)MPLAP IDE开发软件一套; (3)PICkit3在线调试器一套; (4)APP009实验板一块; 三、实验要求 (1)设计发光LED灯闪烁程序,下载调试,验证功能。 (2)设计流水灯程序,或其他花样彩灯程序,下载调试,验证功能。 (3)设计按按键加1计数程序,下载调试,验证功能。 四、实验步骤 (1)连接在线调试器PICkit3、APP009实验板和计算机; (2)打开MPLAP IDE集成开发环境软件,点击Debugger>Select Tools>PICkit 3 选择调试工具; (3)点击Debugger>Settings,在Settings窗口中点击Power栏,选择由PICkit3向实验板供电; (4)完成实现发光LED灯闪烁实验; 程序代码: #include void delay(void); int main() { while(1) { TRISEbits.TRISE0 = 0; //RE0设置为输出(1输入,0输出); https://www.wendangku.net/doc/1715122983.html,TE0 =1; //RE0=1输出高电平+5V,亮灯 delay(); //延时 https://www.wendangku.net/doc/1715122983.html,TE0 =0; //RE0=0输出低电平0V,灭灯 delay(); //延时 } } void delay(void) { long int i; for (i=0;i<65000;i++); } 实验现象:将程序下载到实验板上,运行程序,LED闪烁,通过改变延时函数改变延时时间,进而可以改变LED闪烁的频率。

左右来回循环的流水灯实验报告

青 岛 科 技 大 学 微机原理与接口技术综合课程设计(报告) 题 目 __________________________________ 指导教师__________________________ 学生姓名__________________________ 学生学号__________________________ _______________________________ 院(部)____________________________ 专业________________班 ______年 ___月 ___日 直流电机控制综合实验 周艳平 宋雪英 01 信息科学技术学院 计算机科学与技术0961 2012 12 27

摘要 (2) 1、单片机概述 (2) 2、仿真软件介绍 (2) 3、需求分析 (3) 一、课程设计目的 (3) 二、课程设计要求 (4) 三、实验内容 (4) 1、设计任务与要求 (4) 2、系统分析 (4) 1).硬件电路设计(画出原理图、接线图) (5) 2)软件框图 (7) 3、用keil建项目流程 (8) 4、程序清单 (9) 4、系统调试 (11) 四、设计总结(结论) (12)

摘要 近年来,随着电子技术和微型计算机的发展,单片机的档次不断提高,起应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到广泛的应用、成为现代电子系统中最重要的智能化的核心部件。而AT89C51就是其中一种,它是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMO8位微处理器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。本课程设计介绍一种LED小灯控制系统的设计方法,以单片机作为主控核心,与按键、排阻、电阻、电容等较少的辅助硬件电路相结合,利用软件实现对LED灯进行控制。能够通过按键控制8个LED小灯从左到右依次点亮。 关键字:单片机、LED流水灯 1、单片机概述 单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微 型计算机简称单片机,特别适用于控制领域,故又称为微控制器。 通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处 理器、存储器和I/O 接口电路等。因此,单片机只需要和适当的软件及外部设备相结合, 便可成为一个单片机控制系统。 单片机经过1、2、3、3 代的发展,目前单片机正朝着高性能和多品种方向发展,它 们的CPU 功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。 2、仿真软件介绍 (1).Keil uv3 运行Keil uv3

FPGA数电实验报告

实验报告 课程名称:数字电子技术实验姓名: 学号: 专业: 开课学期: 指导教师:

实验课安全知识须知 1.须知1:规范着装。为保证实验操作过程安全、避免实验过程中意外发生,学生禁止穿拖 鞋进入实验室,女生尽量避免穿裙子参加实验。 2.须知2:实验前必须熟悉实验设备参数、掌握设备的技术性能以及操作规程。 3.须知3:实验时人体不可接触带电线路,接线或拆线都必须在切断电源的情况下进行。 4.须知4:学生独立完成接线或改接线路后必须经指导教师检查和允许,并使组内其他同学 引起注意后方可接通电源。实验中如设备发生故障,应立即切断电源,经查清问题和妥善处理故障后,才能继续进行实验。 5.须知5:接通电源前应先检查功率表及电流表的电流量程是否符合要求,有否短路回路存 在,以免损坏仪表或电源。 特别提醒:实验过程中违反以上任一须知,需再次进行预习后方可再来参加实验;课程中违反三次及以上,直接重修。 实验报告撰写要求 1.要求1:预习报告部分列出该次实验使用组件名称或者设备额定参数;绘制实验线路图, 并注明仪表量程、电阻器阻值、电源端编号等。绘制数据记录表格,并注明相关的实验环境参数与要求。 2.要求2:分析报告部分一方面参考思考题要求,对实验数据进行分析和整理,说明实验结 果与理论是否符合;另一方面根据实测数据和在实验中观察和发现的问题,经过自己研究或分析讨论后写出的心得体会。 3.要求3:在数据处理中,曲线的绘制必须用坐标纸画出曲线,曲线要用曲线尺或曲线板连 成光滑曲线,不在曲线上的点仍按实际数据标出其具体坐标。 4.要求4:本课程实验结束后,将各次的实验报告按要求装订,并在首页写上序号(实验课 上签到表对应的序号)。请班长按照序号排序,并在课程结束后按要求上交实验报告。 温馨提示:实验报告撰写过程中如遇预留空白不足,请在该页背面空白接续。

单片机花样流水灯设计实验报告

**大学 物理学院 单片机花样流水灯设计实验 课题:花样流水灯设计 班级: 物理 *** 姓名: *** 学号: ……………

当今时代的智能控制电子技术,给人们的生活带来了方便和舒适,而每到晚上五颜六色的霓虹灯则把我们的城市点缀得格外迷人,为人们生活增添了不少色彩。 制作流水灯的方法有很多种,有传统的分立元件,由数字逻辑电路构成的控制系统和单片机智能控制系统等。本设计介绍一种简单实用的单片机花样流水灯设计与制作,采用基于MS-51的单片机AT89C51和发光二极管、晶振、复位、电源等电路以及必要的软件组成的以AT89C51为核心,辅以简单的数码管等设备和必要的电路,设计了一款简易的流水灯电路板,并编写简单的程序,使其能够自动工作。 本设计用AT89C51单片机为核心自制一款简易的花样流水灯,并介绍了其软件编程仿真及电路焊接实现,在实践中体验单片机的自动控制功能。该设计具有实际意义,可以在广告业、媒体宣传、装饰业等领域得到广泛应用。 关键字:AT89C51 单片机流水灯数码管

1. 单片机及其发展概况 单片机又称为单片微计算机,其特点是将微型计算机的基本功能部件(如中央处理器(CPU)、存储器、输入接口、输出接口、定时/计数器及终端系统等)全部集成在一个半导体芯片上。单片机作为一种高集成度微型计算机,已经广泛应用于工业自动化控制、智能仪器仪表、通信设备、汽车电子与航空航天电子系统、智能家居电器等各个领域。 2. Protues仿真软件简介 Protues以其数量众多的元件数据库、标准化的仿真仪器、直观的捕获界面、简洁明了的操作、强大的分析测试、可信的测试结果, 为电子工程设计节约研发时间,节省了工程设计费用。利用Protues软件设计一款通过数码管显示计数时间的流水灯电路及Keil C软件编程后,再将两者关联则可以简单快速的进行仿真。 【实验设计目标】 设计要求以发光二极管作为发光器件,用单片机自动控制,对8个LED 灯设计至少3种流水灯显示方式,每隔20秒变换一次显示花样,计时通过一个二位七段数码管显示。

创意流水灯设计

CHANGZHOU INSTITUTE OF TECHNOLOGY 设计说明书 项目名称:创意流水灯设计 二级学院:电气与光电工程学院 专业:电气工程与自动化班级: 学生姓名:学号: 指导教师:职称: 时间: 2016年10月14日—2017年1月19日

目录 1、设计内容和要求 (3) 2、系统总体结构 (3) 3、硬件设计 (4) 单片机最小系统 (4) 芯片与输入输出设备的连接 (4) 4、软件设计 (5) 总体分析与编程思路 (5) 主程序与按键处理程序 (5) 流水灯效果程序 (5) 5、系统调试 (5) 6、设计小结 (7) 7、参考文献 (8) 附录1.元件清单 (8) 附录2.硬件原理图 (8) 附录3.程序清单 (9)

1、设计内容和要求 单片机应用系统在工业控制,生产自动化、机电一体化等领域有着广泛的应用。上学期较系统的学习了51 单片机的基础知识,本学期主要围绕课题进行了实践训练。本课题选择了一心形LED 效果进行创意设计。 要求通过按键控制,实现流水灯三种不同的闪烁方法 (1)按1键,单灯循环 (2)按2键,依次亮起再依次熄灭 (3)按3键,渐明渐暗 (4)按4键,关闭 2、系统总体结构 由于51 单片机I/O 口可以提供20mA 电流,足以驱动LED,因此只要构成最小系统即可,LED共16只接在P0口与P2口上,四个按键接在P3(0-3)口上。系统总体结构如图

3、硬件设计 单片机最小系统 本课题选择的51 单片机是ATMEL 公司89C52 芯片,封装形式为DIP40。除在VCC(40 引脚)提供5V 电源、GND(20 引脚)接地外,要构成最小系统,须提供振荡输入与上电复位电路(见图)。XTAL1 与XTAL2 为片内振荡电路输入线,连接2 只22pF 微调电容与石英晶振,这里选择的振荡频率为12MHz,石英晶振起振后,在XTAL2 线上输出一个3V 左右的正弦波,片内OSC 电路按晶振同频产生自激振荡。在RST 线上连接10uF 电容C1 与10K 分压电阻R9,电容正极连接电源,电阻接地,上电后芯片复位,将PC 存储器清0。 图 AT89C52 最小系统 芯片与输入输出设备的连接 由于AT89C52 的I/O 口可以提供20mA 电流,足以驱动LED,因此只须把16 只LED 分别连接在AT89C52 的一个P0,P2 口上,将4个按键连接在P3(0-3)口上即可。为了起到限流作用,在LED 与电源回路中串接200 欧的电阻。该课题的电气原理图,见附件2。

51单片机流水灯实验报告单片机实验报告流水灯

51单片机流水灯试验 一、实验目的 1.了解51单片机的引脚结构。 2.根据所学汇编语言编写代码实现LED灯的流水功能。 3.利用开发板下载hex文件后验证功能。 二、实验器材 个人电脑,80c51单片机,开发板 三、实验原理 单片机流水的实质是单片机各引脚在规定的时间逐个上电,使LED灯能逐个亮起来但过了该引脚通电的时间后便灭灯的过程,实验中使用了单片机的P2端口,对8个LED灯进行控制,要实现逐个亮灯即将P2的各端口逐一置零,中间使用时间间隔隔开各灯的亮灭。使用rl或rr a实现位的转换。 A寄存器的位经过rr a之后转换如下所示: 然后将A寄存器转换一次便送给P2即MOV P2,A便将转换后的数送到了P2口,不断循环下去,便实现了逐位置一操作。

四、实验电路图 五、通过仿真实验正确性

代码如下:ORG 0 MOV A,#00000001B LOOP:MOV P2,A RL A ACALL DELAY SJMP LOOP DELAY:MOV R1,#255 DEL2:MOV R2,#250 DEL1:DJNZ R2,DEL1

DJNZ R1,DEL2 RET End 实验结果: 六、实验参考程序 #include #define uchar unsigned char #define uint unsigned int uchar table[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

sbit P00=P0^0; sbit P01=P0^1; void delay(uchar t) { uchar i,j; for(i=0;i

基于FPGA的单脉冲发生器

西安邮电大学FPGA课程设计报告 题目:可编程单脉冲发生器 院系:通信与信息工程学院专业班级:电子信息科学与技术学生姓名:韩萌 导师姓名:张丽果 起止时间:2012-9-10至2012-9-22 2012年09月20日

FPGA课程设计报告提纲 1.任务 根据输入的8位的脉宽参数,输出255种宽度的单次脉冲。 可编程单脉冲发生器是一种脉冲宽度可编程的信号发生器,在输入按键的控制下,产生单次的脉冲,脉冲的宽度由8位的输入数据控制。由于是8位的脉宽参数,故可以产生255 种宽度的单次脉冲。 2.目的 产生一个脉冲宽度可根据8位输入数据(data)可变的脉冲发生器。 可变的脉冲信号可以通过把输入的data赋值给一个count,通过对count信号做减1操作控制输出的脉冲宽度。把data赋给count后,在key键启动的情况下,输出脉冲pulse信号开 始输出低电平,count同时在每来一个时钟信号的时候做减1操作,而且pulse信号一直保持高 电平,当count减为0时,把pulse信号拉低。这样就输出了一个脉冲宽度可以根据data输入信 号可变的脉冲信号。 3.使用环境(软件/硬件环境,设备等) 布局布线使用的环境是Quartus II。 仿真测试使用的环境是ModelSim SE。 4.FPGA课程设计详细内容 4.1 技术规范 (一)、功能定义如下: 本设计实现一个可编程单脉冲发生器,具体功能如下: 1.异步信号复位,复位后信号输出可以重新开始。 2.把8为脉冲宽度data赋给计数信号count。 3.当有key按键使能时,输出脉冲信号,并做count减1操作,重复再按使能键无效。 4.使能按键后产生的单脉冲的上升沿与时钟取得同步。 5.当count减为0时,脉冲信号拉低。高电平持续的宽度,即所需的脉冲宽度。 6.产生的脉冲信号的最大宽度为255。 (二)、引脚定义

LED灯实验报告

mcs-51单片机接口技术实验 适用:电气类专业本科学生 实验报告 实验一熟悉proteus仿真模拟器,led花样表演 一、实验目的 掌握以下方法: 1.在proteus的环境下,设计硬件原理图; 2.在keilc集成环境下设计c51语言程序; 2.在proteus的环境下,将硬件原理图与软件联接仿真运行。 二、实验环境 1.个人微机,windows操作系统 2.proteus仿真模拟器 3.keilc编程 三、实验题目 基本题:使用8051的并口带动8个led发光二极管显示一种花样表演。提高题:使用一个键切换实现3种以上花样表演。 四、实验类型: 学习、模仿与简单设计型。 五、实验步骤: 0、进入isis,先选择需要的元件,然后设计电原理图,保存文件; 1、在keilc软件集成环境下编写源程序,编译工程文件; 2、将所设计的硬件原理图与目标代码程序相联接; 4、按play键,仿真运行程序。 附,可能用到的元件名称: cpu:at89c51或任一种mcs-51家族cpu; 晶振:crystal; 电容器:capacitors,选22pf 电解电容:cap-elec或genelect10u16v 复位电阻:minres10k 限流电阻:minres330r 按键:button led:led-blue/red/yellow或diode-led (一)接线图如下: (二).基础花样 (四)程序流程图 (五)c程序 #include <> #define uint unsigned int #define uchar unsigned char const tab1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f, /*正向流水灯*/ 0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,};/*反向流水灯*/ const tab2[]={0xff,0x00,0xff,0x00,0xff,0x00,}; void delay() { uint i,j; for(i=0;i<256;i++) for(j=0;j<256;j++)

流水灯控制实验报告及程序

实验三流水灯控制实验 姓名专业通信工程学号成绩 一、实验目的 1.掌握Keil C51 软件与protues软件联合仿真调试的方法; 2.掌握如何使用程序与查表等方法实现流水效果; 3.掌握按键去抖原理及处理方法。 二、实验仪器与设备 1. 微机1台 2. Keil C51集成开发环境 3. Proteus仿真软件 三、实验内容 1.用Proteus设计一流水灯控制电路。利用P1口控制8个发光二级管L1—L8。P3.3口接一按 键K1。参考电路如下图所示。其中74LS240为八反响三态缓冲器/线驱动器。 2.用中断或查询方式编写程序,每按动一次K1键,演示不同的流水效果。若用KEY表示按键的 次数,则其对应的流水效果如下: ① KEY=0: L1-L8全亮; ② KEY=1: L1-L8先全灭,然后自右向左单管点亮,如此循环; ③ KEY=2: L1-L8先全灭,然后自右向左依次点亮,如此循环; ④ KEY=3: L1-L8先全亮,然后自左向右依次熄灭,如此循环; ⑤ KEY=4: L1-L8先全灭,然后整体闪烁,如此循环; ⑥ KEY=5:自行设计效果。 以上移位及闪烁时间间隔均设置为0.3秒,按动5次按键后,再按键时,流水效果从头开始循环。 四、实验原理 1.按键去抖原理:通常按键所用的开关为机械弹性开关,当机械触点断开、闭合时,电压信号 波形如下图所示。由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定的接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动。抖动时间的长短由按键的机械特性决定,一般为5~10ms。按键抖动会引起一次按键被误读多次。为了确保CPU对键的一次闭合仅做一次处理,必须去除按键抖动。在键闭合稳定时,读取键的状态,并且必须判别;在键释放稳定后,再作处理。按键的抖动,可用硬件或软件两种方法消除。常用软件方法去抖动,即检测到按键闭合后执行一个5~10ms延时程序;让前沿抖动消失后,再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有按键按下。当检测到按键释放后,也要给5~10ms的延时,待后延抖动消失后,才能转入该键的处理程序。 2.74LS240:八反相三态缓冲器/线驱动器 引脚排列图:

亲子生日会策划方案

2021亲子生日会策划方案1 一、目标: 1、让孩子在集体中过生日,可以培养孩子的一种集体意识和分享意识,而且给孩子们营造了宽松,快乐的心理环境与物质环境,使他们充分感受到集体生活及成长的幸福与快乐。 2、引导孩子积极主动的参加生日庆祝活动,培养孩子在活动中大胆表现自己。大胆与同伴交往的能力,增加自信心。 3、让幼儿除了得到父母长辈的关爱之外,更能得到来自同伴的祝福。 二、准备: 1、预订生日蛋糕、生日小礼物、生日帽、祝福卡。 2、背景音乐:《生日歌》、《让爱住我家》。 3、幼儿提前准备三个节目表演(集体表演或小组表演都可以)。 4、老师准备小游戏两个。 5、相机。 三、活动流程: 1、活动开始致词,幼儿表演开场舞。 2、过生日小朋友的自我介绍(班别、姓名、今年几岁、爱好等)。 3、唱生日歌,许愿、分享生日蛋糕。 4、送礼物给生日的小朋友并带上祝福语,小朋友间可以互赠生日小礼物。 5、幼儿表演节目或穿插游戏。 6、拍大合照留念。 四、总结活动,上传照片互幼儿园网站。 2021亲子生日会策划方案2 一、活动名称:欢乐嘉年华DIY生日会 二、活动时间:11月27,28日每晚19:00~20:00 三、活动地点:----街道活动厅 四、主办单位:红黄蓝亲子园--中心园 五、活动目的:培养幼儿精细动作,审美,音乐,独立制作的能力,提高幼儿社会交往与沟通能力,丰富幼儿生活,全面提高幼儿综合素质。

六、活动流程: 1、入场18:3018:40签到(分成逗逗、嘟嘟、妞妞三组,注意年龄段平均分开并 编号)各领队负责自己队员组织和签到等工作。(即时贴编号一试双份以便抽奖) 18:4018:55领队带领各队分组就坐,征求队员本队口号。场内播放欢快的音乐,教师迎接家长和小朋友,每个进门的家庭发放食物小礼品包(2矿泉水+1软包装+小食品),待全部家庭就位,活动即开始。约18:55。 2、开场舞(教师表演)约5分钟。18:5519:00晚会开始,开场表演(服装)。 3、主持人宣布开始(放红黄蓝宝宝之歌:放礼花)约3分钟。 4、看谁本领大约20分钟 2021亲子生日会策划方案3 活动时间:----年-月-号 活动地点:---大酒店 活动创意:以孩子生日为主题。突出孩子天真烂漫纯真无邪的天性。 展现孩子朝气蓬勃的生机阳光灿烂的特质。现场气氛保持活泼轻松,同时隆重而高雅。配有孩子们演出节目,专业服装。为现场营造健康活泼快乐的气氛。 舞台布置及相关安排:风格——活泼天真阳光 (1)酒店门口设15米拱门一个(条幅:祝---小朋友十岁生日快乐) (2)酒店门口设-展架(孩子写真照片一张) (3)酒店门口安排一对表演服饰的卡通米奇老鼠迎宾(注明:专业表演服饰卡通米奇老鼠,人在里面可以自由运动跟孩子追嬉打闹) (4)楼梯护栏装饰气球 (5)酒店大厅门口设第二个孩子写真照片(跟第一张不一样的)装饰花或气球 羽毛等 (6)全场桌椅以及四面墙壁装饰轻,舞台上数串彩球。生日典礼完时邀请小朋友踩响生日彩球。 (7)走道顶端设高档纱制绢花拱门,靠近舞台一个。 (8)1米5宽度20米长舞台专用红地毯。

FPGA基础试验之流水灯

综合实验报告 第四组 组长:韩欢02081535 陈洁钰02081536 侯旭涛02081514 高耀02081510 李欣昊02081508 李昊02081506

FPGA基础试验之流水灯 一、实验目的 通过此实验进一步了解、熟悉和掌握Quartus II开发软件的使用方法及Verilog 语言的编程方法。学习简单时序电路的设计分析和硬件测试。 二、实验内容 1.熟悉信号产生板中的FPGA的普通I/O的连接; 2.根据实际的流水灯分析时序,体会用Verilog语言的编程产生相应时序;3.熟悉集成开发工具Quartus II,学会使用Quartus II对Cyclone系列FPGA的程序开发、编译与调试; 4.掌握Cyclone系列FPGA的程序加载,熟练掌握将.sof文件加载到实验板的FPGA中,实现流水灯的效果。 三、实验原理 流水灯,顾名思义就是让LED像水一样的点亮。如果把流水做慢动作播放,可以想象到其实就是移动,即:把水块不断地向同一方向移动,而原来的水块保持不动,就形成了流水。同样,如果使得最左边的灯先亮,然后通过移位,在其右侧的灯,从左向右依次点亮,而已经亮的灯又不灭,便形成了向右的流水灯。初始状态时,四个灯都不亮,每来一个时钟脉冲,CLK,计数器就加1.这样通过移位依次点亮所有的灯,就形成了流水灯。而当四个灯都点亮时,需要一个操作使得所有的灯恢复为初始状态。然后,再一次流水即可。如果是右移位,就出现向右流水的现象;反之,向左流水。 四、实验要求 控制4个LED进行花式显示,根据硬件设施设计两种模式:S0:从全亮到全灭,再到全亮,依次循环;S1:从LED0开始依次点亮,为LED1亮,LED2亮,LED3亮,后再LED2亮,LED1亮,LED0亮,不停循环。即输出为:S0时,从0000到1111不停循环转换;S1时,0111,1011,1101,1110,1101,1011,0111不断循环。 五、实验步骤 (1)建立工程 (2)建立Verilog文件,编写相关程序 (3)将verilog文件编译为可视化电路图文件 (4)将可视化电路图文件添加输入输出组合成电路图文件 (5)编译语法及验证原理图 (6)根据需要分配管脚并进行编译

单片机实验报告

南京晓庄学院电子工程学院 实验报告 课程名称:单片机系统设计与应用 姓名:森 专业:电子信息科学与技术 年级:14级 学号:05 2016年12 月1 日

实验项目列表 序号实验项目名称成绩指导教师 1 单片机仿真软件的使用 2 单片机I/O接口应用实验——流水灯 3 外部中断实验——工业顺序控制模拟 4 定时/计数器实验——矩形波 5 定时/计数器实验——计数器 6 综合实验 7 8 9 10 注: 1、实验箱端口为com6。 2、芯片选择切换到51 3、停止运行使用实验箱上的复位按钮

实验室号:___ 实验时间:成绩: 实验一仿真软件的使用 1.实验目的和要求 1)熟悉Keil C51软件界面,以及编辑、编译、运行程序的步骤; 2)掌握单片机仿真软件使用和调试的方法。 2.实验原理 Keil C51软件使用 在Keil C51集成开发环境下,建立一个工程并编辑源程序,熟悉Keil C51集成开发环境下各种菜单、命令的使用。 3.主要仪器设备(实验用的软硬件环境) 安装有Keil C51软件的PC机1台 4.操作方法与实验步骤 Keil C51软件使用 (1)建立用户文件夹 (2)建立工程 (3)建立文件并编码。输入以下源程序,并保存在项目所在的目录中 (4)把文件加入工程中 (5)编译工程。编译时观察在界面下方的“Build”页中的到编译错误信息和使用的系统资源情况等。 (6)调试。利用常用调试命令,如复位、运行、暂停、单步、单步跳过、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、1#串行窗口、内存窗口、性能分析、工具按钮等命令进行调试,观察并分析调试结果。 (7)目标代码文件的生成。运行生成相应的.HEX文件。 5.实验内容及程序 1)从DATA区地址起始地址为40H的连续10个内存单元的内容传送到XDATA区起始地址为2000H的10个内存单元中。 注意:DATA区地址起始地址为40H的连续10个内存单元必须先赋初值。 P83-5源程序 #include #define uchar unsigned char xdata unsigned char buffer1[10]_at_ 0x2000; //在xdata区定义数组变量BUF1,首地址为2000H data unsigned char buffer2[10]_at_ 0x40; //在data区定义数组变量BUF2,首地址为40H void main(void)

流水灯的设计与制作

2010—2011学年第二学期控制系统实训 设 计 报 告 设计题目:流水灯的设计与制作 小组成员:陈琳(11097241108) 孙钢干(11097242041) 指导老师:王永祥 所在班级:09电子信息工程技术(1)班 二〇一一年六月三十日

流水灯的设计与制作 摘要:当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。 关键词:LED 单片机控制系统流水灯

1.引言 (4) 2.任务描述及设计方案 (4) 2.1 任务描述 (4) 2.2 设计方案 (4) 3.硬件设计方案 (4) 3.1 设计思路 (4) 3.2 流水灯电路原理图 (5) 3.3 主要原件功能说明 (5) 4.软件方案 (9) 4.1 程序流程图 (9) 4.2 元件清单 (9) 4.3 参考程序 (9) 4.4 Proteus 仿真软件 (10) 5.结论 (10) 6.设计总结 (10) 7.参考文献 (11)

学习单片机的最有效方法就是理论与实践并重,用单片机设计与制作流水灯,需要更深的去了解单片机的很多功能,努力的去查找资料,当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。 2.任务描述及设计方案 2.1 任务描述 设计流水灯控制电路,使连接在该电路上的8个发光二极管按顺序依次闪烁;将按键K1按下,8个发光二极管全部处于点亮状态,按下按键K2后,8个发光二极管全灭。 2.2设计方案 为实现此功能,选择用单片机控制的电路。其中系统工作原理为: 我们利用循环移位指令,采用循环程序结构进行编程。我们在程序一开始就给P1口送一个数,这个数本身就让P1.0先低,其他位为高,然后延时一段时间,再让这个数据向高位移动,然后再输出至P1口,这样就实现“流水”效果啦。 3.硬件设计方案 3.1 设计思路 如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。

郑州航院EDA实验报告模板

《EDA技术及应用》 实验报告 系部:电子通信工程系 指导教师:张松炜 学号:121307214 ____ 姓名:李俊杰_______

2014___年_6___月__19_日 实验一点亮LED设计 一、实验目的 通过此试验可以让大家逐步了解,熟悉和掌握FPGA开发软件Quartus II的使用方法及VerilogHDL的编程方法。 二、实验内容 本实验是一个简单的点亮LED灯的实验,具体包括: 1)使用Quartus II建立一个工程; 2)Quartus II工程设计; 3)设置编译选项并编译硬件系统; 4)下载硬件设计到目标FPGA; 5)观察LED的状态; 三、实验原理 和单片机一样,向片子里写进数据,输出高电平(对于共阴极的),或者输出低电平(对于共阳极)。根据Cyclone片子已经分配好的针脚设置好针脚。 四、实验步骤 建立-----个工程-----输入程序-----软件编译 ------生成下载文件-----下载—调试。

五、实验程序 module led1(led); //模块名led1 output[7:0] led; //定义输出端口 reg[7:0] led; //定义寄存器 always //过程1 begin led = 8'b10101010; //输出0xAA end endmodule 六、思考题 (1)写出使用QuartusII软件开发工程的完整的流程。 建立一个工程—输入程序—软件编译综合—生成下载文件— 下载—硬件调。 实验二流水灯实验 一、实验目的 通过此试验让大家进一步了解熟悉和掌握FPGA开发软件的使用方法及软件编程方法。学习简单的时序电路的设计和硬件测试。 二、实验内容 本实验的内容是建立用于控制LED流水灯的简单硬件电路,要求在SmartSOPC上实现LED1-LED8发光二极管流水灯的显示。 三、实验原理

相关文档