《AVR单片机Atmega48程序设计报告——比赛计时计分器.docx》由会员分享,可在线阅读,更多相关《AVR单片机Atmega48程序设计报告——比赛计时计分器.docx(13页珍藏版)》请在优知文库上搜索。
1、一、设计目的本设计是基于ATMEGA48单片机的比赛计时计分器,利用8路7段1.ED数码管作为显示器件,采用3乘3矩阵式键盘作为输入,主要用于各种体育比赛记录分数,在此设计中共接入了2个四位一体7段1.ED数码管显示器,第一个显示器为一个例数计时,第二个显示器为两队得分.本设计中的倒数计时潺时间为40分钟,可以进行开始计时、酒停计时的煤作,分别通过S3、S32按钮实现,并通过蜂呜器衣示是否操作成功,时间通过1个四位一体7段IED数码管显示器显示,前两位为分钟数.后两位为秒数,本设计中可以对两队得分进行加I分、加2分、加3分操作,分别通过S】、S1.2、S1.3、S2_1.,S2_2、S2_3按
2、钮实现,并通过蛀呜的不同工作方式表示是否操作成功与所加的分值.得分逋过I个四位一体?段1.ED数码管显示器显示,每队窗分显示两位数,显示范围为099分.本设计可以进行清零操作,清零后例计时恢复40分钟,得分均为0,通过S3_3按钮实现,并通过烁叫器表示是否操作成功.二、设计思路本设计中由AVR核心板、数码管、蜂鸣器、3靠3矩阵健盘四局部倒成.电路中POR1.B端口连接数码管,显示八位,完成倒计时与记录母队得分,PoRT_。马3柒3矩阵键盘相连,由按键控制完成初始化、开始与初停计时以及加分的功能,PORT-D与择吗器端口相连,根据所加得分的不同,开始与新停计时,初始化,蜂鸣涔有不同的应答方式.本
3、设计中的程序主要分为两个局部,即树停计时时的显示与开始计时时的显示.斯停计时时与开始计时时都可以对姆队加分,初始化,三、设计电路图P9图一接口模块电路VOCZHI图二电路ff1.三8第7段1.ED敷网管电路图四33矩阵控制健盘电路四、设计过程1、关闭硬件实验平台电源.2、将下毂器与主控总片机的下我IIPS相连.3、使用3条2*5排线连接P1.O和PH然口、P1.1.和P19堆口、P13和P4端口,从电路图上分析,PB口与1.ED显示涔相连,PC口与3*3矩阵按键相连,PD口与蜂鸣器相连。4、解开智能开发环境.新建一个新的工程工程.5、在左边的树形结构窗内,选择“工程管埋-根本操作-功能描述良开
4、发日志”,进行工程功能的描述.6、在左边的树形结构窗内,选择“工程管理-根本设冏-HC595J65”,设置如下;工作模式:端口选择:595片选择:595数据输出:时钟:HC595PORTBBITOBIT2BIT1.7、在左边的树形结构窗内,选择“工程管理-端口设设-前门B”,物引脚3-引脚5设置如下:8、增加全局函数SeIect1.ED和Drav1.ED使用情况功能选择输入输出名称置高置低引脚3使用IO输出AOAO.SetHighA0_Set1.ow引脚4使用IO愉出A1.A1.SetHighA1.eSet1.ow引脚5使用IO输出A2A2.SetHighA2_Set1.ow设置如下:Se1.
5、ect1.ED函数实现IvoidSo1.。Ct1.ED(UintR返回类型函数参数参数类型Se1.ect1.EDvoidUint8u8_NuBbervoidDraw1.EDvoidUintSu8.NuaberUint8u8-Pointvoidu8Number)/HC595165rite595Byte(Oxff);/Sc1.ect595;/DeSeIect595:DraWtED(255,0);switch(u8Nunber)(case0:A2_Sct1.ow:A1.Set1.ov:AOSet1.ow:break;case 5:2SetHih:A1._Set1.ow;AO.SetHigh:brea
6、k:case 6:A2_SotHigh:A1.SetHigh;AOSet1.ow:break:case 7:2.SetHigh:A1.SctHigh:AO_SetHigh:break:DeSe1.ect595;)A1.Set1.ov;AOSet1.ov;broak:CaSe1:A2Set1.ov;A1.Set1.ov;0SetHigh:break;case2:A2_Set1.ov:A1.SetHigh:AOSet1.ov;brock:case3:A2_Sei1.r)caseO:u8Char=0xc0;break;CaSC1:u8Chdr二OXf9;break:case 2: u8Char=Ox
7、a*!;break:case 3: u8_Char=0xb0;break;case 4: u8_Char=0x99;break;CaSC5:u8Chdr=0x92;break:case 6:u8Char=0x82;break;case 7:UBKhar=OXi8:break;case 8:u8Char0x80:break;case 9:u8Qar=0x90;break;case11:u8Char=Oxff;break;case255:u8Char=OxIT:break;)if(u8Point-1)(Ci.RBIT(u8Char.BIT7);)IIC595165Write595Byte(u8Ch
8、ar):Se1.et595;9、在左边的树形结构窗内,选择“工程管理端口设置端口C”,将引脚O引脚5设置如下:10、增加功能宏Se1.ectS1.、Se1.eCtS2、Se1.ectS3设就如下:使用情况功能选择怆入谕出名称过高置低测试引脚0使用IO出S1.S1.DeSe1.eCtS1.eSe1.ect引脚1使用IO入R1.R1._Test引脚2使用IO*出S2S2,DeS1.ctS2-S1.ect引脚3使用IO入R2R2_Test引脚4使用IQ出S3S3J)eSe1.ectS3-S1.ect引脚5使用IO,入R3R3-Test功能宏名称功能宏实现Se1.ectS1.S1.Se1.eCt1.S
9、2J)Se1.ectS3_DeSe1.eetSSQ1.oCtS2S1.-DeS1.ectS2-Se1.ecttS3-DeSe1.ectSe1.ectS3S1.J)eSe1.ectS2.DeSe1.ectS3-Se1.ect11、在左边的树形结构窗内,选择“工程管理-端11设置-端口D”,将引脚4设的如下:使用情况功能选择输入输出名称置高置低IO输出BeepBep-ShutBep-0pen12、在左边的树形结构窗内,选择“工程管理-用户程序-MainJogic.c”,在程序编写窗【I内情入程中.13、在左边的树形结构窗内,选择“工程管理-根本操作-牛.成卜载”,点击”生成程序文件按钮.14、程序
10、编译成功后,接通硬件实验平台电源,将目标文件下载到硬件实验平台.四、设计程序voidVhin_1.ogic(void)(/沁1.Oop5:for(i=0ji定义局篇变出(forj三0jjb.c,d,e.f,%hk,i,j;ISe1.ect1.ED(O):/*DraSEDa.0):deIny11x();初始化幡人皆即Se1.ect1.ED(I):*科*才*F*ud*WF*Draw1.EDi.0);/de1.ay_1.iis();Sr1.cct1.HD(2);/*Dw1.HKiMde1.ayJnsO:如始化工祝中用到的乂它硬力和殳QSe1.ect1.ED(三):2b=1.1.:c=0:d=1.1.
11、;c=O;F);g=O:h=4:Drav1.BDO);de1.ay.InsO:Sekct1.ED(I):Drav1.1.D(ivO);de1.ny_ns();SeIea1.ED(5):Drv1.JD(i.O):dr1.ny_)nx();Sekct1.ED(G);Drag1.HK1.O);de1.ay1.ns():Sr1.cct1.D(7);Drav1.EO(UO);de1.ayInsO:BeOpen;dr1.ny_10w();BZP_ShUt:de1.oy-11s0:Se1.ect1.ED(I):Dia1.ed(.0):drInyInx();SoIGCt1.ED;Drav1.EDtf.0):d
12、e1.ayIns():ScIcct1.KDO);Drav1.ED(e,0);de1.ayInsO:SaIeC1.1.ED(4):Drav1.HXd.0);de1.ayIf1.SO;SeMCt1.ED(5):Drav1.ED(c.O);dr1.ny_1.nx();SOIGCt1.ED(6);Drav1.EDCb.0):de1.ay_1.ts():Se1.cct1.KD(7);Drav1.IiDa,O):de1.ayInsO:Se1.ectSi:K1.Test后台主钻环vhiUD在这里完成自己的工程逻辑/*定时显示*/1.OoP8:for(k=O;k1.:)(Se1.ect1.ED(O);Drag
13、1.EMh,0):e1.seIdo1.ny_2Ms():R1.Test()e1.seIPOPUn:de1.ay_IMX1.nx();Bwp_Shut;Ci:goto1.ooP6;)R2_Test(Ie1.sede1.ay20msO:R2JetI)e1.seIBrcp(Iprn;de1.ay100nsO:BeepShut;de1.ayKX1.tisO;IircpOpm;de1.ayIOdnsO;BeepShut;C=C*2;gotoI.op6:)IR:1.Tcxt(Je1.seIde1.ay_2011sO;R3Test)e1.se(BecpOpen:dc1ay:如MO:de1.ayM)msO:BeepShut;de1.ayJMciO:de1.ay3011();BeePJon;de1.ayW1