单片机课程设计,比赛计分器的设计(用单片机mcs51做的)

设计一个甲,乙两队用的比赛计分器,要求实现以下功能:
1、给甲,乙两队分别设置1个加分按钮,按一下能分别实现加一分。
2、给甲,乙两队分别设置1个减分按钮,按一下能分别实现减一分。
3、设置一个清零按钮,按一下能实现清零
4、设置预置分按钮。
5、设置一个加减一分、两分和三分的切换按钮
6、 MCS-51单片机实验操作台1台;
PC机及单片机调试软件
4. 系统总体方案设计
5. 系统硬件设计
6. 软件设计(包括流程图)
附录(源程序清单及硬件原理图等
有整个课程设计的文档最好 发到chengjie812@sina.com
速度点,我没好多时间

最好能在我要求的功能上还有更多扩展的的功能
另外有密码设计的也行,条件是:
有1、 密码的设定,此密码是固定在程序存储器ROM中,假设预设的密码为“12345”共5位密码。
2、 密码的输入: 采用两个按键来完成密码的输入,其中一个按键为功能键,另一个按键为数字键。在密码都已经输入完毕并且确认功能键之后,才能完成密码的输入过程。然后进入密码的判断比较处理状态并给出相应的处理过程。
3、 按键禁止功能:初始化时,允许按键输入密码,当有按键按下并开始进入按键识别状态时,按键禁止功能被激活,但启动的状态是在3次密码输入不正确的情况下发生的。

很不好意思,邮箱写错啦,应该是chenjie812@sina.com 另外需注意的二者只需其一即可
其他的条件跟上述默认为一样 谢谢各位!

我只能给程序,50分确实太少了
而且不完全符合要求,
#include<reg52.h>

sbit P1_2=P1^2;
sbit P1_3=P1^3;
sbit K1=P3^5;
unsigned char i=0;
bit s=0;
unsigned char key_t=0;

unsigned char code dpycode[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void key_scan()
{
bit key;

K1=1;

key=K1;

//定时器一次为50ms
if(key==1 && key_t<4) //没有键按下,或有键按下后200ms内放开(认为是抖动)。按键状态不变;计数清零
key_t=0;
else if(key==1 && key_t>=4 && key_t<=20) //有键按下,200ms——1s放开,则认为是短按。
{
i=i+1;
key_t=0;
}
else if(key==1 && key_t>20 && key_t<60) //有键按下,1s——3s放开,则认为是错误操作。按键状态不变;计数清零
key_t=0;
else if(key_t==60) //有键按下,3s时放开,则认为是长按。计数保持不变
i=i+5;
else if(key==1 && key_t>60 && key_t<100) //有键按下,3s后放开。按键状态不变;计数清零
key_t=0;
else if(key==1 && key_t==100)
P1=0x00;
else if(key!=1 && key_t>100) //有键按下,3s后未放开。按键状态不变;计数还原为160
key_t=100;
}

void time0() interrupt 1
{
/*定时50ms*/
TH0=0x4C;
TL0=0x00;

/*键盘操作*/
key_t++; //键盘延时计数变量,每12.5ms加1
key_scan(); //键盘扫描函

if(i>99)
i=i%100;
}

void time1() interrupt 3
/*数码管显示*/
{
TH1=0xfb;
TL1=0x80; //1.25ms

P0=0x00;

if(s==0)
{
P1_3=0;
P1_2=1;
P0=dpycode[i%10]; //显示个位
}

if(s==1)
{
P1_3=1;
P1_2=0;
P0=dpycode[i/10];//显示十位
}

s=!s;
}

void main()
{
P0=0x00;
P1_2=0;
P1_3=0;

IE=0x8a;
TMOD=0x11;

TCON=0xf0;

while(1);
}
不过如果你把这个修改一下就可以了
要是全部都帮你做的话那真的是要rmb的了
我已经很辛苦帮你注释上去了,希望有帮助
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-05-05
呵呵,50分儿是少点儿了...
您老人家大致也要把试验箱的型号说一下~
或者外部电路图你也该说说吧,要不怎么设计?

基于单片机AT89C51控制的篮球计分器课程设计报告
MCS-51是在MCS-48探索基础上,进行全面完善的嵌入式系统,成为单片嵌入式系统的典型结构体系。体育比赛计分器是对体育比赛过程中所产生的比分等数据进行快速采集记录、加工处理、传递利用的工具。篮球比赛的计分器是一种得分类型的

基于51单片机的篮球计分器课程设计(有仿真图和实物图)
课程设计实验报告一、题目:篮球记分器2、主要元器件:STC89C5212M晶振四位一体数码管两位数码管2个4.7K欧排阻2个极性电容电容22pF电阻10K欧开关8个导线若干3、主要功能:1.12分钟倒计时2.分别给A、B队加1、2、3分并显示3.换场A、B两队分数交换4.暂停4、工作原理:1.原理图2.方框图3.实物图4...

谁能发一份单片机篮球计时记分器的设计电路图和程序
篮球比赛中,得分可分为1分、2分、3分三种情况,为防止出见加分错误要另设一减分开关。根据这样的设计要求,结合数码管的显示以及51单片机中计数器的工作实现方式、接口应用、中断控制等可设计出程序流程图如下所示:部分程序如下:数码管的显示,在TAB中加入数码管显示数字时对应的16进制数 MOV DPTR,#...

怎样用51单片机做计算器啊?
1、首先第一步就是要进行查找元器件并放入到原理图中,如下图所示。2、接着就是要进行原理图连接根据网络标签的方式即可。3、然后就是要进行编写程序,程序源代码 include <reg51.h>#include <intrins.h> include <ctype.h> include <stdlib.h> define uchar unsigned char define uint unsigned i...

51单片机篮球计分显示器的设计
设计时可以先调试出一个队的计分显示器,然后加入中途暂停中断,显示提示,调试通过后再加入另一个队的得分显示器,最后联调直到成功完成。这个要求每看懂 什么意思?

51系列单片机篮球计分器代码怎么写?
以下是一个简单的51系列单片机篮球计分器代码:```c include <reg52.h> \/\/ 包含STC89C52RC系列单片机头文件 sbit key1 = P3^0; \/\/ 定义按键1引脚 s2 = P3^1; \/\/ 定义按键2引脚 sbit led1 = P1^0; \/\/ 定义LED1引脚 sbit led2 = P1^1; \/\/ 定义LED2引脚 unsigned...

51系列单片机及C51程序设计目录
本文为系统学习51系列单片机及C51程序设计的指南。内容分为九个章节,详细介绍了单片机基础知识、KEIL51应用入门、调试技巧、系统设计、C语言基本知识、C51程序设计、函数、数组和指针、结构、联合及枚举等核心内容。第一章单片机基础知识,详细讲解了MCS-51单片机的特点、内部结构、资源、工作方式、定时器\/...

篮球计分器程序(单片机汇编语言编写,不要C语言)
很好写的 显示加判断 org 00h main:mov p1,#00h mov r1,#00h a1:call dis jb p3.2, j1 jb p3.3,j2 jb p3.4,j3 jmp a1 dis:mov a,r1 mov b,#10 div ab mov p1,a setb p2.0 call yanshi mov p1,b clr p2.0 call yanshi ret ji:call yanshi jnb p3.2,a1 inc ...

求一份关于篮球计分器的51单片机C语言程序
\/\/第二队减分键sbit Change = P1^5; \/\/交换键sbit Begin = P1^6; \/\/开始键sbit Pause = P1^7; \/\/暂停键sbit Beef = P2^4; \/\/蜂鸣器sbit duan = P2^3; \/\/段选sbit wei = P2^2; \/\/位选u8 Grate_1=0; \/\/第一队计分u8 Grate_2=0; \/\/第二队计分u8 Grate_chang...

MCS-51单片机应用设计的图书目录
2.1 电源及时钟引脚2.2.2 控制引脚2.2.3 I\/O口引脚2.3 MCS-51单片机的中央处理器(CPU)2.3.1 运算部件2.3.2 控制部件2.4 MCS-51存储器的结构2.4.1 程序存储器2.4.2 内部数据存储器2.4.3 特殊功能寄存器(SFR)2.4.4 位地址空间2.4.5 外部数据存储器2.5 I\/O...

相似回答