电科0802班_10号_单片机课程设计.doc_第1页
电科0802班_10号_单片机课程设计.doc_第2页
电科0802班_10号_单片机课程设计.doc_第3页
电科0802班_10号_单片机课程设计.doc_第4页
电科0802班_10号_单片机课程设计.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

湖南工程学院 课 程 设 计 任 务 书 课程名称 单片机原理与应用 课 题 基于单片机比赛计分器设计 专业班级 电子科学与技术 0802 班 学生姓名 周 里 学 号 200801180210 指导老师 汪 超 李晓秀 赵葵银 审 批 任务书下达日期 2014 年 2 月 24 日 任务完成日期 2014 年 3 月 7 日 1 设设计计内内容容与与设设计计要要求求 设计内容 设计内容 设计一个甲 乙两队用的比赛计分器 要求实现以下功能 1 给甲 乙两队分别设置 1 个加分按钮 按一下能分别实现 加一分 2 给甲 乙两队分别设置 1 个减分按钮 按一下能分别实现 减一分 3 设置一个清零按钮 按一下能实现清零 4 设置预置分按钮 5 设置一个加减一分 两分和三分的切换按钮 设计要求 设计要求 1 设计方案要合理 正确 2 系统硬件设计及焊接制作 3 系统软件设计及调试 4 系统联调 5 写出设计报告 2 主主 要要 设设 计计 条条 件件 1 MCS 51 单片机实验操作台 1 台 2 PC 机及单片机调试软件 3 单片机应用系统板 1 套 4 制作工具 1 套 5 系统设计所需的元器件 说 明 书 格 式 1 封面 2 课程设计任务书 3 目录 4 系统总体方案设计 5 系统硬件设计 6 软件设计 包括流程图 7 系统的安装调试说明 8 总结 9 参考文献 10 附录 源程序清单及硬件原理图等 11 课程设计成绩评分表 3 进 度 安 排 设计时间为两周设计时间为两周 第一周 星期一 上午 布置课题任务 讲课及课题介绍 下午 借阅有关资料 总体方案讨论 星期二 确定总体设计方案 星期三 硬件模块方案设计 星期四 软件模块方案设计 星期五 设计及调试 第二周 星期一 设计及调试 星期二 设计及调试 星期三 总调 星期四 写说明书 星期五 上午 写说明书 整理资料下午 交设计资料 答辩 参 考 文 献 1 微型计算机原理及应用 许立梓编 机械工业出版社 2002 2 微型计算机接口技术及应用 刘乐善编 华中理工大学出版社 2000 3 计算机硬件技术基础试验教程 邹逢兴编 高等教育出版社 2000 4 16 位微型计算机原理接口及其应用 周佩玲编 中国科学技术大 学出版社 2000 5 微型计算机原理与接口技术 吴秀清编 中国科学技术出版社 2001 6 微型计算机接口技术 邓亚平编 清华大学出版社 2001 7 单片机原理及及应用 王迎旭编 机械工业出版社 2001 4 8 单片机应用程序设计技术 周航慈 著 北京航空航天大学出版 社 2002 9 单片机实用技术问答 谢宜仁 主编 人民邮电出版社 2002 目 录 第 1 章 系统概述 1 1 1 系统功能 1 1 2 设计内容及要求 1 1 2 1 设计内容 1 1 2 2 设计要求 2 1 3 按键设置 2 第 2 章 总体方案设计 3 2 1 总体系统框图 3 2 2 系统组成 3 第 3 章 系统硬件设计 5 3 1 控制电路设计 5 3 1 1 复位电路 5 3 1 2 时钟输入电路 5 3 1 3 发光二极管显示电路 6 3 1 4 矩阵键盘电路 7 3 1 5 数码管显示电路 7 第 4 章 软件设计 9 4 1 主程序设计 9 4 2 各子程序设计 10 4 2 1 初始化子程序 10 4 2 2 延时子程序 10 4 2 3 按键判断之程序 11 4 2 4 数码管显示之程序 11 第 5 章 硬件系统的制作与调试 13 5 1 复位实现两队分值清零 13 5 2 预置分值 13 5 3 分值加减实现 14 总结和体会 16 参考文献 17 附录 A 系统硬件总电路图 18 附录 B 程序清单 19 1 第 1 章 系统概述 1 1 系统功能 设计一个甲 乙两队比赛计分器 主要用于各种体育比赛记录分数 采用键盘作为输入 使用 LED 数码管进行显示 基于以上思路 本次设 计使用 80C51 实现一基于单片机的电子计分器的设计 其主要具有如下 功能 1 用户两个按钮对各队的分数加减操作 本系统中可分别对两队比分 进行加 1 加 2 加 3 和减 1 减 2 减 3 操作 并且可以同步显示对应 的 LED 灯亮 2 比分通过 8 个 8 段共阴极数码管显示器进行显示 每队比分显示三 位 中间使用了两位显示分隔符 实际只使用数码的了 8 段中 7 段 4 具有复位功能 通过复位键实现 5 预置分按钮可以实现直接置入一个相同分数 然后通过加减可以达 到置入想要显示的两队的初始分数 1 2 设计内容及要求 1 2 1 设计内容 1 分别给甲乙队设置一个分数控制按钮 此按钮有 6 种状态 分别为 3 2 1 1 2 3 2 设置一个切换状态按钮 可以分别切换每一种状态 然后每一种状 态会有相对应的发光二极管点亮以区别是哪种状态 3 设置一个复位按钮 按下实现甲 乙队总分清零显示 4 设置一个预置分按钮 用于直接赋给给甲乙比分 这里直接赋值 50 50 再可以通过加减按键实现所要赋给的分值 2 1 2 2 设计要求 1 方案合理 正确 系统稳定 可靠 2 软件设计要求尽可能精练 简短和运行可靠 3 硬件电路要求简单明了 以节约成本 1 3 按键设置 本系统设计中一共用到了 5 个按钮 分别为 清零按钮 甲队分数控 制按键 乙队分数控制按键 切换状态按钮和预置比分值按键 每个按 钮的功能如下 控制甲的按键 实现 3 2 1 1 2 3 功能 控制乙的按键 实现 3 2 1 1 2 3 功能 分值切换按键 实现甲乙的各种状态的切换 预置比分按键 预置甲乙的比分 这里是 50 比 50 复位清零按键 实现甲乙比分清零 3 第 2 章 总体方案设计 2 1 总体系统框图 本系统的设计是以 80C51 单片机为核心 配以一定的外围电路和软 件 实现比赛计分器的功能 利用了 8 个 8 段共阴级数码管显示器 其中 甲乙两个分值各用 3 个数码管显示分值 另外两个显示分隔符 采用动 态显示输出比分 用户信息输入则采用 4 4 矩阵式键盘 本系统中使用 的是独立的键盘 状态切换时候用不同的发光二极管的对应显示切换到 了不同的分值 系统设计方案的硬件电路设计框图如图 2 1 所示 图 2 1 硬件电路设计 2 2 系统组成 系统由硬件部分和软件部分组成 硬件电路由复位按键 80C51 单片 机 矩阵键盘和 6 个发光二极管 8 个数码管等组成 软件部分主程序主要由键盘识别 键值处理 8 位 8 段共阴极 LED 显 示器扫描显示子程序组成 软件设计主要有四个部分 信息输入 信息 处理 显示输出 信息输入时采用键盘来实现 所以需要检测键盘有无 4 按键的子程序 信息处理需要对用户通过键盘输入的不同信息进行辨别 并执行相应的处理 显示输出采用动态输出 从而达到设计的目的 5 第 3 章 系统硬件设计 3 1 控制电路设计 3 1 1 复位电路 如图 3 1 所示 按钮与单片机的 RST 引脚相连 当每次按下该按钮 后 系统将通过软件实现对计分实现清零功能 这里我选择的是使用电 平复位 跳冒是插在 1 2 端口 复位电路图如下图 3 1 所示 图 3 1 复位硬件电路图 3 1 2 时钟输入电路 一般时钟电路分为内部时钟方式和外部时钟 这里我采用的是内部 时钟方式 时钟信号输入电路如下图 3 2 所示 6 图 3 2 时钟输入电路 3 1 3 发光二极管显示电路 本系统所使用得单片机上在低电平时 LED 点亮 高电平时 LED 熄灭 这里只用了 6 个灯 从左到右依次指示处理的是 3 2 1 1 2 3 分值 实际的硬件电路图如下图 3 3 所示 图 3 3 LED 灯硬件图 7 3 1 4 矩阵键盘电路 本系统所使用的单片机外围的键盘电路是可以有独立和矩阵键盘两 种使用情况 这里我是做独立键盘使用的 图上 S1 S4 可以配置成独立 按键 通过跳帽 J11 切换 J11 有三根针组成 图上跳到左端就可以作为 独立按键使用 本设计中使用了 S1 S2 S3 S4 这里 S1 是甲分数的控 制键 S2 是乙分数的控制键 S3 是加减分值切换键 S4 是预置分数按键 按键使用中有消抖处理 矩阵键盘电路图如下图 3 4 所示 图 3 4 矩阵键盘电路 3 1 5 数码管显示电路 本系统使用的是 8 位 8 段数码管显示电路 采用的是动态显示 段 选是先通过了一个 74HC573 锁存器再连接在 8 个段选信号输入的 这里 也可以不接锁存器 可以有跳帽切换的 位选是先通过 74138 芯片进行 8 译码输出接到 8 个位选输入端口的 段选是接的单片机的 P0 口 位选是 接单片机的 P2 口的 P2 0 P2 1 P2 2 三个端口 实际的数码管显示电 路图如下图 3 1 5 1 所示 实际本设计中是使用最低三位为显示甲队的 分值 最好三位是显示乙队的分值 中间两位是显示的横杠分隔符 图 3 5 数码管显示电路图 9 第 4 章 软件设计 4 1 主程序设计 本系统软件设计采用单片机汇编语言设计 主要的语言模块有 初始 化模块 按键判断模块 数码管显示模块 延时模块组成 程序设计的 流程图如下图 4 1 所示 条件是否成立Y N 开始 初始化 按键处理 加法减法 显示结果 图 4 1 软件设计的流程图 10 4 2 各子程序设计 4 2 1 初始化子程序 NA EQU 24H NB EQU 25H 甲乙两队分数 TEMP EQU 26H 存放切换分数 3 2 1 1 2 3 TEMP1 EQU 27H JIAfen BIT P3 0 甲分控制位 Yifen BIT P3 1 乙分控制位 SWITCH BIT P3 2 分值切换控制位 Zhifen BIT P3 3 预置分值控制位 ORG 0000H SJMP START START MOV DPTR TABLE 将表首址送 DPTR MOV NA 0 MOV NB 0 比分自动清零 MOV TEMP1 1 循环变量 MOV TEMP 3 开机默认加减分值为 3 MOV P1 11111110b 分值显示灯亮第一个灯 初始化程序是用来对各定义的变量初始化的 每一次主程序执行之 前都要先执行初始化程序以保证变量的值为初值 4 2 2 延时子程序 DELAY MOV R6 10 E MOV R7 300 DJNZ R7 DJNZ R6 E RET 这个延时程序设计是在硬件调试过程中更改数据得来的 不同的硬件 延时应选择适合的延时时间 延时程序延时时间计算式 1T 1T 2T 300 2T 10 2T 11 4 2 3 按键判断之程序 A1 ACALL DISPLAY 调显示函数 JNB JIAfen S1 JNB Yifen S2 JNB SWITCH S3 JNB Zhifen S4 LJMP A1 判断按下的控制键 这里只是按键选择程序 实际上转移到各自的处理程序中就有按键的 消抖处理和对应按键信号所要执行的处理程序 4 2 4 数码管显示之程序 DISPLAY MOV A NA 甲队比分显示 MOV B 100 将 8 位二进制转换位十进制 DIV AB MOV P2 0 MOVC A A DPTR 送段码 MOV P0 A 显示甲比分比分百位 LCALL DELAY MOV A B MOV B 10 DIV AB MOV P2 1 MOVC A A DPTR MOV P0 A LCALL DELAY MOV A B MOV P2 2 MOVC A A DPTR MOV P0 A LCALL DELAY 12 MOV P2 3 MOV P0 40H 显示分隔符 LCALL DELAY 上面是甲队分值对应数码管显示函数的代码 对段选 P0 口和位选 P2 口的处理就可以实现要显示的分值 13 第 5 章 硬件系统的制作与调试 单片机语言程序是基于 Keil uVision2 编程软件编写的汇编程序 在 keil 内建立工程后建立汇编文件 编写 MCS 51 程序 进过不断对程 序的更改和调试 最后生成我们想要的 HEX 文件 再用单片机程序下载 软件 STC ISP V3 1 进行对十六进制的可下载文件进行下载到单片机上 将运行结果和实验现象与预定效果进行比较 再反过来对程序进行修改 以达到要求 最后经过不断的改进就可以实现设计的目的 5 1 复位实现两队分值清零 下图 5 1 是清零时所拍摄的硬件显示图 可以看出它实现了清零的 功能 图 5 1 复位清零硬件效果图 5 2 预置分值 这里的预置分值的功能是当预置分值按键按下后 两个队的分值显 示都会变为 50 分 然后如果要调整 就可以通过不同的分值加减处理得 到所要的分值比 实际的效果如下图 5 2 所示 14 图 5 2 预置分值功能硬件实现摄像图 5 3 分值加减实现 下面是显示的两个不同的分值比信号的硬件效果摄像显示图 如下 图 5 3 图 5 4 所示 可以看出本系统设计的加减功能是可行的 完全可 以实现比赛计分的功能 图 5 3 变化前分值显示图 15 图 5 4 通过加减变化后显示图 16 总结和体会 通过此次课程设计让我知道设计开始 我们首先理清了自己的思路 整理出了总体方案 然后设计出硬件原理图 接着就根据硬件来设计软 件 最后就是调试了 在这次设计中困难最大的就是调试 收获最多的 也是调试 因为调试的时候你必须对程序相当的熟悉 对每一条指令都 了如指掌 并且硬件的连接也要清晰的印在脑海里 只有这样你才能让 软件和硬件结合在一起 并且让他们按照你的想法工作 本次调试中我 发现了自己软件设计中的延时程序的延时时间是不够的 当然在更改之 后就弄清楚其实实质行的问题是按键消抖我只进行了前段的消抖 在等 键释放的程序我就没有考虑 导致了调试中 按住分值切换键后 指示 不同分值的流水灯就不断的循环点亮了 再者在调试中还对所用到的器 件有了更深的认识和了解 在以后的设计中就可以熟练的使用了 整个的设计过程中我懂得了许多东西 当遇到一不了的问题 跟同伴 一起商量 合作 或许能收到事半功倍的效果 不管学什么 一定要打 好基础 学好 学精通 但光有理论还是不行的 还得能为己所用 更重 要的是要培养了独立思考和设计的能力 增强对知识应用的信心 17 参考文献 1 单片机原理与应用 王迎旭编 机械工业出版社 2 51 系列单片机原理与接口技术实验指导 周向红编 湖南工程学院 3 微型计算机原理及应用 许立梓编 机械工业出版社 2002 4 微型计算机接口技术及应用 刘乐善编 华中理工大学出版社 2000 5 计算机硬件技术基础试验教程 邹逢兴编 高等教育出版社 2000 6 16 位微型计算机原理接口及其应用 周佩玲编 中国科技大学出版 社 2000 7 微型计算机原理与接口技术 吴秀清编 中国科学技术出版社 2001 8 微型计算机接口技术 邓亚平编 清华大学出版社 2001 9 单片机原理及及应用 王迎旭编 机械工业出版社 2001 10 单片机应用程序设计技术 周航慈 著 北京航空航天出版社 2002 11 单片机实用技术问答 谢宜仁 主编 人民邮电出版社 2002 18 附录附录 A 系统硬件总电路图系统硬件总电路图 附录图 总体实物硬件图 19 附录 B 程序清单 NA EQU 24H NB EQU 25H 甲乙两队分数 TEMP EQU 26H 存放切换分数 3 2 1 1 2 3 TEMP1 EQU 27H JIAfen BIT P3 0 甲分控制位 Yifen BIT P3 1 乙分控制位 SWITCH BIT P3 2 分值切换控制位 Zhifen BIT P3 3 预置分值控制位 ORG 0000H SJMP START START MOV DPTR TABLE 将表首址送 DPTR MOV NA 0 MOV NB 0 比分自动清零 MOV TEMP1 1 循环变量 MOV TEMP 3 开机默认加减分值为 3 MOV P1 11111110b 分值显示灯亮第一个灯 A1 ACALL DISPLAY 调显示函数 JNB JIAfen S1 JNB Yifen S2 JNB SWITCH S3 JNB Zhifen S4 LJMP A1 判断按下的控制键 S1 LCALL DELAY1 去抖动 JB JIAfen A1 确认按键 MOV A NA ADD A TEMP MOV NA A C0 JB JIAfen A1 等键释放 LCALL DISPLAY 20 SJMP C0 S2 LCALL DELAY1 去抖动 JB Yifen A1 MOV A NB ADD A TEMP MOV NB A C1 JB Yifen A1 等键释放 LCALL DISPLAY SJMP C1 JB0 JB SWITCH A1 RET S4 LCALL DELAY1 去抖动 JB Zhifen A1 MOV NA 50 MOV NB 50 C2 JB Zhifen A1 等键释放 LCALL DISPLAY SJMP C2 S3 LCALL DELAY1 去抖动 JB SWITCH A1 INC TEMP1 MOV A TEMP1 D00 CJNE A 2 D0 MOV TEMP 2 LCALL JB0 等键释放 MOV P1 11111101b 这里执行的是加 2 的命令 lJMP D00 D0 CJNE A 3 D1 MOV TEMP 1 LCALL JB0 MOV P1 11111011b 这里执行的是加 1 的命令 lJMP D0 21 D1 CJNE A 4 D2 MOV TEMP 1 LCALL JB0 MOV P1 11110111b 这里执行的是加 1 的命令 lJMP D1 D2 CJNE A 5 D3 MOV TEMP 2 LCALL JB0 MOV P1 11101111b 这里执行的是加 2 的命令 lJMP D2 D3 CJNE A 6 D4 MOV TEMP 3 LCALL JB0 MOV P1 11011111b 这里执行的是加 3 的命令 lJMP D3 D4 CJNE A 7 D5 MOV TEMP1 1 MOV TEMP 3 LCALL JB0 MOV P1 11111110b 这里执行的是加 3 的命令 lJMP D4 D5 LJMP A1 分值切换循环 3 2 1 1 2 3 显示函数 DISPLAY MOV A NA 甲队比分显示 22 MOV B 100 将 8 位二进制转换位十进制 DIV AB MOV P2 0 MOVC A A

温馨提示

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

评论

0/150

提交评论