篮球计时计分器系统设计报告

2026/4/29 6:37:14

(2)定时中断函数

产生一个Is的计时单元

Void ininterruptO interrupt 1 {

TH0=(65536-50000y256; TLO=(65536-50000)%6; count++;

if(count==20) {

Count=0;

If(second==0&&minute==0; {

Et0=0; }

else if(second==0 && minute!=0)

{

second=59; minute--; }

else if(second!=0 ) {

second--; } }

12

(3)延时函数

void delay ()函数用于显示延时,voiddelayl ()函数用于延时消抖。 void delay()

//显不延时函数

uint x,y;

for(x=10;x>0;x-)

for(y=10;y>0;y-); void delay 1() {

uint x,y;

foi0pc-)

}

for(y=360;y>0;y-);

(4)显示函数

功能是将数码管的码值进行处理送到端口,数。

//显示函数

Void dinplayQ

uchar ij; uchartemp;

disbuffer[3]=second% 10; disbuffer[2]=second/l 0;

disbuffer[ 1 ]=minute% 10; disbufifer[0]=minute/10; disbuflfer[5]=Ascore% 10; disbuffer[4]=Ascore/10; disbufFer[7]=Bscore% 10; disbuffer[6]=Bscore/l 0; temp=Oxfe; P2=temp;

for(i=0;i<8;i++) {

j=disbuffer[i];

//延时消抖函数16ms

使得数码管显示时间和分

13

P0=tableD]; delayO;

temp=_crol_(temp, 1); P2=temp; } }

(5)蜂鸣器启动函数

功能是等比赛结束后,启动蜂鸣器提示比赛结束

void bizzerQ \蜂鸣器函数

while(minute=0 && sec(md=0) 判断时间结

(6)外部中断0函数

void exinterrupt() interrupt 0

//中断

{

delay1();

if(!timeadd) //按键设置比赛时间 {

while(!timeadd); minute++; } }

14

(7)按键函数

功能有实现A队加1分、加2分,A队减1分,B队加1分、加2分,B队减1分,下半场切换比分,暂停继续等

void button() //按键 函数 {

if(!turn) {

delay1(); //延时消抖 以下用delay1的都是延时消抖 if(!turn) {

while(!turn);

flage+=1; //标志位 } }

if(flage%2==0) {

if(!add1) {

delay1(); if(!add1) {

while(!add1); //按键时 松手检测 Ascore+=1; // A加 1 分 } }

if(!add2) {

delay1(); if(!add2) {

while(!add2); Ascore+=2; } }

if(!minus1)

15


篮球计时计分器系统设计报告.doc 将本文的Word文档下载到电脑
搜索更多关于: 篮球计时计分器系统设计报告 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219