跑马灯VHDL课程设计报告
vhdl课程设计报告

一、设计目的本课程设计的目的是熟练掌握相关软件的使用和操作。
能对VHD1语言程序进行编译,调试,以及通过计算机仿真,得到正确的仿真波形图,并根据所得仿真波形图分析判断并改进所设计的电路。
在成功掌握软件操作基础上,将所数字电路的基础课知识与VHD1语言的应用型知识结合起来并与实际设计,操作联系起来,即“理论联系实际:深入了解VHD1语言的作用与价值,对用硬件语言设计一个电路系统开始具备一个较完整的思路与较专业的经验。
对EDA技术有初步的认识,并开始对EDA技术的开发创新有初步的理解。
二、设计内容及操作1、设计循环彩灯控制器1.1设计内容设计一个循环彩灯控制器,该控制器控制红,绿,黄三个发光管循环点亮。
要求红发光管亮3秒,绿发光管亮2秒,黄发光管亮1秒。
1.2程序设计1IBRARYIEEE;USEIEEE.STD_10GIC_1164.A11;USEIEEE.STD_1OGIC_UNSIGNED.A11;ENTITYcaideng_2ISPORT(e1k:INSTD_1OGIC;red,green,ye11ow:OUTSTD1OGIC);ENDENTITYCaideng_2;ARCHITECTUREexamp1eOFcaideng_2ISSIGNA1dout:STD_1OGIC_VECTOR(2DoWNTO0);SIGNA1m:STD_10GIC_VECT0R(2DOWNTO0);BEGINred<=dout(2);green<=dout(1);ye11ow<=dout(0);PROCESS(e1k)ISBEGINIF(c1k,EVENTANDC1k=T')THENIF(In="110")THENm<="001";E1SEm<=m+1;ENDIF;CASEmISWHEN"001"=〉dout<=〃100〃;WHEN"010"=>dout<=T00";WHEN,/0ir=>dout<="100";WHEN"100"=>dout<="010";WHEN"101"=>dout<="010";WHEN"110"=>dout<="001";WHENOTHERS=>dout<="000";ENDCASE;ENDIF;ENDPROCESS;ENDARCHITECTURE;1.3仿真波形图14波形图分析在仿真时已经设置好开始时间和结束时间,根据以上的波形图可知,当e1k 信号处于高电平(高低电平可以根据自己所设计的情况自己定义),红发光管最先亮灯(高电平表示亮灯),时间为3s,3s之后绿发光管开始亮灯2s,2s结束黄发光管亮1s,以此循环亮灯,直到仿真结束时间。
跑马灯实验报告

电子系统综合设计报告学号 201009120229 姓名李文海年级专业 2010级电子信息工程(二) 指导教师刘怀强学院理学院走马灯实验论文--《嵌入式系统技术》1、实验目的1、学会dp-51pro实验仪监控程序下载、动态调试等联机调试功能的使用;2、理解和学会单片机并口的作为通用i/o的使用;3、理解和学会单片机外部中断的使用;4、了解单片机定时器/计数器的应用。
2、实验设备z pc 机、arm 仿真器、2440 实验箱、串口线。
3、实验内容z 熟悉 arm 开发环境的建立。
z 使用 arm 汇编和 c 语言设置 gpio 口的相应寄存器。
z 编写跑马灯程序。
5、实验原理走马灯实验是一个硬件实验,因此要求使用dp-51pro 单片机综合仿真实验仪进行硬件仿真,首先要求先进行软件仿真,排除软件语法错误,保证关键程序段的正确。
然后连接仿真仪,下载监控程序,进行主机与实验箱联机仿真。
为了使单独编译的 c 语言程序和汇编程序之间能够相互调用,必须为子程序间的调用规定一定的规则。
atpcs ,即 arm , thumb 过程调用标准(arm/thumb procedure callstandard),是 arm 程序和 thumb 程序中子程序调用的基本规则,它规定了一些子程序间调用的基本规则,如子程序调用过程中的寄存器的使用规则,堆栈的使用规则,参数的传递规则等。
下面结合实际介绍几种 atpcs 规则,如果读者想了解更多的规则,可以查看相关的书籍。
1.基本 atpcs 基本 atpcs 规定了在子程序调用时的一些基本规则,包括下面 3 方面的内容:(1)各寄存器的使用规则及其相应的名称。
(2)数据栈的使用规则。
(3)参数传递的规则。
相对于其它类型的 atpcs,满足基本 atpcs 的程序的执行速度更快,所占用的内存更少。
但是它不能提供以下的支持: arm 程序和 thumb 程序相互调用,数据以及代码的位置无关的支持,子程序的可重入性,数据栈检查的支持。
心形跑马灯实训报告

一、实训目的本次心形跑马灯实训旨在通过实际操作,让学生掌握心形跑马灯的设计原理、电路搭建、编程控制以及实际应用等方面的知识。
通过实训,提高学生的动手能力、创新能力和团队协作能力,同时加深对电子技术、嵌入式系统及编程的理解。
二、实训背景随着科技的发展,嵌入式系统在日常生活中得到了广泛应用。
心形跑马灯作为一种新颖的电子装饰品,具有较高的观赏性和实用性。
本实训项目以心形跑马灯为载体,让学生在实训过程中学习相关知识,培养创新意识。
三、实训内容1. 心形跑马灯设计原理心形跑马灯采用LED灯珠作为显示单元,通过单片机控制LED灯珠的亮灭,形成动态的心形图案。
设计原理主要包括以下几个方面:(1)心形图案设计:通过数学公式计算心形图案的坐标点,将坐标点映射到LED灯珠上。
(2)LED灯珠驱动电路:设计LED灯珠的驱动电路,确保LED灯珠正常工作。
(3)单片机控制电路:设计单片机控制电路,实现LED灯珠的亮灭控制。
2. 心形跑马灯电路搭建(1)电路元器件:主要包括单片机、LED灯珠、电阻、电容、面包板、导线等。
(2)电路搭建步骤:①根据设计原理,设计电路图。
②在面包板上搭建电路,连接单片机、LED灯珠、电阻、电容等元器件。
③检查电路连接是否正确,确保电路正常工作。
3. 心形跑马灯编程控制(1)编程环境:使用C语言进行编程。
(2)编程步骤:①初始化单片机端口,设置LED灯珠的亮灭模式。
②编写心形图案的生成函数,计算心形图案的坐标点。
③编写控制LED灯珠亮灭的函数,实现心形图案的动态显示。
4. 心形跑马灯实际应用(1)展示平台:将心形跑马灯应用于各类活动、展览等场合,展示其独特魅力。
(2)应用场景:如商场、酒店、旅游景点等。
四、实训过程1. 理论学习:首先,学生对心形跑马灯的设计原理、电路搭建、编程控制等方面进行理论学习,了解相关知识。
2. 电路搭建:在面包板上搭建心形跑马灯电路,连接元器件,确保电路正常工作。
3. 编程实践:使用C语言编写心形跑马灯的代码,实现心形图案的动态显示。
实验报告 跑马灯

实验报告跑马灯实验报告:跑马灯引言:跑马灯作为一种常见的室内装饰和广告展示工具,广泛应用于商场、剧院、车站等公共场所。
本实验旨在探究跑马灯的工作原理和设计过程,并通过实际搭建跑马灯模型进行验证。
一、跑马灯的工作原理跑马灯是通过一组灯泡或LED灯组成的,它们按照一定的顺序依次亮灭,从而形成连续的动态效果。
跑马灯的工作原理主要包括电路控制和程序设计两个方面。
1. 电路控制:跑马灯的电路控制是通过继电器或集成电路实现的。
继电器是一种电磁开关,通过控制电磁铁的通断来控制灯泡的亮灭。
而集成电路则是通过逻辑门和计时器等元件实现灯泡的顺序控制。
2. 程序设计:跑马灯的程序设计是通过编写一段简单的代码来实现的。
在代码中,通过控制灯泡或LED灯的亮灭时间和顺序来实现跑马灯效果。
常见的程序设计语言如C、Python等都可以用来编写跑马灯的代码。
二、跑马灯的设计过程跑马灯的设计过程包括灯泡或LED灯的选型、电路设计、程序编写和外壳制作等步骤。
1. 灯泡或LED灯的选型:在跑马灯的设计中,选择合适的灯泡或LED灯是非常重要的。
灯泡的亮度、寿命和能耗等指标需要进行综合考虑。
而LED灯则具有节能、寿命长和颜色丰富等优点,因此在现代跑马灯设计中更加常见。
2. 电路设计:电路设计是跑马灯设计中的关键环节。
在电路设计中,需要考虑灯泡或LED灯的亮灭顺序、时间间隔和电源供应等因素。
通过合理的电路设计,可以实现跑马灯的稳定运行和灯泡的长寿命。
3. 程序编写:程序编写是跑马灯设计中的另一个重要环节。
通过编写一段简单的代码,可以控制灯泡或LED灯的亮灭顺序和时间间隔。
程序编写需要考虑灯泡或LED灯的数量和控制方式等因素,以实现预期的跑马灯效果。
4. 外壳制作:外壳制作是跑马灯设计中的最后一步。
通过设计和制作合适的外壳,可以保护电路和灯泡或LED灯,同时也可以增加跑马灯的美观性。
外壳的材料可以选择塑料、金属或木材等,根据实际需要进行选择。
VHDL课程设计报告

VHDL课程设计报告一、题目要求(1)、EDA实验板组装调试参照提供的EDA实验板电路原理图、PCB图以及元器件清单进行电路板的组装,组装过程中要求能读懂电路原理图,了解各部分电路工作的原理。
电路板组装完成后,编写以下三个小程序进行电路板测试:1、流水灯程序编写一个流水灯程序,使实验板上DS2—DS13十二个LED依次循环点亮。
2、数码管动态扫描程序了解BCD—七段锁存译码器CD4511的工作原理及数码管动态扫描技术,编写一个程序,使EDA实验板上的8位数码管由“0000 0000”按一定的频率自加一直到“9999 9999”,然后归零不断循环以上过程。
3、矩阵键盘扫描程序了解矩阵键盘扫描原理,编写一程序,当按下实验板上十六个按键任一键,数码管上显示相应键值1—16。
以上测试程序先经软件仿真通过后下载到实验板上进行测试,观察实验结果,若与预期设计不符则应对软、硬件进行细心检查,排除故障。
完成以上电路板组装且调试通过后可进行第二部分红外遥控系统的设计。
(2)、红外遥控系统的设计红外遥控系统由发射编码和接收解码两个部分组成,本课程设计要求制作发射编码电路板(遥控器)以及编写程序在EDA实验板上实现接收解码,具体说明如下:1、发射编码部分发射编码部分要求使用指定的元器件在万用板上完成红外遥控器的制作,该部分电路原理图参照《PT2248数据手册》,制作前请详细阅读《红外遥控器制作说明》,制作时要求元器件在万用板上排列整齐,布局合理,焊接良好,各按键功能正常,均能发送编码。
2、接收解码部分接收解码用VHDL语言编写程序,在EDA实验板上实现解码,要求具有以下功能:(1)基本要求:(a)将一体化红外接收解调器的输出信号解码(12个单击键、6个连续键,单击键编号为7-18,连续键编码为1-6),在EDA实验板上用七段数码管显示出来;(b)当按下遥控器1—6号连续键时,在EDA实验板上用发光二极管点亮作为连续键按下的指示,要求遥控器上连续键接下时指示灯点亮,直到松开按键时才熄灭,用于区别单击键。
基于VHDL跑马灯课程设计

目录一.设计任务与要求 (1)(1)方案论证 (1)(2)原理框图 (1)二.总体框图 (1)三.选择器件 (1)四.功能模块 (2)(1) 八分频模块 (2)(2) JK触发器连接的两位加法计数器 (2)(3) ROM32X8 (3)(4) 实现循环闪烁和模式切换的具体说明 (3)(5) 74LS283与7446组成模式显示电路 (5)(6) 仿真波形 (7)五.总体设计电路图 (7)六.设计心得 (14)课程设计一.设计任务与要求1.在八个LED灯上实现从左至右,从右至左,从两边到中间,从中间到两边;四种模式的闪烁。
2.四种模式是事先设置的。
3.实现四种模式的手动切换。
二.总体框图(1)方案论证:本方案采用一片74LS293与两片JK触发器。
74LS293是4位异步二进制加法计数器。
本方案采用它的八分频功能,构成一个八进制循环电路。
并且将两个JK触发器连接成一个两位加法器且由手动开关输入时钟沿。
两部分组合起来实现每种模式的地址线依次循环导通以及四种模式的切换。
用一片ROM32X8来存储四种闪烁模式。
输出连接八个LED灯。
用74LS283与7446连接成显示电路,在实验板上的七段数码管显示模式的编号。
(2)原理框图:图1——原理框图三.选择器件1.主芯片:Altera®的Cyclone EPEC12Q240C82.八个LED灯3.一个自动反弹开关4.EDA实验箱一台5.含有QuartusⅡ软件的计算机一台6.导线若干四.功能模块(1)八分频模块图二——74LS293模块A实现的是一位二进制循环。
B,C,D实现的是三位八进制循环。
本设计使用B,C,D端。
在CLKB加时钟信号后,BCD端实现八进制循环。
内部原理图如下:图三——74LS293内部结构图八分频模块电路图:图四——八分频模块仿真波形:图五——仿真波形分析:CLRA,CLRB为清零信号端,全部接地使失效。
时钟信号输入端CLKA控制QA计数。
dxp课程设计跑马灯

dxp课程设计跑马灯一、课程目标知识目标:1. 学生能理解跑马灯的基本概念,掌握跑马灯电路的组成和工作原理。
2. 学生能够运用所学知识,设计并搭建一个简单的跑马灯电路。
3. 学生能够解释跑马灯电路中各元件的功能及其相互关系。
技能目标:1. 学生能够运用所学知识,进行电路图的绘制和电路搭建。
2. 学生能够通过实际操作,掌握基本的电路故障排查和解决方法。
3. 学生能够通过团队合作,共同完成跑马灯项目的设计与实现。
情感态度价值观目标:1. 学生培养对电子技术的兴趣,激发学习科学技术的热情。
2. 学生通过实践操作,增强动手能力,提高解决问题的自信心。
3. 学生在团队合作中,学会相互尊重、沟通协作,培养集体荣誉感。
课程性质:本课程为实践性较强的电子技术课程,旨在让学生通过实际操作,掌握跑马灯电路的基本原理和设计方法。
学生特点:考虑到学生所在年级的特点,课程内容以直观、易懂为主,注重培养学生的动手能力和团队协作能力。
教学要求:教师需结合课程内容和学生的实际情况,采用启发式教学,引导学生主动探索、发现问题,并在实践中解决问题。
同时,注重培养学生的安全意识,确保实践操作的安全性。
通过课程学习,使学生达到上述课程目标,为后续相关课程的学习打下坚实基础。
二、教学内容本课程教学内容围绕跑马灯电路的设计与实现展开,主要包括以下几部分:1. 跑马灯基础知识:- 跑马灯概念及其应用场景- 跑马灯电路的组成与工作原理2. 电路元件功能与选型:- 常用电子元件的认识(如电阻、电容、二极管、三极管等)- 元件在跑马灯电路中的作用及选型3. 跑马灯电路设计与搭建:- 电路图的绘制方法- 电路搭建的步骤与注意事项- 跑马灯程序设计基础4. 实践操作与故障排查:- 跑马灯电路的实际操作演练- 常见故障现象及排查方法5. 团队合作与项目实施:- 项目分组及任务分配- 团队协作完成跑马灯设计与搭建- 项目展示与评价教学内容依据教材相关章节进行组织,确保科学性和系统性。
虚拟仪器课程设计跑马灯

虚拟仪器课程设计跑马灯(总7页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除河北北方学院虚拟仪器原理与应用课程设计课程设计名称:基于labview的计算器设计专业班级:电子信息工程技术3班学号: 3学生姓名:马洪印成绩: 签名: 2016年12月22日一、引言:随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。
彩灯由于其丰富的灯光色彩,低廉的造价以及控制简単等特点而得到了广泛的应用,用彩灯来装饰已经成为一种时尚。
本次课程设计是基于LabVIEW虚拟仪器系统开发与实践等原理与技术而设计的跑马灯。
虚拟仪器的起源可以追溯到20世纪70年代,“虚拟”的含义主要是强调软件在仪器中的作用,体现了虚拟仪器与主要通过硬件实现各种功能的传统仪器的不同。
由于虚拟仪器结构形式的多样性和适用领域的广泛性,目前对于虚拟仪器的概念还没有统一的定义。
美国国家仪器公司(National Instrunents Corpotion ,NI)认为,虚拟仪器是由计算机硬件资源、模块化仪器硬件和用于数据分析、过程通信及图形用户界面的软件组成的测控系统,是一种计算机操纵的模块化仪器系统。
过去40年的时间里,美国国家仪器公司(NI)通过虚拟仪器技术为测试测量和自动化领域带来了一场革新:虚拟仪器技术把现成即用的商业技术与创新的软、硬件平台相集成,从而为嵌入式设计、工业控制以及测试和测量提供了一种独特的解决方案。
使用虚拟仪器技术,工程师可以利用图形化开发软件方便、高效的创建完全自定义的解决方案,以满足灵活多变的需求趋势。
本次设计的跑马灯是利用虚拟仪器技术而完成的,跑马灯是一种生活中比较常见的装饰,本文主要通过labv i ew来设计了一个相对简单的对跑马灯的控制,实現了其有规律的亮灭,带来一定的观赏效果。
本文主要是实现了跑马灯的单个流水闪烁、双路同步流水闪烁、四路同步流水闪烁、全体同步闪烁,以此循环。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
跑马灯VHDL课程设计
一、设计任务
控制8个led进行花式显示,设计四种显示模式:
1.从左到右逐个点亮led;
2.从右到左逐个点亮led;
3.从两边到中间逐个点亮led;
4.从中间到两边逐个点亮led;
四种模式循环切换,由复位键rst控制系统的运行与停止.
二、设计过程
根据系统设计要求,采用状态机进行设计,状态机具有四种状态,每种状态完成一种显示模式四种状态间使用case语句进行切换.
程序如下:
library ieee;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_1164.all;
entity pmd is
port( clk, rst: in std_logic;
y: buffer std_logic_vector(7 downto 0));
end pmd;
architecture behave of pmd is
type states is (state0, state1, state2, state3);
signal state: states;
begin
process (clk, rst)
begin
if rst='1' then
y<="00000000" ; state <= state0;
elsif (clk'event and clk='1') then
case state is
when state0 =>
if y="00000000" then y<="10000000";state <= state0; elsif y="10000000" then y<="01000000";state <= state0; elsif y="01000000" then y<="00100000";state <= state0; elsif y="00100000" then y<="00010000";state <= state0; elsif y="00010000" then y<="00001000";state <= state0; elsif y="00001000" then y<="00000100";state <= state0; elsif y="00000100" then y<="00000010";state <= state0; elsif y="00000010" then y<="00000001";state <= state1; end if;
when state1 =>
if y="00000001" then y<="00000010";state <= state1; elsif y="00000010" then y<="00000100";state <= state1; elsif y="00000100" then y<="00001000";state <= state1; elsif y="00001000" then y<="00010000";state <= state1; elsif y="00010000" then y<="00100000";state <= state1; elsif y="00100000" then y<="01000000";state <= state1;
elsif y="01000000" then y<="10000000";state <= state2;
end if;
when state2=>
if y="10000000" then y<="10000001";state <= state2;
elsif y="10000001" then y<="01000010";state <= state2;
elsif y="01000010" then y<="00100100";state <= state2;
elsif y="00100100" then y<="00011000";state <= state3;
end if;
when state3=>
if y="00011000" then y<="00100100";state <= state3;
elsif y="00100100" then y<="01000010";state <= state3;
elsif y="01000010" then y<="10000001";state <= state3;
elsif y="10000001" then y<="00000000";state <= state0;
end if;
end case;
end if;
end process;
end behave;
对程序进行编译波形仿真如下:
配置设备下载到实验箱上仿真.
四、总结
本次实验是功能模块电路的设计,我选作的是跑马灯设计。
跑马灯状态比较多,根据要求选用状态机的设计方法,我选用四状态的状态机,每种状态代表了一种显示模式,四种模式内采用case语句进行切换,在模式内采用if循环语句进行循环,观察仿真结果,程序运行结果与设计思想一致.在本次实验中我虽然按照要求完成了电路的设计,但是程序思想仍然存在很多的不足之处,程序不够简洁,采用列举的方法列举跑马灯的所有状态使程序过于复杂,如果能采用移位寄存器来进行设计,将简化程序,但是在设计过程中存在了没有解决的问题,仍需要继续解决.。