物联网、通信专业 单片机课程设计 可控流水灯设计

更新时间:2023-04-23 04:23:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

物联网、通信专业 单片机课程设计 可控流水灯设计

淮阴工学院

单片机课程设计报告

题目: 可控流水灯设计

系 (院): 计算机工程学院 专 业: 计算机科学与技术(物联网方向) 班 级: 物联网1091 学 号: 1091205924 姓 名: 谢圣东 指导教师: 戴峻峰,陈宏明 学年学期: 第学期

2011年6月25 日

物联网、通信专业 单片机课程设计 可控流水灯设计

摘 要

单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。可控流水灯设计要求:对8个LED灯设计5种流水灯显示方式,用一个按键进行方式选择,并用一个数码管显示方式编号;用两个键来控制流水灯流动的速度。在设计中主要采用8051单片机作为主要控制元件;在单片机P2接上8个发光二极管作为流水指示灯,在P0口接上数码管显示编号,显示当前流水灯的流水模式,数码管采取共阳极接法;在P1口的4、5、6位上各接一个按键,一个按键进行方式选择,另外两个按键控制流水灯的流动的速度。在接上复位电路,时钟电路,电源电路以及一些必要的设计与电路,就能设计出一款可控流水灯。

关键词 8051单片机 发光二极管 数码管 流水灯

物联网、通信专业 单片机课程设计 可控流水灯设计

目 录

1 引言 .................................................................................................................................. 1 2 课题综述 .......................................................................................................................... 1

2.1 课题的来源 ......................................................................................................... 1 2.2 课题的目的与意义 ............................................................................................. 1 2.3 面临的问题 ......................................................................................................... 1 3 系统设计 .......................................................................................................................... 1

3.1 总体设计 ............................................................................................................. 1 3.2 硬件原理图 ......................................................................................................... 2 3.3 硬件焊接图 .............................................................................................................. 3 3.4 软件设计 ............................................................................................................. 4 4 代码编写 ............................................................................................................................ 4 5 系统调试 ............................................................................................................................ 8 总 结 .................................................................................................................................... 9 致 谢 .................................................................................................................................... 10 参 考 文 献 ........................................................................................................................ 11

物联网、通信专业 单片机课程设计 可控流水灯设计

1 引言

单片机课程设计主要是为了让我们增进对80C51单片机电路的的感性认识,加深对理论方面的理解。了解软硬件的有关知识,并掌握硬件设计过程、方法及实现,为以后实现应用打下基础。另外,通过简单课题的设计练习,使我们了解各项工程部分,达到巩固并运用所学知识解决实际问题的目的。

2 课题综述

2.1 课题的来源

当今社会,由单片机芯片控制各种硬件工作的技术也日益成熟,并普及在各个领域,而流水灯在生活中的应用更是广泛,较为贴近生活。所以选择可控流水灯设计这个课题,也是对本学期学习单片机课程的加深与巩固。

2.2 课题的目的与意义

通过可控流水灯单片机课程的设计,即那个理论与实践联系在一起,在熟悉基本原理的前提下,提出自己的该方案,完成可控流水灯的设计。

2.3 面临的问题

面临的问题就是软件与硬件方面:软件方面,要实现按键对数码管的逻辑控制,在控制流水灯点亮;硬件方面,就是先要绘制protel原理图,在绘制原理图时要有电源电路,USB、串口电路,单片机还要有复位电路、时钟电路,以及三个按键要接在P1口,数码管接在P0口,LED灯接在P2口

物联网、通信专业 单片机课程设计 可控流水灯设计

3 系统设计

3.1 总体设计

使80C51芯片作为控制主体;三个按键中,第二个按键作为控制数码管显示以及相应的流水灯显示,其他两个按键作为控制流水灯流水速度;数码管显示流水灯显示方式,8个放光二极管作为LED显示流水灯。另外外接复位电路,电源电路,时钟电路,系统对外连接的串口用MAX232芯片完成。

模块区域图如下:

图3-1 模块区域图

