IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 篮球比赛计时记分电路Proteus仿真说明 -> 正文阅读

[嵌入式]篮球比赛计时记分电路Proteus仿真说明

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

????????ATmega128是ATMEL公司的 8位系列单片机的最高配置的一款单片机,稳定性极高,被广泛的应用在了汽车电车管理、门禁系统、遥控器、智能家居、以及计量电表等领域。Atmega128A是AVR8位微处理器芯片,采用先进的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

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-05-10 12:04:54  更:2022-05-10 12:06:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 3:23:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码