文档库 最新最全的文档下载
当前位置:文档库 › 花样走马灯

花样走马灯

花样走马灯
花样走马灯

花样走马灯

一设计目的

1.掌握单片机系统设计思路和基本步骤。

2.熟悉Keil C51高级语言集成开发环境。

3.熟练使用基于prteus的单片机系统仿真软件。

4.了解Proteus VSM与uvision3 IDE的联调过程。

二设计要求

实现单片机8051设计控制P1口的8个LED灯成花样走马灯。连续实现以下四个效果:

1.单灯左移

2.单灯右移

3.单灯逐个点亮接着逐个熄灭

4.两边向中间逐个点亮接着中间向两边逐个熄灭

三总体设计

单片机应用系统的设计步骤:总体设计、硬件电路的构思设计、软件的编制和仿真调试。

1.系统硬件设计

(1)分析题目“要实现单片机8051设计控制p1口的8个LED灯成花样走马灯“可知该电路所需要的硬件器件为AT89C51和8个LED灯。

(2)将AT89C51和8个LED灯组成实验电路。

2.系统软件设计

实验原理:规定灯亮时控制该灯的位设置为低电平,灯灭时该位设置为高电平,为了清楚的看到灯亮时的效果,要设置相应的延时函数,通过数组的引用和函数的调用来实现花样走马灯的设计。

(1)要使走马灯实现单灯左移、单灯右移、单灯逐个点亮接着逐个熄灭、两边向中间逐个点亮接着中间向两边逐个熄灭这四种效果。

(2)可根据上述的规定来设置控制8个LED灯的P1口各个引脚的电平来控制LED灯亮的效果。

①单灯左移:可将P1.0~P1.7各个引脚逐个设置为低电平,即该引脚控制的灯亮时该位就为低电平,即可设置一个数组名为table的数组来存放灯亮时的P1口各个引脚的电平。

②单灯右移:即P1.7先亮,按照P1.7~P1.0的顺序向右移,即该灯亮的时候该位就设置为低电平,反之为高电平,各引脚的电平在数组aa中存放,引用数组

aa就可实现单灯右移。

③单灯逐个点亮接着逐个熄灭:可按照P1.0~P1.7的顺序点亮再按照P1.7~P1.0的顺序熄灭,实现原理同单灯左移和单灯右移,各个引脚的电平在数组bb,cc中存放。

④两边向中间逐个点亮接着中间向两边逐个熄灭:即先将P1.0和P1.7同时设置为低电平,全部点亮后再将P1.3和P1.4设置为高电平,依次直至全部熄灭,各个引脚的电平在数组dd中存放。

3.软件的实现

(1)初始化实现单灯左移、单灯右移、单灯逐个点亮接着逐个熄灭、两边向中间逐个点亮接着中间向两边逐个熄灭这四种效果的数组。

(2)设置延时函数以便清楚地观察到灯亮的效果。

(3)设置显示函数,用for循环语句实现8个LED灯依次显示上述四种效果。

(4)在主函数中调用显示函数display,用while语句来实现这四种效果无限循环下去。

4.系统联调

四详细步骤

1.硬件设计

(1)运行ISIS 7 Professional

单击“开始”→“proteus 7 professional”→“ISIS 7 Professional”,Proteus ISIS 7编辑环境如图1所示。

图1 Proteus ISIS 7编辑环境

(2)将所需元器件加入到对象选择器窗口

单击对象选择器按钮P,在弹出的“Pick Devices”页面中,使用搜索引擎在”Keywords”栏中分别输入”AT89C51“、”LED-BIBY“,在搜索结果”Results”栏中找到该对象,并将其添加至对象选择器窗口。

(3)放置元器件至原理图编辑窗口

将“AT89C51”、“LED-BIBY”放置到原理图编辑窗口,如图2所示。

图2 放置元器件至图形编辑窗口

(4)添加电源

单击绘图工具栏中的Inter-sheet Terminal按钮,在对象选择器窗口选中对象“power”将其放置到原理图编辑窗口。

(5)器件之间的连线

在原理图编辑窗口中,完成各对象的连线。

(6)修改AT89C51属性并加载程序文件

双击U1-AT89C51,打开“edit component“对话框,在”program file:选择在项目my project生成的HEX文件:1.hex.在“clock frequency“文本框中填入11.0592MHZ,其它选项默认,单击”OK“按钮退出。

