华拓科技网
您的当前位置:首页可控流水灯单片机课程设计报告

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

来源:华拓科技网


课程设计报告

课程名称:

1

目 录

1 引言 .................................................................................................................................... 1 2 课题综述 ............................................................................................................................ 1 2.1 课题的来源 .................................................................................................................. 1 2.2 课题的意义 .................................................................................................................. 1 2.3 预期的目标 .................................................................................................................. 1 2.4 面对的问题 .................................................................................................................. 1 2.5 课题的技术 .................................................................................................................. 2 3 系统分析 ............................................................................................................................ 2 3.1 涉及的基础知识 .......................................................................................................... 2 3.2 80C51单片机引脚图及引脚功能介绍 ...................................................................... 2 3.3 解决问题的基本思路 .................................................................................................. 3 3.4 总体方案 ...................................................................................................................... 3 4 系统设计 ............................................................................................................................ 4 4.1 硬件设计 ...................................................................................................................... 4 4.2 软件设计 ...................................................................................................................... 4 4.3 元件清单 ...................................................................................................................... 4 4.4 硬件原理图 .................................................................................................................. 5 4.5 硬件焊接图 .................................................................................................................. 5 4.6 设计主要功能 .............................................................................................................. 5 5 代码编写 ............................................................................................................................ 6 6 程序调试 ............................................................................................................................ 9 结 论 .................................................................................................................................... 9 致 谢 .................................................................................................... 错误!未定义书签。 参考文献 .............................................................................................................................. 10

2

单片机原理及其接口技术课程设计

1 引言

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

2 课题综述

2.1 课题的来源

当今社会,随着科学技术的进步和电子产业的迅猛发展,这种由单片机芯片控制各种硬件工作的技术也日益成熟,并普及在交通、化工、机械等各个领域。而流水灯这项技术在生活中的应用更是广泛,较为贴近生活。而流水灯控制的设计所需要的知识也正好吻合了我们本学期对于单片机这门课程的学习,所以设计流水灯控制的这个课题让我们对知识的学习和巩固都有了进一步的加深。

2.2 课题的意义

这次单片机课程设计是为了通过对单片机编程设计控制LED灯流水闪亮的设计加强学生团队配合的能力和创造力;综合运用专业及基础知识,解决实际工程技术问题的能力。能够让学生深入真是的体会到所学的理论知识和实践相结合的过程,并融入的所学知识的海洋里,从中找出自身的不足并加以改正。

2.3 预期的目标

对8个LED灯设计5种流水灯显示方式,用一个按键进行方式选择,并用一个数码管显示方式编号;另用两个键来控制流水灯流动的速度。

2.4 面对的问题

这次课程设计是通过80C51单片机实现。但面对的问题却是两方面的:一个是软件的设计,也就是实现流水灯控制功能的程序编辑;另一个是硬件的设计,需要我们自己连接、焊接电路板;而更为严峻的就是设计的最后还要将软硬件相结合。首先我们需要通过PROTEUS软件将设计的实物的电路图仿真出来,再根据电路图运用所学

- 1 -

单片机原理及其接口技术课程设计

的单片机汇编语言通过VW软件完成程序编辑,并达到预期效果,最后是连接实物电路完成焊接。

2.5 课题的技术

通过编程达到LED灯的显示方式、模式切换按钮的控制、亮灯速度的按键控制等技术。

3 系统分析

3.1 涉及的基础知识

电路焊接:制造电子产品的重要手段。

80C51单片机指令系统:规定80C51单片机内操作的语句或命令。 八段数码管的显示:向数码的显示送数,控制系统的显示部分。

3.2 80C51单片机引脚图及引脚功能介绍

本次实习的目的在于加深80C51单片机的理解,首先来简单认识一下,它的引脚如图3-1所示:

U219XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD39383736353433322122232425262728101112131415161718XTAL29RST293031PSENALEEA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.780C51 - 2 -

图3.1 80C51的引脚图

单片机原理及其接口技术课程设计

80C51有40条引脚,共分为端口线、电源线和控制线三类。 1.端口线(4×8 = 32条):

I/O端口:P0、P1、P2、P3口,共32个引脚。

P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。 2.电源线(2条):

VCC为+5V电源线,VSS为接地线。 3.控制线(6条):

(1)ALE/PROG:地址锁存允许/编程线 ALE功能:用来锁存P0口送出的低8位地址

——————

——————

PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。

(2) PSEN:外ROM读选通信号。 (3)RST/VPD:复位/备用电源。 RST(Reset)功能:复位信号输入端。 VPD功能:在Vcc掉电情况下,接备用电源。 (4)EA/Vpp:内外ROM选择/片内EPROM编程电源。

———

———

EA功能:内外ROM选择端。

Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。 4.I/O线

(5)XTAL1、XTAL2 :晶体振荡电路反相输入端和输出端。

3.3 解决问题的基本思路