3.2 硬件原理图

物联网、通信专业 单片机课程设计 可控流水灯设计

图3-2硬件原理图

3.3 硬件焊接图

图3-3硬件焊接图

1

图3-3硬件焊接图2

物联网、通信专业 单片机课程设计 可控流水灯设计

3.4 软件设计

软件设计部分的方法与函数嵌套、调用函数的方法。要实现按键控制数码管显示数字,还要在显示对应的数字时使8个显示相应的流水灯,所以在P1.5口出现一个低电平时就会被调到其他的函数区域执行,点亮数码管,是数码管显示出相应的数字,然后依然是通过调用函数的方法,使LED灯点亮,课题的要求是显示流水灯,要有一亮一灭的效果,所以在此函数里放一个循环,一个循环左移,这样也就产生了流水灯的效果,接着下面就是这样循环下去,最后按复位键复位。

4 代码编写

MAIN: FS1:

MOV P0 ,A LOOP1:

LCALL WAIT FS2: LOOP2:

ORG 0000H SJMP MAIN

//MOV A,P1 ;读入P1口状态 //ANL A,#20H ;屏蔽无效位 MOV P0 ,#0FFH LCALL WAIT MOV A,#0F9H ;数码管显示数字1 MOV R2 ,#08H MOV A,#0FEH MOV P2 ,A LCALL DELAY RL A

DJNZ R2 ,LOOP1

MOV A,#0A4H

MOV P0 ,A ;数码管显示数字2 MOV R2 ,#08H MOV A,#0FEH MOV P2 ,A

物联网、通信专业 单片机课程设计 可控流水灯设计

RL A FS3: LOOP3:

LCALL WAIT FS4: LOOP4:

RL A

LCALL DELAY RL A

DJNZ R2 ,LOOP2

LCALL WAIT MOV A,#0B0H MOV P0 ,A ;显示3 MOV R2 ,#08H MOV A,#0FEH MOV P2 ,A LCALL DELAY RL A RL A RL A

DJNZ R2 ,LOOP3

MOV A,#99H MOV P0 ,A ;显示4 MOV R2 ,#08H MOV A,#0FEH MOV P2 ,A LCALL DELAY RL A

RL A RL A

DJNZ R2 ,LOOP4 LCALL WAIT FS5:

MOV A,#92H

物联网、通信专业 单片机课程设计 可控流水灯设计

MOV P0 ,A ;显示5

LOOP5: DELAY:

DELAY1: DELAY0:

MOV R2 ,#08H MOV A,#0FEH MOV P2 ,A

LCALL DELAY RL A RL A RL A RL A RL A

DJNZ R2 ,LOOP5 LJMP MAIN

MOV A,P1 ;读入P1口状态 ANL A,#10H

CJNE A,#00H ,DELAY2 ;S2是否按下MOV R7 ,#0FFH ;1s

MOV R6 ,#0FFH NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP

DJNZ R6 ,DELAY0 DJNZ R7 ,DELAY1

物联网、通信专业 单片机课程设计 可控流水灯设计

WAIT: FDG: LET: LEFT:

DELAY2: MOV A ,P1

MOV A,P1 ANL A,#20H

CJNE A,#20H ,LET ;判断S1是否按下 JMP FDG LCALL DE MOV A,P1 ANL A,#20H CJNE A,#20H ,LEFT JMP FDG MOV A,P1 ANL A,#20H CJNE A,#20H ,LEFT RET

;判断S1是否按下

;读入P1口状态 ;读入p1口状态

ANL A ,#40H

CJNE A,#00H ,ERR ;判断S3是够按下

DELAY3: DELAY4:

MOV R7 ,#0FFH MOV R6 ,#0FFH

;延时1S

NOP NOP NOP NOP NOP NOP NOP NOP

物联网、通信专业 单片机课程设计 可控流水灯设计

DE : LAP6: ERR:

NOP

DJNZ R6 ,DELAY4 DJNZ R7 ,DELAY3 RET

