单片机课程LED流水灯设计报告(样本)

时间:2024.4.14

单片机课程设计报告

项目名称:基于单片机的LED流水灯系统设计

项目组成员:(1)姓名:  乔杰   学号:  098217    

           (2)姓名: 王迪    学号:  098220   

           (3)姓名: 杨许会  学号:  098225    

专业班级:  通信C092

日    期:   2011.12.02


  

第一章  绪论----------------------------------------------------------------------- 2

1.1 课题简介---------------------------------------------------------------------------------------- 2

1.2 设计目的---------------------------------------------------------------------------------------- 2

1.3 设计任务---------------------------------------------------------------------------------------- 2

1.4 设计方法---------------------------------------------------------------------------------------- 3

第二章设计内容与所用器件--------------------------------------------------- 4

第三章  方案论证与比较-------------------------------------------------------- 5

3.1循环移位法-------------------------------------------------------------------------------------- 5

 3.2查表法-------------------------------------------------------------------------------------------- 5

3.3位控法-------------------------------------------------------------------------------------------- 5

第四章硬件系统设计------------------------------------------------------------ 7

4.1 键盘接口电路---------------------------------------------------------------------------------- 7

4.2 7段LED数码管------------------------------------------------------------------------------- 8

4.3 程序下载接口---------------------------------------------------------------------------------- 8

4.4 数码管驱动芯片------------------------------------------------------------------------------- 8

4.5、单片机时钟电路----------------------------------------------------------------------------- 8

4.6、单片机复位电路----------------------------------------------------------------------------- 9

第五章软件设计----------------------------------------------------------------- 10

5.1 汇编语言和C语言的特点及选择------------------------------------------------------ 10

5.2 LED显示原理-------------------------------------------------------------------------------- 12

第六章系统调试与存在的问题----------------------------------------------- 13

6.1 硬件调试--------------------------------------------------------------------------------------- 13

6.2 软件调试--------------------------------------------------------------------------------------- 13

-------------------------------------------------------------------------------- 14

参考文献--------------------------------------------------------------------------- 15

    附录------------------------------------------------------------------------------------16

 第一章  绪论

1.1 课题简介

当今社会,随着人们物质生活的不断提高,电子产品已经走进了家家户户,无论是生活或学习,还是娱乐和消遣几乎样样都离不开电子产品,大型复杂的计算能力是人脑所不能胜任的,而且比较容易出错。计算器作为一种快速通用的计算工具方便了用户的使用。计算器可谓是我们最亲密的电子伙伴之一。本设计着重在于分析计算器软件和开发过程中的环节和步骤,并从实践经验出发对计算器设计做了详细的分析和研究。

单片机由于其微小的体积和极低的成本,广泛的应用于家用电器、工业控制等领域中。在工业生产中。单片微型计算机是微型计算机称单片机,特别适用于控制领域,故又称为微控制器。

本系统就是充分利用了8051芯片的I/O引脚。系统以采用MCS-51系列单片机Intel8051为中心器件来设计LED流水灯系统,实现8个LED霓虹灯的左、右循环显示,并实现循环的速度可调。

1.2 设计目的

通过本次课题设计,应用《单片机原理及应用》等所学相关知识及查阅资料,完成简易LED流水灯系统设计,以达到理论与实践更好的结合、进一步提高综合运用所学知识和设计的能力的目的。

通过本次设计的训练,可以使我在基本思路和基本方法上对基于MCS-51单片机的嵌入式系统设计有一个比较感性的认识,并具备一定程度的设计能力。

1.3 设计任务

在本次课程设计中,主要完成如下方面的设计任务:

1、掌握MCS-51系列8051、8255的最小电路及外围扩展电路的设计方法;

2、了解单片机数据转换功能及工作过程;

3、设计LED流水灯系统,实现8个LED霓虹灯的左、右循环显示;

4、完成主要功能模块的硬件电路设计;

5、用protel软件完成原理电路图的绘制;

6、创新,设计24个LED霓虹灯的循环。

1.4 设计方法

本课题使用AT89C51单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。

如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。

在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。

在此基础上,增加外扩设备,利用74LS373和8255扩展成24个LED灯循环显示。

第二章 设计内容与所用器件

基本功能:

利用89c51作为主控器组成一个LED流水灯系统,实现8个LED霓虹灯的左、右循环显示。

可选器件:

51系列单片机、8255、74LS373、LED灯等

 

第三章  方案论证与比较

3.1循环移位法

