80C51可控流水灯单片机课程设计报告.docx
- 文档编号:641457
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:19
- 大小:95.61KB
80C51可控流水灯单片机课程设计报告.docx
《80C51可控流水灯单片机课程设计报告.docx》由会员分享,可在线阅读,更多相关《80C51可控流水灯单片机课程设计报告.docx(19页珍藏版)》请在冰豆网上搜索。
80C51可控流水灯单片机课程设计报告
80C51单片机流水灯实训和
调试报告
班级:
姓名:
学号:
1目的
单片机课程设计主要是为了让我们增进对80C51单片机电路的感性认识,加深
对理论方面的理解。
了解软硬件的有关知识,并掌握软硬件设计过程、方法及实现,为以后设计和实现应用系统打下良好基础。
另外,通过简单课题的设计练习,使我们了解必须提交的各项工程文件,达到巩固、充实和综合运用所学知识解决实际问题的目的。
2.2课题的意义
这次单片机课程设计是为了通过对流水灯控制的设计加强学生团队配合的能力和创造力;综合运用专业及基础知识,解决实际工程技术问题的能力。
能够让学生深入真是的体会到所学的理论知识和实践相结合的过程。
找出自身的不足并加以改正。
2.3预期的目标
对8个LED灯设计5种流水灯显示方式,用一个按键进行方式选择,并用一个数码管显示方式编号;用两个键来控制流水灯流动的速度。
2.4面对的问题
这次课程设计是通过80C51位单片机实现。
但面对的问题却是两方面的:
一个是软件的设计,也就是实现流水灯控制功能的程序编辑;另一个是硬件的设计,需要我们自己连接、焊接电路板。
而更为严峻的就是设计的最后还要将软硬件相结合。
首先我们需要通过protel将设计的实物的电路图画出来,再根据电路图连接实物电路。
2.5课题的技术
LED灯的显示方式、模式切换按钮的控制、亮灯速度的按键控制等技术。
3系统分析
3.1涉及的基础知识
电路焊接:
制造电子产品的重要手段。
80C51单片机指令系统:
规定80C51单片机内操作的语句或命令。
LED数码管的显示:
向数码的显示送数,控制系统的显示部分。
3.280C51单片机引脚图及引脚功能介绍
本次实习的目的在于加深80C51单片机的理解,首先来简单认识一下,它的引脚
如图3-1所示:
U)
DR?
2
DK3
3
DRI
4
KEYA
5
KEVH
6
KEYC
7
S
TINE
HO
SC1K
□q
ThM
M
15
紂咏
14
VOU
31
19
IS
9
X
DH)
PIOPU
PI2
PI3
PI4
PI5
PI6
PI7
1NTIINTO
TI
TO
EAVIJ
XI
X2
14词汀
丽
80C51
38
37
36
35
34
33
32
21
LhD
1
22
LhD
2
掳
TBD
T~
34
LUJ
25
5
56
Hi
6
27
3D7
2S
S
10
l 11 TXE 30 29 (X15(12厲3們"(V门.门■tJ【D【D"D„DIDI 012345 222222D」D」p」D」D」D」 67 22PF 图3.180C51的引脚图 单片机的39个引脚大致可分为4类: 电源、时钟、控制和I/O引脚。 1.电源: (1)VCC: 芯片电源,接+5V; (2)VSS: 接地端; 2时钟: XTAL1、XTAL2: 晶体振荡电路反相输入端和输出端。 3.控制线: 控制线共有4根, (1)ALE/PROG: 地址锁存允许/片内EPROM编程脉冲 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线 80C51共有4个8位并行I/O端口: PO、P1、P2、P3口,共32个引脚。 P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。 3.3解决问题的基本思路 因为选定用循环移位法来实现亮灯程序的,所以在一种设计好一种亮灯方式的前 提下编程实现一个循环结构体,分别来实现五种不同的亮灯方式。 另外再编一个实现延时控制的调用程序,来提供亮灯速度的控制。 3.4总体方案 在做本次课程设计之前将小组内人员分为两小组: 一组分负责硬件设计,另一组负责软件编程。 硬件小组负责实物的连接和焊接,并进行硬件测试;软件小组负责实现流水灯的各部分程序设计,并进行软件的仿真测试。 最后将完成的软硬件相结合,从而达到实现课程设计的效果。 4系统设计 4.1硬件设计 按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。 80C51单片机是本次课程设计运用的主要原件。 流水灯控制设计是用一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。 4.2软件设计 单片机的应用系统由硬件和软件组成,在硬件原理图搭建完成上电之后,我们还不能看到流水灯循环点亮的现象,我们还需要编写程序控制单片机管脚电平的高低变化,来实现发光二极管的一亮一灭。 软件编程是单片机应用系统中的一个重要的组成部分,也是本次课程设计的重点和难点。 我们编程实现流水灯的方法是循环移位法,下面我们就来简述一下循环移位法的工作原理。 循环移位法是采用循环程序结构进行编程。 我们在程序一开始就给P1口送一个 数,这个数本身就让P1.0先低,其他位为高,然后延时一段时间,再让这个数据向高位移动,然后再输出至P1口,这样就实现“流水”效果了。 另外,由于80C51系列单片机的指令中只有对累加器ACC中数据左移或右移的指令,因此实际编程中我们应把需移动的数据先放到ACC中,让其移动,然后将ACC移动后的数据再转送到P1口,这样也可以实现“流水”效果。 4.3元件清单 表4-1元件清单 名称 型号 数量 电阻 220Q 9 电容 103 4 开关 1 -H-LJL心片 1 单片机 80C51 1 PC机串行口 1 LED灯 8 电源指示灯 1 二极管 2 三极管 4 数码显示器 1 按键 4 4.4硬件原理图 4.5硬件焊接图 图4-2硬件焊接图 4.6设计主要功能 打开电路开关,按下第一个模式控制键,8个LED数码管会从右向左一个接着一 个亮灯,LED显示器会显示数字“1”来表示当前的亮灯方式是模式1。 在8个LED 数码管全部亮后再次按下第一个模式控制键,8个LED数码管会从又向左2个一组的一次亮灯,同时LED显示器会显示数字“2”来表示当前的亮灯方式是模式2。 以此类推,一共有5种显示模式。 而第2、3个按键分别控制亮灯速度的快慢。 5代码编写 ORG00H; CLRP3.4; DELAY: MOVR6,#255 D1: MOVR7,#255 DJNZR7,$; DJNZR6,D1 RET END DELAY1: MOVR6,#150 D2: MOVR7,#150 DJNZR6,D2 RET END START: MOVA,P1.4 JZTTT ADDR5,A CJNER5,#3,C1 AJMPM1 C1: CJNER5,#3,C1 AJMPM3 C2: JNCC2 C3: TTT: INCA M1: MOVP0,#7EH 设置主程序开始地址 这里可以使小喇叭发出嗒、嗒声 延时0.1s 延时一段时间 原地等待 延时0.05s 选中p1.4数码管使能 LCALLDELAY 把7EH送p0口,数码管显示1 数码管亮后的缓冲 MOVA,#11111110B MOVR4,A; LOOP: MOVP2,A ACALLV; MOVA,R4; RLA; AJMPLOOP RET M2: MOVP0,#0A2H LCALLDELAY AGAIN: MOVR3,#8H LOOP1: MOVA,#FEH MOVR4,A X1: MOVP2,A ACALLV; MOVA,R4 RLA DJNZR3,X1 MOVR3,#8 LOOP2: MOVA,#7FH X2: MOVP2,A ACALLV; MOVA,R4 RRA DJNZR3,X2 AJMPAGAIN RET M3: MOVP0,#62H LCALLDELAY 赋值 保存所赋的值 值给LED灯 调用延时子程序 保存的值还给A 左移 不为零,重复把值给LED灯 数码管显示2 调用延时子程序 调用延时子程序 数码管显示3 MOVR1,#05H OUTL: MOVDPTR,#TABLE MOVR2,#04H MOVA,00H INL: MOVR0,A MOVCA,@A+DPTR MOVP2,A ACALLV;调用延时子程序 MOVA,R0 INCA DJNZR2,INL DJNZR1,OUTL TABLE: DB7EH,0BDH,0DBH,0E7H RET M4: MOVP0,#74H;数码管显示4 LCALLDELAY MOVA,#01111111B MOVR4,A LOOP: MOVP2,A ACALLV;调用延时子程序 MOVA,R4 RLA' AJMPLOOP RET M5: MOVP0,#61H;数码管显示5; LCALLDELAY MOVR1,#05H OUTL: MOVDPTR,#TABLE MOVR2,#04H MOVA,00H INL: MOVR0,A MOVCA,@A+DPTR MOVP2,A ACALLV; 调用延时子程序' MOVA,R0 INCA DJNZR2,INL DJNZR1,OUTL TABLE: DB0E7H,ODBH,OBDH,7EH RET ;延时选择程序 V: DELAY MOVA,P1.5 ;P1.5低电平时延时长,流水灯速度慢 JZDELAY MOVA,P1.6 ;P1.6低电平时延时短,流水灯速度快 JZDELAY1 RET; 子程序返回 END; 程序结束 6程序调试 本程序运行过程中没有错误。 但对于双键控制流水灯亮灯速度的功能并没有得到实现。 将电路板用数据线连接,打开开关,按钮用来切换模式,一共有五种流动方式,每按一次按钮就会有一种方式,并在LED显示器上面显示出该模式的序号。 单片机的应用系统由硬件和软件组成,上述硬件原理图搭建完成上电之后,我们还不能看到流水灯循环点亮的现象,我们还需要告诉单片机怎么来进行工作,即编写程序控制单片机管脚电平的高低变化,来实现发光二极管的一亮一灭。 软件编程是单片机应用系统中的一个重要的组成部分,是单片机学习的重点和难点。 下面我们以
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 80 C51 可控 流水 单片机 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)