当前位置: 首页 > news >正文

河北网站备案多久关于网站建设的请示范文

河北网站备案多久,关于网站建设的请示范文,wordpress链接跳转页面,阿里巴巴网站建设教程目录 一、主要功能 二、使用步骤 三、硬件资源 四、软件设计 五、实验现象 一、主要功能 1、数码管显示 1、比赛时间为15:00,甲乙队比分默认000,通过按键修改 3、比赛运行的状态下,按开始暂停键,比赛暂停&#…

目录

一、主要功能

二、使用步骤

三、硬件资源

四、软件设计

五、实验现象

一、主要功能

1、数码管显示
1、比赛时间为15:00,甲乙队比分默认000,通过按键修改
3、比赛运行的状态下,按开始暂停键,比赛暂停,计时暂停。
4、在比赛进行的状态下按通过按键来对甲乙两队进行加减分
5、在一节比赛时间结束后,按下交换键,比赛时间重新预置为15:00,
同时左右两边数码管的比分交换显示。此时按下启动键可以开始新一节的比赛。
6、报警提示:在一节比赛时间倒计时到00:00时,蜂鸣器发出报警提示。
7、比赛时,24秒会以1秒的速度减,可随时按下24秒复位键重置24秒。

二、使用步骤

51单片机篮球计时计分器是51单片机项目中常用的显示设备,通过控制数码管来显示不同数据,通过按键来改变数码管显示的值。

三、硬件资源

1、51单片机核心模块
2、按键模块
3、蜂鸣器模块
4、数码管显示模块

四、软件设计

#include<reg51.h>
#define LEDData P0

unsigned char code LEDCode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

int minit,second,count,count1;            //分,秒,计数器
char min=15,sec=0;

sbit add1=P1^0;                        //甲对加分,每按一次加1分   /在未开始比赛时为加时间分
sbit dec1=P1^1;                        //甲对减分,每按一次减1分    /在未开始比赛时为减时间分
sbit exchange=P1^2;                    //交换场地
sbit add2=P1^3;                        //乙对加分,每按一次加1分    /在未开始比赛时为加时间秒
sbit dec2=P1^4;                        //乙对减分,每按一次减1分    /在未开始比赛时为减时间秒
sbit p24_sec=P1^5;
sbit secondpoint=P0^7;                //秒闪动点
//----依次点亮数码管的位------
sbit led1=P2^7;
sbit led2=P2^6;
sbit led3=P2^5;
sbit led4=P2^4;
sbit led5=P2^3;
sbit led6=P2^2;
sbit led7=P2^1;
sbit led8=P2^0;
sbit led9=P3^7;
sbit led10=P3^6;
sbit led11=P3^5;
sbit led12=P3^4;

sbit alam=P1^7;                        //报警

bit  playon=0;                        //比赛进行标志位,为1时表示比赛开始,计时开启
bit  timeover=0;                    //比赛结束标志位,为1时表示时间已经完
bit  AorB=0;                        //甲乙对交换位置标志位
bit  halfsecond=0;                    //半秒标志位

unsigned int scoreA;                //甲队得分
unsigned int scoreB;                //乙队得分
char sec24=24;        

void Delay5ms(void)
{
    unsigned int i;
    for(i=100;i>0;i--);
}


