基于单片机AT89C51的乒乓球程序课程设计报告.docx
- 文档编号:27973480
- 上传时间:2023-07-07
- 格式:DOCX
- 页数:32
- 大小:980.33KB
基于单片机AT89C51的乒乓球程序课程设计报告.docx
《基于单片机AT89C51的乒乓球程序课程设计报告.docx》由会员分享,可在线阅读,更多相关《基于单片机AT89C51的乒乓球程序课程设计报告.docx(32页珍藏版)》请在冰豆网上搜索。
基于单片机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所示
开始
是否有键按下
否
是
P2.0按下
P2.1按下
流水灯至上而下(1号发球)
流水灯至下而上(2号发球)
中途P2.2按下(2赢)
中途P2.3按下(1赢)
LED流动显示中
LED灯最后一盏进入判断
P2.2按下,流水灯至上而下,(1号把球打回)
P2.3按下,流水灯至下而上,(2号把球打回)
输出结果
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作图、焊接
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 AT89C51 乒乓球 程序 课程设计 报告