ImageVerifierCode 换一换
格式:DOC , 页数:15 ,大小:568KB ,
资源ID:4511219      下载积分:5 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4511219.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(AVR单片机Atmega48程序设计报告——比赛计时计分器.doc)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

AVR单片机Atmega48程序设计报告——比赛计时计分器.doc

1、一、 设计目的 本设计是基于ATMEGA48单片机的比赛计时计分器,利用8路7段LED数码管作为显示器件,采用3乘3矩阵式键盘作为输入,主要用于各种体育比赛记录分数,在此设计中共接入了2个四位一体7段LED数码管显示器,第一个显示器为一个倒数计时,第二个显示器为两队得分。 本设计中的倒数计时器时间为40分钟,可以进行开始计时、暂停计时的操作,分别通过S3_1、S3_2按钮实现,并通过蜂鸣器表示是否操作成功,时间通过1个四位一体7段LED数码管显示器显示,前两位为分钟数,后两位为秒数。 本设计中可以对两队得分进行加1分、加2分、加3分操作,分别通过S1_1、S1_2、S1_3、S2_1、S

2、2_2、S2_3按钮实现,并通过蜂鸣器的不同工作方式表示是否操作成功与所加的分值。得分通过1个四位一体7段LED数码管显示器显示,每队得分显示两位数,显示X围为0~99分。 本设计可以进行清零操作,清零后倒计时恢复40分钟,得分均为0,通过S3_3按钮实现,并通过蜂鸣器表示是否操作成功。 二、 设计思路 本设计中由AVR核心板、数码管、蜂鸣器、3乘3矩阵键盘四部分组成。电路中PORT_B端口连接数码管,显示八位,完成倒计时与记录每队得分,PORT_C与3乘3矩阵键盘相连,由按键控制完成初始化、开始与暂停计时以与加分的功能,PORT_D与蜂鸣器端口相连,根据所加得分的不同,开始与暂停计时,

3、初始化,蜂鸣器有不同的应答方式。 本设计中的程序主要分为两个部分,即暂停计时时的显示与开始计时时的显示。暂停计时时与开始计时时都可以对每队加分,初始化。 三、 设计电路图 图一 接口模块电路 图二 蜂鸣器电路 图三 8路7段LED数码管电路 图四 3*3矩阵控制键盘电路 四、 设计过程 1、 关闭硬件实验平台电源。 2、 将下载器与主控单片机的下载口P5相连。 3、 使用3条2*5排线连接P10和P14端口、P11和P19端口、P13和P4端口,从电路图上分析,PB口与LED显示器相连,PC口与3*3矩阵按键相连,PD口与蜂鸣器相连。 4、 打开智

4、能开发环境,新建一个新的工程项目。 5、 在左边的树形结构窗内,选择“工程管理-基本操作-功能描述&开发日志”,进行项目功能的描述。 6、 在左边的树形结构窗内,选择“工程管理-基本设置-HC595_165”,设置如下: 工作模式: 端口选择: 595片选择: 595数据输出: 时钟: HC595 PORTB BIT0 BIT2 BIT1 7、 在左边的树形结构窗内,选择“工程管理-端口设置-端口B”,将引脚3-引脚5设置如下: 使用情况 功能选择 输入输出 名称 置高 置低 引脚3 使用 IO 输出 A0 A0_SetHigh A0

5、SetLow 引脚4 使用 IO 输出 A1 A1_SetHigh A1_SetLow 引脚5 使用 IO 输出 A2 A2_SetHigh A2_SetLow 8、 增加全局函数SelectLED和DrawLED设置如下: 返回类型 函数参数 参数类型 SelectLED void Uint8 u8_Number void DrawLED void Uint8 u8_Number,Uint8 u8_Point void SelectLED函数实现: - 15 - / 15 void SelectLED(uint8 u8_Nu

6、mber) { //HC595_165_Write595Byte(0xff); //Select595; //DeSelect595; DrawLED(255,0); switch (u8_Number) { case 0: A2_SetLow; A1_SetLow; A0_SetLow; break; case 1: A2_SetLow; A1_SetLow; A0_SetHigh; break; case 2: A2_SetLow; A1_SetHigh; A0

7、SetLow; break; case 3: A2_SetLow; A1_SetHigh; A0_SetHigh; break; case 4: A2_SetHigh; A1_SetLow; A0_SetLow; break; case 5: A2_SetHigh; A1_SetLow; A0_SetHigh; break; case 6: A2_SetHigh; A1_SetHigh; A0_SetLow; bre

8、ak; case 7: A2_SetHigh; A1_SetHigh; A0_SetHigh; break; } } DrawLED函数实现: VoidDrawLED(uint8 u8_Number,uint8 u8_Point) { uint8 u8_Char=0; switch (u8_Number) { case 0: u8_Char=0xc0; break; case 1: u8_Char=0xf9; break; case 2: u8_Char=0xa4;

9、 break; case 3: u8_Char=0xb0; break; case 4: u8_Char=0x99; break; case 5: u8_Char=0x92; break; case 6: u8_Char=0x82; break; case 7: u8_Char=0xf8; break; case 8: u8_Char=0x80; break; case 9: u8_Char=0x90; break; case 1

10、1: u8_Char=0xff; break; case 255: u8_Char=0xFF; break; } if (u8_Point==1) { CLRBIT(u8_Char,BIT7); } HC595_165_Write595Byte(u8_Char); Select595; DeSelect595; } 9、 在左边的树形结构窗内,选择“工程管理-端口设置-端口C”,将引脚0-引脚5设置如下: 使用情况 功能选择 输入输出 名称 置高 置低 测试 引脚0 使用 IO 输出

