ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:22.34KB ,
资源ID:4477576      下载积分:5 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4477576.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(单片机的篮球电子计分器源代码.docx)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

单片机的篮球电子计分器源代码.docx

1、基于单片机的篮球电子计分器的源代码。 其中的功能有:1.能够显示年月日 2 .能够分别显示两队得分 3 .能够记录两队一二三分的得分球的个数 4 .初始状态下:数码管显示当前剩余的时间 最左边 是 节数(因为篮球比赛有4节) 中间是分右边是秒 / xlx xlx slz >1^ six slz six slz slz slz slz slz six slz six six xlx six six >lx slz slz slz xlz xlz slz xlz six / xr^ xrx xrx xt* xTx xTx *rx ^7% xT^ xT^ xTx ^rv zTx xjx

2、 xtx xTx x?x Xj^ xT> xT>

3、 S13按键按下:显示乙队进球情况 左边为三分 中间为两分 右边为一分 S6按键按下: 甲队进一分球 S7按键按下: 甲队进二分球 S8按键按下: 甲队进三分球 S10按键按下: 乙队进一分球 S11按键按下: 乙队进二分球 S12按键按下: 乙队进三分球 S16按键按下:计时器开启关闭状态翻转初始是关闭也就是数码管不倒计时 但是显示当前倒计时剩余时间(注意只有计时器关闭的时候 才能查看进球情况 和进球状态) 也就是说只有通过按按键S16关闭倒计时的时 候 按下SI S5 S9 S13查看其它显示状态时候才有用 slz *1* *£z %fz vfz viz vfz *lz

4、lz *1* viz *£* *1* *1* *1* *1* *£* *1* *1* *1* *1* *1* *1* *£* *1* *£* *lz v£* ^1* xl* viz *1* ^£z vlz*lx viz vl* %fz yjx yjs xjx *J1* yj% ✓J% zjs zjx zjx yp% yp* zjs yjx yp% slz slz slz slz *lz >lz siz siz xlz xlz *lz >lz ^Izxlz slz >1* / *J、<7< >Tx >Tx >Tx >Tx *1% / ttinclude 〃reg51.h〃 〃此文件中

5、定义了单片机的一些特殊功能寄存 DisplayDatal[3]=smgduan[number1[l]%100/10]; DisplayDatal[4]=smgduan[number1[l]%10]; DisplayDatal[6]=smgduan[number1[0]%100/10]; DisplayDatal[7]=smgduan[number1[0]%10]; void xianshi5() 〃显示乙队进球情况 ( 〃三分球 DisplayDatal[0]=smgduan Enumber2[2]%100/10]; DisplayDatal[l]=smgduan[num

6、ber2[21%10]; 〃二分球 DisplayDatal[3]=smgduan[number2[1]%100/10]; DisplayDatal[4]=smgduan[number2[1]%10]; 〃一分球 DisplayDatal[6]=smgduan[number2[0]%100/l0]; DisplayDatal[7]=smgduan[number2[0]%10]; typedef unsigned int ul6; 〃对数据类型进行声明定义 typedef unsigned char u8; ttdefine GPIO_KEY P3 u8 KeyValue; 〃

7、用来存放读取到的键值 〃定义显示得分数码管的 译码器输入口 sbit LSA=P2"; sbit LSB=P2」; sbit LSC=P2A2; 〃两队得分变量 u8 scorel=O,score2=0; u8 numberl [3]; 〃甲队进球情况1分2分3分 int Second=0; int Time=0; char jie=l; 12分钟) u8 number2[3]; 〃甲队进球情况1分2分3分 〃全局变量秒 〃全局变量分 〃全局变量第几节(篮球比赛共有4节 一节 〃数码管数据储存数组 u8 DisplayDatal[8]; 〃共阴码表 u8 co

8、de smgduan[17] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71};〃显示 0~F 的值 void TimerOInit(); 〃定时器初始化函数 void delay(ul6 i); 〃延时函数 void DigDisplayl(); 〃数码管扫描函数 void KeyDown(); void valuedown(u8 i); void xianshiO (); vo

