当前位置:文档之家› 跑马灯的设计与仿真1(电子科大版)

跑马灯的设计与仿真1(电子科大版)

跑马灯的设计与仿真1(电子科大版)
跑马灯的设计与仿真1(电子科大版)

光电信息学院

数字电路课程设计报告

课程名称:数字设计原理与实践

设计题目:跑马灯设计及仿真

专业:光电工程与光通信

学号:2905103032 2905402009

姓名:生艳梅周高翔

选课号:60 71

2011年06月08日

光电学院数字电路课程设计

任务名称:跑马灯的设计及仿真

专业:光电工程与光通信姓名:生艳梅周高翔

指导教师:周建华

(1)课程设计应达到的目的、任务及要求:

控制8 个LED 进行花式显示,设计4 种显示模式:S0,从左到右逐个点亮LED;S1,从右到左逐个点亮LED;S2,从两边到中间逐个点亮LED;S3,从中间到两边逐个点亮LED。4 种模式循环切换,复位键(rst)控制系统的运行与停止。跑马灯的状态转换图如图所示:

(2)设计思路

要达到跑马灯的灯依次亮的效果。我们只需要将跑马灯的8 盏灯用8 位二进制数表示,1 代表灯亮,0 代表灯灭,然后设计若干个状态,让clk 在上升沿处带动状态的改变。按照要求,初始状态是全灭,即00000000 然后由左往右依次亮,既:1000000 →11000000→11100000 →………依次类推。

(3)程序如下:

module ledwalk(clk,rst,led);

input clk,rst;

output [7:0] led;

reg [7:0] led;

reg [24:0] count;

reg [4:0] state;

wire clk;

always @ (posedge clk,negedge rst) begin

if(!rst)

count<=0;

else

count=count+1;

end

always @ (posedge clk)

begin :AA

case(state)

5'b00000: led=8'b00000000;

5'b00001: led=8'b10000000;

5'b00010: led=8'b11000000;

5'b00011: led=8'b11100000;

5'b00100: led=8'b11110000;

5'b00101: led=8'b11111000;

5'b00110: led=8'b11111100;

5'b00111: led=8'b11111110;

5'b01000: led=8'b11111111;

5'b01001: led=8'b00000000;

5'b01010: led=8'b00000001; 5'b01011: led=8'b00000011; 5'b01100: led=8'b00000111; 5'b01101: led=8'b00001111; 5'b01110: led=8'b00011111; 5'b01111: led=8'b00111111; 5'b10000: led=8'b01111111; 5'b10001: led=8'b11111111; 5'b10010: led=8'b00000000; 5'b10011: led=8'b10000001; 5'b10100: led=8'b11000011; 5'b10101: led=8'b11100111; 5'b10110: led=8'b11111111; 5'b10111: led=8'b00000000; 5'b11000: led=8'b00011000; 5'b11001: led=8'b00111100; 5'b11010: led=8'b01111110; 5'b11011: led=8'b11111111; default: disable AA; endcase

end

always @ (posedge clk) begin

state=state+1;

