桂林电子科技大学单片机原理及应用实训报告范文.docx
- 文档编号:921697
- 上传时间:2022-10-14
- 格式:DOCX
- 页数:7
- 大小:91.23KB
桂林电子科技大学单片机原理及应用实训报告范文.docx
《桂林电子科技大学单片机原理及应用实训报告范文.docx》由会员分享,可在线阅读,更多相关《桂林电子科技大学单片机原理及应用实训报告范文.docx(7页珍藏版)》请在冰豆网上搜索。
桂林电子科技大学单片机原理及应用实训报告范文
桂林电子科技大学单片机原理及应用实训报告
桂林电子科技大学信息科技学院
实训题目:
基于单片机的篮球计分牌
1系统设计
1.1设计要求
附录
附录1:
原理图
附录2:
仿真图
附录3:
程序清单
#include
//*************************数码管段代码表**************************//
unsignedcharTab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsignedchara=0,//a队分数
b=0,//b队分数
afg=0,//a队犯规次数
bfg=0;//b队犯规次数
unsignedchart=24,//倒计时24秒
k=0,nk,//倒计时暂停/开始状态
h=0,//显示转换状态
miao=0,//秒钟
fen=12;
nl;
intbittime=0;//循环次数
intbitdisplay=0;//显示
sbitP16=P1^6;//a队加分
sbitP10=P1^0;//b队加分
sbitP11=P1^1;//显示状态切换
sbitP12=P1^2;//倒计时暂停/开始
sbitP13=P1^3;//24s倒计时重置
sbitP14=P1^4;//a队犯规加次数
sbitP15=P1^5;//b队犯规加次数
sbitP17=P1^7;//a队加2分
sbitP24=P2^4;//a队加3分
sbitP25=P2^5;//b队加2分
sbitP26=P2^6;//b队加3分
///***************定时中断服务程序***********************//
voidtimer0(void)interrupt1using0
{
TH0=0Xf8;TL0=0x30;//定时器赋初值
switch(bitdisplay)
{
case0:
P2=0xf7;
if(h==0){P0=Tab[a%10];}//a队分数个位显示
if(h==1){P0=Tab[t%10];}//倒计时个位显示
if(h==2){P0=Tab[miao%10];}//分钟的个位显示
if(h==3){P0=Tab[afg%10];}//a犯规的个位显示
break;
case1:
P2=0xfb;
if(h==0){P0=Tab[a/10];}//a队分数十位显示
if(h==1){P0=Tab[t/10];}//倒计时十位显示
if(h==2){P0=Tab[miao/10];}//每节比赛12分钟,分钟十位显示
if(h==3){P0=Tab[afg/10];}//犯规的十位显示
break;
case2:
P2=0xfd;
if(h==0){P0=Tab[b%10];}
if(h==1){P0=0x00;}
if(h==2){P0=Tab[fen%10];}
if(h==3){P0=Tab[bfg%10];}
break;
case3:
P2=0xfe;
if(h==0){P0=Tab[b/10];}
if(h==1){P0=0x00;}
if(h==2){P0=Tab[fen/10];}
if(h==3){P0=Tab[bfg/10];}
break;
}
bitdisplay++;bittime++;
if(bitdisplay==4){bitdisplay=0;}//数码管扫描返回
if(bittime==500)
{bittime=0;if(nl==1)
if(!
nk){if(t<=24&&t>0)t--;
elset=24;}//k=0;//重置24s倒计时
if(k)
{
if(miao--==0){if(fen==0){P3=0x0f;fen=12;miao=0;k=0;}fen--;miao=59;}//12分钟结束,4个灯全亮
}
}
}
//**延时程序***//
voiddelay(unsignedintt)
{
unsignedintaaa,bbb;
for(aaa=0;aaa<100;aaa++)
for(bbb=0;bbb } //**************主程序*********************// voidmain(void) { TMOD=0x01;TH0=0xf8;TL0=0x30;//定时2ms EA=1;ET0=1;TR0=1;//开启定时器 while (1) { if(! P16)//按键1 {delay(100); if(! P16){a++;P3=0xef;if(a==100)a=0;}//a队加分 } if(! P10)//按键2 {delay(100); if(! P10) {b++;P3=0xdf;if(b==100)b=0;}//b队加分 } if(! P11)//按键3 {delay(100); if(! P11) {if(++h>=4)h=0;}//显示切换 } if(! P12)//按键4 {delay(100); if(! P12) {if(k++>0)k=0;}//倒计时 } if(! P13)//按键524秒倒计时 {delay(100); if(! P13)nl=nl+1; elseif(nl==2)nl=0; elsenl=nl; } if(! P14)//按键6 {delay(100); if(! P14){afg++;k=0;P3=0xbf;if(afg==60)afg=0;}//a队犯规 } if(! P15)//按键7 {delay(100); if(! P15){bfg++;k=0;P3=0x7f;if(bfg==60)bfg=0;}//b队犯规 } if(! P17)//按键8 {delay(100); if(! P17)a=a+2;P3=0xef;if(a==100)a=0;//a队加2分 } if(! P24)//按键9 {delay(100); if(! P24)a=a+3;P3=0xef;if(a==100)a=0;//a队加3分 } if(! P25)//按键10 {delay(100); if(! P25)b=b+2;P3=0xdf;if(b==100)b=0;//b队加2分 } if(! P26)//按键11 {delay(100); if(! P26)b=b+3;P3=0xdf;if(b==100)b=0;//b队加3分 } } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 桂林 电子科技大学 单片机 原理 应用 报告 范文
![提示](https://static.bdocx.com/images/bang_tan.gif)