基于单片机AT89C51的乒乓球程序课程设计报告解读.docx

上传人:b****2 文档编号:23130250 上传时间:2023-05-08 格式:DOCX 页数:32 大小:1.29MB
下载 相关 举报
基于单片机AT89C51的乒乓球程序课程设计报告解读.docx_第1页
第1页 / 共32页
基于单片机AT89C51的乒乓球程序课程设计报告解读.docx_第2页
第2页 / 共32页
基于单片机AT89C51的乒乓球程序课程设计报告解读.docx_第3页
第3页 / 共32页
基于单片机AT89C51的乒乓球程序课程设计报告解读.docx_第4页
第4页 / 共32页
基于单片机AT89C51的乒乓球程序课程设计报告解读.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

基于单片机AT89C51的乒乓球程序课程设计报告解读.docx

《基于单片机AT89C51的乒乓球程序课程设计报告解读.docx》由会员分享,可在线阅读,更多相关《基于单片机AT89C51的乒乓球程序课程设计报告解读.docx(32页珍藏版)》请在冰豆网上搜索。

基于单片机AT89C51的乒乓球程序课程设计报告解读.docx

基于单片机AT89C51的乒乓球程序课程设计报告解读

宁波技师学院

课程设计报告

 

论文题目基于AT89C51的乒乓球程序

专业班级:

_______________

学生姓名:

学号:

指导教师:

 

宁波技师学院

二零一三年十月

摘要

单片机自20世纪70年代问世以来,以极高的性价比,受到人们的重视和关注应用很广、发展很快。

单片机以体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、

灵活性好、开发价位容易。

由于具有上述优点,在我国单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各方面,而51单片机是各个单片机中最典型最有代表性的一种。

这次课题设计通过对它的学习、应用,以AT89C51为核心,辅以必要的电路,设计了一个简易的电子时钟,它由直流电源供电,通过数码管显示时间,调整时间,从而达到学习、设计、开发软、硬件的目的。

关键词:

单片机;乒乓球程序,数码管显示;LED灯显示乒乓球行程

1引言

当今,计算机技术带来了科研和生产的许多重大飞跃,微型计算机的应用已渗透到生产、生活的各个方面。

其中单片微型计算机虽然问世不久,然而体积小、价廉、功能强,其销售额以每年近80%的速率增长。

他的性能不断提高,适用范围愈来愈宽,在计算机应用领域已占有日益重要的地位。

单片微型计算机简称单片机,又成为控制器。

他是在一块半导体上,集成了CPU、ROM、RAM、I/O接口、定时器/计数器、中断系统等功能部件,构成了一台完整的数字计算机。

单片机在生产生活中的许多方面得到广泛的应用,例如,生活中五彩变幻的霓虹灯,手机通信,温度检测,流量控制等都涉及到单片机。

单片机的应用结束了计算机专业人员“垄断”计算机系统开发与应用的时代,他既给各种专业人员、特别是许多工程技术人员带来了学习和掌握计算机技术的紧迫性,同时也带来了可能性,因为组成计算机应用系统变得容易、“平凡”,增强了人们进入这一领域的信心

单片机的历史非常短暂,然而发展十分迅猛。

自1971年美国Intel公司首先研制出4位单片机4004以来,他的发展可粗略划分为四个阶段:

第一阶段1971~1976年,属萌芽阶段。

发展了各种4位单片机,多用于家用电器、计算器、高级玩具。

第二阶段1976~1980年,为初级8位机阶段,发展了各种中、低档8位单片机,典型的如MCS-48系列单片机,片内含多个8位并行I/O接口、一个8位定时器/计数器,不带串行接口,其功能可以满足一般工业控制和智能化仪器仪表等的需要。

第三阶段1982~1983年,高级8位机阶段,发展了高性能的8位单片机,例如MCS-51系列单片机,它带有串行I/O接口和多个16位定时器/计数器,具有多级中断功能。

这一阶段进一步拓宽了单片机的应用范围,使之能用于智能终端、局部网络接口,并挤入了个人计算机领域。

