AVR单片机Atmega48程序设计报告-比赛计时计分器_第1页
AVR单片机Atmega48程序设计报告-比赛计时计分器_第2页
AVR单片机Atmega48程序设计报告-比赛计时计分器_第3页
AVR单片机Atmega48程序设计报告-比赛计时计分器_第4页
AVR单片机Atmega48程序设计报告-比赛计时计分器_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、AVR单片机程序设计比赛计时计分器 PAGE - 16 -设计目的本设计是基基于ATMMEGA448单片机机的比赛计计时计分器器,利用88路7段LLED数码码管作为显显示器件,采用3乘33矩阵式键键盘作为输输入,主要用于于各种体育育比赛记录录分数,在此设计计中共接入入了2个四位一体7段LED数码码管显示器器,第一个个显示器为为一个倒数数计时,第第二个显示示器为两队队得分。本设计中的的倒数计时时器时间为为40分钟钟,可以进进行开始计计时、暂停停计时的操操作,分别别通过S33_1、SS3_2按按钮实现,并并通过蜂鸣鸣器表示是是否操作成成功,时间间通过1个四位一体7段LED数码码管显示器器显示,前前

2、两位为分分钟数,后后两位为秒秒数。本设计中可可以对两队得分进行加加1分、加2分、加3分操作,分别别通过S1_1、S11_2、SS1_3、S2_11、S2_2、S22_3按钮钮实现,并并通过蜂鸣鸣器的不同同工作方式式表示是否否操作成功功与所加的的分值。得分通过11个四位一体7段LED数码码管显示器器显示,每每队得分显示两位数,显示范围围为099分。本设计可以以进行清零零操作,清清零后倒计计时恢复440分钟,得得分均为00,通过S3_3按钮实实现,并通通过蜂鸣器器表示是否否操作成功功。设计思路本设计中由由AVR核核心板、数数码管、蜂蜂鸣器、33乘3矩阵阵键盘四部部分组成。电路中PPORT_B端口连

3、连接数码管管,显示八八位,完成成倒计时与与记录每队队得分,PPORT_C与3乘乘3矩阵键键盘相连,由由按键控制制完成初始始化、开始始与暂停计计时以及加加分的功能能,PORRT_D与与蜂鸣器端端口相连,根根据所加得得分的不同同,开始与与暂停计时时,初始化化,蜂鸣器器有不同的的应答方式式。本设计中的的程序主要要分为两个个部分,即即暂停计时时时的显示示与开始计计时时的显显示。暂停停计时时与与开始计时时时都可以以对每队加加分,初始始化。设计电路图图图一 接接口模块电电路图二 蜂蜂鸣器电路路图三 88路7段LLED数码码管电路图四 33*3矩阵阵控制键盘盘电路设计过程关闭硬件实实验平台电电源。将下载器与

4、与主控单片片机的下载载口P5相相连。使用3条22*5排线线连接P110和P114端口、P11和和P19端端口、P113和P44端口,从从电路图上上分析,PPB口与LLED显示示器相连,PPC口与33*3矩阵阵按键相连连,PD口口与蜂鸣器器相连。打开智能开开发环境,新新建一个新新的工程项项目。在左边的树树形结构窗窗内,选择择“工程管理理-基本操操作-功能能描述&开开发日志”,进行项项目功能的的描述。在左边的树树形结构窗窗内,选择择“工程管理理-基本设设置-HCC595_165”,设置如如下:工作模式:端口选择:595片选选择:595数据据输出:时钟:HC5955PORTBBBIT0BIT2BIT

5、1在左边的树树形结构窗窗内,选择择“工程管理理-端口设设置-端口口B”,将引脚脚3-引脚脚5设置如如下:使用情况功能选择输入输出名称置高置低引脚3使用IO输出A0A0_SeetHigghA0_SeetLoww引脚4使用IO输出A1A1_SeetHigghA1_SeetLoww引脚5使用IO输出A2A2_SeetHigghA2_SeetLoww增加全局函函数SellectLLED和DDrawLLED设置置如下:返回类型函数参数参数类型SelecctLEDDvoidUint88 u8_NumbbervoidDrawLLEDvoidUint88 u8_Numbber,UUint88 u8_Poinn

6、tvoidSelecctLEDD函数实现现:void SeleectLEED(uiint8 u8_NNumbeer)/HC5595_1165_WWritee595BByte(0 xfff);/Sellect5595;/DeSSelecct5955;DrawLLED(2255,00);switcch (uu8_Nuumberr)case 0: AA2_SeetLoww; AA1_SeetLoww; AA0_SeetLoww; bbreakk;case 1: AA2_SeetLoww; AA1_SeetLoww; AA0_SeetHiggh; bbreakk;case 2: AA2_SeetLow

7、w; AA1_SeetHiggh; AA0_SeetLoww; bbreakk;case 3: AA2_SeetLoww; AA1_SeetHiggh; AA0_SeetHiggh; bbreakk;case 4: AA2_SeetHiggh; AA1_SeetLoww; AA0_SeetLoww; bbreakk;case 5: AA2_SeetHiggh; AA1_SeetLoww; AA0_SeetHiggh; bbreakk;case 6: AA2_SeetHiggh; AA1_SeetHiggh; AA0_SeetLoww; bbreakk;case 7: AA2_SeetHiggh