if(state==5'b11100) state=5'b00000;

end

endmodule

(4)仿真结果:

(5)收获、体会及改进想法等:

通过本次设计,我们巩固了时序逻辑的理论知识,同时也掌握了QUARTUS II时序设计的基本方法和技巧,在这个过程中遇到很多困难,比如:总线、支线、数据分配、源信号丢失等编译错误,但最终通过查阅相关资料解决了这些问题。与上次课程设计不同的是,这次课程设计的题目是时序逻辑,难度较大,我们通过组队的方式,合理分配了任务,减小了每个人的工作量,节约了不少时间。这次设计过程,也使我们深刻地认识到,任何一个实际的问题都不是简单的问题,跑马灯在生活中随处可见,但它的设计对于初学者来讲还是有一定难度的。因此,在今后的学习中,我们要更加刻苦,学习理论知识的同时积极实践,解决更多的实际问题。

主要参考文献

数字设计原理与实践(原书第四版)(美)John F.Wakerly

数字电路设计跑马灯

数字电路课程设计报告设计课题:跑马灯 专业班级:12电信2班 学生姓名:刘鹏 学号:120802084 指导教师:曾祥志 设计时间:2016.4-2016.5

目录 1 设计要求 (2) 1.1 设计规范 (2) 2 设计方案 (2) 2.1题目分析 (2) 2.2 整体构思 (2) 3 元件说明 (3) 3.1 元件说明 (3) 3.2电路原理图 (3) 4 安装与调试 (6) 5 心得体会........................... ............. (7) 6参考文献......................................... .. (7) 7附录 (8)

1 设计任务与要求 1.1 设计规范 (1)、根据技术指标要求确定电路形式,分析工作原理,计算元件参数。 (2)、安装调试所设计的电路,使之达到设计要求。 (3)、记录实验结果。 (4)、撰写设计报告。 设计要求 (1)实现10灯循环点亮。 (2) 红绿灯各5盏。 (3)实现红绿灯流水交替显示。 2设计方案 2.1题目分析 我们设计的跑马灯实际上是主要使用一个555芯片产生脉冲给到,CD4017芯片对10个LED进行控制,产生流水交替的效果。形成跑马灯。 2.2 整体构思 拟定系统方案框图,画出系统框图中每框的名称、信号的流向,各框图间的接口,使用电路设计软件画出原理图。 3. 元件说明 3.1元件说明 555功能:555 的功能主要由两个比较器决定。两个比较器的输出电压控制RS 触发器和放电管的状态。在电源与地之间加上电压,当5 脚悬空时,则电压比较器C1 的同相输入端的电压为2VCC /3,C2 的反相输入端的电压为VCC /3。若触发输入端TR 的电压小于VCC /3,则比较器C2 的输

组成原理课程设计跑马灯

信息与电气工程学院 《计算机组成原理》课程设计报告

一、课程设计的目的 《计算机组成原理》课程设计是与课程配套开设的实践环节。通过本课程设计,使学生进一步的理解计算机组成原理课程讲授的相关内容,包括计算机的各大部件及工作原理,计算机对机器语言的支持和理解方法,计算机整机工作原理和控制方法,以及CU设计的基本方法等等,进一步巩固所学的理论知识,提高运用所学知识分析和解决实际问题的能力;锻炼计算机硬件的设计能力、调试能力;培养严谨的科学实验作风、良好的工程素质及团队协作精神,为今后的工作打下基础。 二、课程设计的内容 基于DAIS-CMH+实验台,设计并实现一个能够支持5至10条机器指令的微程序结构CU,并利用该指令系统的指令编写机器指令程序,通过调试观察模型机执行机器指令程序的过程和结构,验证CU设计的正确性。 三、课程设计的要求 (1)认真阅读模型机设计说明,了解设计内容,做好设计准备。 (2)完成模型机的硬件电路连接,绘制硬件结构框图。 (3)完成指令的微操作序列分析,画出微程序流程图,根据微指令格式,填写码点,编写微程序,完成微程序结构的CU设计。 (4)设计并编写机器指令测试程序。 (5)能够熟练的运用调试方法,修正微程序设计中存在的问题,验证机器指令执行的正确性。 (6)根据设计的实施过程,认真完成课程设计报告。 四、模型机设计总结 4.1 硬件结构框图与主要硬件模块说明

图1 实验台硬件布局图 ①缓冲输入模块: 控制信号 SW-B,控制输入信号从开关部件输入到总线。 注意:总线没有锁存能力,如果该信号关闭,则数据立刻丢失,总线上数据变为FFH。 ②地址总线模块:控制信号LDAR,控制数据(地址信号)从总线打入地址寄存器(AR)。 ③内存模块:控制信号 WR,内存的读/写控制信号,配合控制信号CE,内存的片选信号,对内存进行读/写操作。CE = 1,WR = 1,进行内存写操作;CE = 1, WR = 0, 进行内存读操作。 ④锁存输出模块:控制信号 LDED,控制数据从总线打入输出模块的锁存器,通过LED灯进行显示。 ⑤寄存器组:两组控制信号,控制数据从总线输入Ri的控制信号- LDR0,LDR1和LDR2;控制数据从寄存器Ri送到总线上的控制信号R0-B,R1-B,R2-B。 ⑥数据总线模块,这个模块没有控制信号,就是个显示模块,显示当前总线上的数据情况。

变速跑马灯的proteus仿真电路及C语言程序设计

#define uchar unsigned char //定义一下方便使用 #define uint unsigned int #define ulong unsigned long #include //包括一个52标准内核的头文件 sbit P10 = P1^0; //头文件中没有定义的IO就要自己来定义了 sbit P11 = P1^1; sbit P12 = P1^2; sbit P13 = P1^3; bit ldelay=0; //长定时溢出标记,预置是0 uchar speed=10; //设置一个变量保存跑马灯的移动速度 char code dx516[3] _at_ 0x003b;//这是为了仿真设置的 //自动变速的跑马灯试验 void main(void) // 主程序 { uchar code ledp[4]={0xfe,0xfd,0xfb,0xf7};//预定的写入P1的值uchar ledi; //用来指示显示顺序 RCAP2H =0x10; //赋T2的预置值0x1000,溢出30次就是1秒钟RCAP2L =0x00; TR2=1; //启动定时器 ET2=1; //打开定时器2中断 EA=1; //打开总中断 while(1) //主程序循环 { if(ldelay) //发现有时间溢出标记,进入处理 { ldelay=0; //清除标记 P1=ledp[ledi]; //读出一个值送到P1口 ledi++; //指向下一个 if(ledi==4) { ledi=0; //到了最后一个灯就换到第一个 speed--; if(speed==0)speed=10;//每循环显示一次,就调快一次溢出速度} } } } //定时器2中断 timer2() interrupt 5 { static uchar t; TF2=0; t++; if(t==speed) //比较一个变化的数值,以实现变化的时间溢出

微机原理————走马灯实验设计

微型计算机技术课程设计 指导教师:赵立辉李鹏 学生班级:计科10802 学生姓名:陈东 学号:200803939 班内序号:11

目录1.……………………………………………………….课设目的2.………………………………………………………课设内容3.…………………………………………问题分析及设计思路4.…………………………………………电路设计及功能说明5.………………………………硬件原理图及接口芯片的介绍6.……………………………………程序流程图及相关源程序7. …………………………………………………实验结果及分析8.…………………………………………………………课设总结

一.课设目的 1.通过本设计,使学生综合运用《微型计算机技术》、《汇编语言程序设计》以及电子技术等课程的内容,为以后从事计算机检测与控制工作奠定一定的基础。 2.主要掌握接口芯片8253、8255A等可编程器件的使用,掌握译码器74LS138的使用。 3.学会用汇编语言编写一个较完整的实用程序。 4.掌握微型计算机技术应用开发的全过程:分析需求、设计原理图、选用元器件、布线、编程、调试、撰写报告等步骤。二.课设内容 1.功能要求: 采用8253设计一个1s定时电路,将定时信号接到8255的PC 口的某一位,编程查询该位的状态,若为低电平,则从8255A的PA口输出不同的值使和PA口相接的发光二极管依次变化,实现走马灯的效果。按下Esc键结束程序。 2.设计所需器材及介绍 ①一块实验面包板(内含时钟信号1MHz或2MHz)。 ②可编程芯片8253、8255A、74LS138、74LS245各一片。74LS06两片,发光二极管8个,排电阻一个。 ③导线若干。 ④示波器、万用表、常用工具等共用(从实验室现借现还)

数字电子电路 数电 实验报告 基于FPGA的跑马灯电路的设计

装 … …订 ……线 基于FPGA的跑马灯电路的设计 一、实验目的 1、进一步熟悉MAXPLUS II、Multisim或QUARTUS II等电子开发工具的基本使用方法。 2、掌握使用移位寄存器、计数器、译码器等集成电路进行综合电路设计方法 3、运用图解法设计跑马灯电路,并进行电路仿真。 二、实验内容 实验题目:设计一个跑马灯电路。要求输出8个LED灯从左到右逐个点亮,然后再从右到左逐个点亮,循环。 首先根据题目要求设计一下电路的实现方法,利用加法计数器(74LS161)和74LS138(3-8译码器)可实现8个LED灯从左到右逐个点亮的单向循环,实际电路如下图: 而要完成实验的要求,需将计数器74161的输出信号变为000到111的加计数,再由111到000的减计数,然后循环。 实现实验题目的方法有两种: 1、将计数器74LS161的输出端QA、QB、QC分别与QD异或,经过异或门输入到74LS138的A、B、C端,其数据符合题目的数据要求。可以实现8个LED灯从左到右逐个点亮,然后再从右到左逐个点亮,循环。但第1个灯和第8个灯显示的时间长度是其它灯的2倍。 Electronics Workbench 实验图1 2、使用可逆计数器74LS191来完成电路的计数部分,利用可逆计数器74LS191的加减计数控制端 U/D′,U/D′输入低电平时计数器为加法计数器,U/D′输入高电平时计数器为减法计数器。 当计数器74LS191加计数到7(0111)时,通过与门取出信号,经过或门使D 触发器输出由原来的低

装 … …订 ……线电平反转为高电平,通过加减控制端U/D′,使计数器由加法计数变为减法计数。当计数器74LS191减计数到0(0000)时,借位输出端产生信号,经过或门使D触发器输出由原来的高电平反转为低电平,通过加减控制端U/D′,使计数器由减法计数变为加法计数。计数器输出信号为0000到0111的加计数,再由0111到0000的减计数,不断循环。再经过3—8译码器使8个LED灯从左到右逐个点亮,然后再从右到左逐个点亮,循环。 Electronics Workbench 实验图2 本次实验使用软件MAXPLUS II、Multisim或QUARTUS II皆可。但要求至少要使用2种软件实现电路设计。 三、实验步骤 提前进行电路设计。要求在实验报告中写出详细的设计过程,包括设计思路,和预计输出结果,画出逻辑电路图,实际应使用的芯片。

跑马灯课程设计报告

课程设计报告 课题名称基于AT89S51的跑马灯设计 系别机电系 专业 班级 学号 学生姓名 指导教师 完成日期2010年月 教务处制 基于AT89S51的跑马灯设计 一、设计任务与要求 1.设计任务 选择采用AT89S51、74LS245、ULN2803、LED等器件,使用汇编语言实现各种跑马灯动态显示效果设计。 2.设计要求 实现16个LED的全亮、全灭、交错显示、流水灯显示等。可结合灯的排布以及程序设计实现各种跑马灯动态显示效果。三个输入按键,按键S2时,LED 灯亮点依次流动;按键S3时,依次点亮LED灯;按键S4时,LED灯交错点亮。 3.设计目的 通过本课程设计掌握单片机系统设计思路和基本步骤;掌握LED驱动电路、延时程序和按键处理程序设计。能熟练使用Wave6000软件、编程器或下载线。熟悉Keil、PROTEUS、Protel99se等相关软件的使用。 二、方案设计与论证 在日常生活中,我们总是花样百出的流水灯光,随着电子技术的飞速发展,人们对灯的花样要求也就更多,如全亮、全灭、交错显示、流水灯显示等。因此,跑马灯得到了广泛的应用。 一个由单片机控制的较简单的数字钟由电源电路、控制电路、驱动电路、显示电路4部分组成。

1. 控制电路 控制电路时整个电路的核心,主要由单片机 来完成。AT89S51单片机的管脚图如图(1)所示。 单片机执行指令是在时钟脉冲控制下进行的,因 此,单片机必须外接振荡器构成时钟电路才能正 常工作。另外,还应该在单片机的RES端外接电 阻电容构成复位电路,当单片机运行错误时可以 给一个复位信号使其复位。 单片机的对接口电路的控制是由软件向单片 机的I/O口(即P0~P3口)来实现的。AT89S51 单片机内部由两个定时/计数器,可以用其中一个 定时/计数器来对时间进行计数,而另一个可以对 显示器的显示延时进行定时并通过中断把相应的 数据通过I/O 口送给显示器显示。同时,通过对图1 A T89S51管脚图 外部按键的状态判断来进行时间的调整。 2. 显示电路 作为显示电路,采用16个LED灯来进行显示,实现全亮、全灭、交错显示、流水灯显示等。 3. 驱动电路 由于单片机的I/O口输出电流比较弱,不够驱动一位LED数码管,因此,必须在I/O 口和LED数码管之间接一驱动器和限流电阻来驱动LED数码管。 4. 电源电路 由于外部的干扰如电压、电流的波动可能造成直流电源的不稳定,因此,可在电源两端接上滤波器来降低外部干扰对电源造成的影响。 三、单元电路设计 1.时钟电路 单片机执行指令是在时钟脉冲控制下进行的,因此时钟信号时单片机的基本工作条件。可以通过测量第30脚ALE是否有输出时钟脉冲的六分频信号来判断时钟信号是否正常。 时钟可以由内部和外部两种方式产生,本设计采用内部方式。如图(2)所示,在XTAL1和XTAL2引脚上外接定时元件。定时元件通常采用振荡器和电容组成的并联谐振电路。X1为振荡器,C1、C2为电容。振荡器的振荡频率主要取决于晶体,电容对振荡频率由微调作用。外接晶体振荡器时,电容值可选在30pF左右。 图2 内部时钟电路图3 电源滤波电路2.电源电路 如图(3)所示,为了提高电源的稳定,由两个电容并联连接电源两极构成电源滤波电路。C4电容值比较大,用于滤低频;C5容值比较小,用于滤高频。 3.复位电路 一个时钟周期为振荡周期的2倍,6个时钟周期构成一个机器周期,即12个时钟周期构成一个机器周期。在RES引脚上输入一个超过两个机器周期的高电平信号,单片机就可以复位。如时钟频率为12MHz,则有效的复位信号至少应保持2μs以上。 复位电路可以有两种方式:上电复位电路和外部按键复位电路。图(4)所示为单片机的上电复位电路。在上电瞬间,因为电容两端的电压不能突变,RST引脚上电位与Vcc相同。随着电容器充电过程的进行,RST引脚上的电位逐渐下降。只要适当选择C和R的数值,即可顺利实现复位操作。

跑马灯电路设计

跑马灯分析如下: 跑马灯电路采用74LS194为核心控制彩灯左移、右移及闪烁功能,围绕74LS194的S1、S0工作的控制方式,S1、S0需要自动周期性的变化,为了实现自动模式转换,设计一个状态计数器,控制彩灯模式转换,利用74153双四选一电路,将S1、S0的状态置入74194,完成周期性地读取。 本设计方案的关键是S1、S0状态信息如何传送给74194,S1、S0状态信息要与整个彩灯控制电路相匹配,不同的S1、S0状态,送入74LS194数据输入端的数据不同,利用74LS153作为数据选通,连接到74LS194数据输入端,不同的工作状态,选通数据输出不同,这是设计的主要关键点之一。 电路中,利用74161完成状态计数工作,每8个时钟脉冲,状态计数器完成加一操作,完成移位方式控制,利用74194完成左移或右移及闪烁功能功能,利用74153完成左右移数据输入选通控制。

根据任务要求列出自动循环状态和74194移位控制工作方式表2。 表2 X/0表示电路设计过程中,尽管状态表中取任意态,但在实际电路连接中,取低电平。 彩灯控制器完成左移、右移、闪烁及同时左右移,只需要4种状态,故状态计数器完成模4计数即可。移位寄存器的工作状态由方式控制字S1、S0决定,查阅74LS194数据手册,确定S1、S0工作方式。利用表.2,分析S1、S0的状态。因为彩灯是八路输出,用两片74LS194,其中高位标号为74194B,低位为74194A,所以高位的74LS194工作方式标称为BS1、BS0,低位为AS1、AS0。将BS1、BS0、AS1、AS0放在一起,用74153将数据状态选通输出即可 从表格中可以看出,状态计数器描述计数状态,移位寄存器完成左移、右移、闪烁、左右同时移动功能,且自动循环进行。

虚拟仪器课程设计跑马灯

河北北方学院 虚拟仪器原理与应用 课程设计 课程设计名称:基于labview的计算器设计 专业班级:电子信息工程技术3班 学号: 3 学生姓名:马洪印 成绩: 签名: 2016年12月22日 一、引言: 随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。

彩灯由于其丰富的灯光色彩,低廉的造价以及控制简単等特点而得到了广泛的应用,用彩灯来装饰已经成为一种时尚。 本次课程设计是基于LabVIEW虚拟仪器系统开发与实践等原理与技术而设计的跑马灯。虚拟仪器的起源可以追溯到20世纪70年代,“虚拟”的含义主要是强调软件在仪器中的作用,体现了虚拟仪器与主要通过硬件实现各种功能的传统仪器的不同。由于虚拟仪器结构形式的多样性和适用领域的广泛性,目前对于虚拟仪器的概念还没有统一的定义。美国国家仪器公司(National Instrunents Corpotion ,NI)认为,虚拟仪器是由计算机硬件资源、模块化仪器硬件和用于数据分析、过程通信及图形用户界面的软件组成的测控系统,是一种计算机操纵的模块化仪器系统。 过去40年的时间里,美国国家仪器公司(NI)通过虚拟仪器技术为测试测量和自动化领域带来了一场革新:虚拟仪器技术把现成即用的商业技术与创新的软、硬件平台相集成,从而为嵌入式设计、工业控制以及测试和测量提供了一种独特的解决方案。使用虚拟仪器技术,工程师可以利用图形化开发软件方便、高效的创建完全自定义的解决方案,以满足灵活多变的需求趋势。 本次设计的跑马灯是利用虚拟仪器技术而完成的,跑马灯是一种生活中比较常见的装饰,本文主要通过labv i ew来设计了一个相对简单的对跑马灯的控制,实現了其有规律的亮灭,带来一定的观赏效果。 本文主要是实现了跑马灯的单个流水闪烁、双路同步流水闪烁、四路同步流水闪烁、全体同步闪烁,以此循环。本程序并控制闪烁的间隔时间,使其运行更具可观性。 二、前面板设计: 前面板是LabVIEW的图形用户界面,在LabVIEW环境中可以对这些对象的外观和属性进行设计,LabVIEW提供了非常丰富的界面对象,可以方便地设计出生动、直观、操作方便的用户界面。本系统中前面板显示程序的输入和输出对象,即,控件和显示器。本程序中控件主要是滑动杆,显示器主要是文本显示。 在前面板设计过程中主要设计了12个显示灯, 并让其方形围成一圈,显示程序通行结果。前面板还包括一个文本显示控件和水平指针滑动杆,文本显示控件用于显示滑动杆的刻度值即跑马灯的延时,通过改变滑动杆刻度调节跑马灯每

跑马灯控制电路设计

HDL数字系统课程设计报告书 目录 一、设计目的 (2) 二、设计思路 (2) 三、设计过程 (2) 3.1、系统方案论证 (2) 3.2、程序代码设计 (3) 四、系统调试与结果 (5) 五、主要元器件与设备 (9) 六、课程设计体会与建议 (9) 6.1、设计体会 (9) 6.2、设计建议 (10) 七、参考文献 (10)

论文摘要: 共16个LED灯,连成一排,实现几种灯的组合显示。通过这次对跑马灯控制电路的设计与制作,了解了设计电路的程序,也了解了关于跑马灯工作的基本原理与设计理念,首先要将一个程序分成几个模块,分别调试每一个模块,当每个模块均能正常工作时,其次再将其都组合在一起再次调试与仿真,最后将程序下载到Altera公司ACEXTM系列EPEK30QC208-2芯片,观察程序是否能控制硬件的实现。此外,本实验也可通过EDA软件Quartus6.0和modelSim SE 6.0实现。 关键词: HDL 数字系统跑马灯设计

一、设计目的 1、熟悉Verilog HDL程序编程。 2、掌握Altera公司ACEXTM系列EPEK30QC208-2芯片的使用方法。 3、熟悉Quartus II 6.0和Modesim SE 6.0软件的使用。 4、了解16个数码管的显示原理和方法。 二、设计思路 1、编写跑马灯设计程序。 2、定义LED灯引脚分配。 3、设计状态控制。 4、下载到EPEK30QC208-2芯片上显示。 三、设计过程 3.1、系统方案论证 16位LED跑马灯设计框图如图1所示:

图1 LED跑马灯设计框图 3.2、程序代码设计 module paomadeng(rst,clk,sel,led); //端口定义,参数列表 input rst,clk; //rst复位,clk为4Hz的时钟信号input[1:0] sel; //sel 状态选择端口 output[15:0] led; //led 跑马灯显示 reg[15:0] led; reg[15:0] led_r,led_r1; reg cnt1,dir; //cnt1控制状态2 led灯的亮次数 reg[3:0] cnt2; //cnt2控制状态2 led灯的亮次数 reg[2:0] cnt3; //cnt3控制状态2 led灯的亮次数 always@(posedge clk) begin if(rst) begin cnt1<=0;cnt2<=0;cnt3<=0;dir<=0;end else case(sel) // LED按奇数,偶数依次显示 2'b00: begin led_r=16'b0101010101010101; if(cnt1==0)led<=led_r; else led<=led_r<<1; cnt1<=cnt1+1; end // LED顺序依次显示,顺序依次熄灭 2'b01: begin if(!dir) begin if(cnt2==0) begin led_r=16'b0000000000000001;led<=led_r;end else begin led<=(led<<1)+led_r;end if(cnt2==15) begin dir<=~dir;end

跑马灯实验报告

电子系统综合设计报告 学号 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 call standard),是 arm 程序和 thumb 程序中子程序调用的基本规则,它规定了一些子程序间调 用的基本规则,如子程序调用过程中的寄存器的使用规则,堆栈的使用规则,参数的传递规 则等。 下面结合实际介绍几种 atpcs 规则,如果读者想了解更多的规则,可以查看相关的书 籍。 1.基本 atpcs 基本 atpcs 规定了在子程序调用时的一些基本规则,包括下面 3 方面的内容: (1)各寄存器的使用规则及其相应的名称。 (2)数据栈的使用规则。 (3)参数传递的规则。 相对于其它类型的 atpcs,满足基本 atpcs 的程序的执行速度更快,所占用的内存更少。 但是它不能提供以下的支持: arm 程序和 thumb 程序相互调用,数据以及代码的位置无关 的支持,子程序的可重入性,数据栈检查的支持。 而派生的其他几种特定的 atpcs 就是在基本 atpcs 的基础上再添加其他的规则而形成 的。其目的就是提供上述的功能。 2.寄存器的使用规则 寄存器的使用必须满足下面的规则: (1) 子程序间通过寄存器 r0~r3 来传递参数。这时,寄存器 r0~r3 可以记作 a0~a3。 被调用的子程序在返回前无需恢复寄存器 r0~r3 的内容。 (2) 在子程序中,使用寄存器 r4~rll 来保存局部变量。这时,寄存器 r4~r11 可以记 作 v1~v8。如果在子程序中使用到了寄存器 v1~v8 中的某些寄存器,子程序进入时必须保