......

2系统总体设计

2.1系统结构

根据于设计思想,做系统的结构框图如下图2-1所示

图2-1系统的结构框图

2.2系统设计方案

数字时钟设计主要包括单片机最小系统、控制电路、显示电路,利用AT89C51的处理能力来作为一个乒乓球游戏程序、、、

3硬件设计

3.1单片机最小系统

单片机最小系统是以AT89C51为核心,由单片机、时钟电路、复位电路组成,如图3-1最小系统

图3-1最小系统

3.1.1复位电路

复位操作上有上电复位和手动复位,上电复位是在上电瞬间,电容充电电流最大,电容相当于短路,RST端为高电平,实现上电复位,当电容两端电压达到电源电压时,电容充电电流为零,电容相当于开路RST端为低电平,程序正常运行。

如图3-2上电复位电路

图3-2上电复位电路

手动复位是在按键按下时,RST端直接与VCC接通,为高电平形成复位,同时电容被短路放电;按键松开时,VCC对电容充电,充电电流在电阻上,RST依然为高电平,仍是复位,充电完成后,电容相当于开路,RST端为低电平,单片机正常工作。

如图3-3按键复位电路

图3-3按键复位电路

3.1.2时钟电路

单片机内设有一个由反向放大器所构成的振荡电路,XTAL1和XTAL2分别为振荡电路的输入端和输出端。

在XTAL1和XTAL2引脚外接定时元件,振荡电路就产生自激振荡,定时元件通常采用由石英晶体和电容组成的并联谐振回路,晶体频率可以在1.2MHZ到12MHZ之间,电容起频率微调作用。

如图3-4时钟电路

图3-4时钟电路

 

3.2控制电路

控制电路通过按钮使单片机以设定输入的I/O口接通电源地使之变为低电平,再通过单片机内的程序的设定,运行相应的程序,在通过设定输出的I/O口进行输出,使之按下按键后,在显示出相应的功能。

如图3-5控制电路

 

 

图3-5控制电路

3.3数码管显示电路

3.3.1数码管的引脚及其作用

图3-6共阳极数码管

如上图3-6共阳极数码管所示,共阳极低电平有效,根据要显示的数字进行选择这些引脚的高低电平。

3.3.2数码管显示电路

单片机把内部的程序中的乒乓球比赛完成后,成绩显示。

图3-7数码管显示电路

4软件设计

4.1主程序流程图

针对于设计思想,做程序流程图如下图4-1所示

 

 

4.2按键功能

P2.0上启动

P2.1下启动

P2.21号选手

P2.32号选手

主程序

ORG0000H

JMPSTART

ORG0030H

START:

MOVP0,#00H

MOVP1,#00H

MOVP2,#00H

MOVP3,#00H

MOVR4,#00H

MOVR5,#00H

LOOP1:

;判断上下发球

MOVP1,#000H

MOVP2#000H

JBP2.0,LOOPZ

JBP2.1,LOOPY

JMPLOOP1

LOOPZ:

MOVR4,#02H

MOVDPTR,#TAB1

JMPMANI

LOOPY:

MOVR4,#01H

MOVDPTR,#TAB2

JMPMANI

MANI:

;循环,并判断中途是否有人击球

JBP2.2,YS

JBP2.3,ZS

MOVA,R0

MOVCA,@A+DPTR

MOVP1,A

LCALLDELAY

INCR0

CJNER0,#08H,MANI

JMPBDX

BDX:

;2号击球,输出结果

MOVR0,#00H

CJNER4,#01H,BDX1

LCALLZBJ

JMPJG

BDX1:

;1号击球,输出结果

CJNER4,#02H,BDX

LCALLYBJ

JMPJG

ZBJ:

;延时

MOVR3,#4

K3:

MOVR2,#250

K2:

MOVR1,#250

K1:

NOP

NOP

DJNZR1,K1

DJNZR2,K2

DJNZR3,K3

JBP2.2,ZCG

MOVR5,#03H

JMPCK

ZCG:

;按键等待

MOVR5,#01H

JBP2.2,$