8、; AA1_SeetHiggh; AA0_SeetHiggh; bbreakk;DrawLLED函数数实现:Void DrawwLED(uintt8 u88_Nummber,uintt8 u88_Poiint)uint88 u8_Charr=0;switcch (uu8_Nuumberr)case 0: uu8_Chhar=00 xc0; bbreakk;case 1: uu8_Chhar=00 xf9; bbreakk; case 2: uu8_Chhar=00 xa4; bbreakk;case 3: uu8_Chhar=00 xb0; bbreakk;case 4: uu8_Chhar=

9、00 x99; bbreakk;case 5: uu8_Chhar=00 x92; bbreakk;case 6: uu8_Chhar=00 x82; bbreakk;case 7: uu8_Chhar=00 xf8; bbreakk;case 8: uu8_Chhar=00 x80; bbreakk;case 9: uu8_Chhar=00 x90; bbreakk;case 11: uu8_Chhar=00 xff; bbreakk;case 255: uu8_Chhar=00 xFF; bbreakk;if (uu8_Pooint=1) CCLRBIIT(u88_Chaar,BIIT7)

10、;HC5955_1655_Wriite5995Bytte(u88_Chaar);Selecct5955;DeSellect5595;在左边的树树形结构窗窗内,选择择“工程管理理-端口设设置-端口口C”,将引脚脚0-引脚脚5设置如如下:使用情况功能选择输入输出名称置高置低测试引脚0使用IO输出S1S1_DeeSeleectS1_Seelectt引脚1使用IO输入R1R1_Teest引脚2使用IO输出S2S2_DeeSeleectS2_Seelectt引脚3使用IO输入R2R2_Teest引脚4使用IO输出S3S3_DeeSeleectS3_Seelectt引脚5使用IO输入R3R3_Teest增

11、加功能宏宏SeleectS11、SellectSS2、SeelecttS3设置置如下:功能宏名称称功能宏实现现SelecctS1S1_Seelectt;S2_DeSeelectt;S3_DeSeelectt;SelecctS2S1_DeeSeleect;SS2_Seelectt;S3_DeSeelectt;SelecctS3S1_DeeSeleect;SS2_DeeSeleect;SS3_Seelectt;在左边的树树形结构窗窗内,选择择“工程管理理-端口设设置-端口口D”,将引脚脚4设置如如下:使用情况功能选择输入输出名称置高置低使用IO输出BeepBeep_ShuttBeep_Openn在

12、左边的树树形结构窗窗内,选择择“工程管理理-用户程程序-Maain_LLogicc.c”,在程序序编写窗口口内输入程程序。在左边的树树形结构窗窗内,选择择“工程管理理-基本操操作-生成成下载”,点击“生成程序序文件”按钮。程序编译成成功后,接接通硬件实实验平台电电源,将目目标文件下下载到硬件件实验平台台。四、设计程程序void Mainn_Loggic(vvoid)/*定义局部部变量*/uintt8 a,b,c,d,e,f,g,h,k,i,j;/*初始化输输入管脚*/*初始化项项目中用到到的其它硬硬件和变量量*/ Loopp5:for (i=00;i110;i+)forr (j=0;j5;j+

13、)SeelecttLED(0);DrrawLEED(i,0);deelay_1ms();SeelecttLED(1);DrrawLEED(i,0);deelay_1ms();SeelecttLED(2);DrrawLEED(i,0);deelay_1ms();SeelecttLED(3);DrrawLEED(i,0);deelay_1ms();SeelecttLED(4);DrrawLEED(i,0);deelay_1ms();SeelecttLED(5);DrrawLEED(i,0);deelay_1ms();SeelecttLED(6);DrrawLEED(i,0);deelay_1ms(

14、);SeelecttLED(7);DrrawLEED(i,0);deelay_1ms();Beeep_OOpen;deelay_10mss();Beeep_SShut;a=0;b=111;c=0;d=111;e=0;f=0;g=0;h=4;/*后台主循循环*/whille(1)/*在这里里完成自己己的项目逻逻辑*/*定定时显示*/Looop8:ffor (k=0;k1;)SeelecttLED(0);DrrawLEED(h,0);deelay_1ms();SeelecttLED(1);DrrawLEED(g,0);deelay_1ms();SeelecttLED(2);DrrawLEED(f,

15、0);deelay_1ms();SeelecttLED(3);DrrawLEED(e,0);deelay_1ms();SeelecttLED(4);DrrawLEED(d,0);deelay_1ms();SeelecttLED(5);DrrawLEED(c,0);deelay_1ms();SeelecttLED(6);DrrawLEED(b,0);deelay_1ms();SeelecttLED(7);DrrawLEED(a,0);deelay_1ms();SeelecttS1;R11_Tesstellse ddelayy_20mms();RR1_Teesteelse Beepp_Opeen;