(7)保存该原理图

点击“→”保存“,将文件名命名为80C51VSM.DNS,就此完成了电路原理图

的绘制,如图3所示。

图3 硬件电路图

(8)调试运行

单击仿真运行开始按钮,能清楚地观察到:引脚的电频变化。红色代表高电

平,蓝色代表低电平,灰色代表未接入信号,或者三态。

2.软件设计

(1)画出程序流程图,如图4所示。

图4 程序流程图

(2)打开Keil uVision3开发环境。

(3)点击【project】/【New Project】选项。

(4)在弹出的“Create New Project”对话框中选择要保存项目文件的路径,在”文件名“文本框中输入项目名MyProject,然后点击”保存“。

(5)这时会弹出一个对话框,要求选择单片机的型号,先选择ATMEL公司,再选择AT89C51,点击“确定“按钮,弹出将8051初始代码复制到项目中的询问对话框,单击”是”按钮。

(6)点击【file】/【New】选项。

(7)在弹出的程序文本框中输入以下程序:

#include "reg51.h"

#include “intrins.h” //片内寄存器定义

#define uint unsigned int

#define uchar unsigned char

uchar code table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

uchar code aa[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};

uchar code bb[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};

uchar code cc[]={0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};

uchar code dd[]={0x7e,0x3c,0x18,0x00,0x18,0x3c,0x7e,0xff};

void delay_ms(int s) //延时函数

{

int x;

while(s--)

{ for(x=0;x<200;x++)

{ _nop_();

_nop_();

}

}

}

void display(void) //显示函数

{

int i;

for(i=0;i<=7;i++) //单灯左移,p1.0先亮

{

P1=table[i];

delay_ms(100);

}

for (i=0;i<=7;i++) //单灯右移,p1.7先亮

{

P1=aa[i];

delay_ms(100);

}

for(i=0;i<=7;i++) //灯逐个点亮,p1.0先亮

{

P1=bb[i];

delay_ms(100);

}

for(i=0;i<=7;i++) //灯逐个熄灭,p1.7先熄灭

{

P1=cc[i];

delay_ms(100);

}

for(i=0;i<=7;i++) //两边向中间逐个点亮再向两边逐个熄灭 {

P1=dd[i];

delay_ms(100);

}

}

void main(void)

{

while(1)

{

display();

}

}

(8)点击【file】/【Save As】选项,或者单击工具栏按钮,保存文件。

在弹出的对话框中,选择要保存的路径,在“文件名“文本框中输入文件名为1.c;单击”保存“按钮。

(9)将1.c文件加入到项目

用鼠标右键单击左边项目窗口中的“Source Group 1”,在弹出的菜单中选择“Add Files to Group ‘Source Group 1’,选择刚才建立的文件1.c,单击”Add”按钮,添加完毕后单击“Close”按钮,关闭该窗口。

(10)用鼠标右键单击MyProject,在弹出的菜单中选择“Options for Target 1”选项。

(11)弹出的“Options for Target’Target 1‘”对话框,其中有10个选项卡,将Target选项卡中的单片机工作的频率改为11.0592MHZ,将Output选项卡选中“Create HEX File”选中,点击“确定”按钮。

(12)编译连接程序,选择【Poject】/【Rebuild all target files】,出现如图5所示。

图5 编译连接信息

说明在程序中有错误没有生成目标文件,则根据提示改正错误,再返回到步骤7重新编译,直到生成文件1.hex为止。

(13)编译完毕之后,选择【debug】/【Start/Stop debug session】选项,即进入debug调试环境。

(14)装载代码之后,开发环境Output Window(在左下角)显示装载成功的信息,然后关闭keil uvision3,如图6所示。

图6 debug调试界面

3.系统联调

(1)设置uvision3 IDE

①打开刚才建立的工程myproject。

②打开“project菜单/options for target’target 1’选项,在弹出的窗口中,单击”debug选项卡“按钮,出现如图7所示页面。

在出现的对话框的右栏上部的下拉菜单里选中“proteus VSM Simulator”,再单击一下“use”前面表明选中的小圆点,点击“确定”按钮。

③编译连接程序,选择【Poject】/【Rebuild all target files】,生成1.hex 文件。

④编译完毕之后,选择【debug】/【Start/Stop debug session】选项,即进入debug调试环境。