11、S1 S1_DeSelect S1_Select 引脚1 使用 IO 输入 R1 R1_Test 引脚2 使用 IO 输出 S2 S2_DeSelect S2_Select 引脚3 使用 IO 输入 R2 R2_Test 引脚4 使用 IO 输出 S3 S3_DeSelect S3_Select 引脚5 使用 IO 输入 R3 R3_Test 10、 增加功能宏SelectS1、SelectS2、SelectS3设置如下: 功能宏名称 功能宏实现 SelectS1 S1_Selec

12、t;S2_DeSelect;S3_DeSelect; SelectS2 S1_DeSelect;S2_Select;S3_DeSelect; SelectS3 S1_DeSelect;S2_DeSelect;S3_Select; 11、 在左边的树形结构窗内,选择“工程管理-端口设置-端口D”,将引脚4设置如下: 使用情况 功能选择 输入输出 名称 置高 置低 使用 IO 输出 Beep Beep_Shut Beep_Open 12、 在左边的树形结构窗内,选择“工程管理-用户程序-Main_Logic.c”,在程序编写窗口内输入程序。 13、 在左边

13、的树形结构窗内,选择“工程管理-基本操作-生成下载”,点击“生成程序文件”按钮。 14、 程序编译成功后,接通硬件实验平台电源,将目标文件下载到硬件实验平台。 四、设计程序 void Main_Logic(void) { /* ********************** 定义局部变量 ********************** */ uint8 a,b,c,d,e,f,g,h,k,i,j; /* ************************** 初始化输入管脚 ************************** */ /

14、 ******************************** 初始化项目中用到的其它硬件和变量 ******************************** */ Loop5: for (i=0;i<10;i++) { for (j=0;j<5;j++) { SelectLED(0); DrawLED(i,0); delay_1ms(); SelectLED(1); DrawLED(i,0); delay_1ms(); SelectLED(2); DrawLED(i,0);

15、 delay_1ms(); SelectLED(3); DrawLED(i,0); delay_1ms(); SelectLED(4); DrawLED(i,0); delay_1ms(); SelectLED(5); DrawLED(i,0); delay_1ms(); SelectLED(6); DrawLED(i,0); delay_1ms(); SelectLED(7); DrawLED(i,0); delay_1ms(); Beep_Open;

16、delay_10ms(); Beep_Shut; } } a=0; b=11; c=0; d=11; e=0; f=0; g=0; h=4; /* ************************* 后台主循环 ************************* */ while(1) { /* ***************************** 在这里完成自己的项目逻辑 ***************************** */ /*定时

17、显示*/ Loop8:for (k=0;k<1;) { SelectLED(0); DrawLED(h,0); delay_1ms(); SelectLED(1); DrawLED(g,0); delay_1ms(); SelectLED(2); DrawLED(f,0); delay_1ms(); SelectLED(3); DrawLED(e,0); delay_1ms(); SelectLED(4); DrawLED(d,0); delay_1ms();

18、 SelectLED(5); DrawLED(c,0); delay_1ms(); SelectLED(6); DrawLED(b,0); delay_1ms(); SelectLED(7); DrawLED(a,0); delay_1ms(); SelectS1; R1_Test { } else { delay_20ms(); R1_Test { } else { Beep_Open; d

19、elay_300ms(); Beep_Shut; c++; goto Loop6; } } R2_Test { } else { delay_20ms(); R2_Test { } else { Beep_Open; delay_100ms(); Beep_Shut; delay_100ms(); Beep_Open; delay_100ms(); B

20、eep_Shut; c=c+2; goto Loop6; } } R3_Test { } else { delay_20ms(); R3_Test { } else { Beep_Open; delay_30ms(); delay_30ms(); Beep_Shut; delay_30ms(); delay_30ms(); Beep_Open; del

21、ay_30ms(); delay_30ms(); Beep_Shut; delay_30ms(); delay_30ms(); Beep_Open; delay_30ms(); delay_30ms(); Beep_Shut; c=c+3; goto Loop6; } } SelectS2; R1_Test { } else { delay_20ms(); R1_Test {

22、 } else { Beep_Open; delay_300ms(); Beep_Shut; a++; goto Loop7; } } R2_Test { } else { delay_20ms(); R2_Test { } else { Beep_Open; delay_100ms(); Beep_Shut; delay_100m

23、s(); Beep_Open; delay_100ms(); Beep_Shut; a=a+2; goto Loop7; } } R3_Test { } else { delay_20ms(); R3_Test { } else { Beep_Open; delay_30ms(); delay_30ms(); Beep_Shut; delay_30ms

24、); delay_30ms(); Beep_Open; delay_30ms(); delay_30ms(); Beep_Shut; delay_30ms(); delay_30ms(); Beep_Open; delay_30ms(); delay_30ms(); Beep_Shut; a=a+3; goto Loop7; } } SelectS3; R1_Test { }

25、else { delay_20ms(); R1_Test { } else { Beep_Open; delay_200ms(); Beep_Shut; goto Loop3; } } R3_Test { } else { delay_20ms(); R3_Test { } else { goto Loop5; } }

26、 } /*A队定时得分累计*/ for (b=0;b<10;b++) { if(a>9) a=a-10; for (;a<10;) { goto Loop8; Loop7:if(k<1) a=a; } if(b==11) b=0; } /*B定时队得分累计*/ for (d=0;d<10;d++) { if(c>9) c=c-10; for (;c<10;) { goto Loop8; Loop6:if(k<1) c=c; }

27、 if(d==11) d=0; } /*A队计时得分累计*/ for (b=0;b<10;b++) { if(a>9) a=a-10; for (;a<10;) { goto Loop4; Loop2:if(k<1) a=a; } if(b==11) b=0; } /*B队计时得分累计*/ for (d=0;d<10;d++) { if(c>9) c=c-10; for (;c<10;) { goto Loop4; Loop1

28、if(k<1) c=c; } if(d==11) d=0; } /*倒数计时*/ for (h=3;h<10;h--) { for (g=9;g<10;g--) { for (f=5;f<10;f--) { for (e=9;e<10;) { goto Loop3; Loop4:if(k<1) e=e; } } } } /*计时显示*/ Loop3: for (k=0;k<1;) { f

29、or (i=0;i<112;i++) { SelectLED(0); DrawLED(h,0); delay_1ms(); SelectLED(1); DrawLED(g,0); delay_1ms(); SelectLED(2); DrawLED(f,0); delay_1ms(); SelectLED(3); DrawLED(e,0); delay_1ms(); SelectLED(4); DrawLED(d,0); delay_1m

30、s(); SelectLED(5); DrawLED(c,0); delay_1ms(); SelectLED(6); DrawLED(b,0); delay_1ms(); SelectLED(7); DrawLED(a,0); delay_1ms(); SelectS1; R1_Test { } else { delay_20ms(); R1_Test { } else

31、 { Beep_Open; delay_300ms(); Beep_Shut; c++; e--; goto Loop1; } } R2_Test { } else { delay_20ms(); R2_Test { } else { Beep_Open; delay_100ms(); Beep_Shut;

32、 delay_100ms(); Beep_Open; delay_100ms(); Beep_Shut; c=c+2; e--; goto Loop1; } } R3_Test { } else { delay_20ms(); R3_Test { } else { Beep_Open; delay_30ms(); del

33、ay_30ms(); Beep_Shut; delay_30ms(); delay_30ms(); Beep_Open; delay_30ms(); delay_30ms(); Beep_Shut; delay_30ms(); delay_30ms(); Beep_Open; delay_30ms(); delay_30ms(); Beep_Shut; c=c+3; e--;

34、 goto Loop1; } } SelectS2; R1_Test { } else { delay_20ms(); R1_Test { } else { Beep_Open; delay_300ms(); Beep_Shut; a++; e--; goto Loop2; } } R2_Test {

35、 } else { delay_20ms(); R2_Test { } else { Beep_Open; delay_100ms(); Beep_Shut; delay_100ms(); Beep_Open; delay_100ms(); Beep_Shut; a=a+2; e--; goto Loop2; } } R

36、3_Test { } else { delay_20ms(); R3_Test { } else { Beep_Open; delay_30ms(); delay_30ms(); Beep_Shut; delay_30ms(); delay_30ms(); Beep_Open; delay_30ms(); delay_30ms(); Beep

37、Shut; delay_30ms(); delay_30ms(); Beep_Open; delay_30ms(); delay_30ms(); Beep_Shut; a=a+3; e--; goto Loop2; } } SelectS3; R2_Test { } else { delay_20ms(); R2_Test { }

38、 else { Beep_Open; delay_200ms(); Beep_Shut; goto Loop8; } } R3_Test { } else { delay_20ms(); R3_Test { } else { goto Loop5; } } } delay_1ms(); delay_1ms(); delay_1ms(); delay_1ms(); delay_1ms(); delay_1ms(); e--; goto Loop4; } /* **************************************** 以下语句为喂狗程序,大部分工程都不应删除 **************************************** */ #ifdef Per_WDT wdt_reset(); #endif } } 五、程序流程

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服