单片机原理及应用课程设计篮球比赛计分器_第1页
单片机原理及应用课程设计篮球比赛计分器_第2页
单片机原理及应用课程设计篮球比赛计分器_第3页
单片机原理及应用课程设计篮球比赛计分器_第4页
单片机原理及应用课程设计篮球比赛计分器_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、课 程 设 计 2011 年 3 月 18 日 课 程 单片机原理及应用课程设计 题 目 篮球比赛计分器 院 系 专业班级 学生姓名 学生学号 指导教师 课程 单片机原理及应用课程设计 题目 篮球比赛计分器 专业班级 姓名 学号 一、设计目的:训练学生综合运用己学课程的基本知识,独立进行单片机应用技术开发工作,掌握 单片机程序设计、调试,应用电路设计、分析及调试检测。 二、设计要求: 1. 应用 mcs-51 单片机设计一个篮球比赛计分器; 2. 能显示 2 个队的当前比分;根据各自得分情况进行加 1, 2,3 分; 3. 硬件设计根据设计的任务选定合适的单片机,根据控制对象设计接口电路。设计

2、的单元电 路必须有工作原理,器件的作用,分析和计算过程; 4. 软件设计根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行调试并 打印程序清单; 5. 原理图设计根据所确定的设计电路,利用 protel 等有关工具软件绘制电路原理图、pcb 板 图、提供元器件清单。 三、参考资料: 1 单片微型计算机与接口技术,李群芳、黄建编著,电子工业出版社; 2 单片机原理及应用,张毅刚编著,高等教育出版社; 3 51 系列单片机及 c51 程序设计,王建校,杨建国等编著,科学出版社; 4 单片机原理及接口技术,李朝青编著,北京航空航天大学出版社; 完成期限 2011.3.142011.3.

3、18 指导教师 专业负责人 2011 年 3 月 18 日 目 录 第 1 章 概 述 .1 第 2 章 设计分析 .1 2.1 功能分析.1 2.2 方案论述.1 第 3 章 系统详细设计 .1 3.1 硬件设计.2 3.1.1 单片机模块.2 3.1.2 按键模块 .3 3.1.3 数码显示模块 .4 3.2 软件设计.5 第 4 章 系统仿真与实验测试 .8 4.1 系统仿真.8 4.2 实验测试.9 第 5 章 结 论 .10 参考文献 .11 附录 1 控制源代码.12 附录 2 硬件总电路图.14 第第 1 1 章章 概述概述 单片机原理与应用是电子信息工程专业的一门重要专业课,对

4、应用能力和动 手能力要求很高,课程设计环节是学生学习该课程后进行的一项必不可少的基本训练。 并于大三下学期暑假进行,本人所选的课题是篮球赛计分器。 本课题以增强型单片机 at89c51 为核心,设计制作篮球比赛计分器。针对篮球比 赛中有得 1、2、3 分,有时还会出现加分错误的情况,本人设计的简易篮球赛计分器 主要通过按键实现以下功能:能够进行加 1、2、3 分;能够进行减 1 分。并通过 3 个 数码管进行显示。 第第 2 章章 设计分析设计分析 2 2.1.1 功能分析功能分析 根据前面的设计的任务的要求,本设计任务主要具有以下几个模块:单片机模块; 按键模块;数码显示模块。本设计由单片机

5、模块部分植入主程序,通过按键部分进行 加 1、2、3 分以及减 1 分操作,最终在 3 个 led 数码管上显示结果。 2.22.2 方案论述方案论述 本系统是以 c 语言作为编辑语言,采用单片机 at89c51 作为本设计的核心元件, 。利用 7 段共阳 led 作为显示器件。在此设计中共接入了 3 个 7 段共阳 led 显示器, 分别表示个位,十位,百位用于记录该队的分数, 3 个 led 显示器显示范围可达到 0999 分,能够满足篮球比赛的需要。并设置有 4 个按键:k1,k2,k3,k4。当比赛队 得 1 分时,按下 k1 键加 1 分,得 2 分时按 k2 键加 2 分,得 3