图7 option for target/debug选项设置

(2)设置Proteus VSM

①进入Proteus的ISIS,打开原理图80C51VSM.DSN。

②修改AT89C51属性并加载程序文件

双击U1-AT89C51,打开“edit component“对话框,在”program file:”选择在项目my project生成的HEX文件:1.hex.在“clock frequency“文本框中填入11.0592MHZ,其它选项默认,单击”OK“按钮退出。

③单击菜单栏“debug”,单击“settings”按钮,选择Keil monitor-51 Driver,单击”OK”按钮关闭窗口,选中“Use Remote Debuger Monitor”。

(3)然后重新运行程序便可以实现keil uvision 3与proteus VSM的联调,如图8所示。

图8系统联调图

五设计总结

通过这次课程设计,加强了我们动手、思考和解决问题的能力。在设计过程中,经常会遇到这样那样的情况,就是心里想老着这样的做法可以行得通,但实际总是实现不了,因此耗费在这上面的时间用去很多。我觉得做课程设计同时也是对课本知识的巩固和加强,由于课本上的知识太多,平时课间的学习并不能很好的理解和运用,而且考试内容有限,所以在这次课程设计过程中,我们了解了更多的认识。平时看课本时,有时问题老是弄不懂,做完课程设计,那些问题就迎刃而解了。而且还可以记住很多东西,认识来源于实践,实践是认识的动力和最终目的,实践是检验真理的唯一标准。所以这个期末测试之后的课程设计对我们的作用是非常大的。

经过两个星期的实习,过程曲折可谓一语难尽。在此期间我们也失落过,也曾一度热情高涨。从开始时满富盛激情到最后汗水背后的复杂心情,点点滴滴无不令我回味无长。生活就是这样,汗水预示着结果也见证着收获。劳动是人类生存生活永恒不变的话题。通过实习,我才真正领略到"艰苦奋斗"这一词的真正含义,我想说,设计确实有些辛苦,但苦中也有乐,在如今单一的理论学习中,很少有机会能有实践的机会,但我们获得了这样的机会。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足

之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。这次课程设计终于顺利完成了,在设计中遇到了很多专业知识问题,最后在老师的辛勤指导下,终于游逆而解。同时,在老师的身上我们学也到很多实用的知识,在次我们表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!

此次课程设计,学到了很多课内学不到的东西,比如独立思考解决问题,出现差错的随机应变,和与人合作共同提高,都受益非浅,今后的制作应该更轻松,自己也都能扛的起并高质量的完成项目。在此,感谢老师的细心指导,也同样谢谢其他各组同学的无私帮助。

六参考文献

[1]张齐,朱宁西. 单片机系统设计与开发[M]. 北京 :机械工业出版社,2008.

[2]张迎辉,贡雪梅. 单片机实训教程[M]. 北京: 北京大学出版社,2005.

[3]何立民.单片机高级教程[M]. 北京: 北京航空航天大学出版社,2000.

[4]沙占友.单片机外围电路设计[M]. 北京: 电子工业出版社,2006.

[5]朱宇光.单片机应用新技术教程[M]. 北京: 电子工业出版社,2000.

此程序是用单片机的p1口接八个led灯作跑马灯试验

拆字程序 Org 0000h Mov A , 2000H Add A ,#F0H MOV 2001H ,A MOV A ,2000H ADD A , #0FH MOV 2002H , A MOV A , 2001H ADD A , 2002H END 拆分BCD 码 ? *************************************************************************** ;此程序是用单片机的p1口接八个led灯作跑马灯试验,八个led依次亮了又熄灭,形成漂亮;的跑马灯。本人已经试验成功。 ;单片机教程网https://www.wendangku.net/doc/ec3551230.html, 原创

;该8路单片机跑马灯程序代码简单,电路也容易搭建,只需把led接在p1口上就可以了,希望大家能试验成功顺利的完成跑马灯报告 ;*************************************************************************** org 0000h loop0:cjne r0 ,#01h,rel,loop0 ;判断开关打开情况 ajmp start;跳转到程序开始 org 0030h;定义起始汇编地址 start: mov a,#0ffh ; clr c ; mov r2,#08h ;循环八次。 loop: rlc a ;带进位左移。 mov p1,a ;此时led灯开始有反映了。 call delay ;延时 djnz r2,loop ;循环(djnz条件判断) mov r2,#07h ; loop1: rrc a ;带进位右移 mov p1,a ;此时led灯开始有反映了。 call delay ; djnz r2,loop1 ;反复循环 jmp start ;回到程序的开头 delay: mov r3,#20 ;延时子程序 d1: mov r4,#20 d2: mov r5,#248 djnz r5,$ djnz r4,d2 ```````````````````````````````````````````````---------3路单片机跑马灯程序---------------------------------------

