基于单片机AT89C51的乒乓球程序课程设计报告解读Word格式.docx
- 文档编号:919913
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:32
- 大小:1.29MB
基于单片机AT89C51的乒乓球程序课程设计报告解读Word格式.docx
《基于单片机AT89C51的乒乓球程序课程设计报告解读Word格式.docx》由会员分享,可在线阅读,更多相关《基于单片机AT89C51的乒乓球程序课程设计报告解读Word格式.docx(32页珍藏版)》请在冰点文库上搜索。
手动复位是在按键按下时,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
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:
K6:
MOVR2,#250
K5:
MOVR1,#250
K4:
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
ZS:
1号胜出结果输出
MOVP3,#0F9H
JMPLOOP1
DELAY:
J3:
J2:
J1:
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:
INCSZ
CPLZS
SETBZDBS
RETI
************T1中断****************
T1ZD:
LCALLNZXS
LCALLAJ_SM
LCALLPD
JNBNZ,A2
LCALLDPD
LCALLDXS
SJMPA3
A2:
LCALLXS
A3:
**************判断时分秒钟********
PD:
MOVA,SZ
CJNEA,#6000,L1
MOVSZ,#0
INCFZ
L1:
CJNEFZ,#60,L2
INCHZ
L2:
CJNEHZ,#24,FH1
FH1:
**************判断闹钟设置时分秒钟********
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:
DM:
MOVA,AN
ORLA,#0E0H
CPLA
JZRK1
JBK0,RK2
MOVDQZ,#1
SJMPRKR
RK1:
MOVDQZ,#0
RK2:
JBK1,RK3
MOVDQZ,#2
RK3:
JBK2,RK4
MOVDQZ,#3
RK4:
JBK3,RKR
MOVDQZ,#4
RKR:
*****按键具体操作**********
CZ:
CJNEDQZ,#1,S1
SJMPFH
S1:
CJNEDQZ,#2,S2
CJNEFZ,#0,LL
MOVFZ,#60
LL:
DECFZ
S2:
CJNEDQZ,#3,S3
S3:
CJNEDQZ,#4,FH
CJNEHZ,#0,PL2
MOVHZ,#24
PL2:
DECHZ
FH:
************定时按键操作***********
DCZ:
CJNEDQZ,#1,S5
INCDF
SJMPFHR
S5:
CJNEDQZ,#2,S6
CJNEDF,#0,LLA
MOVDF,#60
LLA:
DECDF
S6:
CJNEDQZ,#3,S7
INCDH
S7:
CJNEDQZ,#4,FHR
CJNEDH,#0,PL3
MOVDH,#24
PL3:
DECDH
FHR:
*************数字钟显示******************
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
MOVSJ,B
Q2:
CJNEXT,#0FBH,Q3
MOVA,FZ
Q3:
CJNEXT,#0F7H,Q4
Q4:
**************闹钟设置显示****************
DXS:
CJNEXT,#0FEH,Y1
MOVA,DH
SJMPY4
Y1:
CJNEXT,#0FDH,Y2
Y2:
CJNEXT,#0FBH,Y3
MOVA,DF
Y3:
CJNEXT,#0F7H,Y4
Y4:
***********闹钟***************
NZXS:
MOV50H,DH
CJNEA,50H,W1
MOV51H,DF
CJNEA,51H,W1
CLRP3.5
SJMPDDR
W1:
SETBP3.5
DDR:
XS_SJ:
MOVA,SJ
MOVDPTR,#400H
MOVCA,@A+DPTR
MOVXS_DK,A
ORG400H
DB0C0H,0F9H,0A4H,0B0H,99H
DB92H,82H,0F8H,80H,90H
附录5PCB图
附录6元器件清单
序号
名称
型号或规格
数量
1
单片机
89C51
2
覆铜板
3
数码管
4
LED
5
按钮
6
晶振
6M
7
电容
22UF
8
无极电容
20pF
9
电阻
N
分工
姚勇:
程序编写、调试
岑雷杰:
PCB作图、焊接
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 AT89C51 乒乓球 程序 课程设计 报告 解读