电子乒乓球单片机课程设计报告课件.docx

上传人:b****7 文档编号:11411568 上传时间:2023-02-28 格式:DOCX 页数:14 大小:437.35KB
下载 相关 举报
电子乒乓球单片机课程设计报告课件.docx_第1页
第1页 / 共14页
电子乒乓球单片机课程设计报告课件.docx_第2页
第2页 / 共14页
电子乒乓球单片机课程设计报告课件.docx_第3页
第3页 / 共14页
电子乒乓球单片机课程设计报告课件.docx_第4页
第4页 / 共14页
电子乒乓球单片机课程设计报告课件.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

电子乒乓球单片机课程设计报告课件.docx

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

电子乒乓球单片机课程设计报告课件.docx

电子乒乓球单片机课程设计报告课件

大连民族大学机电工程学院

自动化系

单片机系统课程设计报告

 

题目:

电子乒乓球

专业:

自动化

班级:

146班

学生姓名:

马玉明马国昊

指导教师:

刘岩川刘冠群

 

设计完成日期:

2016年12月30日

课程设计任务书

题目:

电子乒乓球

课程设计时间:

2016.12.12~2016.12.30

一、设计任务

二、设计内容及要求

⒈系统设计的方案;

⒉软件仿真电路实现;

⒊需要的详细材料;

⒋实验电路焊接与调试;

设计的性能指标;

撰写设计报告;

资料归档。

三、设计重点

四、课程设计进度要求

2016.12.12~12.18文献检索,原理图及PCB板设计;

⒉2016.12.19~12.20程序设计,软件仿真,材料采购;

2016.12.21~12.23硬件焊接调试;

2016.12.24~12.28软硬件联调;

2016.12.29报告撰写;

2016.12.30成果验收,答辩;

五、参阅书目

[1]郭天祥.新概念51单片机C语言教程[M].北京:

电子工业出版社,2009.

[2]胡汉才.单片机原理与接口技术[M].北京:

清华大学大学出版社,2004.1-505.

[3]邢国泉.[J].医疗设备信息.2007,11,25-28.

[4]薛国红,赵修斌,卢艳娥等.零漂与增益控制对量化的影响分析[J].西安:

空军工程大学,2008.

 

1任务分析和性能指标

1.1任务分析

此次我们的设计任务是,用单片机开发板设计一个电子乒乓球。

通过我们对乒乓球打法和规则的分析发现,它主要是实现两个人通过控制独立按键来控制流水灯的左右移动。

但前提是,当流水灯移到某一方的时候,这一方必须且只能在超前或滞后0.5秒之内按下按键,否则对方得分并且用数码管把分数显示出来。

当某一方率先得满11分时,这方赢并且这方的数码管全亮8,蜂鸣器响。

1.2性能指标

Ø在规定时间内按下独立按键,来控制流水灯的左右移动。

Ø通过按键按下的时间差来控制流水灯的流速。

Ø在规定时间内没有按下按键时,对方得分用数码管显比分。

Ø某一方率先得满11分这方赢并且蜂鸣器响。

2总体方案设计

2.1硬件方案

通过对产品功能的分析,其硬件主要有LED灯、数码管、单片机最小系统、蜂鸣器等。

16个LED灯我们通过单片机的P1端口来控制,用前四个端口控制LED灯的阴极,后四个端口通过控制PNP型三极管的基极电平,来间接控制LED灯的阳极,这样可以给LED灯充足的电流使其发光。

4个数码管是通过单片机P2口的前四个端口和P3端口来控制。

前四个端口控制三极管的基极电流来间接控制数码管的阳极,P3端口控制数码管的阴极。

这样可以给数码管充足的电流使其发光。

蜂鸣器通过P2.7端口控制。

P2.7端口直接控制三极管的的基极电流来间接控制蜂鸣器的阳极电流使其有充足的电流放光。

 

2.2软件方案

通过对系统功能的分析,其主要有发球判断、按键扫描、LED灯左右移动、接球判断、数码管计分、输赢判断、蜂鸣器响、延时等功能子程序组成。

所以我们主要先进行每一个子程序的撰写,并进行调试,然后进行主程序的撰写并用主程序来调用这些子程序,然后进行总体调试。

3硬件设计与实现

3.1检测电路

3.2控制电路

4软件设计与实现

4.1主程序

ORG0000H

AJMPMAIN

ORG0030H

MAIN:

MOVDPTR,#TAB

