嵌入式操作系统--篮球记分计时系统

这篇具有很好参考价值的文章主要介绍了嵌入式操作系统--篮球记分计时系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目:篮球记分计时系统

  实训任务

利用Qt-Creator编程设计一个篮球记分计时界面开发系统,实现24秒一节次的倒计时篮球记

分牌。

  实训要求

1、基本要求

(1)按照题目要求使用Qt编程,独立设计系统所需界面,实现24秒倒计时的篮球记分计

时界面开发系统。

(2)通过按钮控件实现“运行/暂停”功能,同时还可通过按钮或其它控件实现A,B两队加

分操作,犯规减分操作。

(3)停表计时就是:比赛开始后,犯规,罚球,暂停,都要停表。累计时间到24秒后,该

节次结束,共4节次。

2、扩展部分

(1)扩展多位数据显示,能实现.99的显示。

(2)加时操作功能。

(3)真实场景仿真展示等。

  实训题目原理

       倒计时设计的原理框图如图3所示。

嵌入式操作系统--篮球记分计时系统

 

图3 倒计时系统框图

部分程序:

#include "countboard.h"
#include "ui_countboard.h"
#include<QTimer>
#include<QtGui>
CountBoard::CountBoard(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::CountBoard)
{
    ui->setupUi(this);
    time=24;                                            //设置倒计时初始值
    jieshu=1;                                           //总共四节,初始值为1
    state=0;                                            //设置比赛状态初始值,为0表示暂停
    range=24;                                           //倒计时范围初始值为24秒

    jieshuzhuangtai=0;                                  //比赛初始结束状态为0
    haomiaojishi=1000;                                  //毫秒计时器的初始值
    break1=break2=0;                                    //犯规次数初始值
    timer=new QTimer(this);                             //初始定时器
    timer2=new QTimer(this);

    connect(timer,SIGNAL(timeout()),this,SLOT(jishiqi()));
    connect(timer2,SIGNAL(timeout()),this,SLOT(haomiao()));
    ui->haomiaojishiqi->setDigitCount(4);                   //设置毫秒计时器设备显示位数
    ui->label_6->setText("Section"+QString::number(jieshu));//显示这是第几节比赛,总共四节
    teamonescore=teamtwoscore=0;                            //初始化两个队伍的初始比分为0;
    timer2->start(1);                                       //定时器2开始工作,间隔为1毫秒
}

CountBoard::~CountBoard()                                   //析构函数,释放资源,防止资源内耗泄露
{
    delete ui;
}

void CountBoard::haomiao()
{
    if(state==1)                                            //比赛状态为1,(正在比赛)
    {
        haomiaojishi--;                                     //毫秒计时的数值-1
        if(haomiaojishi==0)                                 //如果毫秒计时参数为0,执行
        {
            haomiaojishi=1000;                              //让毫秒计时参数重新变为1000
            ui->haomiaojishiqi->display(haomiaojishi);      //显示在计时器控件上
        }
        ui->haomiaojishiqi->display(haomiaojishi);          //显示
    }
}
void CountBoard::jishiqi()
{
    time--;//倒计时-1
    ui->daojishi->display(time);
    if(time==0)//如果倒计时到了0,执行
    {
        timer->stop();//计时器停止工作,每一节比赛完等待重新开始比赛
        timer2->stop();
        //timer3->stop();
        ui->textEdit->setText("STOP");//在空间上显示比赛暂停的标志stop
        state=0;//把比赛状态参数改为0,以便通知其他函数执行该参数为0状态下的情况
        time=range;//重置倒计时
        haomiaojishi=1000;
        ui->haomiaojishiqi->display(haomiaojishi);
        jieshu++;//每一节结束就加一节
        if(jieshu>=5&&teamonescore==teamtwoscore)       //如果第4节以后结束的时队伍一和队伍二比分相同,进入加时赛
        {
            ui->label_6->setText("Addgame!");           //在空间上显示正在加时赛

        }
        else if(jieshu>=5&&teamonescore!=teamtwoscore)//如果第4节以后结束的时队伍一和队伍二比分不相同,结束比赛
        {
            ui->textEdit->setText("Over!!!");           //显示比赛结束
            jieshuzhuangtai=1;                          //结束状态设置为1,以便节数+1函数识别是否可执行
            haomiaojishi=1000;
            ui->haomiaojishiqi->display(haomiaojishi);

        }else{
            ui->label_6->setText("Section"+QString::number(jieshu));
        }

    }
}


void CountBoard::on_lone_clicked()
{
    if(state==1)    //比赛状态为1,(正在比赛时),执行
    {
        teamonescore=teamonescore+1; //队伍1比分加1

        ui->teamoneboard->display(teamonescore);//显示
    }
}

void CountBoard::on_ltwo_clicked()
{
    if(state==1)
    {
        teamonescore=teamonescore+2;//队伍1比分加2

        ui->teamoneboard->display(teamonescore);
    }
}