单片机闪烁灯跑马灯控制课程设计

闪烁灯跑马灯控制系统 河南工院

第1 章概述 1.1设计的目的及意义?????????????????????..3 1.2单片机的概述与应用????????????????????..3 第2 章设计原理??????????.. ??????????????4 2.1设计要求与基本思路??????.??????????????4 2.2设计方案选择?????.??????????????????5 2.3设计框图??????????. ?????????????5 第3 章硬件电路设计???????.. ??????????????7 3.1时钟电路???????????????????????.?.7 3.2扩展电路????????????????????????..8 第4 章程序设计???????????????????????9 4.1程序设计思路与流程图??..???????????????? (9) 4.2程序清单与代码???????????????????.?..?11 4.3程序调试??????????????????????.?.?12 第 5 章原件明细表????????????????????13 总结???????????????????????????????14 参考文献15

第1 章概论 1.1设计的目的与意义 当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。 竞争日益剧烈的今天,当代大学生不仅需要扎实的理论知识,还需要过硬的动手能力。作为自动化专业的学生,更应该熟练掌握各种电路编辑软件,作为专业必需的技能更要及时地对这一类软件的更新版本进行学习,其日趋强大的功能是对我们专业技能的补充。 闪烁灯控制系统是利用8051单片机的P1控制的8 个发光二极管。可实现从右到左闪烁一次,再从左到右闪烁一次,每次亮灭1 秒,如此循环,紧急情况下,控制P3.1 进行报警2S停止。 闪烁灯控制系统是简易的单片机控制系统,作为课程设计课题,通过实际程序设计和调试,逐步掌握块化程序设计方法和调试技术,通过课程设计,掌握一单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法,通过完成一个包括电路设计和程序设计开发的完整过程,了解开发单片机应用系统的全过程,通过本次设计对单片机应用上有一个初步的了解,增强自我的动手、动脑能力,以及发现问题,解决问题,总计经验教训的能力,为以后走向工作岗位,以及更高更远的发展打下坚实的基础 1.2单片机概述与应用 单片机是将CPU、存储器、定时/计数器以及I/O 接口等主要部件集成在一块芯片上的微型计算机。单片机是单片微机(Single Chip Microcomputer)的简称,但准确反映单片机本质的名称应是微控制器。目前国外已经普遍称之为微控制器。鉴于他完全作嵌入式应用,故又称为嵌入式微控制器 单片微机从体系结构到指令系统都是按照嵌入式应用特点专门设计的,它能最好地满足面对控制对象,应用系统的嵌入、现场的可靠运行以及非凡的控制品质等要求。 自从20世纪70 年代推出单片机以来,作为微型计算机的一个分支,单片机经过30 多年的发展,已经在各行各业得到了广泛的应用,由于单片机具有可靠性高、体积小、干扰能力强、能在恶劣的环境下工作等特点,具有较高的性价比,因此广泛应用于工业控制、仪器仪表智能化,机电一体化、家用电器等 (1)工业控制:工业设备如机床、锅炉、供水系统、生产自动化、自动报警系统。 (2)智能设备:用单片机改造普通仪器如:仪表、读卡器、医疗器械。 (3)家用电器:如高档洗衣机、电冰箱、微波炉、电视、音响、手机、空调器。