组成原理课程设计跑马灯

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

一、课程设计的目的 《计算机组成原理》课程设计是与课程配套开设的实践环节。通过本课程设计,使学生进一步的理解计算机组成原理课程讲授的相关内容,包括计算机的各大部件及工作原理,计算机对机器语言的支持和理解方法,计算机整机工作原理和控制方法,以及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。 ⑥数据总线模块,这个模块没有控制信号,就是个显示模块,显示当前总线上的数据情况。

跑马灯课程设计报告

课程设计报告 课题名称基于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的数值,即可顺利实现复位操作。

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

微型计算机技术课程设计 指导教师:赵立辉李鹏 学生班级:计科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个,排电阻一个。 ③导线若干。 ④示波器、万用表、常用工具等共用(从实验室现借现还)

可以调控的跑马灯

单片机原理及应用课程设计 ( 2013 年至2014学年度第 2 学期) 题 目: 可以调控的走马灯 学 生 姓 名: 院(系、部): 机电工程学院 指 导 教 师: 设 计 时 间: 2014.6.9—2014.6.13 Hebei Normal University of Science & Technology 专业: 电子信息工程 学号: 0414110102

可以调控的走马灯 摘要:单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快,而51单片机是各单片机中最为典型和最有代表性的一种。本课程设计是基于MCS51系列单片机所设计的,用AT89S52芯片控制跑马灯(流水灯),整个系统有8种跑马灯模式可以选择,K1是选择模式键,并将相应的模式在LED七段数码管中显示出来,K2可以对跑马灯的速度进行加速,K3可以对跑马灯的速度进行减速。整个系统可以实现对跑马灯模式的多层控制,还可以进行加减速。 关键词:MCS51、跑马灯、加减速、七段数码管 一、概论 1.1 单片机基础知识 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲,一块芯片就成了一台计算机。 单片机具有体积小、功能强、应用面广等优点,目前正以前所未见的速度取代着传统电子线路构成的经典系统,蚕食着传统数字电路与模拟电路固有的领地。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机了解计算机原理与结构的最佳选择。 现在,这种单片机的使用领域已十分广泛。彩电、冰箱、空调、录像机、VCD、遥控器、游戏机、电饭煲等无处不见单片机的影子,单片机早已深深地融入我们每个人的生活之中。单片机能大大地提高这些产品的智能性,易用性及节能性等主要性能指标,给我们的生活带来舒适和方便的同时,在工农业生产上也极大地提高了生产效率和产品质量。单片机按用途大体上可分为两类,一种是通用型单片机,另一种是专用型单片机。 MCS-51单片机是美国INTEL公司于1980年推出的产品,与MCS- 48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品,各高校及专业学校的培训教材仍与MSC-51单片机作为代表进行理论基础学习。MCS-51系列单片机主要包括8031、8051和8751等通用产品。 1.2 单片机的发展趋势 单片机现在可以说是百花齐放,百家争鸣的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供了广阔的天地。现在常规的

跑马灯程序

//产生四种亮灯方式的跑马灯 module zmk(mclk,reset,type,ledout); input mclk,reset; input[1:0] type; output [5:0] ledout; reg [5:0] ledout; reg [24:0] count; reg [4:0] state; wire clk; //分频器 always@(posedge mclk) count=count+1; assign clk=count[23]; //当type变化的时候对state进行清零 reg[1:0] type_delay; wire type_change; always @ (posedge clk) type_delay <= type; assign type_change=(type!=type_delay)?1:0; always @ (posedge clk ) begin if(reset==0) //初始化语句begin ledout=6'b000000;state<=0;end else if(type_change)//对state进行清零 state<=4'b1; else if(type==2'b00) begin case(state) 4'b0001:ledout=6'b011111;//第一个灯亮 4'b0010:ledout=6'b101111;//第二个灯亮 4'b0011:ledout=6'b110111;//第三个灯亮 4'b0100:ledout=6'b111011;//第四个灯亮