6、分时按下 k3 键加 3 分。 如分数计错需减分时,每按一次 k4 键减 1 分。 因所设计的篮球赛计分器功能较少,电路结构也相对简单。所以在选材方面也不 多。由于按键要求不是很高,因此选材只有两个部分:单片机部分和显示部分。 本次课程设计选用的芯片为 at89c51,显示部分用的是 led 数码管显示。 第第 3 章章 系统详细设计系统详细设计 本次课程设计主要分为 2 个主要的部分进行:硬件和软件。首先进行的是硬件的 选材和电路图的连接,然后再进行程序的编写。 3.1 硬件设计硬件设计 由于本次课程设计的简易篮球计分器功能比较简单,所以选择的器件也比较少, 主要有 4 个按键,1 个 at

7、89c51,3 个共阳的数码显示管,因此本课题的硬件设计部分 划分为 3 个模块:单片机模块;按键模块;数码显示模块。系统的总电路图见附录 2(总电路原理图) 。 3.1.1 单片机模块单片机模块 单片机是在一块芯片中集成了 cpu、ram、rom、定时/计数器和多功能 i/o 口 等计算机所需要的基本部件的大规模集成电路,又称 mcu。 如果说 c 语言程序设计课程设计的基础课,那么 at89c51 单片机以其系统硬件构 架完整、价格低廉、学生能动手等特点,成为工科学生硬件设计基础课。 at89c51 是 51 系列单片机的一个增强型号,它是 atmel 公司生产的。at89c51 是一个低

8、电压,高性能 cmos 8 位单片机,片内含 8k bytes 的可反复擦写的 flash 只读 程序存储器和 256 bytes 的随机存取数据存储器(ram) ,器件采用 atmel 公司的高 密度、非易失性存储技术生产,兼容标准 mcs-51 指令系统,片内置通用 8 位中央处 理器和 flash 存储单元,功能强大的 at89c51 单片机可为您提供许多较复杂系统控制 应用场合。 at89c51 有 40 个引脚,32 个外部双向输入/输出(i/o)端口,同时内含 2 个外中 断口,3 个 16 位可编程定时计数器,2 个全双工串行通信口,2 个读写口线,at89c51 可以按照常规方

9、法进行编程,也可以在线编程。其将通用的微处理器和 flash 存储器结 合在一起,特别是可反复擦写的 flash 存储器可有效地降低开发成本 本设计 p1 口接四个开关,分别作为比分+1、+2、+3、1 分的控制按键;p0、p2 口和 p3 口分别按静态接口方法接两个数码管来显示比分。本次课程设计采用的是增强 型 at89c51 单片机。其管脚图如图 1 所示。 图 1 单片机模块图 本次设计用到了其中的 p0,p1,p2,p3 口,分别用于百位,开关,个位,十位 。各 管脚的功能和用法如下述。 p0 口:p0 口为一个 8 位漏极开路双向 i/o 口,当作输出口使用时,必须接上拉电 阻才能有

10、高电平输出;当作输入口使用时,必须先向电路中的锁存器写入“1” ,使 fet 截止,以避免锁存器为“0”状态时对引脚读入的干扰。 p1 口:p1 口是一个内部提供上拉电阻的 8 位双向 i/o 口,它不再需要多路转接电 路 mux;因此它作为输出口使用时,无需再外接上拉电阻,当作为输入口使用时,同 样也需先向其锁存器写“1” ,使输出驱动电路的 fet 截止。 p2 口:p2 口电路比 p1 口电路多了一个多路转接电路 mux,这又正好与 p0 口一 样。p2 口可以作为通用的 i/o 口使用,这时多路转接电路开关倒向锁丰存器 q 端。 p3 口:p3 口特点在于,为适应引脚信号第二功能的需要

11、,增加了第二功能控制逻 辑。当作为 i/o 口使用时,第二功能信号引线应保持高电平,与非门开通,以维持从 锁存器到输出端数据输出通路的畅通。当输出第二功能信号时,该位应应置“1” ,使 与非门对第二功能信号的输出是畅通的,从而实现第二功能信号的输出。 其中 p1 的 14 脚分别接上开关 k1k4,p0 的 3639 脚接上上拉电阻和数码显示 的百位,p2 的 2124 脚接数码显示的个位,p3 的 1013 脚接数码显示的十位。vcc 脚和 xtal 分别接上 5v 电源和 12m 的晶振。 3.1.2 按键模块按键模块 根据设计要求,该篮球赛计分器共有 4 个按键:k1、k2、k3、k4,