跑马灯电路图及元件知识

跑马灯实验说明书 一、实验目的 1.熟悉NE555定时器,计数器CD4017的逻辑特性。 2.熟悉NE555构成多谐振荡器原理。 3.掌握简单电子电路的安装、焊接、调试技术。 二、实验要求 1.知道NE555、CD4017的管脚排列顺序。 2.利用NE555构成多谐振荡器。 3.知道电阻的主要参数及其标注方法。(见实验指导书116页)。 4. 知道电容器的主要作用。(见实验指导书122页)。 5. 了解有关焊接的知识。 三、实验器材 电路板1块。 电容:1μF (1个)。 集成芯片:NE555(1个)、CD4017(1个)。 电阻:22K?、550K?(可调)、330?各一个 二极管:IN4148(8个)、发光二极管(6个)。 秒表(自行提供) 电池:5V 四、电路的安装 1.检查集成芯片NE555,CD4017的安装位置有无错误. 2.检查电解电容的极性有无错误; 3. 检查二极管IN4148及发光二极管的安装方向有无错误; 4. 检查各个电阻的安装是否有误。 5. 检查有无虚焊。 五、电路的调试 1. 电路焊接好后,先将电路板正负端接到直流电压5V及地线处,观察发光二极管是否变亮。 2. 适当改变电位器阻值,观察其对CD4017循环周期(发功二极管依次循环一周)的影响。 3. 利用秒表记录CD4017一个合适循环周期的时间。(分别测量电阻最大时、最小时、合适时的周期) 六、实验报告要求 1. 写出实验目的、要求。 2. 注明说用元器件 3. 画出实验电路图。 4. 根据实验操作过程,自己拟写实验步骤。 5. 根据公式计算出多谐振荡器的频率。与记录的循环周期有何联系。 附录 1.跑马灯电路图 2.CD4017的相关资料 3.NE555的相关资料(见实验指导书220页)