在上个程序中我们是逐个控制P1端口的每个位来实现的,因此程序显得有点复杂,下面我们利用循环移位指令,采用循环程序结构进行编程。我们在程序一开始就给P1口送一个数,这个数本身就让P1.0先低,其他位为高,然后延时一段时间,再让这个数据向高位移动,然后再输出至P1口,这样就实现“流水”效果啦。由于8051系列单片机的指令中只有对累加器ACC中数据左移或右移的指令,因此实际编程中我们应把需移动的数据先放到ACC中,让其移动,然后将ACC移动后的数据再转送到P1口,这样同样可以实现“流水”效果。具体编程如下所示,程序结构确实简单了很多。

3.2查表法

  上面的两个程序都是比较简单的流水灯程序,“流水”花样只能实现单一的“从左到右”流方式。运用查表法所编写的流水灯程序,能够实现任意方式流水,而且流水花样无限,只要更改流水花样数据表的流水数据就可以随意添加或改变流水花样,真正实现随心所欲的流水灯效果。我们首先把要显示流水花样的数据建在一个以TAB为标号的数据表中,然后通过查表指令“MOVC A,@A+DPTR”把数据取到累加器A中,然后再送到P1口进行显示。具体源程序如下,TAB标号处的数据表可以根据实现效果的要求任意修改。

3.3位控法

    这是一种比较笨但又最易理解的方法,采用顺序程序结构,用位指令控制P1口的每一个位输出高低电平,从而来控制相应LED灯的亮灭。

本次实验我们采用的是查表法和循环移位法,这两个方法要比位控法要复杂些,但是程序要简略的多。

第四章 硬件系统设计

硬件系统是指构成微机系统的实体和装置,通常由运算器、控制器、存储器、输入接口电路和输入设备、输出接口电路和输出设备等组成。单片机实质上是一个硬件的芯片,在实际应用中,通常很难直接和被控对象进行电气连接,必须外加各种扩展接口电路、外部设备、被控对象等硬件和软件,才能构成一个单片机应用系统。本设计选用以AT89S51单片机为主控单元。显示部分:8个LED灯循环亮灭。

4.5、单片机时钟电路

时钟电路用于产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。

在MCS-51芯片内部有一个高增益反相放大器,其输入端为芯片引脚X1,输出端为引脚X2,在芯片的外部跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。 此电路采用12MHz的石英晶体。时钟电路如下图2-2:

            图2.2时钟电路

第五章 软件设计

5.1 汇编语言和C语言的特点及选择


本设计是硬件电路和软件编程相结合的设计方案,选择合适的编程语言是一个重要的环节。在单片机的应用系统程序设计时,常用的是汇编语言和C语言。机硬件,程序可读性和可移植性比较差。而C语言虽然执行效率没有汇编语言高,但语言简洁,使用方便,灵活,运算丰富,表达化类型多样化,数据结构类型丰富,具有结构化的控制语句,程序设计自由度大,有很好的可重用性,可移植性等特点。在本设计中采用C语言编写软件程序。主程序的设计详见附录二。

5.4 LED显示原理

LED 点阵显示器亦称LED 矩阵板,具有亮度高、发光均匀、可靠性好、接线简单、拼装方便等优点,能构成各种尺寸的大屏幕显示器。因此,它被广泛应用于大型LED 智能显示屏、智能仪器仪表和机电一体化设备的显示单元中,取得了较好的效果。由于它经济、小型的显示系统,同时要求使用方便灵活,方便地组成了由多块大屏幕LED 显示器构成的显示系统,该系统可广泛用于商场、车站、码头及其它公共场合。LED 显示屏由 ED 点阵显示器(常见型号为P2158A) 构成。它是以发光二极管为像素,按照行与列的顺序排列而成的显示器件,采用逐行(或逐列) 扫描方式工作,由峰值较大的窄脉冲驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的脉冲信号,反复循环以上操作,就可显示各种图形或文字信息。

此设计中LED灯的显示为动态显示。我们采用的是共阴极LED灯,在’0’时LED灯发光。‘1’的时候熄灭,我们通过改变每个接口的’0’、’1’状态,来实现LED灯的亮灭、从而实现整个LED灯系统,呈流水状亮灭。

我们还可以采用各种不同颜色的LED灯,使我们的实验结果更加绚丽多彩,增加视觉效果。

第六章 系统调试与存在的问题

6.1 硬件调试

常见故障:

1、逻辑错误:它是由设计错误或加工过程中的工艺性错误所造成的。这类错误包括错线、开路、短路等。

2、元器件失效:有两方面的原因:一是器件本身已损坏或性能不符合要求;二是组装错误造成元件失效,如电解电容、集成电路安装方向错误等。

