c51流水灯实验报告汇编语言,单片机流水灯实验

《单片机原理及应用》实验指导书

实验三: 单片机流水灯实验

一、实验说明

每当夜幕降临,我们可以看到大街各式各样广告牌上漂亮的霓虹灯,看起来令人赏心悦目,为夜幕中的城市增添了不少亮丽色彩。其实这些霓虹灯的工作原理和单片机流水灯是一样的,只不过霓虹灯的花样更多,看起来更漂亮一些。这一课我们就结合S51增强型单片机实验板、THKSCM-2实验台来手把手教大家详细学习单片机的流水灯实验。通过本实验学生可以掌握单片机的Keil软件编程、调试、仿真、烧录等方法。实验课时:2节。

二、实验目的

1.掌握p1 口的使用方法和延时子程序的编写及使用。了解汇编语言程序设计的基本思路和指令应用。

2. 熟悉单片机实验版、THKSCM-2实验台、Keil 软件使用,熟悉软件仿真。

3.了解仿真器和烧录器的正确的连接使用。

三、实验场地与器材

实验地点:单片机实验室。 实验器材:PC机、THKSCM-2实验箱、S52增强型单片机实验板、s52CPU模块。

四、实验的内容及要求

编写一段流水灯控制程序,用P1口作为输出控

制端口,实现八只发光二极管的不同亮灭并循环点

亮。如实现LED左移;实现LED右移等。显示方式自由发挥,但延时时间固定在0.125m。

五、操作步骤及工作要点

1.启动Keil单片机集成开发环境,建立新工程liu01.UV2,输入源程序,将源程序liu01.asm导入到工程中,设置好Keil工程的编译参数,编译无误后得到HEX格式的目标文件liu01.hex2.安装好仿真器,用串

行数据通信线连接计算机与仿真器,把仿真头插到模块的单片机插座中,请注意仿真器的方向:缺口朝上。打开模块电源,插上仿真器电源插头(USB线)。点击全速执行快捷按钮,运行程序,观察发光二极管显示情况,可以看到程序仿真执行的过程.点击暂停按钮,观察存储块数据变化情况,点击复位按钮,可再次运行程序。

3. 用 ISP编程器 将目标文件liu01.hex烧写到AT89S52单片机中,接下来就是将烧写好的AT89S52从编程器上取下,放到“ S51增强型单片机实验板 ”上通电,我们就看到了LED1~LED8的”流水”效果了。

六、实验的原理

1.电路图:

从原理图可以看出,如果我们想让接在P1.0口的LED1亮起来,那么我们只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平就可以;同理,接在P1.1~

P1.7口的其他7个LED的点亮和熄灭方法方法同LED1。因此,要实现流水灯功能,我们只要将LED2~LED8依次点亮、熄灭,依始类推,8只LED变会一亮一暗的做流水灯了。

2.参考程序:

;—– 主程序开始 —–

START: MOV ACC,#0FEH ;ACC中先装入LED1亮的数据(二进制的11111110)

MOV P1,ACC ;将ACC的数据送P1口

MOV R0,#7 ;将数据再移动7次就完成一个8位流水过程 LOOP: RL A ;将ACC中的数据左移一位

MOV P1,A ;把ACC移动过的数据送p1口显示

ACALL DELAY ;调用延时子程序

DJNZ R0,LOOP ;没有移动够7次继续移动

AJMP START ;移动完7次后跳到开始重来,以达到循环流动效果

;—– 延时子程序 —–

DELAY: MOV R0,#255 ;延时一段时间

D1: MOV R1,#255

DJNZ R1,$

DJNZ R0,D1

RET ;子程序返回

END ;程序结束

;—– 主程序开始 —–

ORG 0000H ;上电复位,程序从0000H开始执行 START: MOV SP,#60H ;堆栈初始化为60H

MOV DPTR,#LIU_TAB ;流水花样表首地址送DPTR

LOOP: CLR A

MOVC A,@A+DPTR

CJNE A,#0FFH,SHOW ;检查流水结束标志

AJMP START ;所有花样流完,则从头开始重复流 SHOW: MOV P1,A ;将数据送到P1口

ACALL DELAY

INC DPTR

AJMP LOOP

;—– 延时子程序 —–

DELAY: MOV R0,#255 ;延时一段时间

D1: MOV R1,#255

DJNZ R1,$

DJNZ R0,D1

RET ;子程序返回

;—– 下面是流水花样数据表 —–

LIU_TAB:

DB 01111111B ;二进制表示的流水花样数据

DB 10111111B

DB 11011111B

DB 11101111B

DB 11110111B

DB 11111011B

DB 11111101B

DB 11111110B

DB 11111110B

DB 11111101B

DB 11111011B

DB 11110111B

DB 11101111B

DB 11011111B

DB 10111111B

DB 01111111B

DB 0FFH ;流水花样结束标志0FFH

END ;程序结束

七、考核要求

1.程序编写及实验的操作,运用Keil软件及THKSCM-2系列仿真开发系统的熟练程度。

2.THKSCM-2实验箱的接线情况。

3.实验的最后结果是否符合要求

八、配分、评分标准(参考)

九、思考

1.如何编写程序改变延时的时间/p>

2.通过这次实验,大家思考一下如何实现二极管的循环亮灭

3.这个彩灯控制系统还有哪些不完善的地方/p>

4.如何实现十六只发光二极管的不同亮灭并循环点亮。

十、汇总交流

1.错误汇总

2.思路汇总

3.程序汇总

相关资源:专业LED光动画制作软件(安装后直接用!)_setup安装包-Delphi工具…

来源:不知者不问

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年4月16日
下一篇 2021年4月16日

相关推荐