12、分别实现的 功能是加 1、2、3 分和减 1 分。k1 与 p1 的 1 脚相连,k2 与 p1 的 2 脚相连,k3 脚与 p1 的 3 脚相连,k4 键与 p1 的 4 脚相连,4 个按键共用一个地端,如图 2 所示。 3.1. 3 数数 码码显显 示示模模 块块 本设计 显示部分采用的是 7 段共阳 led 数码管显示,led 就是发光二极管,相对 let 来说 它的优势在于节能环保,保护视力,使用寿命长等优点。数码管实际上是由 7 个发光 管组成 8 字形构成的,加上小数点就是 8 个。我们分别把他命名为 a,b,c,d,e,f,g,h, 如图 3 所示。 图 3 数码管结构图 假设要

13、显示一个数字 2, 那么 a、b、g、e、d 这 5 个段的发光管亮就可以了, c、f、h 不亮,同时由于接法为共阳接法,那么为低电平是亮,为高电平是灭。从高 往低排列, p1.7-p1.0 写成二进制为 01111110, 把它转化为 16 进制则为 a2h。 数码管的接口有静态接口和动态接口两种。 动态接口采用各数码管循环轮流显示的方法,当循环显示的频率较高时,利用人 眼的暂留特性,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输出,另 一接口完成各数码管的轮流点亮。 静态接口为固定显示方式,无闪烁,其电路可采用一个并行口接一个数码管,数 码管的公共端按共阳接 vcc,本次课程设计由

14、于所需数码管较少,故可用这种方法接 图 2 按键模块图 线。这种接法占用接口多,仅能接少量数码管。 本次课程设计的比分范围是 0999,所以采用的 3 个 7 段共阳 led 来显示,分别显 示个位十位百位,其中 p2 显示个位,p3 显示十位,p0 显示百位。由于 p0 没有内置电 阻,因此在使用时需外接一个上拉电阻。如图 4 所示。 3.23.2 软件软件设计设计 篮球比赛计分器其实就是一个计数器,本次课程设计就是利用单片机中的定时/计 数器来实现其计分的功能。在 52 单片机中有两个 16 位的定时/计数器 t0,t1,分别由 th0、tl0 和 th1、tl1 组成,它们均是 8 位寄

15、存器,在特殊功能寄存器中占地址 8ah-8dh。它们用于存放定时或计数的初始值。此外,内部还有一个 8 位的方式寄存 器 tmod 和一个 8 位的控制寄存器 tcon。用于选择和控制定时/计数器的工作。其格 式见下面两表: 表 1 方式控制寄存器 tmod gatec/tm1m0gatec/tm1m0 门控开关计数/定时方式选择门控开关计数/定时方式选择 图 4 数码管显示模块图 表 2 控制寄存器 tf1tr1tf0troie1it1ie0it0 t1 请 求 有/无 t1 工作 启/停 t0 请求 有/无 t0 工作 启/停 int1 请求 有/无 int1 方式 下沿 int1 请求

16、有/无 int1 方式 下沿 篮球比赛计分器利用单片机的计数器进行工作,计数器对脉冲电平进行加 1 计数, 直至计满回零。作为可编程器件,单片机中的定时/计数器初始化编程步骤如下: 根据定时时间要求或计数要求计算计数器初值; 将工作方式控制字写入 tmod 寄存器; 将计数初值写入 thx 和 tlx 寄存器; 启动定时器/计数器,即将 trx 置位。 如果工作于中断方式,需置位 ea(中断总开关)及 etx(允许定时/计数器中断) , 并编写中断服务程序。 本次课程设计程序是用 c 语言编写的,因为设计的功能较为简单,所以程序中只 用到一个主程序就实现了其功能。程序的系统流程图如图 5。控制

