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

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3191850.html】到电脑端继续下载(重复下载不扣费)。

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

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机基本知识及应用实训报告实篮球记分牌Word格式文档下载.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

单片机基本知识及应用实训报告实篮球记分牌Word格式文档下载.docx

1、加分显示24秒倒计时显示12分钟倒计时显示犯规次数显示YN1.3方案比较1.3.1 方案1:是通过按不同的键来切换不同的输入,使用不同的LED灯的亮灭来显示不同的队加分。电路图: 1.3.2 方案2:通过一个键来切换分数,24s倒计时,12分钟倒计时和犯规次数,通过LED灯的亮来判断是那个队加分,那个队犯规,12分钟倒计时结束。另外,给a队b队加分和加犯规次数。通过按键,选择哪种显示方式,暂停/开始24s倒计时,重置24s;电路图:1.4方案论证1.4.1总体思路7个按键实现对应功能:P16对应a队加分,第一个红灯亮;P10对应b队加分,第二个红灯亮;P11对应显示切换,切换有四类显示方式,第

2、一类是a队跟b队的比分显示,且各两个数码管显示。第二类是24s倒计时的显示。第三类是12分钟倒计时的显示。第四类是a队跟b队的犯规次数显示;P12对应24秒倒计时暂停/开始;P13对应重置24s倒计时,同时24s倒计时暂停;P14对应a队加犯规次数,同时第三个红灯亮;P15对应b队加犯规次数,同时第四个红灯亮;外加复位键,按下则清零;24秒倒数为0时蜂鸣器响起警报,重新倒数时蜂鸣器关闭。12分钟倒计时结束时,蜂鸣器响起警报,红灯全亮。1.4.2设计方案使用了延时子程序(delay)用来按键消抖,还有定时中断程序来显示数码管,启止24s倒计时,12分钟倒计时,使用了P0口作为数码管的段选和P2口

3、的位选,使用P1口作为按键作为输入,P3口的发光二极管作为判断a队和b队的选择和作为模式的选择部分和蜂鸣器作为倒计时24秒的计时的时间到;在主程序里面有各按键的功能,a队加分,b队加分,切换功能,重置24s功能,a队加犯规,b队加犯规;2、模块电路的设计2.1 AT89S51单片机芯片在本设计中P3.7P3.4口接LED灯,P2.7口(28脚)接蜂鸣器电路,P1.0P1.6(17脚)口接7个按键,RST(9脚)接复位电路,P2.0P2.4(2124脚)接四位数码管的位选脚,P0.0P0.7(3239脚)接四位数码管段位脚,18、19脚接晶振电路,20脚接GND,31脚、40脚接VCC。2.2

4、四位共阴数码管电路2.3 复位电路2.4 内振荡电路(时钟电路)2.5 蜂鸣器电路2.6 下载口电路2.7 二极管显示电路3、开发软件及编程语言简介3.1 Keil C编程软件3.1.1 系统概述Keil C51是德国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非

5、常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。3.1.2. Keil C51单片机软件开发系统的整体结构C51工具包的整体结构,其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试

6、器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。3.2 Keil开发工具-uVision3 uVision3集成开发环境是一个基于Window的开发平台,包括一个全功能的源代码编辑器,一个项目管理器和一个MAKE工具。利用源代码编辑器可以高效地编辑源程序。利用项目管理器可以很方便地创建和维护项目,利用MAKE工具可以汇编,编译和连接。4、制作与调试过程4.1制作过程:4.1.1编程时用C语言编写并需要结合电路原理图编写;4.1.2在使用proteus软件仿真时,要找到元器件相应的符号及其使用方法; 4.1.

7、3在制作电路板时,由于使用万用板,在焊接元器件的管脚时需要注意焊锡的使用量,用量过多会导致该焊锡与其它的铜孔相连,有可能导致电路的某条支路短路;4.1.4在焊接按键时,需要分清楚其的管脚,可以用万用表测试管脚的导通,则可以区分管脚;4.1.5在焊接数码管的管脚时,应该注意其管脚的分布;4.1.6在焊接AT89S52的管脚时,需要注意分清各个管脚;4.1.7在焊接晶振的管脚时需要注意将其尽量靠近该芯片的XTAL1,XLAL2的两端;4.1.8在焊接下载端口的管脚时需要注意各管脚与芯片的管脚对应。4.2调试过程:4.2.1初步调试程序时并下载到芯片上时,通过操作验证“暂停部分的程序”在比赛结束后再

8、按暂停按键时,可以实现倒计时,但是当t=0时,开始出现乱码,针对该问题,需要在其暂停部分的程序加以“break”到相应的程序中,经调试,下载可以实现将程序跳出“死循环”。4.2.2在调试电路板时不能将程序下载到芯片的情况,经分析得出晶振接触不良。4.2.3 硬件搭建好后,发现程序下载不了,经检查发现,下载端口接反,下载口连接正确后,程序依然下载失败。经常长时间电路检查依然为发现问题。后面通过仔细查看单片机最小系统,最终发现单片机的EA端没接vcc导致单片机无法读取片内ROM。4.2.4 下载成功后,然后再补充了LED灯跟功能对应的显示。5、心得体会通过本次实训,发现自身在电子制作,程序编写方便