走马灯教案

走马灯 一、教学目标: 1、知识目标 通过探究走马灯的动力来源,帮助学生掌握热动力方面的知识。 2、能力目标 锻炼学生利用实验器材完成实验的动手能力。 3、思维目标 通过以上两点提升学生的观察、分析的思维能力。 二、教学设计: 通过演示走马灯引发学生兴趣→观察走马灯的结构特点→探究使走马灯动起来的原因→从而使学生了有关热动力方面的知识 三、教学流程: 1、复习前课: 2、导入: 大家看到视频中的是什么?玩过吗?是什么原理? 我们来做几个小实验验证一下吧! ①酒精灯上空放手,感受热量。 ②在酒精灯火苗上方放塑料袋 ③拿两个杯子做一个天平,一边用灯在下方烧,观察情况。 ④纸蛇舞引出走马灯 【教师发问】在中国有一种传统的玩具,属于灯笼的一种,这个灯笼十分有趣, 当你点燃它时,它会马不停蹄的转起来。大家知道是什么吗? 对,它就是“走马灯”。有幅对联的上联说:“走马灯,灯走马,灯熄马停步。”为什么灯停了马就不走了呢?下面就让我们一起去找寻答案吧! 3、实验记录: 4、学生实验:通过以上演示实验,让学生掌握实验规律,独立完成本节课实验。(教师可适当点拨) 5、总结回顾:走马灯之所以会转动,是因为当走马灯下端的蜡烛点燃后,加热产生热空气,热空气上升形成气流,气流推动走马灯灯罩的叶片,所以走马灯就旋转起来了。热空气为什么会向上升呢?当空气中有热源的时候,热源周围的空气膨胀、稀薄而轻盈,热空气的密度要比冷空气的密度小,所以就会向上形成气流了,上升的热空气产生动力推动叶片使叶轮动