MOV R7 ,#28H MOV R6 ,#64H DJNZ R6 ,$ DJNZ R7,LAP6 RET

RET

END

5 系统调试

将编写好的汇编语言代码用Keil进行编译后,修改出现的错误,待无错误后将程序下载到单片机中,运行可控流水灯系统。

物联网、通信专业 单片机课程设计 可控流水灯设计

总 结

这次课程设计是一周的时间,虽说时间不短,但是这之间完成的任务量还是挺大的,要绘制protel原理图,然后对照着原理图焊接,然后写代码,调试在运行。所以这个礼拜时间上都是很紧凑,同时也很充实。

首先在硬件电路上,有一个正确的protel原理图是很关键的,一切硬件包括代码都是依照这个,老师在这个方面帮助了我们很大的忙,帮我们预先设计的很多的电路,以及电阻、电容的取值大小,然后有不懂的也给我们细心讲解,很感谢老师,上午原理图基本上就成型了,接着就是焊接电路,焊接电路时要格外的细心,不能焊错引脚,然后还要小心,电烙铁很烫,不能烫伤。焊接电路时,在布局上也是一大讲究,要充分考虑电路板的大小与待焊接原件的大小,该紧凑的地方要紧凑,然后整体分布要均匀,要能体现一个一个的功能模块,这样在电路发生错误的情况下也便于找出错误的所在,还有一点好处是接线时也很方便。

上面是说的硬件方面,下面说说软件代码不是太成功,主要原因是对单片机的硬件资源还不是太透彻的理解,代码方面要注意的是也要实现功能模块化,以函数与调用函数的形式体现出来,当然第一步是要能对单片机汇编语言很理解,然后怎么去调用函数,实现功能。

软硬件都完成后就是整合,单片机是软硬件的结合,我在这个过程中出现过很多的错误,主要是硬件方面,有的是电容正负接反了,有的是线掉了。这个过程真正意义上找错误,自我完善的过程。另外就是在这个过程中与同学加强合作很重要,这样效率很高,然后要勤于问老师,这样也会进步的很快。

物联网、通信专业 单片机课程设计 可控流水灯设计

致 谢

这一次,能够在一周的时间里顺利的完成此次单片机的课程设计,首先最想要感谢的是我的指导老师,戴俊峰老师,老师在一周时间里,耗费许多的精力与体力对我们进行悉心的指导与帮助,在这一周时间里,在焊接电路、调试程序时,老师总能陪在我们身旁,细心的为我们解答遇到的问题,帮我们解决困难。在此衷心的感谢老师为我们做出的牺牲!

此外感谢淮阴工学院和计算机工程学院为我们提供很好的实践机会。 也要感谢实验室的工作人员为我们提供了舒适的实验环境,还要感谢学校的图书馆为我们提供了丰富的书籍资料以方便我们借阅,在此过程中我遇到许多问题,通过查阅书籍得以解决,谢谢那些优秀书籍的作者,感谢你们的指导!在此次课程设计中得到了同学的帮助,能够与他们一起探索,一起研究解决问题,在互帮互助中我找到自己的不足,在此向帮助过我的同学表示感谢!

课程设计是我们实践的一个重要经历,是我们锻炼自己实践能力的关键环节,一周的课程设计需要许多方面的帮助才能完成,在此再次向所有帮助过我的人表示感谢!

物联网、通信专业 单片机课程设计 可控流水灯设计

参 考 文 献

1 李广弟,朱秀月,冷祖祁.单片机基础(第三版).北京:北京航空航天大学出版社,2007

2 蔡美琴、张为民MCS-51系列单片机系统及其应用.第二版.北京:高等数学出版社,2004

3 张培仁基于C语言编程MCS-51单片机原理与应用[M].北京:清华大学出版社,2003

4 胡汉才.单片机原理及系统设计. 北京:清华大学出版社,2002

5 南建辉,熊鸣,王军茹.MCS-51单片机原理及应用实例. 北京:清华大学出版社,2004

本文来源:https://www.bwwdw.com/article/uxvq.html

Top