资讯详情

篮球比赛计时记分电路Proteus仿真说明

如图所示,篮球比赛计时记分电路Proteus仿真图。该仿真使用ATmega128作为控制核心,LGM12864作为计时记分器的显示装置,矩阵键盘作为输入设备,实现篮球比赛的计时记分功能。

ATmega128是ATMEL公司的 8位系列单片机最高配置的单片机稳定性高,广泛应用于汽车电车管理、门禁系统、遥控器、智能家居、计量电表等领域。Atmega128A是AVR采用先进的8位微处理器芯片RISC结构,采用AVR内核,拥有16MHz工作频率,工作电压2.7-5.5V。

模拟运行后会使用LGM12864显示比赛时间、两队分数和小节数。显示部分用中文显示。

按下开始按钮后,比赛时间将开始倒计时。在此期间,可以修改A队和B队的比赛分数。

按暂停后停止倒计时,按设定按钮修改比赛时间。按下设置按钮后,相应的修改位置会闪烁。设置按钮可以修改比赛时间的分钟和秒。修改秒数据后,再次按下设置按钮,退出设置模式。复位按钮可以复位比赛设计和分数。

程序使用ICCAVR7.22开发。部分程序代码如下:

void main(void) {     uint key_store=0x01;  DDRC=0x0f;                           //PC口上拉电阻使能     PORTC=0xf0;        DDRB=0xff;                           //PB口上拉电阻使能     PORTB=0xff;       system_init();                              //系统初始化,设置IO口属性  delay_nms(100);                             //延时100ms  //************************************************************  LCDchushihua();        ////液晶显示器初始化    LCDQingPing();        ///液晶显示器清屏  DDRB|=0x20 ;          Display();          //显示初始化函数  timer1_init();        ///定时器初始化  TIMSK=0x04;         ///定时器中断设置  SEI();          //开中断  Display_Score(scorea,scoreb);    //显示初始分数  vision_tab();        //显示比赛的小节数    beer0();     while(1)  {          if(update==1)      //如果更新标志位    {      update = 0 ;     //清除标志位     if(time_fen==0&byte_tab==4)  //如果比赛节省了最后一分钟,而且是最后一节     {      Display_Number(time_miao,cnt); //快速倒计时     }else     {      Display_Number(time_fen,time_miao);   ///在其他情况下显示正常时间倒计时     }     //delay_nms(100);                                //延时100ms     //Display_Number(time_fen,time_miao,byte_tab);    }     keyboardscan();                             ///键盘扫描,看看有没有按钮       if(key!=0xff&flag==0)                           //如果有按钮,按键值0显示~15         {          flag = 1 ;      switch(key)          ///根据按钮调整比赛分数和比赛时间      {       case 1 : if(start==1){if(scoreb<200)scoreb=scoreb 1;else scoreb = 0 ;} Display_Score(scorea,scoreb);break ;//B队分数 1       case 2 : if(start==1){if(scoreb<200)scoreb=scoreb 2;else scoreb = 0 ;} Display_Score(scorea,scoreb);break ;//B队分数 2       case 3 : if(start==1){if(scoreb<200)scoreb=scoreb 3;else scoreb = 0 ;} Display_Score(scorea,scoreb);break ;//B队分数 3       case 4 : if(start==0){           ///调整时间       if(mode==1)       {        if(time_fen<59) time_fen  ;else time_fen = 0 ;       }else if(mode==2)       {        if(time_miao<59) time_miao  ;else time_miao = 0 ;       }       }       break ;//       case 5 : if(start==1){if(scorea<200)scorea=scorea 1;else scorea = 0 ;}Display_Score(scorea,scoreb); break ;//A队分数 1       case 6 : if(start==1){if(scorea<200)scorea=scorea 2;else scorea = 0 ;}Display_Score(scorea,scoreb); break ;//A队分数 2       case 7 : if(start==1){if(scorea<200)scorea=scorea 3;else scorea = 0 ;}Display_Score(scorea,scoreb); break; //A队分数 3       case 8 :        if(start==0)       {       if(mode==1)       {        if(time_fen>0) time_fen--;else time_fen = 59 ;       }else if(mode==2)       {        if(time_miao>0) time_miao--;else time_miao = 59 ;       }        }break ; //时间减调       case 9 : start = 1 ;mode=0; break ;//开始按键       case 10 : if(start!=1){beer0();start = 0 ; time_miao=0;time_fen=2;byte_tab=1;scorea=0;scoreb=0;}Display_Score(scorea,scoreb);vision_tab();       break ;//复位按钮,只能在暂停状态下进行复位操作       case 0 : start = 0 ;break ;//暂停按钮       case 11 : if(start==0){if(mode<2)mode  ;else mode = 0 ;}break ;//模式选择,只有在暂停模式下才能调整时间      }    }else if(key==0xff)    {     flag = 0 ;    }  } }

基于Atmega128单片机的LCD12864中文显示篮球比赛计时记分器模拟电路-单片机文档资源-CSDN文库https://download.csdn.net/download/xitianqu/85297696

标签: 6870c0442b倒屏电阻

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台