- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
篮球记分器设计方案
篮球记分器方案
功能描述
本系统是基于51单片机的全功能篮球记分器。由7个按键,17个数码管,1个发光二极管,2个3-8译码器,1个七段数码译码器构成。功能有:节次倒计时,24秒倒计时,暂停,24秒复位以及两队加减分功能。
方案
硬件结构:
总体电路原理图如下
功能及按键说明
PRUTUS键功能说明
1,LED管:前6位显示12分时间,7,8位显示24秒到计时,9~12四位为甲队分数,BCD码LED为节次显示,复位功能键选择节次
13~15为乙队分数。
2,按键:从上到下,依次为启动/复位,加分,减分,功能选择,功能确认,计时启动/暂停,24秒倒计时。
注:功能选择为选择给哪个球队加减分,功能确认按下后不能进行加减分。复位功能键选择节次。
3,没找到蜂鸣器用LED代替的。
软件框图
软件清单:
#includereg51.h
sbit jsdao=P2^4;
#define rest 0x7e
#define inc 0x7d
#define dec 0x7b
#define mennusel 0x77
#define mennuenter 0x6f
#define js_begin_over 0x5f
#define t24s_js 0x3f
#define keyup 0x7f
unsigned char led[16]={1,2,0,0,0,0,2,4,0,0,0,0,0,0,0,0};
unsigned char chang, led_number;
unsigned char ts/*led2~3*/,t10ms/*led4~5*/, tm,/*led0~1*/ t24s,/*led6~7*/ t24s_t1s;/*led6~7*/
unsigned char t24s_flag;/*led6~7*/
unsigned char fenshu[]={0,0};/*led8~11*/
unsigned char team=0;/*led8~11*/
unsigned char jieshu;/*P2第几节*/
unsigned char set_flag,shanshuo_led;
unsigned int shanshuo_flag;/**/
void init();//初始化,开两个中断
unsigned char read_key();//键盘扫描
void delay(unsigned char m);
void wait_key_up();//等待键释放
void key_chuli(unsigned char key);//键处理
void main()
{
/*==============================================
主程序
================================================*/
unsigned char key;
init();
while(1)
{
key=read_key();//读取键值
if(key!=keyup)//如果有键按下
{
key_chuli(key);//处理按键
wait_key_up();//等待按键释放
}
}
}
void delay(unsigned char m)
{
unsigned char j;
for(;m0;m--)
for(j=0;j100;j++);
}
void init()
{
/*==============================================
初始化
================================================*/
TMOD=0x11;
TR1=1;
ET1=1;
ET0=1;
EA=1;
t24s=24;
chang++;
if(chang4)chang=1;
P2=chang;
jsdao=0;
t10ms=0;
ts=0;
tm=12;
t24s=24;
t24s_flag=0;
t24s_t1s=0;
fenshu[0]=0;
fenshu[1]=0;
led[0]=tm/10;
led[1]=tm%10;
led[2]=ts/10;
led[3]=ts%10;
led[4]=t10ms/10;
led[5]=t10ms%10;
led[6]=t24s/10;
led[7]=t24s%10;
led[9]=fenshu[0]/100;
led[10]=f
文档评论(0)