9、id xianshil(); void xianshi2 (); void xianshi3 (); void xianshi4(); 分别为三分二分一分 〃按键处理 〃键值处理 〃熄灭数码管函数 〃数码管显示年月日 数据处理函数 〃数码管显示两队得分数据处理函数 〃数码管倒计时显示函数 〃数码管显示甲队进球情况 从左往右 void xianshi5 (); 分别为三分二分一分 //数码管显示乙队进球情况 从左往右 / viz >1* si* slz *1* *1* *1* *1* *1* *1* six slz / xj% XJ% ZJX ✓JX xj% xT

10、x XT% ^1% ZJN ZJ% ZJ% xj、XJX *J、4、xjx XJX ZJX xy% xy% xjx xyx xy% ✓JX *J、*JX✓JX /、"、zjx xj% xjx *函数名 :main *函数功能 :主函数 *输 入 :无 *输 出 :无 xlx X|X X|X xTx >X^ six *lx SIX >lx vjx xt* six six >£* slz vx >Jx >lx >X^ >Xx >lx six six ^L* >iz slz >£z six six >lx >lx >£z six six six six *lx >lx x

11、jx xjx ✓ix xTx ✓ix xT^ ✓Tx xjx x?x xrx xTx xTx x»> xix ^Tx ^Tx ✓jx xix ✓Tx xTx xTx xix xjx xix >1^ >1^ >!< >!< >!< / xts *ts xT> Xrs XjX XjX xrx xTx xrx ! void main() ( TimerOInit (); xianshi3 (); while (1) 〃数码管倒计时显示函数

12、 KeyDown (); valuedown(KeyValue); 〃按键处理 〃键值处理 〃数码管扫描 DigDisplayl (); void TimerO() interrupt 1 〃中断服务函数 定时50毫 秒进入一次中断,当进入了 20次 也就是 定时了一秒 让Second加一 //当到 达60秒 让Time加一也就是过了一分钟 //当到 达12分钟让jie加一也就是比赛过了一节 ( static ul6 i; TH0=0x3C;

13、 〃定时器赋初值定时50毫秒进入一次中断执行中 断服务函数 TL0=0xB0; i++; xianshiO(); 〃熄灭数码管函数 xianshi3(); 〃数码管倒计时显示函数 if (i==20) //定时到了一秒 ( i=0; Second ++; ) if (Second=60) ( Second=0; Time++; ) if(Time==12) Time=0; jie++; void TimerOInit() 丁》10口|二0*01;〃选择为定时器0模式,工作方式1,仅用TRO翻开启动。 TH0=0x3C; 〃定时器赋初值 定时50毫秒 TL

14、0=0xB0; ETO=1;〃翻开定时器0中断允许 EA=1; 〃翻开总中断 TRO=O;〃初始关闭定时器 等待按键按下翻开定时器 void KeyDown(void) ( char a=0; GPIO_KEY=OxOf; if(GPIO_KEY! =0x0f) 〃读取按键是否按下 ( delay (1000);〃延时10ms进行消抖 if(GPIO_KEY! =0x0f) 〃再次检测键盘是否按下 ( 〃测试列 GPIO_KEY=OXOF; switch(GPIO_KEY) { case(0X07): KeyValue=0;break; case(OXOb): Ke

15、yValue=l;break; case(OXOd): KeyValue=2;break; case(OXOe): KeyValue=3;break; ) 〃测试行 GPIO_KEY=OXFO; switch(GPIO_KEY) { case(0X70): KeyValue=KeyValue;break; case(OXbO): KeyValue=KeyValue+4;break; case(OXdO): KeyValue=KeyValue+8;break; case(OXeO): KeyValue=KeyValue+12;break; ) while ((a<50)

16、 (GPIO_KEY!= Oxf 0)) 〃检测按键松手检测 ( delay(1000); a++; } ) ) void valuedown(u8 i) ( switch (i) ( case(0): case (1): case (2): case (3): 日 case (4): xianshi2(); break; case(5): xianshi2 (); break; case (6): xianshi2(); break; case (7): case (8): ; break; ; break; ; break; xian

17、shiO(); xianshil (); break; 〃显示年月 scorel+=3; numberl[2]+=l; xianshiO (); 〃甲队进一个三分球 scorel+=2; numberl[1]+=1; xianshiO (); 〃甲队进一个两分球 scorel+=l; numberl[0]+=l; xianshiO (); 〃甲队进一个一分球 xianshiO () ; xianshi2 (); break; 〃显示得分 score2+=3; number2[2]+=l; xianshiO (); xianshi2 (); break; case (9)

18、 xianshi2 (); break; case(10): xianshi2 (); break; case(11): case(12): score2+=2; number2[1]+=1; score2+=l; number2[0]+=1; xianshiO() ; xianshi4(); break; TRO二〜TRO; case(13): ; break; case (14): ; break; case(15) : xianshiO() ; xianshi5(); break; xianshiO (); xianshiO (); 〃甲队进球 bre

19、ak; 〃乙队进球 } KeyValue=20; void delay(u16 i) ( while (i一一); void DigDisplayl() ( u8 i; for(i=0;i<8;i++) { switch(i) 〃位选,选择点亮的数码管, { case (0): LSA=O; LSB=O; LSC=O; break; //显示第 0 位 case (1): LSA=1;LSB=O;LSC=O; break;〃显示第 1 位 case (2): LSA

20、O; LSB=1; LSC=O; break; //显示第 2 位 case (3): LSA=1; LSB=1; LSC=O; break; //显示第 3 位 case (4): LSA=O; LSB=O; LSC=1; break; //显示第 4 位 case (5): LSA=1;LSB=O;LSC=1; break;〃显示第 5 位 case (6): LSA=O; LSB=1; LSC=1; break; //显示第 6 位 case (7): LSA=1;LSB=1;LSC=1; break;〃显示第 7 位 } PO=DisplayDatal [i];〃发送段

21、码 delay(lOO); 〃间隔一段时间扫描 PO=OxOO;〃消隐 } void xianshiO () 〃熄灭数码管 ( DisplayDatal[0]=0x00; DisplayDatalEl]=0x00; DisplayDatal[2]=0x00; DisplayDatal[3]=0x00; DisplayDatal[4]=0x00; DisplayDatal[5]=0x00; DisplayDatal[6]=0x00; DisplayDatal[7]=0x00; void xianshil () // 年日月 显示函数 ( DisplayDatal[0]=

22、smgduan[2]; DisplayDatal[l]=smgduan[0]; DisplayDatal[2]=smgduan[2]; DisplayDatal[3]=smgduan[0]|0x80; DisplayDatal[4]=smgduan[l]; DisplayDatal[5]=smgduan[2]|0x80; DisplayDatal[6]=smgduan[2]; DisplayDatal[7]=smgduan[0]; void xianshi2() 〃得分显示函数 ( DisplayDatal[0]=smgduan[scorel%1000/100]; Dis

23、playDatal[1]=smgduan[scorel%100/10]; DisplayDatal[2]=smgduan[scorel%10]; DisplayDatal[5]=smgduan[score2%1000/100]; DisplayDatal[6]=smgduan[score2%100/10]; DisplayDatal[7]=smgduan[score2%10]; void xianshi3() //倒计时显示函数 ( DisplayDatal [0]=smgduan[ jie]; 〃显示第几节 DisplayDatal [3]=smgduan[ (ll-Time)/10]; 〃显示分钟 DisplayDatal[4]=smgduan[(11-Time)%10]; DisplayDatal [6]=smgduan[ (60-Second) /10]; 〃显示秒 DisplayDatal[7]=smgduan[(60-Second)%10]; } void xianshi4() 〃显示甲队进球情况 ( DisplayDatal[0]=smgduan[number1[2]%100/10]|0x80; DisplayDatal[1]=smgduan[number1[2]%10];

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服