CK:

RET

YBJ:

MOVR3,#4

K6:

MOVR2,#250

K5:

MOVR1,#250

K4:

NOP

NOP

DJNZR1,K4

DJNZR2,K5

DJNZR3,K6

JBP2.3,YCG

MOVR5,#04H

JMPCD

YCG:

按键等待

MOVR5,#02H

JBP2.3,$

CD:

RET

JG:

;结果输出

CJNER5,#01H,JG1;1号接球成功

JMPLOOPZ

JG1:

CJNER5,#02H,JG2;2接球成功

JMPLOOPY

JG2:

CJNER5,#03H,JG3;2号胜

JMPYS

JG3:

CJNER5,#04H,JG;1号胜

JMPZS

YS:

;2号胜出结果输出

MOVP1,#0FFH

MOVP3,#0A4H

JMPLOOP1

ZS:

;1号胜出结果输出

MOVP1,#0FFH

MOVP3,#0F9H

JMPLOOP1

DELAY:

MOVR3,#4

J3:

MOVR2,#250

J2:

MOVR1,#250

J1:

NOP

NOP

DJNZR1,J1

DJNZR2,J2

DJNZR3,J3

RET

TAB1:

DB001H,002H,004H,008H,010H,020H,040H,080H

TAB2:

DB080H,040H,020H,010H,008H,004H,002H,001H

END

 

5制作与调试

5.1制作步骤与重点

在开始制作电路板之前,先把程序编写出来,经过PROTUES仿真,在仿真过程中出现指示灯不亮,或是数码管出现乱码,就把程序的结构变化一下就恢复正常,由此看出程序的结构错误能直接阻碍程序的正常运行,因此程序的编写是至关重要的。

而在制作PCB板之前,由于对于制作PCB没有多少经验,因此只有先制作原理图,一是因为能降低错误发生的概率,能快速的查出错误的地方,二是能导入PCB能快速的制作,所以先是画出原理图,进行核对,在核对完之后,根据从仓库领取的元件,进行元件测绘(特别是重要的元件必须要精确)后,开始制作PCB板,在PCB的制作中由于怕在腐蚀过程中出现意外,因此把线径的宽度为1mm,焊盘的直径为2mm,孔的直径为1mm。

制作完之后,先把PCB与原理图核对几遍,确认无误后,用A4纸打印,再把元件放上去进行核对(特别是单片机与数码管的引脚),确认完后再打印到热转印纸上。

在覆铜板制作之前应先把板上氧化的部分用砂纸磨去,再把PCB印到覆铜板上,之后进行腐蚀,之后打孔焊接完后,用万用表进行测量,检查是否短路、短路、虚焊,检查完毕后将程序写入单片机内,再进行通电测试。

5.2调试方法及要求

给系统上电后,数码管亮,数码显示数据“8”,按下P2.0后,LED灯从上往下依次亮,到最后一灯时判断,如果这时P2.3按下,则灯依次返回亮,到第一个灯时则轮到发球方判断;若最后一灯时P2.3未及时按下则判断按下P2.0的一方胜出,数码管显示2,反之显示1;P2.1、P2.2的效果一样,只是反向。

如图5-1所示。

S5

图5-1调试方法

6结论

通过这次对数字钟的设计与制作,让我们了解了设计电路的程序,也让我们了解了数字钟的原理和设计理念。

要设计一个电路总要对着一个参考电路图才可以连接,但是最后的成品却不一定与想象的完全一样,因为在事迹接线中有着各种各样的条件制约,所以要合理布局这样连出来的成品才比较美观。

设计过程中,在一次又一次的失败面前,我没有退缩,而是勇敢的去面对,积极的去解决,充分运用所学知识和他人的帮助,最终取得了成功。

通过亲自动手制作,试验,遇到问题,解决问题,我们巩固了书本的知识,同时也学到了新的学问,明白了实践的可贵性。

动手能力的提高,细心与耐心的培养,品尝自己劳动成果的喜悦,是我们在这次课程设计中最大的收获。

7致谢