17、源程序见附录 1. 图 5 系统程序流程图 第第 4 4 章章 系统仿真与实验测试系统仿真与实验测试 4.14.1 系统仿真系统仿真 本次课程设计用到的仿真软件有 protues 和 keil uvision。在用 protues 进行仿真之 前,先要用 keil uvision 软件将我们编写好的汇编程序编译。具体方法是先新建一 项目,之后输入编写的程序,输入完成后保存然后执行项目、编译,在目标文件夹内 生成编译好的程序文件,其中*.hex 文件就是我们所需要的目的文件,在之后电路设 计好后用于导入 at89c51 中执行其功能。然后在生成*.hex 文件后,进入 protues 软 件,此

18、时软件已自动打开一新建项目。我们可直接在其中构建电路图,点击板面左侧 按键 p,在弹出的 pick devices 对话框中进行元器件的选择,元器件都找到后,先进行 排版再按照电路图连接,连接好后,双击 at89c51 在弹出对话框中选择单片机中要输 入的程序,在输入程序后,即可开始进行仿真了,选择执行后点击开关可观察到数码 管亮,并能实现加 1、加 2、加 3、减 1 功能。仿真效果如图 6 图 6 仿真效果图 4.24.2 实验测试实验测试 打开 proteus 上的单片机控制步进电机电路图,点击 at89c51 单片机,调用后 缀名为.”hex”的文件。点击运行,观察现象,3 个数码管均

19、显示为 0。如图 7 所示。 然后进行了如下操作:当按下 k1 键,从左往右(后同)的第 3 个数码管显示 1, 再按下 k2 键,第 3 个数码管显示 3,按下 k3 键,第 3 个数码管显示 6,再按下 k4 键, 第 3 个数码管显示 5,与设计的要求相符。显示 5 的仿真图如图 8 所示. 图 7 初始值为 0 的仿真图 经过多次反复测试,本系统已能达到设计所要求的所有功能。 第第 5 5 章章 总结总结 这次课程设计历时一个星期多左右,通过这一个星期的学习,发现了自己的很多 不足,自己知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的 能力还急需提高。 在这期的学习中,

20、虽然在理论上对单片机有了简单基本的了解,但是在真正的动 手操作中还是存在很多的不足,这些个不足有体现在自己的粗心大意上,更多的是对 知识的应用上能力有所欠缺,以至完成这样一个简单的设计花费了不少时间。但是最 终通过自己的努力,查阅资料,询问同学,完成了这次的单片机的设计,在以后的学 习中我也会更多的重视自己理论和实践的结合能力,提高自身综合能力。在这次单片 机课程设计中使我对 at89c51 单片机有了更深的了解,单片机的种类多,而型号杂, 这也是我们学习中的困难,所以平时我们的学习应该多动手。单片机编程既可以用 c 语言也可用汇编语言,其中最重要的环节就是我们要敢于去写,敢于挑战,不怕犯错,

21、 图 8 值为 5 的仿真图 然后就是多调试。 在这次简易篮球赛计分器的设计中,由于本人的能力有限,所以还有很多需待改 进的地方,比如能显示 2 个球队的比分以及时间的显示,利用数码管的动态显示来显 示比分,时间等等。 最后,我还要感谢在此次课程设计中帮助过我的老师和同学。特别是肖老师的细 心指导和与我同组的同学,在他们的鼎力帮助我才能顺利的完成了本次课程设计。 参考文献参考文献 1肖洪兵. 跟我学用单片机m. 北京:北京航空航天大学出版社,2005.8 2何立民. 单片机高级教程m北京:北京航空航天大学出版社,2007 3吴秀清. 微型计算机原理与接口技术m. 北京:中国科学技术出版社, 2008.6 4李广第 微机原理与接口技术m湖南:湖南湖南大学出版社,2006 5唐颖 单片机原理与应用m北京:北京大学出版社,2008 附录附录 1 1 控制源程序控制源程序 #include #define uchar unsigned char #define uint unsigned int 初始化 sbit p10=p10; 按键 k1 sbit p11=p11; 按键 k2 sbi

温馨提示

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

评论

0/150

提交评论