单片机原理及接口技术课程设计-比赛计分器设计说明书.doc_第1页
单片机原理及接口技术课程设计-比赛计分器设计说明书.doc_第2页
单片机原理及接口技术课程设计-比赛计分器设计说明书.doc_第3页
单片机原理及接口技术课程设计-比赛计分器设计说明书.doc_第4页
单片机原理及接口技术课程设计-比赛计分器设计说明书.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

此文档收集于网络 如有侵权 请联系网站删除 精品文档 比赛计分器设计说明书比赛计分器设计说明书 指导老师 指导学长 学 院 机械工程学院 班 级 姓 名 学 号 负责任务 2011 年 7 月 6 日 此文档收集于网络 如有侵权 请联系网站删除 精品文档 一一 任务说明 任务说明 设计要求 设计一个甲 乙两队用的比赛计分器 要求实现以下功能 给 甲 乙两队分别设置 1 个加分按钮 按一下能分别实现加一分 给甲 乙两队 分别设置 1 个减分按钮 按一下能分别实现减一分 设置一个清零按钮 按一 下能实现清零 设置预置分按钮 设置一个加减一分 两分和三分的切换按钮 二 二 方案论证方案论证 单片机又称单片微控制器 它不是完成某一个逻辑功能的芯片 而是把一个 计算机系统集成到一个芯片上 我们都知道 设计系统的关键是思路 而系统通常又由各个模块所组成 所以必须先把所要设计系统模块化 再把各个模块组合在一起 实现一个完整 的系统 这就要求我们先要有较扎实的理论知识 特别对芯片的各个管脚功能 必须了解 这样才能进行硬件设计 同时 又必须掌握 MCS51 的指令功能 通 过编程实现其功能 这就能让我们更好地理解 单片机原理及应用 这门课程 也是一种理论在实践中的运用 在课程设计中 由于它是一个系统 这就要求我们必须建立系统的概念 我们都知道现实运行的都是完整的系统 而且功能相对来说要复杂 如何把一 个复杂的系统模块化才能使问题来的简单 这是我们必须首先解决的问题 当 各个模块完成之后再组合成一个完成的系统 这当中要考虑模块间的衔接问题 这些都是在以前设计简单程序时不曾遇到的 如果说我们以前学的都只是些理 论 包括 C 语言 微机原理 C 微机接口 Protel 单片机 那么这次的课 程设计就是一个贯穿多学科的综合性实践 单片机自20世纪70年代问世以来 以 极其高的性价比受到人们的重视和关注 所以应用很广 发展很快 单片机的 优点是体积小 重量轻 抗干扰能力强 对环境要求不高 价格低廉 可靠性 高 灵活性好 开发较为容易 例如 80C51系列单片机已有十多年的生命期 如今仍保持着上升的趋势 就充分证明了这一点 单片机以其一系列优点 近 几年得到迅猛发展和大范围推广 广泛应用于工业控制系统 数据采集系统 智能化仪器仪表 及通讯设备 日常消费类产品 玩具等 并且已经深入到工 业生产的各个环节以及人民生活的各层次中 如车间流水线控制 自动化系统 等 智能型家用电器等 而美国 ATMEL 公司开发生产了新型的8位单片机 AT89系列单片机 他不但具有一般 MCS 51单片机的所有特性 而且还拥有一些 独特的优点 此次设计中所用到的 AT89C51就是其中典型的代表 此文档收集于网络 如有侵权 请联系网站删除 精品文档 本设计是基于 AT89C51 单片机的篮球计分器 利用 7 段共阴 LED 作为显示 器件 在此设计中共接入了 2 个四位一体 7 段共阴 LED 显示器 每队显示器显 示范围可达到 0 255 分 本设计内容为比赛计分器 主要用于各种体育比赛记录分数 采用独立式 键盘作为输入 用户可分别对两队比分进行加 1 加 2 加 3 和减 1 减 2 减 3 操作 其加减 1 2 3 分可以通过加减 1 分 2 分和 3 分的切换按钮实现 并 通过指示灯显示其每次按下加减分键所加减的分值 通过加减分键和分值切换 键配合使用可以较方便实现预置分 比分通过 2 个四位一体 7 段共阴 LED 显示 器显示 每队比分显示三位数 三 原理图设计说明 1 系统框图 AT89C51 单片机 比分复位独立式键盘比分显示系统分值切换显示 2 各元件原理及功能 2 1 按钮设置 S1甲加1 S2甲减1 S3乙加1 S4乙减1 S51 2 3 分切换 S6分数清零 比比分分纪纪录录控控制制键键 此文档收集于网络 如有侵权 请联系网站删除 精品文档 按钮功能图 独立键盘通过 P1 口输入键值 其中 1 2 3 分切换由发光二极管指示 见图 通过加减分键和分值切换键配合使用可以较方便实现甲乙两队的初始分数 按 下清零后 显示的分数清零 2 2 分值切换显示功能 分值切换显示功能图 2 3 数码管驱动的选择 图 2 3 74LS 引脚功能图 74LS245 还具有双向三态功能 既可以输出 也可以输入数据 当 8051 单片机的 P0 口总线负载达到或超过 P0 最大负载能力时 必须接入 74LS245 等总线驱动器 当片选端 CE 低电平有效时 DIR 0 信号由 B 向 A 传输 接收 DIR 1 信号由 A 向 B 传输 发送 当 CE 为高电平时 A B 均为 P2 0 P2 1 P2 2 1分 LED BIBY 2分 LED BIBY 3分 LED BIBY 分分值值切切换换显显示示 此文档收集于网络 如有侵权 请联系网站删除 精品文档 高阻态 由于 P2 口始终输出地址的高 8 位 接口时 74LS245 的三态控制端 1G 和 2G 接地 P2 口与驱动器输入线对应相连 P0 口与 74LS245 输入端相连 E 端 接地 保证数据现畅通 8051 的 RD 和 PSEN 相与后接 DIR 使得 RD 或 PSEN 有效时 74LS245 输入 P0 I DI 其它时间处于输出 P0 I DI 2 4 发光二极管显示器的结构 工作原理及其接口电路 下图为典型的数码管 图 2 4 7 段 LED 数码管 如上图 LED 显示器又称为数码管 LED 显示器由 8 个发光二极管组成 中 7 个长条形的发光管排列成 日 字形 另一个贺点形的发光管在显示器的右 下角作为显示小数点用 它能显示各种数字及部份英文字母 LEDD 显示器有两 种不同的形式 一种是 8 个发光二极管的阳极都连在一起的 称之为共阳极 LED 显示器 另一种是 8 个发光二极管的阴极都连在一起的 称之为共阴极 LED 显示器 表 2 1 代码对应表 显示字 符 共阴极段码共阳极段码显示字符共阴极段码共阳极段码 03FHC087FH80H 106HF996FH90H 25BHA4A77H88H 34FHB0B7CH83H 此文档收集于网络 如有侵权 请联系网站删除 精品文档 466H99HC39HC6 56DH92HD5EHA1H 67DH82HE79H86H 707HF8F71H8EH 动态扫描显示接口是单片机中应用最为广泛的一种显示方式之一 其接口 电路是把所有显示器的 8 个笔划段 a h 同名端连在一起 而每一个显示器的公 共极 COM 是各自独立地受 I O 线控制 CPU 向字段输出口送出字形码时 所有 显示器接收到相同的字形码 但究竟是那个显示器亮 则取决于 COM 端 而这 一端是由 I O 控制的 所以我们就可以自行决定何时显示哪一位了 而所谓动 态扫描就是指我们采用分时的方法 轮流控制各个显示器的 COM 端 使各个显 示器轮流点亮 在本课题中采用 P0 口输出段码 P3 口为位控制输出口 此文档收集于网络 如有侵权 请联系网站删除 精品文档 乙加分 加减分 键释放 去抖动 甲加分 S1 键释放 键释放 键释放 乙减分 S2 切换加减分值 相应 LED 灯亮 甲乙比 分清零 去抖动 去抖动 四 程序设计说明 1 程序设计 1 1 系统流程图 表首址送 DPTR 比 分清零 加减分值为 1 调用显示函数 判断哪键按下 S6 S5 开始 初始化 S3 去抖动 S4 此文档收集于网络 如有侵权 请联系网站删除 精品文档 1 2 显示子程序流程图 1 3 延时子程序 延时子程序就是通过执行一些没用但又占用时间的指令的集合 这个子程 序可以用于很多延时的地方因为它延时的时间可以通过 R7 进行改变 所以通用 性好 可以将几个延时子程序合为一个 只用在调用前给 R7 赋值 即可根据用 户的需要延时 流程图见图 3 2 位 选 通 取 段 码 送 段 码 调用延时程序 关 段 码 将 8 位二进制比分转 换为十进制数 此文档收集于网络 如有侵权 请联系网站删除 精品文档 2 系统的安装调试说明 2 1 软件调试 上电时对系统中进行检测是单片机程序中的一个良好设计 在硬件设计时 也应该细细考虑将各个使用到的芯片 接口设计成容易使用软件进行测试的模 式 很多有经验的单片机设计者都会在系统上电时 特别是第一次上电时 进 行全面的检测 或者更进一步 将系统的运行状态中分为测试模式和正常运行 模式 通过加入测试模式对系统进行详细的检测 使得系统的批量检测更为方 便容易 另外要注意的是 一个简单明了的故障显示界面也是颇要费得心思的 比 如 系统的外部 RAM 数据存储器 是单片机系统中常用的器件 外部 RAM 如 果存在问题 程序通常都会成为无法控制 因此 程序在启动时 至少在第一次上电启动时 一定要对外部 RAM 进行 检测 给 R6 放初值 执行三条空指令 返回 R6 1 判断 R6 是 否为 0 R7 1 判断 R7 是 否为 0 延时子程序流程图 此文档收集于网络 如有侵权 请联系网站删除 精品文档 另外 在仿真前要做好充分的准备 单片机硬件仿真器给单片机开发者带 来了极大的方便 同时也很容易造成人的依赖性 很多时候 没有仿真器却能 促使工程师写出更高质量的程序 在硬件仿真调试之前 下面准备工作将是必 要的 1 程序编完后 对代码仔细逐行检查 检查代码的错误 建立自己的代 码检查表 对经常易错的地方进行检查 检查代码是否符合编程规范 2 对各个子程序进行测试 测试的方法 用程序测试程序 编制一个调 用该子程序的代码 建立要测试子程序的入口条件 再看看它是否按预期输出 结果 3 如果代码有修改 再次对代码进行检查 调试过程截图 2 2 软硬联调 编程后利用 Keil uVision3 来进行编译 再生成的 HEX 文件装入芯片中 采用 proteus 软件来仿真 检验功能是否能够正常实现 仿真成功后 焊接硬 件电路 通过 ISP 下载器将 hex 文件烧制到单片机 通电后 LED 1 亮 数码管显示 000 000 对应的 S1 键为甲加 分按钮 当 LED 1 亮时 每次按下 S1 键 甲队分数加 1 当 LED 2 亮时 每次按下 S1 键 甲队分数加 2 当 LED 3 亮时 每次按下 S1 键 甲队 分数加 3 可以通过按 S5 键来实现 LED 1 LED 2 LED 3 之间的切换 对应 的 S2 键为甲队减分键 当 LED 1 亮时 每次按下 S2 键 甲队分数减 1 当 LED 2 亮时 每次按下 S2 键 甲队分数减 2 当 LED 3 亮时 每次按 此文档收集于网络 如有侵权 请联系网站删除 精品文档 下 S2 键 甲队分数减 3 S3 键为乙加分键 S4 键为乙队减分键 其 实现功能与甲队一样 对应的 S6 键为清零按钮 按下可以实现复位 数码 管显示甲乙队当前分数 复位后 数码管显示 000 000 五 电路原理图 此文档收集于网络 如有侵权 请联系网站删除 精品文档 六 源程序清单 NA EQU 24H NB EQU 25H 甲乙两队分数 TEMP EQU 26H 存放切换分数 1 2 3 JIAJIA BIT P1 0 甲加分控制位 JIAJIAN BIT P1 1 甲减分控制位 YIJIA BIT P1 2 乙加分控制位 YIJIAN BIT P1 3 乙减分控制位 SWITCH BIT P1 4 分值切换控制位 RST BIT P1 5 比分清零控制位 ORG 0000H SJMP START START MOV DPTR TABLE 将表首址送 DPTR MOV NA 0 MOV NB 0 比分自动清零 MOV TEMP 1 开机默认加减分值为 1 MOV P2 01H 分值显示灯亮 A1 ACALL DISPLAY 调显示函数 JNB JIAJIA S1 JNB JIAJIAN S2 JNB YIJIA S3 JNB YIJIAN S4 JNB SWITCH S5 此文档收集于网络 如有侵权 请联系网站删除 精品文档 JNB RST S6 LJMP A1 判断按下的控制键 S1 LCALL DELAY 去抖动 JB JIAJIA A1 确认按键 MOV A NA ADD A TEMP MOV NA A LCALL B0 C0 JB JIAJIA A1 等键释放 LCALL DISPLAY SJMP C0 S2 LCALL DELAY 去抖动 JB JIAJIAN A1 MOV A NA SUBB A TEMP MOV NA A LCALL B0 C1 JB JIAJIAN A1 等键释放 LCALL DISPLAY SJMP C1 S3 LCALL DELAY 去抖动 JB YIJIA A1 MOV A NB ADD A TEMP MOV NB A LCALL B1 C2 JB YIJIA A1 等键释放 LCALL DISPLAY SJMP C2 S4 LCALL DISPLAY 去抖动 JB YIJIAN A1 MOV A NB SUBB A TEMP MOV NB A LCALL B0 C3 JB YIJIAN A1 等键释放 LCALL DISPLAY SJMP C3 S5 INC TEMP MOV A TEMP CJNE A 2 D0 MOV P2 2 D0 CJNE A 3 D1 MOV P2 04H 此文档收集于网络 如有侵权 请联系网站删除 精品文档 D1 CJNE A 4 D2 MOV TEMP 1 MOV P2 01H 分值切换循环 1 2 3 D2 LJMP A1 S6 MOV NA 0 MOV NB 0 LJMP A1 B0 CJNE A 255 B2 是否大于 999 可以省略 MOV NA 0 B2 RET B1 CJNE A 255 B3 MOV NB 0 B3 RET 显示函数 DISPLAY MOV A NA 甲队比分显示 MOV B 100 将 8 位二进制转换位十进制 DIV AB CLR P3 0 MOVC A A DPTR 送段码 MOV P0 A 显示甲比分比分百位 LCALL DELAY SETB P3 0 关位选 MOV A B MOV B 10 DIV AB CLR P3 1 开位选 MOVC A A DPTR MOV P0 A LCALL DELAY SETB P3 1 MOV A B CLR P3 2 MOVC A A DPTR MOV P0 A LCALL DELAY SETB P3 2 CLR P3 3 MOV P0 40H 显示分隔符 LCALL DELAY SETB P3 3 乙队比分显示 MOV A NB MOV B 100 DIV AB 此文档收集于网络 如有侵权 请联系网站删除 精品文档 CLR P3 5 MOVC A A DPTR MOV P0 A LCALL DELAY SETB P3 5 MOV A B MOV B 10 DIV AB CLR P3 6 MOVC A A DPTR MOV P0 A LCALL DELAY SETB P3 6 MOV A B CLR P3 7 MOVC A A DPTR MOV P0 A LCALL DELAY SETB P3 7 CLR P3 4 MOV P0 40H LCALL DELAY SETB P3 4 RET TABLE DB 3FH 06H 5BH 4FH 66H DB 6DH 7DH 07H 7FH 6FH 延时程序 DELAY MOV R6 10 E MOV R7 250 DJNZ R7 DJNZ R6 E RET END 2011 年 6 月 30 日编译 七 总结与体会 回顾此次接近两周的单片机课程设计 我感慨颇多 这次课程设计使我懂 得了理论与实际相结合的重要性 只有把所学的理论知识与实践相结合起来 才能提高自己的实际动手能力和独立思考的能力 在设计和制作的整个过程中 我们分工明细 在我们把程序调试好 仿真 电路画好并检验之后 就进入了实物制作阶段 这项工作主要由我和同组的另 此文档收集于网络 如

温馨提示

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

评论

0/150

提交评论