4'b0101:ledout=6'b111101;//第五个灯亮 4'b0110:ledout=6'b111110;//第六个灯亮 4'b0111:ledout=6'b111101;//第五个灯亮 4'b1000:ledout=6'b111011;//第四个灯亮 4'b1001:ledout=6'b110111;//第三个灯亮 4'b1010:ledout=6'b101111;//第二个灯亮 default :ledout=6'b000000; endcase state=state+1; //计数器产生state的各种状态if(state==4'b1011)state=5'b00001; end else if(type==2'b01) begin case(state) 4'b0001:ledout=6'b101010; 4'b0010:ledout=6'b010101; default :ledout=6'b000000; endcase state=state+1; if(state==4'b0011)state=5'b00001; end else if(type==2'b10) begin case(state) 4'b0001:ledout=6'b110011; 4'b0010:ledout=6'b101101; 4'b0011:ledout=6'b011110; 4'b0100:ledout=6'b101101; default :ledout=6'b000000; endcase state=state+1; if(state==4'b0101)state=5'b00001; end else if(type==2'b11) begin case(state) 5'b00001:ledout=6'b111110;

虚拟仪器课程设计跑马灯

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

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

跑马灯实验报告

电子系统综合设计报告 学号 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 中的某些寄存器,子程序进入时必须保

基于labview跑马灯设计

选题分析: 随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。 彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰已经成为一种时尚。 跑马灯是一种生活中比较常见的装饰,本文主要通过labview来设计了一个相对简单的对跑马灯的控制,实现了其有规律的亮灭,带来一定的观赏效果。 本文主要是实现了跑马灯的单个流水闪烁、 双路同步流水闪烁 、四路同步流水闪烁、全体同步闪烁,以此循环。本程序并控制闪烁的间隔时间,使其运行更具可观性。 方案设计: 本文主要设计了12个显示灯,并让其方形围成一圈。 运行效果: 单个流水闪烁:单个灯依次轮流闪烁 双路流水同步闪烁: 相对两灯同时依次轮流闪烁 四路同步流水闪烁:等间距四灯依次轮流闪烁 全体同步闪烁:全体灯同时闪烁 运行步骤: 单个流水闪烁→ 全体同步闪烁 → 双路流水同步闪烁

↑ ↓ 全体同步闪烁←四路同步流水闪烁←全体同步闪烁 以此循环。 运行控制: 直接点击labview运行按钮进行跑马灯演示。 开关:用于结束当前操作,控制其关断。当开始运行程序时也可通过关 断开关了结束程序的运行。 水平指针滑动杆:用于调节彩灯间的延时时间。通过其可调整灯闪烁的 快慢。 前面板的设计: 前面板主要由12个指示灯、一个开关及水平指针滑动杆构成。 水平指针滑动杆——用于调节彩灯间的延时时间。 指示灯——用以显示程序运行结果。 开关——用于结束当前操作。 对于前面板的设计相对简单,通过开关来控制其关断,水平指针滑动杆 来控制其延时时间,指示灯显示程序运行的结果,观看到跑马灯的演示 情况。

图1. 前面板 程序框图的设计: 设计思路: 本程序主要用到平铺式顺序结构和层叠式顺序结构顺序执行。 本程序用真假常量来控制灯亮与不亮。 本程序还用到了while循环和for循环,循环是用于达到闪烁和同步递进循环。 整个程序几乎每一帧都用到了延时,单位是毫秒,延时的目地是使本程序更具有可观性。

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

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

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

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

单片机跑马灯c语言程序

#include //头文件 #define uchar unsigned char //宏定义 sbit Beep = P3^4; // 蜂鸣器 uchar code led[]={ 0xff,0xfe,0xfd,0xf7,0xef,0xbf,0x7f,0x00 }; /**********延时子函数************/ void delay(unsigned int time) { unsigned int i,j; for(i=0;i0;j-=2) { P0 = led[j]; delay(500); } for(j=5;j>0;j-=2) { P0 = led[j]; delay(500); } } } /*****************计数器中断1***************/ void inttre() interrupt 3

{ unsigned int i,j; i=10; for(j=0;j<10;j++) { Beep=1; delay(i); Beep=0; delay(i); i+=60; } } /*******************外部中断1***************/ void inttrer() interrupt 2 { unsigned int i; for(i=1;i<7;i++) { P0 = led[i]; delay(500); } }

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

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