因为选定用循环移位法来实现亮灯程序的,所以在一种设计好一种亮灯方式的前提下编程实现一个循环结构体,分别来实现五种不同的亮灯方式。另外再编一个实现延时控制的调用程序,来提供亮灯速度的控制。

3.4 总体方案

在做本次课程设计之前将小组内人员分为两小组:一组分负责硬件设计,另一组负责软件编程。硬件小组负责实物的连接和焊接,并进行硬件测试;软件小组负责实现流水灯的各部分程序设计,并进行软件的仿真测试。最后将完成的软硬件相结合,从而达到实现课程设计的效果。

- 3 -

单片机原理及其接口技术课程设计

4 系统设计

4.1 硬件设计

按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。80C51单片机是本次课程设计运用的主要原件。流水灯控制设计是用一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。

4.2 软件设计

单片机的应用系统由硬件和软件组成,在硬件原理图搭建完成上电之后,我们还不能看到流水灯循环点亮的现象,我们还需要编写程序控制单片机管脚电平的高低变化,来实现发光二极管的一亮一灭。软件编程是单片机应用系统中的一个重要的组成部分,也是本次课程设计的重点和难点。我们编程实现流水灯的方法是循环移位法,下面我们就来简述一下循环移位法的工作原理。

循环移位法是采用循环程序结构进行编程。我们在程序一开始就给P1口送一个数,这个数本身就让P1.0先低,其他位为高,然后延时一段时间,再让这个数据向高位移动,然后再输出至P1口,这样就实现“流水”效果了。另外,由于80C51系列单片机的指令中只有对累加器ACC中数据左移或右移的指令,因此实际编程中我们应把需移动的数据先放到ACC中,让其移动,然后将ACC移动后的数据再转送到P1口,这样也可以实现“流水”效果。

4.3 元件清单

表4-1 元件清单

名称 电阻 排阻 电容 晶振 扬声器 单片机 LED灯 - 4 -

型号 220Ω 2K 22pF 10uF 10MHz 80C51 彩灯 数量 9 1 1 2 1 1 1 1 8 单片机原理及其接口技术课程设计

三极管 PNP 1 1 3 数码显示器 按键 4.4 硬件原理图

显示当前模式+5VRP1C122pRESPACK-8U1X1CRYSTAL18XTAL219XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617C222p1234567C3910uRSTD8D7R3R4R5220RR6220RR7220RR8220RR9220RR10220R220R220RLED-YELLOWD6LED-REDD5LED-GREEND4LED-BLUED3LED-YELLOWD2LED-REDD1R22k293031PSENALEEA+5V模式控制键减速加速12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.780C51R11kLED-GREENLED-BLUE+5VQ1PNPLS1SPEAKER 图 4-1硬件原理图

4.5 硬件焊接图

图 4-2硬件焊接图

4.6 设计主要功能

打开电路开关,按下第一个模式控制键,8个LED灯会从右向左一个接着一个亮灯,LED显示器会显示数字“1”来表示当前的亮灯方式是模式1。在8个LED灯停止亮后再次按下第一个模式控制键,8个LED灯会从左向右2个一组的一次亮灯,同时LED显示器会显示数字“2”来表示当前的亮灯方式是模式2。以此类推,一共有5种显示模式。而第2、3个按键分别控制亮灯速度的快慢。

- 5 -

单片机原理及其接口技术课程设计

5 代码编写

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

CLR P3.4 ;这里可以使小喇叭发出嗒、嗒声

LJMP START

START: MOV SP, #80H MOV R5, #00H CLR C

MOV P1, #0FFH

MAIN: MOV C,P1.4 JC MAIN ACALL DELAY1 INC R5

BEGIN: CJNE R5, #5,X1 AJMP C5

X1: CJNE R5, #4, X2 AJMP C4

X2: CJNE R5, #3, X3 AJMP C3

X3: CJNE R5, #2,X4 AJMP C2

X4: CJNE R5, #1,X5 AJMP C1

X5: MOV R5, #1H LJMP BEGIN

C1: MOV P0, #06H LCALL DELAY M1: MOV A, #01H MOV R2, #8 MOV R4, #10

LOOP1: MOV P2,A RL A SETB P3.4

CALL V CLR P3.4

DJNZ R2, LOOP1 MOV R2, #8

DJNZ R4, LOOP1

AJMP MAIN

C2: MOV R4, #10

MOV P0, #05BH LCALL DELAY M2: MOV R2, #08H MOV A, #0C0H

;选中p1.4 数码管使能 ;把06H送p0口,数码管显示1 ;数码管亮后的缓冲 ;赋值 ;值给LED灯 ;左移 ;调用延时子程序 ;进入循环 ;数码管显示2 - 6 -

单片机原理及其接口技术课程设计

LOOP2: MOV P2, A RR A SETB P3.4 ACALL V CLR P3.4

DJNZ R2, LOOP2 DJNZ R4,M2 AJMP MAIN

