基单片机乒乓球游戏系统设计
姓 名:
学 号:
专业班级:
院(系):
设计时间:
设计点:
指导教师评语: 成绩:
签名:
年 月 日
目录
题目求…………………………………………………………………………
二 方案设计…………………………………………………………………………
三 硬件原理…………………………………………………………………………
四 软件设计…………………………………………………………………………
五 结体会………………………………………………………………………
附:硬件原理图
基单片机乒乓球游戏系统设计
题目求
STC12C5410AD单片机核心设计款乒乓球游戏机8支连续排列发光二极通发光二极次点亮代表乒乓球运动2键模拟左右2球拍键代表球拍击球左拍发光二极左右次点亮模拟乒乓球左右飞反右拍发光二极右左次点亮代表球右左运动
游戏供两玩方键(发球)开始时乒乓球方运动接球方应乒乓球达终点前击球果击球时机合适球击回否算失误方重新发球游戏程中LED数码显示双方分
二方案设计
(1) 游戏开始时球左方甲手中数码显示双方初分00
(2)甲方键T1时球开始右边移动时8位LED灯左右逐次点亮乒乓球移动速度固定05S左右速度移动位
(3)接球方乙提前迟键T2击球判已失误甲分乒乓球停止运动(发光二极熄灭)数码显示分球重新回甲手中甲方次发球游戏进入回合
(4)接球方乙击球时机合适LED灯达右端前键T2球击回LED灯刻05S位左右速度右左次移动等甲方接球甲方接球失误判乙方分乒乓球停止运动(LED灯灭)数码显示分球回乙方手中乙方发球游戏继续开始进入回合
(5)甲乙中分9游戏进入轮分较少方端LED灯亮数码重新显示00时发球权交轮赛中落(分较少)方键轮游戏正式开始
三硬件原理
1STC12C5410AD单片机电路
a 复位电路
复位操作两种基形式:种电复位种键复位键复位具电复位功外复位图中RESET键电源VCC电阻R1R2分压RESET端产生复位高电电复位电路求接通电源通外部电容充电实现单片机动复位操作电瞬间RESET引脚获高电着电容充电RERST引脚高电逐渐降RERST引脚高电保持足够时间(2机器周期)单片机进行复位操作键复位电路图图31a示
图31a 复位电路
b 振荡电路
单片机部高增益反相放器输入端芯片引脚XTAL1输出端引脚XTAL2通两引脚芯片外接石英晶体振荡器两电容(电容般取30Pf)样构成稳定激振荡器振荡电路脉二分频作系统时钟信号二分频基础三分频产生ALE信号时信号时机器周期信号
振荡电路图31b示:
图31b 晶体振荡电路
2 LED灯接口电路
8LED灯阳极电源相连阴极通限流电阻单片机P1口相连单片机P1口低电时相应LED灯点亮高电时相应LED灯表现熄灭状态接口电路图32示
图32 LED灯接口电路
3 LED数码显示电路
LED数码显示数段通限流电阻分单片机P2口相接位选段分接NPN三极两集电极三极两发射极基极通限流电阻分P32P33相接硬件电路图33示
图33 LED数码显示电路
4 键设定电路
独立式键盘:独立式键盘中键占根IO口线键电路相独立IO口通键相连IO口拉电阻键时引脚端高电键时引脚电拉低IO口部拉电阻时外部接拉电阻设计中键盘接口电路图34示:
图34 键设定电路
四软件设计
软件设计流程图体:
开始
初始化
键K1(甲发球)
K2适时?
N
Y
显示甲分
K1适时
显示乙分
N
键K2(乙发球)
Y
乙分9?
Y
N
甲分9?
Y
N
软件设计原代码:
#include
#define uchar unsigned char
#define uint unsigned int
#define led P1
#define shuma P2
sbit k1P3^0
sbit k2P3^1
sbit dig1P3^2
sbit dig2P3^3
uchar code table[]{ 0x3f0x060x5b0x4f
0x660x6d0x7d0x07
0x7f0x6f0x770x7c
0x390x5e0x790x71 }
uchar flag1flag2pair1pair2score1score2wait
void delay(uint)
void ledmove()
void keyscan()
void score()
void showscore()
void delay(uint time)
{
uint ij
for(itimei>0i)
for(j100j>0j)
}
void main()
{
A0 led0x7f
score10
score20
flag10
flag20
dig11
dig21
shumatable[0]
delay(2000)
B0 while(1)
{
keyscan()
ledmove()
score()
showscore()
if(score19||score29)
{
break
}
}
if(score29)
{
showscore()
delay(1000)
goto A0
}
if(score19)
{
showscore()
delay(1000)
led0xfe
score10
score20
flag10
flag20
dig11
dig21
shumatable[0]
delay(2000)
goto B0
}
}
void ledmove()
{
if((led0x7f)&&(pair11))
{
flag11
flag20
}
if(flag11)
{
led(led>>1)|(0x80)
delay(300)
wait1
}
if((led0xfe)&&(pair21))
{
flag21
flag10
}
if(flag21)
{
led(led<<1)|(0x01)
delay(300)
wait1
}
}
void keyscan()
{
if(k10)
{
delay(20)
if(k10)
{
pair11
}
else pair10
}
else pair10
if(k20)
{
delay(20)
if(k20)
{
pair21
}
else pair20
}
else pair20
}
void score()
{
if((led0xfe)&&(pair20)&&(wait1))
{
score1++
led0x7f
flag10
flag20
wait0
}
if((led0x7f)&&(pair10)&&(wait1))
{
score2++
led0xfe
flag10
flag20
wait0
}
}
void showscore()
{
dig11
dig20
shumatable[score1]
delay(20)
dig10
dig21
shumatable[score2]
delay(20)
}
五结体会
设计乒乓球游戏系统STC单片机阴数码显示控制键三极等器件构成设双位数显示两游戏键系统整机复位钮设计精简简单易懂系统设计合理线路简单功先进性稳定程序精简出详细电路设计方法系统单片机核心仅单片机方面知识够应根具体硬件结构针具体应象特点软件结合作完善
通星期努力终完成单片机课程设计设计程中发现身许足编程力薄弱软件够熟悉焊接技术提高等等觉作名动化专业学生单片机课程设计意义更重时学东西应实际中通次课程设计加强动手思考解决问题力通次设计复巩固前学数电模电单片机原理应等课程知识加深门课程相互关系理解成功WaveProtel 2004Proteus三款电子软件理知识系统化实化系统掌握微机应系统般设计方法培养较强编程力开发力
次课程设计程中解元件功电路中更认识动手实践元件单元组成相应功映象深刻认识源实践实践认识动力终目实践检验真理唯标准课程设计作非常通次课程设计懂理实际相结合重理知识远远够学理知识实践相结合起理中出结真正社会服务提高实际动手力独立思考力
衷心感谢老师悉心授课学门热心帮助
附:基单片机乒乓球游戏系统硬件设计原理图
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档