感谢陈罗迪同学提出的电路制作上的建议与帮助,感谢陈弢、唐幼军老师在程序功能给予的建议与各种文件资料让我对编程更加的熟练。

8参考文献

单片微型计算机原理与应用(第二版)主编张立红

电子技术基础(第四版)

张毅刚.单片机原理与应用设计

张洪润等. 单片机应用技术教程

杨美仙.单片机的发展及其应用[J].科技信息(学术研究)

张志利.FPGA的单片机多机串行通信网络[J].

附录1系统实物图

附录2实验原理图

附录3系统仿真图

附录4程序清单

;************定义********************

SZEQU20H;计时计数

FZEQUR2;分钟

HZEQUR1;时钟

DHEQUR6;定时小时

DFEQUR7;定时分钟

SJEQU21H;连击计数

XS_DKEQUP2;数码管显示端口

DQZEQUR0;按键扫描:

当前值

ZQZEQU60H;之前值

ZAQZEQUR3;再前值

LJEQUR4;连击累加

XTEQUR5;选通暂存

NZBITP1.7;闹钟标志及指示

ZDBSBITP1.6;整点指示

ANEQUP1;按键

XT_DEQUP3;选通端口

ZSBITP1.5;秒针指示

K0BITP1.0;按钮1,分钟加

K1BITP1.1;按钮2,分钟减

K2BITP1.2;按钮3,时钟加

K3BITP1.3;按钮4,时钟减

K4BITP1.4;按钮5,定时

ORG0000H

LJMPMAIN

ORG000BH

LJMPT0ZD

ORG001BH

LJMPT1ZD

ORG0030H

;**************主程序*********************

MAIN:

LCALLCSH

A1:

CJNEFZ,#00,SS

CLRZDBS

SS:

JBK4,SS1

JNBK4,$

CPLNZ

SS1:

SJMPA1

;*************初始化************************

CSH:

MOVTMOD,#11H

MOVTH0,#3CH

MOVTL0,#0B0H

MOVTH1,#0FCH

MOVTL1,#18H

SETBEA

SETBTR0

SETBTR1

SETBET0

SETBET1

MOVHZ,#0

MOVFZ,#0

MOVXT,#7FH

CLRNZ

RET

;************T0中断****************

T0ZD:

MOVTH0,#3CH

MOVTL0,#0B0H

INCSZ

CPLZS

SETBZDBS

RETI

;************T1中断****************

T1ZD:

MOVTH1,#0FCH

MOVTL1,#18H

LCALLNZXS

LCALLAJ_SM

LCALLPD

JNBNZ,A2

LCALLDPD

LCALLDXS

SJMPA3

A2:

LCALLXS

A3:

RETI

;**************判断时分秒钟********

PD:

MOVA,SZ

CJNEA,#6000,L1

MOVSZ,#0

INCFZ

L1:

CJNEFZ,#60,L2

MOVFZ,#0

INCHZ

L2:

CJNEHZ,#24,FH1

MOVHZ,#0

FH1:

RET

;**************判断闹钟设置时分秒钟********

DPD:

CJNEDF,#60,E1

MOVDF,#0

E1:

CJNEDH,#24,FR

MOVDH,#0

FR:

RET

;***********按键扫描*************8

AJ_SM:

MOVZAQZ,ZQZ

MOVZQZ,DQZ

LCALLDM

MOVA,DQZ

JZKSR

CJNEA,ZQZ,KS2

CJNEZAQZ,#0,KS

SJMPKS1

KS:

INCLJ

CJNELJ,#200,KSR

KS1:

JNBNZ,KKS

LCALLDCZ

SJMPKS2

KKS:

LCALLCZ

KS2:

MOVLJ,#0

KSR:

RET

 

DM:

MOVA,AN

ORLA,#0E0H

CPLA

JZRK1

JBK0,RK2

MOVDQZ,#1

SJMPRKR

RK1:

MOVDQZ,#0

SJMPRKR

RK2:

JBK1,RK3

MOVDQZ,#2

RK3:

JBK2,RK4

MOVDQZ,#3