设计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;

51单片机的音乐跑马灯设计

摘要 单片机技术是一门不可或缺的技术,对我们将来的工作以及生活和学习都有很密切的联系。近年来,随着电子技术和微机计算机的迅速发展,单片机的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。 本设计使用AT89C52芯片,利用P0的8个端口连接8个发光二极管,P1的8个端口连接8个发光二极管,通过P0.0到P0.7的值和P1.0到P1.7的值控制“跑马灯”的亮灭,以达到显示效果。设计的中断程序要对多个按键动作进行响应,灯光变换的花样有15种,用模式按钮切换。按下模式按钮键,程序将按十五种模式切换,每按一次模式按钮键,切换一次跑马灯模式,而加速按钮和减速按钮可以改变闪烁速度;最后一种模式为音乐模式,加速按钮可切换音乐。 在单片机运行时,可以在不同状态下让跑马灯显示不同的组合,作为单片机系统正常的指示。当单片机系统出现故障时,可以利用跑马灯显示当前的故障码,对故障做出诊断。此外,跑马灯在单片机的调试过程中也非常有用,可以在不同时候将需要的寄存器或关键变量的值显示在跑马灯上,提供需要的调试信息。 关键词:音乐跑马灯;AT89C52单片机;74LS245驱动芯片;LED发光二极管

1 设计概述 (1) 1.1设计目的 (1) 1.2设计作用 (1) 1.3设计要求 (1) 1.4系统设计框图 (1) 2元器件介绍 (3) 2.1AT89C52单片机 (3) 2.2驱动芯片74LS245 (3) 2.3其他元件及功能 (4) 3 硬件电路设计 (6) 3.1单片机最小系统 (6) 3.2LED显示部分 (7) 3.3按钮控制部分 (7) 3.4数码管显示电路 (8) 3.5蜂鸣器部分 (8) 3.6系统总电路图 (9) 4 软件设计 (10) 4.1 程序流程图 (10) 4.2 程序设计 (10) 5 结束语 (32) 参考文献 (33)

跑马灯控制电路设计

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

跑马灯设计方案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键即可,程序不管走都那里,执行那条语句,只要确定复位键按下时,程序立刻返回到程序执行语句的第一步,程序接着进行新的循环点亮。

微机原理(基于PROTEUS的跑马灯系统设计及仿真)

学号: 课程设计 题目基于PROTEUS的跑马灯系统设计及仿真 学院自动化学院 专业自动化 班级 姓名 指导教师

2012 年 1 月12 日任务书

目录 引言 (1) 1总体方案论证 (2) 1.1功能分析 (2) 1.2系统连接图设计 (2) 1.2.1锁存控制电路 (5) 1.2.2可编程并行通信接口芯片8255A (6) 2程序流程图设计及其说明 (9) 3关键程序段落说明 (11) 3.1数据段定义 (11) 3.2程序初始化 (11) 3.3芯片初始化 (12) 3.4初始LED亮灭状态 (12) 3.5检测按键开关子程序 (12) 3.6延时程序片段 (14) 3.7灯光变换控制 (15) 4程序调试说明 (16) 5结果记录及分析 (17) 心得体会 (19) 参考文献............................................................................. 错误!未定义书签。

引言 微型计算机简称微机,由于具备人脑某些功能,所有又叫做微机。是由大规模集成电路组成的、体积较小的电子计算机。它是以微处理器为基础,配以存储器及输入输出接口电路和相应的辅助电路构成的裸机。把微型计算机集成在一个芯片上即构成单片微型计算机。学习微机原理与接口技术,主要容包括微型计算机体系结构、8086微处理器和指令系统、汇编语言、设计以及微型计算机各个组成部分,而其中很大一块就是汇编语言的学习。 汇编语言是面向机器的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。用汇编语言编写的程序由于目标程序占用存少,运行速度快,它有着高级语言不可替代的用途。因此,学习汇编语言是很必要的,通过学习汇编语言可以体会它的作用。 通过本次课程设计让我们进一步深入汇编语言的学习,掌握简单的接口设计技术,将理论知识联系实际,进一步学习微机原理与接口技术的相关知识,为以后深入学习打下良好的基础。

相关文档
相关文档 最新文档