C3: MOV P0, #4FH ;数码管显示3 LCALL DELAY MOV M3: MOV MOV MOV LOOP3: MOV RL SETB ACALL CLR DJNZ LP1: RR SETB ACALL CLR MOV DJNZ DJNZ AJMP C4: MOV LCALL MOV M4: MOV MOV LOOP4: MOV RR SETB ACALL CLR DJNZ DJNZ AJMP

C5: MOV LCALL MOV M5: MOV R4, #10 R2, #07H R3, #08H A, #55H P2, A A P3.4 V P3.4

R2, LOOP3 A P3.4 V P3.4 P2, A R3, LP1 R4, M3 MAIN

P0,#66H DELAY R4, #10 R2, #08H A, #05H P2, A A P3.4 V P3.4

R2, LOOP4 R4, M4 MAIN P0,#6DH DELAY R4, #5 R2, #08H

;数码管显示4 ;数码管显示5 - 7 -

单片机原理及其接口技术课程设计

MOV A, #03H LP51: MOV P2, A RL A SETB P3.4 ACALL V CLR P3.4

DJNZ R2, LP51 MOV R2, #8H MOV A, #11H LP52: MOV P2, A RR A SETB P3.4 ACALL V CLR P3.4

DJNZ R2, LP52 MOV R2, #07H MOV R3, #08H MOV A, #42H LP53: MOV P2,A RL A SETB P3.4 ACALL V CLR P3.4 DJNZ R2,LP53 LP2: RR A SETB P3.4 ACALL V CLR P3.4 MOV P2,A DJNZ R3,LP2 MOV R2,#08H MOV A,#31H LP54: MOV P2,A SETB P3.4 RR A CLR P3.4 ACALL V

DJNZ R2,LP54 DJNZ R4,M5 AJMP MAIN

V: JNB P1.5,DELAY JNB P1.6,DELAY2 ACALL DELAY1 RET ;子程序返回DELAY: MOV R1,#25 D1: ACALL DELAY2

;P1.5低电平时延时长,流水灯速度慢 ;P1.6低电平时延时短,流水灯速度快 延时1s - 8 -

;单片机原理及其接口技术课程设计

DJNZ R1, D1 RET

DELAY1: MOV R6,#250 ;延时0.1s D2: MOV R7,#198 NOP

DJNZ R7,$ DJNZ R6, D2 RET

DELAY2: MOV R6,#250 ;延时0.05s DL3: MOV R7,#18 NOP

DJNZ R7,$ DJNZ R6,DL3 RET

END ;程序结束

6 程序调试

本程序运行过程中没有错误。当没有按键按下时,数码管显示8。将电路板用数据线连接,打开开关,按钮用来切换模式,一共有五种流动方式,每按一次按钮就会有一种方式,并在LED显示器上面显示出该模式的序号。按钮用来加速或减速键按下时,LED灯的转换就会加快或减慢。

结 论

由于本次课程设计含括了软件和硬件知识,所以在完成课程设计的同时也让我们了解到了我们在软硬件设计和制作方面的不足。通过分工完成课程的设计,是每个组员在自己所负责的领域学到了很多知识,并通过认真的交流将自己所学到的知识传达给每一个组员,增加了我们之间的配合与沟通。

在软件方面,我们组组员通过自己的认真学习和组员间的探讨,最终编辑完成并达到任务要求。对于我们来说,设计实现的功能是我们学习单片机的一个不小收获。

对于电路板各元器件的连接和焊接工作,虽然看似简单,但做起来却是一个细致的工作,尤其是对于三极管以及双电阻并联的焊接工作,更是要细中再细,因为这些元器件的引脚距离都是比较近的,一旦将不该连接的引脚焊接到了一起,该元器件就

- 9 -

单片机原理及其接口技术课程设计

会失它原来的工作效果,还很有可能将整个电路短路。

当软件和硬件都完成之后,接下来就是将软件的控制程序写入到硬件里面,从而实现软硬结合的过程,来实现设计要求。在这个环节中我们还是遇到了或多或少的问题,例如蜂鸣器哑声以及LED显示器不工作等问题都让我们困惑了很久,最后还是通过不断的完善代码来实现各个元器件的工作。

通过这次课程设计,我们知道了团队的力量,只有互相团结,才能把事情做好,组员分工合作,每个人根据自己的能力范围负责不同的工作,达到事半功倍的效果。

参 考 文 献

1. 单片机原理及其接口技术/胡汉才编著.—3版.—北京:清华大学出版社,2010.5; 2. 单片机原理与应用系统设计:基于C51的Proteus仿真实验与解题指导/张齐编著.

—北京:电子工业出版社,2010.2;

3. Proteus显示控制系统设计与实例/朱清慧 编著.—北京:清华大学出版社,

2011.5;

4. 单片机实验与课程设计:Proteus仿真版/楼然苗等编著.—杭州:浙江大学出版

社,2010.10。

- 10 -

因篇幅问题不能全部显示,请点此查看更多更全内容