RK4:

JBK3,RKR

MOVDQZ,#4

RKR:

RET

;*****按键具体操作**********

CZ:

CJNEDQZ,#1,S1

INCFZ

SJMPFH

S1:

CJNEDQZ,#2,S2

CJNEFZ,#0,LL

MOVFZ,#60

LL:

DECFZ

SJMPFH

S2:

CJNEDQZ,#3,S3

INCHZ

SJMPFH

S3:

CJNEDQZ,#4,FH

CJNEHZ,#0,PL2

MOVHZ,#24

PL2:

DECHZ

SJMPFH

FH:

RET

 

;************定时按键操作***********

DCZ:

CJNEDQZ,#1,S5

INCDF

SJMPFHR

S5:

CJNEDQZ,#2,S6

CJNEDF,#0,LLA

MOVDF,#60

LLA:

DECDF

SJMPFHR

S6:

CJNEDQZ,#3,S7

INCDH

SJMPFHR

S7:

CJNEDQZ,#4,FHR

CJNEDH,#0,PL3

MOVDH,#24

PL3:

DECDH

FHR:

RET

;*************数字钟显示******************

XS:

MOVXT_D,#0FFH

MOVA,XT

RLA

MOVXT,A

CJNEXT,#0FEH,Q1

MOVA,HZ

MOVB,#10

DIVAB

MOVSJ,A

LCALLXS_SJ

MOVXT_D,XT

SJMPQ4

Q1:

CJNEXT,#0FDH,Q2

MOVA,HZ

MOVB,#10

DIVAB

MOVSJ,B

LCALLXS_SJ

MOVXT_D,XT

SJMPQ4

Q2:

CJNEXT,#0FBH,Q3

MOVA,FZ

MOVB,#10

DIVAB

MOVSJ,A

LCALLXS_SJ

MOVXT_D,XT

SJMPQ4

Q3:

CJNEXT,#0F7H,Q4

MOVA,FZ

MOVB,#10

DIVAB

MOVSJ,B

LCALLXS_SJ

MOVXT_D,XT

MOVXT,#7FH

Q4:

RET

;**************闹钟设置显示****************

DXS:

MOVXT_D,#0FFH

MOVA,XT

RLA

MOVXT,A

CJNEXT,#0FEH,Y1

MOVA,DH

MOVB,#10

DIVAB

MOVSJ,A

LCALLXS_SJ

MOVXT_D,XT

SJMPY4

Y1:

CJNEXT,#0FDH,Y2

MOVA,DH

MOVB,#10

DIVAB

MOVSJ,B

LCALLXS_SJ

MOVXT_D,XT

SJMPY4

Y2:

CJNEXT,#0FBH,Y3

MOVA,DF

MOVB,#10

DIVAB

MOVSJ,A

LCALLXS_SJ

MOVXT_D,XT

SJMPY4

Y3:

CJNEXT,#0F7H,Y4

MOVA,DF

MOVB,#10

DIVAB

MOVSJ,B

LCALLXS_SJ

MOVXT_D,XT

MOVXT,#7FH

Y4:

RET

;***********闹钟***************

NZXS:

MOVA,HZ

MOV50H,DH

CJNEA,50H,W1

MOVA,FZ

MOV51H,DF

CJNEA,51H,W1

CLRP3.5

SJMPDDR

W1:

SETBP3.5

DDR:

RET

XS_SJ:

MOVA,SJ

MOVDPTR,#400H

MOVCA,@A+DPTR

MOVXS_DK,A

RET

ORG400H

DB0C0H,0F9H,0A4H,0B0H,99H

DB92H,82H,0F8H,80H,90H

附录5PCB图

附录6元器件清单

序号

名称

型号或规格

数量

1

单片机

89C51

1

2

覆铜板

1

3

数码管

1

4

LED

3

5

按钮

4

6

晶振

6M

1

7

电容

22UF

1

8

无极电容

20pF

2

9

电阻

N

 

分工

姚勇:

程序编写、调试

岑雷杰:

PCB作图、焊接

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1