起来。 6、学生秀:学生展示自己的作品,并说出相关的知识点或原理 教师根据学生的展示,对学生表现做出肯定和表扬,可让学生相互点评并对相关知识点做补充,师做小结帮助学生巩固所学的知识点。 7、重点知识回顾:(1)走马灯能旋转与它的结构有关,要有转动起来的轴,要有同一方向倾斜的叶轮,要有灯罩,而且跟灯罩的材质有关,选用比较轻的材质。(2)走马灯能旋转要有足够的热动力。 8、课后作业及知识拓展: (1)、利用课余时间,根据走马灯的知识原理做一个热气球。 (2)、拓展视野: 走马灯名字的由来:当灯笼内灯烛点燃后,热气上升,形成气流,从而推动叶轮旋转,于是灯罩随轮轴转动,上面的图画动起来像你追我赶的感觉,所以故名走马灯。正月15元宵节,民间风俗要挂花灯,走马灯为其中一种。外形多为宫灯状,内以剪纸粘一轮,将即绘好的图案粘贴其上。燃灯以后热气上熏,纸轮旋转,灯屏上即出现人马追逐、物换景移的影像。宋时已有走马灯,当时称“马骑灯”。 (3)有趣的高空热气球荡秋千。

嵌入式系统课程设计 跑马灯报告