9、有着非常大的不足。对以往学习过的编程知识没有好好掌握,特别是编程这方便的知识较薄弱。学习过的知识在实际应用中仿佛是冰山一角,完全不够用,需要通过查阅很多资料才能解决到碰到的相关问题。而且实训中出现的问题都是实际应用出比较典型的问题。发现问题解决问题,通过不断的了解,对单片机原理及应用这门课有了更深刻的了解掌握。单片机技术在当今各方面领域有着极高的应用率,是一门动手能力非常强的技术。其中的程序和模块化元件看起来很简单,但是真正要自己设计有代表性出来是很难的,需要有扎实的知识基础,和较强的逻辑分析能力。这些条件我们都可以通过平时的努力来积累。碰到问题,先自己思考解决,再请教老师。这次实训还让我深刻

10、的体会了结构化程序设计的优势,让我懂得当我们要进行一个复杂的程序设计时应该先将其分解为多个不同的功能模块再分别编程实现,这样做不仅降低了编程的难度,也容易让编程者思路更加清晰,避免出现不必要的错误。在做仿真时,仿真图正确也不一定就是说明一定正确。做实物时,不仅要做到电路正确,也要尽可能做到布局合理、焊接到位,否则很有可能电路原理图正确、仿真图正确但是任然调试不出结果。另外,焊接的时候不能分心,否则极易出错。6、参考文献【1】喻宗泉单片机原理与应用技术西安:西安电子科技大学出版社。2006【2】李光飞单片机课程设计实例指导北京:航空航天大学出版社。2004【3】张欣单片机原理与C51程序设计基础

11、教程北京:清华大学出版社。20107、附录7.2.1 电路原理图7.2.2 PCB7.2.3 硬件正面图7.2.4 硬件反面图7.2.5元件清单:序号元件名称规格数量151单片机AT89S521个2晶振12M晶振4七段数码管4位共阴极5起振电容22pF瓷片电容2个6复位电容10uF7电阻1K5个8按键8个9LED4个10蜂鸣器11NPN80507.2.6 程序#include/*数码管段代码表*/unsigned char Tab=0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x45,0xDF,0xD7,0x20;unsigned char a=0,/a队分数 b=0

12、,/b队分数 afg=0,/a队犯规次数 bfg=0;/ b队犯规次数 unsigned char t=24, /倒计时24秒 k=0,/倒计时暂停/开始状态 h=0,/显示转换状态 miao=0,/秒钟 fen=12;/12分钟倒计时分钟int bittime=0; /循环次数int bitdisplay=0;/显示sbit P16=P16;/a队加分sbit P10=P10;/b队加分sbit P11=P11;/显示状态切换sbit P12=P12;/倒计时暂停/开始sbit P13=P13;/24s倒计时重置sbit P14=P14;/a队犯规加次数sbit P15=P15;/b队犯规加

13、次数sbit fmq=P27;/蜂鸣器/*定时中断服务程序*/void timer0 (void) interrupt 1 using 0 TH0=0Xf8;TL0=0x30;/定时器赋初值 switch (bitdisplay) case 0: P2=0xfe; if(h=0)P0=Taba/10;/a队分数十位显示 if(h=1)P0=Tabt/10;/倒计时十位显示 if(h=2)P0=Tabfen/10;/每节比赛12分钟,分钟十位显示 if(h=3)P0=Tabafg/10;/犯规的十位显示 break; case 1: P2=0xfd; if(h=0)P0=Taba%10;/a队分

14、数个位显示 if(h=1)P0=Tabt%10; /倒计时个位显示 if(h=2)P0=Tabfen%10;/分钟的个位显示 if(h=3)P0=Tabafg%10;/a犯规的个位显示 case 2: P2=0xfb; if(h=0)P0=Tabb/10; if(h=1)P0=0x00; if(h=2)P0=Tabmiao/10; if(h=3)P0=Tabbfg/10; case 3: P2=0xf7; if(h=0)P0=Tabb%10; if(h=2)P0=Tabmiao%10; if(h=3)P0=Tabbfg%10; bitdisplay+;bittime+; if(bitdispl

15、ay=4) bitdisplay=0;/数码管扫描 返回 if(bittime=500) bittime=0; if(k) if(t-=0) k=0;t=24;fmq=1; else fmq=0; if(miao-=0)if(fen=0)P3=0x0f;fen=12;miao=0;k=0;fen-;miao=59; /12分钟结束,4个灯全亮 /*延时程序*/void delay (unsigned int t) unsigned int aaa,bbb; for(aaa=0;aaa100;aaa+) for(bbb=0;bbb=4)h=0; /显示切换P12)/按键4P12) if(k+=2)k=0; /倒计时P13)/按键5 P13) t=24;/重置24s倒计时P14)/按键6P14)afg+;P3=0xbf;if(afg=60) afg=0;/a队犯规 P15)/按键7P15)bfg+;P3=0x7f;if(bfg=60) bfg=0;/b队犯规

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2