MOV30H,#03H

LCALLDISPLAY

MOVP1,#00H

CLRP2.7

LCALLDELAY1S

MOVP1,#0FFH

SETBP2.7

4.2子程序

YF:

MOVP1,#0EEH;点亮D1

JBP0.2,YF

LCALLDelay50ms

JBP0.2,YF

LJMPLOOP1

ZF:

MOVP1,#77H;点亮D16

JBP0.0,ZF

LCALLDelay50ms

JBP0.0,ZF

LJMPLP2

LOOP1:

LCALLLM

MOVTMOD,#01H

MOVTL0,#00H

MOVTH0,#4CH

MOVR2,#10

SETBTR0

SETBET0

SETBEA

JNBP0.0,LP1

LJMPYOUDEFEN

LP1:

LCALLDelay50ms

JNBP0.0,LP2

LJMPYOUDEFEN

LP2:

LCALLRM

MOVTMOD,#01H

MOVTL0,#00H

MOVTH0,#4CH

MOVR2,#10

SETBTR0

SETBET0

SETBEA

JNBP0.2,LP3

LJMPZUODEFEN

LP3:

LCALLDelay50ms

JNBP0.2,LP4

LJMPZUODEFEN

LP4:

LJMPLOOP1

LM:

JBP0.0,LM1

LJMPYOUDEFEN

LM1:

CLRP1.0

LCALLLOOP

JBP0.0,LM2

LJMPYOUDEFEN

LM2:

CLRP1.1

LCALLLOOP

JBP0.0,LM3

LJMPYOUDEFEN

LM3:

CLRP1.2

LCALLLOOP

JBP0.0,LM4

LJMPYOUDEFEN

LM4:

CLRP1.3

LCALLLOOP

RET

LOOP:

CLRP1.4

LCALLDelay50ms

SETBP1.4

CLRP1.5

LCALLDelay50ms

SETBP1.5

CLRP1.6

LCALLDelay50ms

SETBP1.6

CLRP1.7

LCALLDelay50ms

MOVP1,#0FFH

RET

RM:

JBP0.2,RM1

LJMPZUODEFEN

RM1:

CLRP1.3

LCALLLOOP2

JBP0.2,RM2

LJMPZUODEFEN

RM2:

CLRP1.2

LCALLLOOP2

JBP0.2,RM3

LJMPZUODEFEN

RM3:

CLRP1.1

LCALLLOOP2

JBP0.2,RM4

LJMPZUODEFEN

RM4:

CLRP1.0

LCALLLOOP2

RET

LOOP2:

CLRP1.7

LCALLDelay50ms

SETBP1.7

CLRP1.6

LCALLDelay50ms

SETBP1.6

CLRP1.5

LCALLDelay50ms

SETBP1.5

CLRP1.4

LCALLDelay50ms

MOVP1,#0FFH

RET

ZUODEFEN:

DEC30H

LCALLDISPLAY

LJMPYF

YOUDEFEN:

INC30H

LCALLDISPLAY

LJMPZF

YYING:

MOVP3,#00H

MOVP2,#0FFH

CLRP2.2

CLRP2.3

LCALLDELAY1S

LJMPYYING

ZYING:

MOVP3,#00H

MOVP2,#0FFH

CLRP2.0

CLRP2.1

LCALLDELAY1S

LJMPZYING

DISPLAY:

MOVDPTR,#TAB

MOVP3,#0FFH

CLRA

MOVA,30H

cjnea,#0,DI1

LJMPZYING

DI1:

CJNEA,#6H,DI

LJMPYYING

DI:

MOVCA,@A+DPTR

MOVP3,A

MOVP2,#00H

RET

Delay50ms:

MOVR3,#200

Del2:

MOVR4,#250

DJNZR4,$

DJNZR3,Del2

RET

DELAY1S:

MOVR3,#5

D2:

MOVR4,#250

D3:

MOVR5,#200

DJNZR5,$

DJNZR4,D3

DJNZR3,D2

RET

TAB:

DB0Xc0,0Xf9,0Xa4,0Xb0,0X99,0X92,0X82

END

5调试及性能分析

5.1调试分析

5.1.1软件调试

在进行软件调试的时候,出现各种各样的错误。

比如使用短跳转程序的时候,出现了超出其跳转的范围,所以就只能用长跳转来代替。

其次就是地址没有定义或者是定义重复,也就是重名的现象,这只能修改其地址名字使之不要重名就可以了。