3、可靠性差:因其可靠性差的原因很多,如金属化孔、接插件接触不良会造成系统时好时坏,经不起振动;走线和布局不合理也会引起系统可靠性差。

4、电源故障:若样机由电源故障,则加电后很容易造成器件损坏。电源故障包括电压值不符合设计要求,电源引线和插座不对,功率不足,负载能力差等。

调试方法:包括多级调试和联机调试。在调试过程中要针对可能出现的故障认真分析,直至检查出原因并排除。

本次硬件调试过程中,对所出现的问题进行了认真的分析和改正,最后能够很好的达到设计要求的效果。

6.2 软件调试

软件调试一般分为以下四个阶段:1、 编写程序并查错;2、在汇编语言的编译系统中编译源程序3、对程序进行编译连接,并及时发现程序中存在的错误;4、改正错误。

在软件调试过程中,对出现的错误进行了认真的分析和修改,多次调试成功后,能够很好的达到既定的设计效果。

此系统可以改进为可以通过对开关的调节来控制流水灯的调向、加速、减速、变亮、变暗,这是一个比较难的挑战。

我们还利用8255芯片,来进行创新,扩展LED灯的数量,让24个LED灯从左往右,或从右往左呈流水型变化。

总 结

经过一段时间的努力,我们顺利的完成了这次单片机课设。这是一个磨练意志的过程。从课题的选择开始,计算器的设计、硬件和软件系统的设计、到最后的Proteus软件仿真完成,这其中经历了很多困难,但是更重要的是在这个过程中我得到了很大的锻炼。一方面通过C51单片机等一些器件的设计让我学习和掌握了单片机技术的基础知识和技术要点,也使以前学的很多知识都得到了运用;另一方面在用Proteus软件画电路图时,然后再转换成一维的WORD中进行编辑,这个过程中让我掌握了计算机辅助的设计技术。当然,这是一个需要不断的尝试,不断的校核,不断的修改,最后完成一个合理的设计的过程。需要的是细心和耐心。在很大程度上培养了我拼搏的工作精神。使我受益匪浅,更加明确了自己专业的方向。

通过本次课设,我不仅学到了关于单片机技术方面的许多专业知识,同时也让我感觉到团队合作的重要性。其实如何有效和快速的找到资料也是课设给我的启发,利用好图书馆和网络,是资源的到最好的利用。与他人交流思想是取得成功的关键,在交流中,不仅强化了自己原有的知识体系,也扩展了自己的思维。课设是一个通过思考、发问、自己解惑并动手、提高的过程。我会在以后的学习中不断学习,积累经验,完善自己。

对于这次单片机课程设计不仅巩固了以前所学过的知识,而且学到了很多在书本上没有学到过的知识,掌握了一种系统的研究方法,可以进行一些简单的编程。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。同时在设计的过程中发现了自己的不足之处,例如对以前所学过的知识理解得不够深刻,掌握得不够牢固,学习了单片机C语言。

这里我要感谢实验室的指导老师,没有老师的细致讲解和耐心的检查,也就没有我的计算器出来,非常感谢!

参考文献

[1]徐爱钧.智能化测量控制仪表原理与设计(第二版).北京航天航空大学出版社,2004.9

[2]杨恢先 黄辉先著.单片机原理与应用.人民邮电出版,2009.7

[3]朱定华著.单片机原理与接口技术.电子工业出版社,2001.4

[4]王威著.HCS12微控制器原理及应用.北京航空航天大学出版社,2007.10

[5]龚运新著.单片机C语言开发技术.北京清华大学出版社,2006.10

[6]胡洪波著.单片机原理与应用实验教程.湘潭大学出版社,2009.7

[7]《单片机原理及其接口技术》 胡汉才 编著 北京:清华大学出版社

[8]《MCS-51单片机原理及应用》张毅刚 编著 哈尔滨:哈尔滨工业大学出版社

[9]《51单片机C语言应用程序设计 实例精讲》(第二版) 戴佳 刘博文 编著 电子工业出版社


附录一:计算器硬件连线图


附录二:源程序

2.1循环移位法

ORG       0000H            ;单片机上电后从0000H地址执行

AJMP     START           ;跳转到主程序存放地址处

ORG       0030H            ;设置主程序开始地址

START:MOV      SP,#60H      ;设置堆栈起始地址为60H

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

MOV  P1,A           ;将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                            ;程序结束

2.2查表法

ORG       0000H            ;单片机上电后从0000H地址执行

AJMP     START             ;跳转到主程序存放地址处