void display(void)
{
//-----------显示时间分--------------
    LEDData=LEDCode[minit/10];
    led1=1;
    Delay5ms();
    led1=0;
    LEDData=LEDCode[minit%10];
    led2=1;
    Delay5ms();
    led2=0;
//-------------秒点闪动------------
    if(halfsecond==1)
        LEDData=0x7f;
    else
        LEDData=0xff;
    led2=1;
    Delay5ms();
    led2=0;
    secondpoint=0;
//-----------显示时间秒------------
    LEDData=LEDCode[second/10];
    led3=1;
    Delay5ms();
    led3=0;
    LEDData=LEDCode[second%10];
    led4=1;
    Delay5ms();
    led4=0;
//-----------显示1组的分数百位-------
    if(AorB==0)
        LEDData=LEDCode[scoreA/100];
    else
        LEDData=LEDCode[scoreB/100];
    led5=1;
    Delay5ms();
    led5=0;
//---------------显示1组分数的十位-----------
    if(AorB==0)
        LEDData=LEDCode[(scoreA%100)/10];
    else
        LEDData=LEDCode[(scoreB%100)/10];
    led6=1;
    Delay5ms();
    led6=0;

//---------------显示1组分数的个位-----------
    if(AorB==0)
        LEDData=LEDCode[scoreA%10];
    else
        LEDData=LEDCode[scoreB%10];
    led7=1;
    Delay5ms();
    led7=0;

//-----------显示2组分数的百位-------
    if(AorB==1)
        LEDData=LEDCode[scoreA/100];
    else
        LEDData=LEDCode[scoreB/100];
    led8=1;
    Delay5ms();
    led8=0;
//-----------显示2组分数的十位-----------
    if(AorB==1)
        LEDData=LEDCode[(scoreA%100)/10];
    else
        LEDData=LEDCode[(scoreB%100)/10];
    led9=1;
    Delay5ms();
    led9=0;

//-----------显示2组分数的个位-----------
    if(AorB==1)
        LEDData=LEDCode[scoreA%10];
    else
        LEDData=LEDCode[scoreB%10];
    led10=1;
    Delay5ms();
    led10=0;

//-----------显示时间分--------------
    LEDData=LEDCode[sec24/10];
    led11=1;
    Delay5ms();
    led11=0;
    LEDData=LEDCode[sec24%10];
    led12=1;
    Delay5ms();
    led12=0;
}

//******************************主函数*************************************************
void main(void)
{
    TMOD=0x11;
     TL0=0xb0;
     TH0=0x3c;
     TL1=0xb0;
     TH1=0x3c;
    minit=min;                
    second=sec;
     EA=1;
    ET0=1;
    ET1=1;
     TR0=0;
    TR1=0;
    EX0=1;
    IT0=1;
    IT1=1;
//    EX1=1;
    PX0=1;
//    PX1=1;
    PT0=0;
    P1=0xFF;
    P3=0xFF;
    alam=1;
     while(1)
     {
        keyscan();
        display();            
    }
}

void PxInt0(void) interrupt 0
{
    Delay5ms();
    EX0=0;
    alam=1;
    TR1=0;
    if(timeover==1)
    {
        timeover=0;
    }

    if(playon==0)
    {
        playon=1;                //开始标志位
        TR0=1;                    //开启计时
        
        if((minit+second)==0)
        {
            sec24=24;
            minit=min;            
            second=sec;
        }
    }
    else
    {
        playon=0;                //开始标志位清零,表示暂停
        TR0=0;                    //暂时计时
    }    
    EX0=1;                        //开中断    
}

五、实验现象

演示视频:

http://www.dtcms.com/a/573668.html

相关文章:

  • 坑#Spring#NullPointerException
  • 做视频网站用什么格式教育+wordpress模板下载
  • 排序算法
  • 网站排名推广安卓下载软件
  • Nginx 安全网关
  • 手机网站 像素旅游网站建设方案之目标
  • 2025年具身智能安全前沿:守护机器人时代的防失控策略
  • 中国机器人产业:迅猛崛起与未来征程
  • 购物消费打折
  • 深度解析Andrej Karpathy访谈:关于AI智能体、AGI、强化学习与大模型的十年远见
  • 网站403错误在线p图修改文字
  • 无锡住房建设网站社区网站建设方案书
  • 从零开始搭建 flask 博客实验(4)
  • 酒店预订数据分析及预测可视化
  • 直接IP做网站China wordpress
  • 大连建设网水电官网查询天津seo排名效果好
  • 对抗高级反爬:基于动态代理 IP 的浏览器指纹模拟与轮换策略
  • 真实场景:防止缓存穿透 —— 使用 Redisson 布隆过滤器
  • 光伏行业ERP与Oracle NetSuite:AI驱动的财务变革新范式
  • 一个本地 Git 仓库关联多个远程仓库
  • Oracle E-Business配置器运行时UI未授权访问漏洞(CVE-2025-61884)
  • iis网站架设教程软文广告300字范文
  • visual studio msvc 编译 libffi 静态库
  • 实现小程序 uniApp 输入框展示自定义表情包
  • uniapp ios android 本地离线debug
  • 基于HAL库实现GPIO输出状态控制输入状态查询及定时器PWM波和串口收发数据
  • 免费html网站哪里有广告设计培训机构
  • mysql三范式
  • RTOS多任务调度在西门子智能交通信号控制系统中的深度实践与优化
  • 【1】视觉SLAM的数学表达