上面那些错误是经常出现也是比较容易处理的,但是下面这些错误出现的概率虽不是很高,但是很难处理。

例如,虽然程序逻辑上是真确的但是就是会提示有错误。

这种错误常常就是一些隐藏的错误,必须对数据存储单元的大小和有没有被占用要进行分析,所以是比较难得。

5.1.2硬件调试

完成了对硬件PCB图的设计,还要对硬件实物电路板进行调试。

我们的电路板主要有LED灯、数码管、蜂鸣器、按键、电源开关、USB接口和复位按钮。

首先我们编写了一个简单的调试程序,就是将单片机mcu的P0、P1、P2、P3端口全给低电平,理论上所有的LED灯和数码管都会亮还有蜂鸣器也会响。

这些进过测试完好之后再进行独立按键的调试经过调试之后,发现除了数码管和电源开关外基本都好。

电源通过观察电路板发现电源开关少了一根出线,相当于直接被短了,而数码管虽然都亮,但是在进行控制的时候没法实现单独控制只能一起控制。

5.1.3系统功能调试

经过上面的两个步骤之后,我们就进行产品的系统功能调试。

也就是说将软件烧写到MCU里面让硬件电路板实现我们所需的功能。

这一步的第一步就是进行程序的烧写,由于我们电路板上没有烧写程序的接口,所以只能通过其他的开发板来烧写程序软后,再将MCU芯片移到我们的电路板上进行调试。

由于开发板是转接口线烧写程序,所以会出现各种不兼容性问题。

这使得我们的调试时间大大增加。

不过最后基本上还是达到了最初设计要求的功能。

5.2性能分析

和最初的设计要求进行对比,虽然有一定的差距和不同,但是大体上还是实现了设计要求的功能。

能够通过独立按键在规定的时间内按下实现流水灯的左右移动,但是缺少了加速功能。

在数码管进行比分显示方面,虽然和预先的有所差别,但还是实现了计分的功能,因为硬件的原因只能设计成这样了。

总结

通过此次单片机课程设计,我掌握了设计一个电子产品的基本步骤及方法。

我们这次设计的是电子乒乓球,这次的设计让我们懂得了如何用软件设计相应的电路图及对应的PCB图。

刚开始的时候对电路原理图还是了解一点的,但对PCB图几乎是一无所知。

但经过上网搜索和向老师讨教之后,最终还是完成了PCB图的设计直到出板。

这个过程只有亲身体验了之后才能真正的了解完全的掌握。

同样,电子产品主要的部分就是软件,就是大家都熟悉的程序的编写。

在刚开始进行编程的时候我们几乎没有什么思路,毕竟是第一次进行产品功能程序的编写,所以难免会是忙受忙脚。

进过几天的准备之后我们进行程序的编写,但是编到一半的时候,发现编不下去了,因为错误太多了,所以就重新开始编写了。

吸取上次的错误教训,这次我们打算一个一个的编写。

也就是将所有的子程序分开的来写,写好一个调试成功后再写下一个,最后用主程序将这些子程序进行组合。

经过垂死挣扎之后还是成功了。

这次的编写虽然不是很完美但也不是很糟糕。

这次的单片机课设让门学到了很多很多,我相信这会为我们以后职业生涯打下一个很好的基础的。

参考文献

[1]郭天祥.新概念51单片机C语言教程[M].北京:

电子工业出版社,2009.

[2]胡汉才.单片机原理与接口技术[M].北京:

清华大学大学出版社,2004.1-505.

[3]邢国泉.[J].医疗设备信息.2007,11,25-28.

[4]薛国红,赵修斌,卢艳娥等.零漂与增益控制对量化的影响分析[J].西安:

空军工程大学,2008.

[5]马忠梅,刘滨等.单片机C语言Windows环境编程宝典[M].北京:

北京航空航天大学出版社.2003.

附录1元器件清单

原件名称原件型号原件数量(个)

单片机MCUSTC89C511

单片机插座1

数码管DpyBlue-CA4

LED灯GaAsLED17

独立按键Switch5

USB电源接口1470168-11

蜂鸣器ElectricalBell1

晶振12MHZ1

电阻1K/5K19/1

电容22pF/100uF/10Uf/0.1uF2/1/3/1

三极管PNP9

电源按钮开关SWDPDT1

元器件清单表

附录2调试系统照片

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

当前位置:首页 > 初中教育 > 学科竞赛

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

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