• 大小: 1.23MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-12
  • 语言: 其他
  • 标签:

资源简介

包含源程序文件以及课设的文档,程序相对简单,适合期末应付老师考核 设计并实现的单片机课设是篮球比赛计分器:要求实现以下功能 (1)两队各两位显示,共计四位数码显示; (2)设A、B队加、减分按键,复位键; (3)加减分实现1分、2分、3分加减。

资源截图

代码片段和文件信息

#include   //??
#define uchar unsigned char
#define uint  unsigned int
#define T2N   50000  //50ms
uchar code SegCode[]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f0x770x7c0x390x5e0x790x710x730x800x00};// P . ?
uchar code BitCode[]={0x010x020x040x08};
uchar DispBuf[4];
uint  scoreA=0scoreB=0;//A队得分,B队得分
sbit AN1=P1^0;//定义六个按键
sbit AN2=P1^1;
sbit AN3=P1^2;
sbit AN4=P1^3;
sbit AN5=P1^4;
sbit AN6=P1^5;
uchar Numqz = 0;
 void DelayMs(uint n)
 {
 uchar j;
 while(n--)
 for(j=0;j<123;j++);  //12MHz
 }

 void NumToBuf(void)
 { DispBuf[3]=scoreA/10%10;
 DispBuf[2]=scoreA%10;
 DispBuf[1]=scoreB/10%10;
 DispBuf[0]=scoreB%10;
 }
 void BufTOSeg()
   {
 uchar i;
 for(i=0;i<4;i++)
 {
  P0=SegCode[DispBuf[i]];
 P2=BitCode[i];
 DelayMs(10);
  P2=0x00;
 } 
 }
 
 
uchar GetKeyA(void)//定义多功能按键1,短按,长按
{
uint dNum = 0;
uint uNum = 0;
if(AN1 == 0)
{
DelayMs(10);
if(AN1 == 0)
{
do
{
dNum++;
DelayMs(10);
}while(AN1 == 0);
if(dNum<50)
{

Numqz = 1;
}
else Numqz = 2;
}
}
return Numqz;
}
uchar GetKeyB(void)//定义多功能按键4,短按,长按
{
uint dNum = 0;
if(AN4 == 0)
{
DelayMs(10);
if(AN4 == 0)
{
do
{
dNum++;
DelayMs(10);
}while(AN4 == 0);
if(dNum<50)
{

Numqz = 1;
}
else Numqz = 2;
}
}
return Numqz;
}
 
 
 
 
 void main()
 {

   while(1)
   {if(!AN1){        //按键1,短按A队加1分,长按减1分
 GetKeyA();
   if(Numqz == 1)
 {
 scoreA=scoreA+1;  
 Numqz = 0;
 }
 if(Numqz == 2)
 {
scoreA=scoreA-1;
 Numqz = 0;
 }}
   if(!AN2)       //按键2,A队加2分
 {
 DelayMs(10);
   if(!AN2)  scoreA=scoreA+2;
      while(!AN2);  
 }
   
   if(!AN3)       //按键3,A队加3分
 {
 DelayMs(10);
   if(!AN3)  
 scoreA=scoreA+3;  
      while(!AN3);  
 }
 if(!AN4){      //按键4,短按B队加1分,长按减1分
 GetKeyB();
   if(Numqz == 1)
 {
 scoreB=scoreB+1;  
 Numqz = 0;
 }
 if(Numqz == 2)
 {
scoreB=scoreB-1;
 Numqz = 0;
 }}
 
   if(!AN5)        //按键5,B队加2分
 {
 DelayMs(10);
   if(!AN5)  scoreB=scoreB+2;
      while(!AN5);  
 }
   
   if(!AN6)
 {
 DelayMs(10);
   if(!AN6)  
 scoreB=scoreB+3;  
      while(!AN6);  //按键6,B队加3分
 }
NumToBuf();     //送位码
  BufTOSeg();     //送段码
   
 }
 }
 
 
 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件    1228836  2019-03-10 19:45  单片机课设--篮球比赛计分器\单片机课设--篮球比赛计分器.docx

     文件     129499  2018-12-24 18:44  单片机课设--篮球比赛计分器\篮球计分器\lanqiu\123.DSN

     文件        768  2019-01-14 08:46  单片机课设--篮球比赛计分器\篮球计分器\lanqiu\123.PWI

     文件          0  2018-12-21 14:23  单片机课设--篮球比赛计分器\篮球计分器\lanqiu\hty

     文件       2610  2018-12-24 18:42  单片机课设--篮球比赛计分器\篮球计分器\lanqiu\hty.c

     文件      70663  2018-12-27 14:03  单片机课设--篮球比赛计分器\篮球计分器\lanqiu\hty.uvgui.Administrator

     文件      70575  2018-12-24 18:41  单片机课设--篮球比赛计分器\篮球计分器\lanqiu\hty.uvgui.wangshuailei

     文件       5387  2018-12-21 15:48  单片机课设--篮球比赛计分器\篮球计分器\lanqiu\hty.uvopt

     文件      14024  2018-12-21 15:48  单片机课设--篮球比赛计分器\篮球计分器\lanqiu\hty.uvproj

     文件     124540  2018-12-24 15:24  单片机课设--篮球比赛计分器\篮球计分器\lanqiu\Last Loaded 123.DBK

     文件       6222  2018-12-27 14:03  单片机课设--篮球比赛计分器\篮球计分器\lanqiu\Listings\hty.lst

     文件      11846  2018-12-27 14:03  单片机课设--篮球比赛计分器\篮球计分器\lanqiu\Listings\hty.m51

     文件      14146  2018-12-27 14:03  单片机课设--篮球比赛计分器\篮球计分器\lanqiu\Listings\STARTUP.lst

     文件       6761  2018-12-27 14:03  单片机课设--篮球比赛计分器\篮球计分器\lanqiu\objects\hty

     文件        970  2018-12-27 14:03  单片机课设--篮球比赛计分器\篮球计分器\lanqiu\objects\hty.build_log.htm

     文件       1995  2018-12-27 14:03  单片机课设--篮球比赛计分器\篮球计分器\lanqiu\objects\hty.hex

     文件         96  2018-12-27 14:03  单片机课设--篮球比赛计分器\篮球计分器\lanqiu\objects\hty.lnp

     文件       7051  2018-12-27 14:03  单片机课设--篮球比赛计分器\篮球计分器\lanqiu\objects\hty.obj

     文件        828  2018-12-27 14:03  单片机课设--篮球比赛计分器\篮球计分器\lanqiu\objects\STARTUP.obj

     文件       6376  2015-05-29 12:09  单片机课设--篮球比赛计分器\篮球计分器\lanqiu\STARTUP.A51

     目录          0  2019-03-03 21:25  单片机课设--篮球比赛计分器\篮球计分器\lanqiu\Listings

     目录          0  2019-03-03 21:25  单片机课设--篮球比赛计分器\篮球计分器\lanqiu\objects

     目录          0  2019-03-03 21:25  单片机课设--篮球比赛计分器\篮球计分器\lanqiu

     目录          0  2018-12-27 13:46  单片机课设--篮球比赛计分器\篮球计分器

     目录          0  2019-03-10 19:46  单片机课设--篮球比赛计分器

----------- ---------  ---------- -----  ----

              1703193                    25


评论

共有 条评论