ORG       0030H            ;设置主程序开始地址

START:MOV      SP,#60H          ;设置堆栈起始地址为60H

MOV      DPTR,# 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                                    ;子程序返回

TAB:                          ;下面是流水花样数据表,用户可据要求任意编写

DB   11111110B                     ;二进制表示的流水花样数据,从低到高左移

DB   11111101B

DB   11111011B

DB   11110111B

DB   11101111B

DB   11011111B

DB   10111111B

DB   01111111B

DB   01111111B                     ;二进制表示的流水花样数据,从高到低右移

DB   10111111B

DB   11011111B

DB   11101111B

DB   11110111B

DB   11111011B

DB   11111101B

DB   11111110B

DB   0FEH,0FDH,0FBH,0F7H      ;十六进制表示的流水花样数据

DB   0EFH,0DFH,0BFH,7FH

DB   7FH,0BFH,0DFH,0EFH

DB   0F7H,0FBH,0FDH,0FEH

……

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

END                                          ;程序结束

2.3 24个led灯循环程序

更多相关推荐:
流水灯单片机课程设计报告

井冈山大学机电工程学院单片机课程设计报告课程名称单片机设计题目流水灯姓名覃家应陈东阳专业生物医学工程班级10级医工本一班学号100615062指导教师王佑湖20xx年11月10日目录1引言211设计任务212设...

单片机实验报告——流水灯

电子信息工程学系实验报告课程名称:单片机原理及接口实验项目名称:实验2流水灯实验时间:20xx-10-21班级:电信092姓名:蔡**学号:*********一、实验目的:进一步熟悉keil仿真软件、prote…

单片机课程设计led流水灯设计报告

目录一前言111课题简介112设计目的1二总体设计221设计思路222原件清单2三硬件设计331AT89C51332系统框图533程序框图5四软件设计541硬件设计642单片机时钟电643复位电路644控制电路...

51单片机流水灯实验报告

51单片机流水灯试验一实验目的1了解51单片机的引脚结构2根据所学汇编语言编写代码实现LED灯的流水功能3利用开发板下载hex文件后验证功能二实验器材个人电脑80c51单片机开发板三实验原理单片机流水的实质是单...

单片机流水灯设计报告

第一部分实训准备1摘要近年来随着电子技术和微型计算机的发展单片机的档次不断提高起应用领域也在不断的扩大已在工业控制尖端科学智能仪器仪表日用家电汽车电子系统办公自动化设备个人信息终端及通信产品中得到广泛的应用成为...

单片机流水灯设计报告

1摘要近年来随着电子技术和微型计算机的发展单片机的档次不断提高起应用领域也在不断的扩大已在工业控制尖端科学智能仪器仪表日用家电汽车电子系统办公自动化设备个人信息终端及通信产品中得到广泛的应用成为现代电子系统中最...

单片机流水灯实验报告

单片机流水灯实验报告一实验目的1熟练掌握AT89S52型开发板的使用方法和注意事项2了解简单单片机应用系统的设计方法3掌握应用KEIL软件编辑编译源汇编程序的操作方法4掌握应用USBISP烧录软件的操作方法5帮...

可控流水灯单片机课程设计报告(c语言)

中州大学单片机课程设计1设计主题MCS51流水灯院系工程技术学院专业电气自动化一班学号20xx25030104姓名指导老师孙建延目录1引言12课题综述121课题的来源122课题的意义123预期的目标124面对的...

音乐流水灯毕业设计开题报告

毕业设计开题报告题目基于AT89C51单片机的音乐流水灯系统设计分院专业班级学号姓名指导教师

单片机流水灯设计报告

1摘要近年来随着电子技术和微型计算机的发展单片机的档次不断提高应用领域也在不断的扩大已在工业控制尖端科学智能仪器仪表日用家电汽车电子系统办公自动化设备个人信息终端及通信产品中得到广泛的应用成为现代电子系统中最重...

单片机花样流水灯设计实验报告

大学物理学院单片机花样流水灯设计实验课题花样流水灯设计班级物理姓名学号摘要当今时代的智能控制电子技术给人们的生活带来了方便和舒适而每到晚上五颜六色的霓虹灯则把我们的城市点缀得格外迷人为人们生活增添了不少色彩制作...

单片机课程LED流水灯设计报告(样本)

单片机课程设计报告项目名称基于单片机的LED流水灯系统设计项目组成员1姓名乔杰学号0982172姓名王迪学号0982203姓名杨许会学号098225专业班级通信C092日期目录第一章绪论211课题简介212设计...

单片机流水灯设计报告(43篇)