嵌入式系统 课程设计报告 学部 专业 学号 姓名 指导教师 日期 一、实验内容

设计msp430单片机程序并焊接电路板,利用msp430单片机芯片实现对跑马灯、按键识别及数码显示这三大模块的控制 二、实验目的 1.熟悉电路原理图,了解单片机芯片与各大模块间的控制关系 2.增强看图和动手设计能力,为将来从事这个专业及相关知识奠定基础 3.在焊接的同时,理解源程序是如何实现相应功能的 三、实验设备及器材清单 实验设备:电烙铁、烙铁架、尖嘴钳、斜口钳、镊子、万用表等 器材清单: 模块元器件名称单位(个/块) 电源 78051 AMS11171 电容10V100u3 二极管IN40071 104电容2 晶振32768Hz1 33电容2 8MHz2跑马灯发光二极管8 100欧电阻8 74LS5731 104电容2 键盘按键8 10K电阻9 104电容3 103电容1 HD74HC212数码显示7段数码显示(共阴极)1 24脚插座1 74HC1641 14脚插座1复位电路二极管IN40071 电容10V100u1 按键1 10K电阻1 14脚下载口1电路板1 MSP430F149芯片及插座1 四、硬件电路框图

五、程序清单 跑马灯程序#include #define uchar unsigned char #define uint unsigned int int main( void ) { void delay( ); WDTCTL = WDTPW + WDTHOLD; unsigned char i=0,j=0; P2DIR=0XFF; P2SEL=0X00; while(1) { for(i=0;i<10;i++) { P2OUT=0XFF; delay(50); P2OUT=0X00; delay(50); } for(j=0;j<10;j++) { P2OUT=0X55;

简易LED跑马灯设计

简易LED跑马灯设计 摘要 随着微电子技术的飞速发展,集成电路的集成度和性能提高、价格下降,特别是单片微处理器的出现,对现代社会的进步起到了巨大推进作用,也从各个方面改变了人们的生活,比如目前国内国外都大量使用的霓虹灯广告牌、交通显示信号灯,以及各种车辆、家用电器等普遍使用的指示信号灯,给人们的生活提供了便利。本文针对广告牌等显示器件中起到至关重要的作用的数字控制信号LED灯显示(跑马灯)进行一个简易的模拟设计。此实验项目中,使用8255芯片实现16位数码管显示,制作成一个简易的跑马灯,其中要运用386[pc]汇编语言编写相应代码,并且要针对8255的特点设计实验连线图,是对本科接口课程中学习到的软件以及硬件知识的一个综合运用,通过实际上机实验操作,编译设计不同的跑马灯效果。通过最后的综合实验调试,成功实现了简易跑马灯的效果显示,这是对跑马灯实际应用的一次有益接触,也是对该应用原理的一次初步实践。 【关键词】接口跑马灯 8255芯片 LED灯汇编语言

1 LED的应用领域以及LED跑马灯的研究意义 ?1.1 LED的应用领域 LED的应用领域非常广,包括通讯、消费性电子、汽车、照明、信号灯等,可大体区分为背光源、电子设备与照明、显示屏、汽车交通等五大领域。 ◆汽车交通:以汽车內装使用包括了仪表板、音箱等指示灯,及汽车外部(第三刹车灯、左右尾灯、方向灯等),另外还包括交通标志灯。 ◆背光源:主要是手机背光光源方面,是SMD型产品应用的最大市场。 ◆显示屏: LED显示屏作为一种新兴的显示媒体,随着大规模集成电路和计算机技术的高速发展,得到了飞速发展,它与传统的显示媒体―多彩霓虹灯、象素管电视墙、四色磁翻板相比较,以其亮度高、动态影像显示效果好、故障低、能耗少、使用寿命长、显示内容多样、显示方式丰富、性能价格比高等优势,已广泛应用于各行各业。 ◆电子设备与照明:LED以其功耗低,体积小,寿命长的特点,已成为各种电子设备指示灯的首选,目前几乎所有的电子设备都有LED的身影。 ?1.2 LED跑马灯的研究意义 本文主要是对LED显示屏应用的一个初步研究,跑马灯是对LED显示屏功能的基础模拟,通过对跑马灯形式的LED显示进行实验模拟,可以对LED的大型应用奠定基础,是将来完成完整LED效果显示设计的初级实践。LED跑马灯设计正好和本科接口基础设计课程相衔接,运用到了课程中学习到的相关接口知识,是对该课程知识的一个综合运用,有助于加强基础知识的掌握,提升个人实践能力。 2 相关实验芯片及原理的介绍 本实验需要器材:8255芯片一块,PC机一台,TD-PIT/TD-PIT-B实验箱一台。 ?2.1 LED灯管的发光以及驱动原理 图2.1 发光二极管结构图 LED灯管LED(Light Emitting Diode,图2.1),发光二极管,是一种固态的半导体器件,它可以直接把电转化为光。LED的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极,使整个晶片被环氧树脂封装起来。半导体晶片由三部分组成,一部分是P型半导体,在它里面空穴占主导地位,另一端是N型半导体,在这边主要是电子,中间通常是1至5个周期的量子阱。当电流通过导线作用于这个晶片的时候,电子和空穴就会被推向量子阱,在量子阱内电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED发光的原理。而光的波长也就是光的颜色,是由形成P-N结的材料决定的。 在接口试验中通常会用到单色LED灯作信号显示,给LED灯输入数字信号,LED灯会根据信号的不同而显示亮或者灭。