16、delaay_3000ms();Beepp_Shuut;c+;gotoo Looop6;R22_Tesstellse ddelayy_20mms();RR2_Teesteelse Beepp_Opeen;delaay_1000ms();Beepp_Shuut;delaay_1000ms();Beepp_Opeen;delaay_1000ms();Beepp_Shuut;c=c+2;gotoo Looop6;R33_Tesstellse ddelayy_20mms();RR3_Teesteelse Beepp_Opeen;delaay_300ms();delaay_300ms();Beepp_S

17、huut;delaay_300ms();delaay_300ms();Beepp_Opeen;delaay_300ms();delaay_300ms();Beepp_Shuut;delaay_300ms();delaay_300ms();Beepp_Opeen;delaay_300ms();delaay_300ms();Beepp_Shuut;c=c+3;gotoo Looop6;SeelecttS2;R11_Tesstellse ddelayy_20mms();RR1_Teesteelse Beepp_Opeen;delaay_3000ms();Beepp_Shuut;a+;gotoo Lo

18、oop7;R22_Tesstellse ddelayy_20mms();RR2_Teesteelse Beepp_Opeen;delaay_1000ms();Beepp_Shuut;delaay_1000ms();Beepp_Opeen;delaay_1000ms();Beepp_Shuut;a=a+2;gotoo Looop7;R33_Tesstellse ddelayy_20mms();RR3_Teesteelse Beepp_Opeen;delaay_300ms();delaay_300ms();Beepp_Shuut;delaay_300ms();delaay_300ms();Beep

19、p_Opeen;delaay_300ms();delaay_300ms();Beepp_Shuut;delaay_300ms();delaay_300ms();Beepp_Opeen;delaay_300ms();delaay_300ms();Beepp_Shuut;a=a+3;gotoo Looop7;SeelecttS3;R11_Tesstellse ddelayy_20mms();RR1_Teesteelse Beepp_Opeen;delaay_2000ms();Beepp_Shuut;gotoo Looop3;R33_Tesstellse ddelayy_20mms();RR3_Te

20、esteelse gotoo Looop5;/*AA队定时得得分累计*/forr (b=0;b99) aa=a-110;foor (;a100;)ggoto Loopp8;LLoop77:if(k1) a=a;iff(b=11) b=00;/*BB定时队得得分累计*/forr (d=0;d99) cc=c-110;foor (;c100;)ggoto Loopp8;LLoop66:if(k1) c=c;iff(d=11) d=00;/*AA队计时得得分累计*/forr (b=0;b99) aa=a-110;foor (;a100;)ggoto Loopp4;LLoop22:if(k1) a=a

21、;iff(b=11) b=00;/*BB队计时得得分累计*/forr (d=0;d99) cc=c-110;foor (;c100;)ggoto Loopp4;LLoop11:if(k1) c=c;iff(d=11) d=00;/*倒倒数计时*/forr (h=3;h10;hh-)foor (gg=9;gg10;g-)ffor (f=5;f100;f)for (e=99;e110;)gotoo Looop3;Loopp4:iff(k11) e=e;/*计计时显示*/Looop3:forr (k=0;k1;)foor (ii=0;ii1122;i+)SSelecctLEDD(0);DDrawLL

22、ED(hh,0);ddelayy_1mss();SSelecctLEDD(1);DDrawLLED(gg,0);ddelayy_1mss();SSelecctLEDD(2);DDrawLLED(ff,0);ddelayy_1mss();SSelecctLEDD(3);DDrawLLED(ee,0);ddelayy_1mss();SSelecctLEDD(4);DDrawLLED(dd,0);ddelayy_1mss();SSelecctLEDD(5);DDrawLLED(cc,0);ddelayy_1mss();SSelecctLEDD(6);DDrawLLED(bb,0);ddelayy_1

23、mss();SSelecctLEDD(7);DDrawLLED(aa,0);ddelayy_1mss();SSelecctS1;RR1_Teesteelse delaay_200ms();R1_TTestelsee Beepp_Opeen;delaay_3000ms();Beepp_Shuut;c+;e-;gotoo Looop1;RR2_Teesteelse delaay_200ms();R2_TTestelsee Beepp_Opeen;delaay_1000ms();Beepp_Shuut;delaay_1000ms();Beepp_Opeen;delaay_1000ms();Beepp

24、_Shuut;c=c+2;e-;gotoo Looop1;RR3_Teesteelse delaay_200ms();R3_TTestelsee Beepp_Opeen;delaay_300ms();delaay_300ms();Beepp_Shuut;delaay_300ms();delaay_300ms();Beepp_Opeen;delaay_300ms();delaay_300ms();Beepp_Shuut;delaay_300ms();delaay_300ms();Beepp_Opeen;delaay_300ms();delaay_300ms();Beepp_Shuut;c=c+3;e-;gotoo Looop1;SSelecctS2;RR1_Teesteelse delaay_200ms();R1_TTestelsee Beepp_Opeen;delaay_3000ms();

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论