void CountBoard::on_lthree_clicked()
{
    if(state==1)
    {
        teamonescore=teamonescore+3;//队伍1比分加3
        ui->teamoneboard->display(teamonescore);
    }
}
 

资料包括:

嵌入式操作系统--篮球记分计时系统

 

需要完整的资料可在我的资源里下载,也可以加入我的纷传圈子,里面有资源压缩包的百度网盘下载地址及提取码。

纷传点击用微信打开即可,过程有点繁琐请见谅。文章来源地址https://www.toymoban.com/news/detail-491701.html

到了这里,关于嵌入式操作系统--篮球记分计时系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 嵌入式实时操作系统的设计与开发

    在RTOS中,时钟具有非常重要的作用,通过时钟可实现延时任务、周期性触发任务执行、任务有限等待的计时。 大多数嵌入式系统有两种时钟源,分别为实时时钟RTC(Real-Time Clock)和定时器/计数器。 实时时钟一般是靠电池供电,即使系统断电,也可以维持日期和时间。由于实

    2024年02月11日
    浏览(28)
  • 嵌入式实时操作系统的设计与开发(一)

    以一款简单、易学的嵌入式开发平台ARM Mini2440(CPU是三星ARM 9系列的ARM S3C2440)为例,通过具体代码实现,介绍如何从裸板入手设计简单的轮询系统、前后台系统,以及如何一步一步在ARM Mini2440上编写RTOS内核,到如何让RTOS内核支持多核嵌入式处理器。 aCoral是2009年创建的开源

    2024年02月12日
    浏览(27)
  • 嵌入式实时操作系统的设计与开发(十)

    RTOS的引导是指将操作系统装入内存并开始执行的过程。在嵌入式系统的实际应用中,针对不同应用环境,对时间效率和空间效率有不同的要求。因此,操作系统启动时应充分考虑这两种限制。 时间限制主要包括两种情况:系统要求快速启动和系统启动后要求程序能实时运行

    2024年02月07日
    浏览(57)
  • 【嵌入式操作系统】实验2:GPIO编程及应用

    熟悉STM32 模块的GPIO硬件连接; 掌握GPIO初始化配置; 掌握GPIO控制板上LED灯编程; 熟练KEIL 工程的配置,编译,调试,下载。 操作系统:WINDOWS 10 开发工具:Keil 4,UartAssists 实验设备:125K RFID读写器模块、JLink在线调试器、电源、PC   运行程序后,LED灯D7、D8按照全熄灭、亮

    2024年02月09日
    浏览(30)
  • 嵌入式系统设计师考试笔记之操作系统基础复习笔记二

    目录 3、任务管理 (1)嵌入式操作系统的任务管理可以分为 (2)进程 (3)线程 (4)任务 (5)任务的创建与中止 (6)任务的状态任务有三中基本状态: (7)任务控制块 TCB (8)任务的切换 (9)任务的调度 (10)实时系统调度 (11)任务互斥 (12)信号量 (13)任务同

    2024年02月08日
    浏览(35)
  • 嵌入式实时操作系统的设计与开发(信号量学习)

    除了临界点机制、互斥量机制可实现临界资源的互斥访问外,信号量(Semaphore)是另一选择。 信号量与互斥量的区别 对于互斥量来说,主要应用于临界资源的互斥访问,并且能够有效地避免优先级反转问题。 对于信号量而言,它虽然也能用于临界资源的互斥访问,但是不能

    2024年02月08日
    浏览(44)
  • C语言嵌入式系统编程注意事项之内存操作

    在嵌入式系统的编程中,常常要求在特定的内存单元读写内容,汇编有对应的MOV指令,而除C/C++以外的其它编程语言基本没有直接访问绝对地址的能力 数据指针 在嵌入式系统的编程中,常常要求在特定的内存单元读写内容,汇编有对应的MOV指令,而除C/C++以外的其它编程语言

    2024年02月09日
    浏览(53)
  • 从何着手OpenHarmony?从这里开始认识嵌入式开源鸿蒙操作系统

    首先,我们需要知道HarmonyOS与OpenHarmony是不同的概念,我们需要知道它们的区别:         HarmonyOS是华为独家开发的,但华为在2020、2021年分两次 将HarmonyOS的基础能力全部捐献给了开放原子开源基金会,形成了OpenHarmony开源项目 ,华为对开源鸿蒙没有控制权,当然华为仍将

    2024年02月04日
    浏览(43)
  • STM32嵌入式系统:将数据保存到SD卡的操作

    STM32嵌入式系统:将数据保存到SD卡的操作 嵌入式系统在现代科技中扮演着重要角色,而STM32单片机是一种常用的嵌入式系统解决方案。本文将介绍如何使用STM32单片机将采集到的数据以TXT文件的格式保存到SD卡中,并且能够方便地读取这些本地数据。 硬件准备 为了实现数据保

    2024年02月01日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包