跑马灯的设计与仿真1(电子科大版)

光电信息学院 数字电路课程设计报告 课程名称:数字设计原理与实践 设计题目:跑马灯设计及仿真 专业:光电工程与光通信 学号:2905103032 2905402009 姓名:生艳梅周高翔

选课号:60 71 2011年06月08日 光电学院数字电路课程设计 任务名称:跑马灯的设计及仿真 专业:光电工程与光通信姓名:生艳梅周高翔 指导教师:周建华 (1)课程设计应达到的目的、任务及要求: 控制8 个LED 进行花式显示,设计4 种显示模式:S0,从左到右逐个点亮LED;S1,从右到左逐个点亮LED;S2,从两边到中间逐个点亮LED;S3,从中间到两边逐个点亮LED。4 种模式循环切换,复位键(rst)控制系统的运行与停止。跑马灯的状态转换图如图所示:

(2)设计思路 要达到跑马灯的灯依次亮的效果。我们只需要将跑马灯的8 盏灯用8 位二进制数表示,1 代表灯亮,0 代表灯灭,然后设计若干个状态,让clk 在上升沿处带动状态的改变。按照要求,初始状态是全灭,即00000000 然后由左往右依次亮,既:1000000 →11000000→11100000 →………依次类推。 (3)程序如下: module ledwalk(clk,rst,led); input clk,rst; output [7:0] led; reg [7:0] led; reg [24:0] count;

reg [4:0] state; wire clk; always @ (posedge clk,negedge rst) begin if(!rst) count<=0; else count=count+1; end always @ (posedge clk) begin :AA case(state) 5'b00000: led=8'b00000000; 5'b00001: led=8'b10000000; 5'b00010: led=8'b11000000; 5'b00011: led=8'b11100000; 5'b00100: led=8'b11110000; 5'b00101: led=8'b11111000; 5'b00110: led=8'b11111100; 5'b00111: led=8'b11111110; 5'b01000: led=8'b11111111; 5'b01001: led=8'b00000000;

跑马灯设计方案EDA课程设计方案

第一章设计内容与设计方案 1.1课程设计内容 控制8个LED进行花样性显示。 设计4种显示模式:s0,从左到右逐个点亮LED;s1,从右到左逐个点亮LED;s2,从两边到中间逐个点亮LED;s3,从中见到两边逐个点亮LED。 4种模式循环切换,复位键(rst)控制系统的运行停止。数码管显示模式编号。 可预置彩灯变换速度,4档快、稍快、中速、慢速,默认工作为中速。 1.2设计方案 在掌握常用数字电路功能和原理的基础上,根据EDA技术课程所学知识,以及平时实验的具体操作内容,利用硬件描述语言HDL,EDA软件QuartusⅡ和硬件平台cycloneⅡFPGA进行一个简单的电子系统设计,本次课程设计采用Verilog HDL硬件描述语言编写控制程序,应用Quartus Ⅱ软件实现仿真测试。采用FPGA芯片对LED灯进行控制,使其达到流水跑马灯显示的效果,LED灯采用共阳极接法,当给它一个低电平时,LED点亮,我们利用移位寄存器使各输出口循环输出高低电平,达到控制的目的。

2.1设计原理及设计流程 本次试验我所完成的内容是跑马灯的设计,下面我简单的进行一下原理的阐述。 跑马灯课程设计的要求是控制8个LED进行花样显示,设计四种显示模块:第一种显示是从左向右逐个点亮LED。第二种显示:从右向左逐个点亮LED。第三种显示:从两边向中间逐个点亮LED。第四种显示:从中间到两边逐个点亮LED。四种显示模式循环切换,并带有一位复位键控制系统的运行停止。为了完成要求的效果显示,由于要求比较简单,所以不用分为很多模块来具体控制,所以我先择利用移位寄存器来完成灯的点亮,我们将LED灯采用共阳极接法,当给于低电平时点亮,那么当我们需要点亮某位LED灯时,只需在该位上赋予低电平即可,比如:如果我们要实现8个数码灯从左到右依次点亮,那么我们就可以给这8个数码灯分别赋值10000000,经过一段时间的延时后再给其赋值01000000,再经过一段时间延时后再给其赋值00100000,依次类推,则最后一种赋值状态为00000001,这样就得到了相应的现象。同理,要实现数码灯从右向左依次点亮,从中间向两端依次点亮,从两端向中间依次点亮都可以采用这样赋值的方法。为了达到四种显示模式循环切换的目的,可以将以上的所有赋值语句以顺序语句的形式置于进程中,这样在完成了一种显示方式后就会自动进入下一种设定好的显示模式,如此反复循环。当需要程序复位时,只需按下rst键即可,程序不管走都那里,执行那条语句,只要确定复位键按下时,程序立刻返回到程序执行语句的第一步,程序接着进行新的循环点亮。

相关主题
文本预览
相关文档 最新文档