基于STC89C52的球赛计时设计-职业学院物联网毕业论文_第1页
基于STC89C52的球赛计时设计-职业学院物联网毕业论文_第2页
基于STC89C52的球赛计时设计-职业学院物联网毕业论文_第3页
基于STC89C52的球赛计时设计-职业学院物联网毕业论文_第4页
基于STC89C52的球赛计时设计-职业学院物联网毕业论文_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

无锡城市职业技术学院 毕毕 业业 设设 计计 报报 告告 中文题目中文题目基于基于 STC89C52STC89C52 的球赛计时设计的球赛计时设计 英文题目英文题目Design of the game Basedon the STC89C52 timing 姓姓名名顾海白 所在系部所在系部电子信息工程系 所学专业所学专业物联网应用技术 传感 班级名称班级名称物联网 1102 班 学学号号41114229 指导教师指导教师张玉娟 日日期期2013 年 04 月 30 日 目目录录 摘要 I ABSTRACT II 一 前言 1 二 设计方案 1 三 硬件设计 2 一 设计方案单片机系统 STC89C52 2 二 时钟模块与复位模块 5 三 辅助时序控制设计模块 5 四 电源模块 8 四 软件设计 8 一 主函数设计模块 9 二 键盘和显示时间 分数设计 13 三 延时模块设计 16 五 仿真与调试 错误 未定义书签 错误 未定义书签 六 结论 17 参考文献 18 谢辞 19 附录 20 无锡城市职业技术学院 2011 级物联网应用技术 传感 专业毕业设计报告 I 摘摘要要 摘要摘要 单片机非常广泛的应用在我们生活的各个方面 所以想到把单片机运用在篮球 比当中去 篮球比赛包括计分和计时两大部分 这样就可以运用单片机来控制液晶显示 器达到预期结果 本设计的设计主要针对的时篮球比赛 但还可以修改功能 拓展到其 它球类比赛当中 篮球比赛计时计分器系统设计主要是基于STC89C52为核心元器件 运 用它内部自带的计时器T0和T1 通过软件编程来控制比赛的计时 硬件部分除了 STC89C52之外 还有1620液晶显示器和开关 通过控制程序来控制计时和比分 报警部 分采用了蜂鸣器的设置 本计时计分器设计具有以下功能 赛程时间启 停设置 24s倒 计时设置 比分加减设置 报警设置 而且价格比较低廉 操作比较简单 方便携带 适合小区 学校举办比赛的计时计分辅助工具 关键词关键词 篮球 单片机STC89C52 计时计分系统 无锡城市职业技术学院 2011 级物联网应用技术 传感 专业毕业设计报告 II Abstract Abstract SCM is widely used in all aspects of our lives so want to go to the application of SCM in basketball than basketball games including scoring and timing of two parts so that you can use single chip microcomputer to control the liquid crystal displays the desired results The design of this design is aimed at the basketball game but also can modify functions expanding to other ball games basketball game timing score indicator system design is mainly based on STC89C52 as the core components using its internal built in timer T0 and T1 through software programming to control the timing of the game the hardware part besides STC89C52 and 1620 liquid crystal display and switch through the control program to control the timing and the score buzzer alarm part adopted Settings This timing score indicator design has the following functions start stop schedule time Settings 24 s countdown Settings add and subtract the score setting alarm Settings And the price is cheap simple operation convenient to carry suitable for community school timing scoring auxiliary tool of the game Key words Basketball Microrontroller STC89C52 Timing scoring system 无锡城市职业技术学院 2011 级物联网应用技术 传感 专业毕业设计报告 第 1 页 共 26 页 基于基于 STC89C52STC89C52 的球赛计时设计的球赛计时设计 一 前言一 前言 今年来随着世界体育事业的发展 以及我国经济建设的蒸蒸日上 篮球这一世界性 的体育运动发展的越来越好 逐步实现了全民化 因此对应的篮球配套设施也逐步进入 人们的视野 篮球比赛计时计分器是为了解决篮球比赛时计分与计时准确方便 灵活适用的问 题 篮球比赛在中国越来越受到人们的关注 同时也被更多的青少年所喜爱 本设计除 了具有赛程时间计时 调整及暂停和比赛计分的功能 还具有 24s 倒计时的功能 遥控 操作功能 且造价低廉 操作方便且便于携带 适合于学校和小团体作为比赛赛程的计 时计分工具 从另一方面说 本设计方便了人们比赛时的计时计分工作 在某种程度上也促进了 篮球赛的开展 既有利于发展篮球这项体育运动 又有利于增强人们的体质 另外参与 篮球运动的人多了 也利于篮球运动员的选拔 对我们国家的篮球事业也具有促进作用 本设计主要是针对于学校 单位 社区篮球赛等小型比赛 在之前的小型比赛中 比赛的计时计分分别采用的是电子表和分数布 这样既浪费了大量的人力资源 也是比 赛的分数和时间不能完美的展示给观众和参赛队员 看起来十分不方便 本设计实现了 计时计分的统一 使人们能更清楚的了解比赛的进程和情况 篮球赛计时计分器的核心技术 单片机与集成电路的结合 通过编程让它在数码管 上显示出比赛时间和双方的比分 它能让比分显示在人们面前 随着体育篮球运动的不 断深入到各个领域 球赛计时器对于人们来说篮球比赛来说 显得格外的重要 二 设计方案二 设计方案 本设计是基于 51 单片机的篮球计时计分器 篮球比赛计分器硬件部分主要利用 stc89c52 单片机完成了计分与计时的功能 通过 1602 液晶显示器显示比赛时间以及双 方的分数 矩阵键盘来输入双方信息 蜂鸣器来提醒警告双方 软件部分利用 Keil uVision2 软件来进行编译和 Proteus 软件进行仿真 本方案主要包括电源 单片机控制部分 计时部分 计分部分 蜂鸣器报警 按键 控制键盘模块 通过这几个部分的协调工作就可以完成相应的计时计分控制和显示 如 图 1 所示模块框图 无锡城市职业技术学院 2011 级物联网应用技术 传感 专业毕业设计报告 第 2 页 共 26 页 图图 1 1 模块框图 模块框图 本设计用 stc89c52 单片机作为系统的核心 使用 1602 液晶模块来显示双方分数和 时间以及相应的规则 24 秒 3 3 的矩阵键盘组成键盘模块用来输入双方分数 暂停 等还有对应的报警灯模块 复位和时钟位单片机系统的最小组成部分 赛程计时为倒计 时方式 比赛开始时启动计时 本节结束时 时间为零 当本节比赛结束时候 蜂鸣器 报警 时间刷新为下一节准备 等待开始 此外我还使用了桥式整流 以及 7805 稳压 块组成了电源模块 用来给系统供电 如下图 9 所示 三 硬件设计三 硬件设计 一 设计方案单片机系统 一 设计方案单片机系统 STC89C52STC89C52 1 1 单片机简介 单片机简介 单片机把微型计算机中的微处理器 存储器 I O 接口 定时器 计数器 串行接口 中断系统等电路集成到一块集成芯片上去从而形成的微型计算机 也就是说单片机就是 一个不包括输入 输出设备 不带外部设备的微型计算机 相当于一个没有显示器 没 有键盘 不带监控程序的单板机 虽然单片机只是一个芯片 但从组成和功能上看 它 已经具有计算机系统的属性 因此称呼它为单片微型计算机 当前 51 系类单片机在电 子领域得到了广泛的应用 STC89C52 单片机是我国深圳宏晶科技有限公司生产的一种单 片机 在一小块芯片上集成了一个微型计算机的各个组成部分 包括 8 位的微型处理 器 CPU 一个 512K 的片内 RAM 8K 内存 8 位四个并行的 I O 接口 P0 P3 每个接口既 可以输入 也可以输出 两个定时器 计数器 五个中断源的中断控制 但石英晶体和 微调电容需要外接 最高允许振荡频率是 12MHZ 显示电路 报警模块 芯片 STC89C52 键盘模块 时钟模块 复位模块 无锡城市职业技术学院 2011 级物联网应用技术 传感 专业毕业设计报告 第 3 页 共 26 页 2 2 单片机引脚 单片机引脚 图图 2 2 单片机引脚图 单片机引脚图 VCC 供电 电压接 5V GND 接地 P0 口 P0 口是一个三态双向口 可作为地址 数据分时复用口 也可以作为 I O 接 口 它由 8 个锁存器构成了特殊功能寄存器 P0 场效应管 FET T1 T2 组成输出启动 器 以增加负载能力 在 FIASH 编程时 P0 口作为原码输入口 当 FIASH 进行校验时 P0 输出原码 此时 P0 外部必须被拉高 P1 口 P1 口是一个内部提供上拉电阻的 8 位双向 I O 口 P1 口缓冲器能接收输出 4TTL 门电流 P1 口管脚写入 1 后 被内部上拉为高 可用作输入 P1 口被外部下拉为 低电平时 将输出电流 这是由于内部上拉的缘故 在 FLASH 编程和校验时 P1 口作为 第八位地址接收 P2 口 当 P2 口作为准双向的通用 I O 口使用时候 控制信号使转换开关接向左侧 锁存器 Q 端经反相器接场效应管 工作原理和 P1 相同 也具有输入 输出 端口操作 3 种工作方式 负载能力和 P1 相同 P2 口为一个内部上拉电阻的 8 位双向 I O 口 P2 口 缓冲器可接收 输出 4 个 TTL 门电流 当 P2 口被写 1 时 其管脚被内部上拉电阻拉 高 且作为输入 并因此作为输入时 P2 口的管脚被外部拉低 将输出电流 这是由于 内部上拉的缘故 P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时 P2 口输出地址的高八位 在给出地址 1 时 它利用内部上拉优势 当对外部八位地 址数据存储器进行读写时 P2 口输出其特殊功能寄存器的内容 P2 口在 FLASH 编程和 校验时接收高八位地址信号和控制信号 无锡城市职业技术学院 2011 级物联网应用技术 传感 专业毕业设计报告 第 4 页 共 26 页 P3 口 P3 口管脚是 8 个带内部上拉电阻的双向 I O 口 可接收输出 4 个 TTL 门电 流 当 P3 口写入 1 后 它们被内部上拉为高电平 并用作输入 作为输入 由于外 部下拉为低电平 P3 口将输出电流 ILL 这是由于上拉的缘故 P3 口也可作为 STC89C52 的一些特殊功能口 如图 3 所示 端口引脚第二功能功能说明 P3 0RXD串行输入口 P3 1TXD串行输出口 P3 2 INT0外部中断 0 输入 P3 3 INT1外部中断 1 输入 P3 4T0定时器 计数器 0 外部输入 P3 5T1定时器 计数器 1 外部输入 P3 6 WR片外部数据存储器写选通 P3 7 RD片外部数据存储器读选通 图图 3 3 STC89C52STC89C52 特殊功能表特殊功能表 P3 口同时为闪烁编程和编程校验接收一些控制信号 RST 复位输入 当振荡器复位器件时 要保持 RST 脚两个机器周期的高电平时间 ALE PROG 当访问外部存储器时 地址锁存允许的输出电平用于锁存地址的地位字 节 在 FLASH 编程期间 此引脚用于输入编程脉冲 在平时 ALE 端以不变的频率周期 输出正脉冲信号 此频率为振荡器频率的 1 6 因此它可用作对外部输出的脉冲或用于 定时目的 然而要注意的是 每当用作外部数据存储器时 将跳过一个 ALE 脉冲 如想 禁止 ALE 的输出可在 SFR8EH 地址上置 0 此时 ALE 只有在执行 MOVX MOVC 指令是 ALE 才起作用 另外 该引脚被略微拉高 如果微处理器在外部执行状态 ALE 禁止 置位无 效 PSEN 外部程序存储器的选通信号 在由外部程序存储器取指期间 每个机器周 期两次 PSEN 有效 但在访问外部数据存储器时 这两次有效的 PSEN 信号将不出现 EA VPP 当 EA 保持低电平时 则在此期间外部程序存储器 0000H FFFFH 不管 是否有内部程序存储器 注意加密方式 1 时 EA 将内部锁定为 RESET 当 EA 端保持高 电平时 此间内部程序存储器 在 FLASH 编程期间 此引脚也用于施加 12V 编程电源 VPP XTAL1 反向振荡放大器的输入及内部时钟工作电路的输入 XTAL2 来自反向振荡器的输出 无锡城市职业技术学院 2011 级物联网应用技术 传感 专业毕业设计报告 第 5 页 共 26 页 二 时钟模块与复位模块 二 时钟模块与复位模块 时钟与复位是单片机最小化系统组成部分 故将其放到一起 单片机的时钟信号时 用来提供单片机内部各种操作的时间基准 时钟电路用来产生单片机工作所需要的时钟 信号 单片机复位是 CPU 和系统中的其他功能部件恢复为初始状态 就像计算机的重启 并且从这个状态开始工作 单片机内部有一个高增益的反相放大器 其输入端 XTAL1 和 XTAL2 用于外接晶体和 电容 已构成自激振荡器 时钟电路可视为单片机工作的心脏 对单片机工作有着非常 重要的作用 一个单片机系统中 时钟主要由晶振和外围电路组成 晶振频率的大小决 定了单片机系统工作的快慢 为达到振荡周期是 12MHZ 的要求 本系统采用 12MHZ 的晶 振 另外有两个 30P 的电容 晶振引脚分别连到 XTAL1 和 XTAL2 振荡脉冲输入引脚 这 是最常见的时钟模块设计 复位是对单片微机进行初始化操作 主要功能是把 PC 初始化为 0000H 使单片机从 0000H 单元开始执行程序 近似于重启系统 当由于程序运行出错或操作失误使系统处 于死锁状态时 为快速解决问题 可以按复位键重启 也可以通过监视定时器来强迫复 位 RST 引脚是复位信号的输入端 复位电路在这里采用的是上电和按钮复位电路形式 两个模块原理图如图 4 图图 4 4 时钟模块与复位模块 时钟模块与复位模块 三 辅助时序控制设计模块 三 辅助时序控制设计模块 1 1 16021602 液晶显示模块液晶显示模块 显示器是本设计中必须要用到的 种类很多 在单片机系统设计中最常用的是发光 二极管显示器 LED 和液晶显示器 LCD 两种 这两种显示器结构简单 价格低廉 因此成为优先考虑的器件 无锡城市职业技术学院 2011 级物联网应用技术 传感 专业毕业设计报告 第 6 页 共 26 页 原先设计将采用数码管显示 但考虑到选用的单片机 I O 口少 以及缺乏人性化 不美观 说以放弃数码管作为显示 1602 技术成熟有很多套用程序 操作也不是很困难 选择 1602 也使得电路变得简洁 大气更加美观 整体而言也更加先进 因此选择 1602 液晶用来显示比赛双方分数 和时间以及 24 秒计时 下面开始介绍 1602 液晶屏的一些功能和基本资料如图 5 所示 结构 工作原理及 其接口电路 当前我们用到的小液晶大多数是基于 HD44780 液晶芯片的 基本原理是相同的 说 以 HD44780 写的控制程序可以很方便地应用到大部分的字符型液晶上 字符型 LCD 通常 有 14 条引脚线或 16 条引脚线 多出来的 2 条线是背光电源线 VCC 15 脚 和地线 GND 16 脚 其控制原理与 14 脚的 LCD 完全一样 管脚号名称电平功能描述 1VSS0V电源地 2VDD5 0V电源正极 3VEE 液晶显示偏压信号 4RSH LH 数据线上为数据信号 L 数据线上为指令信号 5RWH LH 读数据模式 L 写数据信号 6EH L使能信号端 7 14DB0 DB7H L数据线 15BLA 背光源正极 16BLK 背光源负极 图图 5 5 16021602 的引脚说明的引脚说明 图图 6 6 16021602 液晶显示器电气连接图液晶显示器电气连接图 如图 6 所示液晶显示偏压信号是指用于驱动 LCD 上的像素点改变颜色所用的电压 无锡城市职业技术学院 2011 级物联网应用技术 传感 专业毕业设计报告 第 7 页 共 26 页 此电压可能接近 GND 也可能接近 Vcc 视芯片不同而有所不同 本系统用的 1602 是接近 GND 2 2 矩阵键盘模块 矩阵键盘模块 3 3 3 3 矩阵键盘在电路设计中有很多优点 不占用太多 I O 口 同时也使电路变得更加清 晰整洁 当有键按下时输入电平改变 系统验证信号后更具信号 完成相应功能 这样 的电路更美观 矩阵键盘就是利用单片机端口的不断扫描检测横向纵向两个方向不断检 测信号而判断是否有键按下 在生活中矩阵键盘用处非常广泛 甚至是包括现在的智能 手机触屏界面其本质都是矩阵键盘 只是按键换了材料 电容屏 电阻屏 但追溯期 根源都是矩阵键盘 本设计有很多键盘除了复位键还有 9 个键盘 分别是开始 暂停 改变比赛节次 A 队加 1 分 A 队加 2 分 A 队加 3 分 B 队加 1 分 B 队加 2 分 B 队加 3 分 按键与 P1 口相接 电路如图 7 所示 图图 7 7 3 33 3 矩阵键盘矩阵键盘 如图所示的 9 个键盘中 单片机 P0 口的 1 2 3 5 6 7 三个端口不断地发出信号进 行扫描 当有按键按下时就有电平改变 可以根据横向纵向的具体交叉点判断具体信息 这需要软件实现 3 3 报警模块 报警模块 报警模块设计非常简单 有蜂鸣器和对应的电阻构成 当单片机输出信号时 会有 滴 声用来提醒比赛进程如 暂停 每节结束 比赛结束等 如图 8 所示报警电路 该系统有一个蜂鸣器 一个三极管和一个电阻构成三极管 8050 在电路中起到开关的作 用 更具单片机输出信号的频率 蜂鸣器响度会变化 无锡城市职业技术学院 2011 级物联网应用技术 传感 专业毕业设计报告 第 8 页 共 26 页 图图 8 8 报警电路报警电路 四 电源模块 四 电源模块 单片机工作电压为 5V 直流 固采用 7805 三端稳压器提供直流电源 电路设计很简 单 即 变压器 桥式整流和稳压三个部分 当然还有相应的滤波电路 输出最终电压 为 5V 完全符合系统供电要求 电路原理如图 9 所示 图图 9 9 电源电路 电源电路 四 软件设计四 软件设计 单片机软件常用 C 语言和汇编语言编写 这两种语言都有各自的优点 汇编语言的 优点是比较灵活 但程序不易理解 对产品的移植 升级不太有利 而 C 语言有非常丰 富的库函数供用户使用 因此它是高级语言 程序代码的编写也非常人性化 易于阅读 理解 由于 C 语言较为高级 编写简单 说以采用了 C 的编程 不管是 C 还是汇编要想 单片机最终能实现功能 都要生成 HEX 文件二进制格式写入单片机芯片 我们的设计软 件的环境采用常见的 Keil C51 软件 原因是全 Windows 界面 重要的是 只要看一下 无锡城市职业技术学院 2011 级物联网应用技术 传感 专业毕业设计报告 第 9 页 共 26 页 编译后生成的汇编代码 就能体会到 Keil C51 生成的目标代码效率非常之高 多数语 句生成的汇编代码很紧凑 容易理解 非常有优势 由于设计简单 我将程序分为三个 部分 主程序 显示时间分数程序 和延时程序编写 一 一 主函数设计模块主函数设计模块 篮球比赛计分计时器本质就是一个计数器 利用单片机中的定时 计数器来实现其 计时的功能这样比延时程序编写更加精准 按键实现其计分的功能 在 51 系列的单片 机中有两个 16 位的定时 计数器 TO T1 分别由 TH0 TL0 和 TH1 TL1 组成 它们均是 8 位寄存器 在特殊功能寄存器中占地址 8AH 8DH 它们用于存放定时或计数的初始值 通过计算得到初始值可以将时间变得更为精准 主函数中还包括调用按键模块 以及调研显示时间分数的模块 在下面我将会具体 介绍 主函数流程图如图 10 所示 系统开始时 先进行定时器 T0 T1 和 LCD 的初始化 篮球赛规则是每节 12 分钟 进攻时间为 24 秒这由 T0 控制 T1 可以用来控制按键扫描 按键和单片机的 P1 口相连 开始工程中不断判断 P1 口是否有信号 若没有则继续返回 若有信号 按键按下 就 判断是哪个键按下 将对应的意思传递到单片机 并等待按键释放并将时间 分数 节 次经 P0 P2 口在 LCD 上显示出来 当一节 12 分钟和 24 秒倒计时结束时 蜂鸣器就会 报警 当设计完成后可以利用仿真软件仿真验证设计方案我采用的是proteus仿真验证 51 单片机调试效率非常高 简单容易理解 软件调试主要是使用 Keil 和 Proteus 进 行 在写好源程序 画出原理图之后 利用电脑对设计进行软件仿真 具体步骤如下 先是用 keil 将程序写入 在 keil 里面观察编译情况 能否编译 利用 keil 进行调试 完成以后编译生成 hex 文件 观察单片机对应端口有无变化 keil 软件观察 然后打 开 proteus 画出对应图形 将 hex 文件载入单片机中观察结果 无锡城市职业技术学院 2011 级物联网应用技术 传感 专业毕业设计报告 第 10 页 共 26 页 开始 定时器 T0 T1 LCD 初始化 显示当前时间 读取 P1 口的值 是否有键按下 哪个键按下 开 始 暂 停 节 次 A 加 一 A 加 二 A 加 三 B 加 一 B 加 二 B 加 三 等按键释放 将时间 分数 节次经 P0 P2 口输出显示 Y N 图图 1010 主函数流程图 主函数流程图 下面是定时器 T0 工作方式 1 时定时 1s 的程序代码初值 TH 为 FC TL 为 18 TMOD 为 1 void InitTimer0 void 无锡城市职业技术学院 2011 级物联网应用技术 传感 专业毕业设计报告 第 11 页 共 26 页 TMOD 0 x01 TH0 0 x0FC TL0 0 x18 EA 1 ET0 1 TR0 1 下面是定时器 T1 工作方式 1 时定时 1s 的程序代码初值 TH 为 FC TL 为 18 TMOD 为 16 void InitTimer0 void TMOD 0 x01 16 进制数为 0 x01 TH0 0 x0FC TL0 0 x18 EA 1 ET0 1 TR0 1 根据定时器计数器的相关作用 以及分析 TH 和 TL 的值 根据流程图 设计主函数 主函数如下 void main uchar yuan Initialize LCD LCD 初始化 TMOD 0 x11 选择定时器 计数器 0 工作方式 0 TH0 50000 256 预置数 TL0 50000 256 TR0 0 ET0 1 TH1 50000 256 TL1 50000 256 TR1 0 ET1 1 IT0 1 无锡城市职业技术学院 2011 级物联网应用技术 传感 专业毕业设计报告 第 12 页 共 26 页 EX0 1 EA 1 Print 1602 显示固定字符 speak 0 P1 0 x0f while 1 if KeyPressDown 1 Delay 30 判断是否整的按下 if KeyPressDown 1 Delay 30 判断是否整的按下 KeyPressDown 1 按键按下标志 KeyPressDown 0 按键按下标志 Delay 30 判断是否整的按下 KeyPressDown 0 按键按下标志 Key Result saomiao 键盘扫描 chuli Key Result TR1 0 Set LCD POS 0 x02 向 LCD 写地址 Write LCD Data 0 jie 向 LCD 写数据 Set LCD POS 0 x05 Write LCD Data 0 T 12 fen 10 向 LCD 写数据 Set LCD POS 0 x06 Write LCD Data 0 T 12 fen 10 向 LCD 写数据 Set LCD POS 0 x08 Write LCD Data 0 T 12 miao 10 向 LCD 写数据 Set LCD POS 0 x09 Write LCD Data 0 T 12 miao 10 向 LCD 写数据 Set LCD POS 0 x0c Write LCD Data 0 T 24 10 向 LCD 写数据 Set LCD POS 0 x0d Write LCD Data 0 T 24 10 向 LCD 写数据 无锡城市职业技术学院 2011 级物联网应用技术 传感 专业毕业设计报告 第 13 页 共 26 页 Set LCD POS 0 x44 Write LCD Data 0 A 100 向 LCD 写数据 Set LCD POS 0 x45 Write LCD Data 0 A 10 10 向 LCD 写数据 Set LCD POS 0 x46 Write LCD Data 0 A 10 比分 Set LCD POS 0 x4b Write LCD Data 0 B 100 Set LCD POS 0 x4c Write LCD Data 0 B 10 10 Set LCD POS 0 x4d Write LCD Data 0 B 10 比分 if Flag LED 1 Flag LED 0 for yuan 0 yuan 50 yuan 50 变小的话 报警音量会小 speak speak 蜂鸣器 Delay S 100 100 可变 改变报警 二 二 键盘设计键盘设计 矩阵键盘原理就是单片机口的不断扫面 当有按键按下时 则能检测到扫描信号 由于扫描频率很快 按键的速度不会影响扫描 具体键盘程序如图 11 所示 当设计完 程序后可在相应的仿真软件上演证成果利用 proteus 仿真观察实验现象 Proteus 是英国 Lab Center Electronics 公司设计的 EDA 工具软件 除了具有其它 EDA 工具软件的仿真功能外 还能仿真单片机及外围器件 当前来说它是最好的仿真单 片机及外围器件的工具之一 根据设计的原理图将其画在 proteus 中包括 单片机 最 下化系统 1602 液晶键盘等外围电路 如果没有 STC89C51 单片机文件库可以用其他 51 替换 点击单片机打开编译好的 hex 文件 运行对应程序并观察现象 根据现象得出结 论 由此可见我的想法是切实可行的 仿真也是成功的 从企业角度来看 仿真技术的 出现极大的缩短了研发成本和时间 加快了研发的进度 节约了成本 非常有利于企业 的运行 无锡城市职业技术学院 2011 级物联网应用技术 传感 专业毕业设计报告 第 14 页 共 26 页 图图 1111 键盘控制流程图 键盘控制流程图 键盘处理程序如下 void chuli uchar po 对读到的按键值进行处理 if Flag finish 1 Delay 30 判断是否整的按下 if Flag finish 1 Flag finish 0 TR0 1 T 24 23 T 12 fen 11 T 12 miao 58 switch po 具体的按键 case 0 TR0 1 break 开始 case 3 TR0 0 break 暂停 无锡城市职业技术学院 2011 级物联网应用技术 传感 专业毕业设计报告 第 15 页 共 26 页 case 6 jie if jie 5 jie 1 break 改变节次 case 1 A A 1 break A 对加 1 分 case 4 A A 2 break A 对加 2 分 case 7 A A 3 break A 对加 3 分 case 2 B B 1 break B 对加 1 分 case 5 B B 2 break B 对加 2 分 case 8 B B 3 break B 对加 3 分 三 三 显示时间 分数显示时间 分数 显示时间和分数都是在 1602 液晶上面显示的 由单片机更具根据矩阵键盘给出的 信号进行相应的处理以后 传递信号到液晶进而显示所需要的内容 1602 显示的程序有 很多 更具资料以及用户手册可以得到很多灵感 1602 显示根据代码查表最终显示程序 如下 void writsfm unsigned char dui unsigned char fen unsigned char i j k 用 3 位数显示分数 i fen 100 j fen 100 10 k fen 10 if 0 f 1 f A B 两队分数显示 if 0 dui Delay 30 判断是否整的按下 if 0 dui writcom 0 x80 4 writdata i 0 x30 writdata j 0 x30 writdata k 0 x30 if 1 dui writcom 0 x80 11 writdata i 0 x30 无锡城市职业技术学院 2011 级物联网应用技术 传感 专业毕业设计报告 第 16 页 共 26 页 writdata j 0 x30 writdata k 0 x30 if 2 f 3 f if 0 dui Delay 30 判断是否整的按下 if 0 dui writcom 0 x80 11 writdata i 0 x30 writdata j 0 x30 writdata k 0 x30 if 1 dui Delay 30 判断是否整的按下 if 0 dui writcom 0 x80 4 writdata i 0 x30 writdata j 0 x30 writdata k 0 x30 四四 延时模块设计 延时模块设计 尽管采用定时器控制时间 但程序中很多地方还需要使用延时模块 单片机的晶振 频率为 12MHz 通过计算 可以得到相应的延时程序 void Delay uint t 1ms 延时 uchar i while t for i 0 i0 c for b 142 b 0 b for a 2 a 0 a 误差 0us 延时在电路中主要是辅助的作用 是程序必不可少的 例如在确认键盘是否按下的 时候 可以使用延时几十毫秒来判断 因为人的反应时间比较慢 说以不用担心按键速 度 除了按键 还有其他很多地方需要使用延时 说以看似不怎么重要 但在程序里起 到非常关键的作用 五五 结论 结论 这次的设计 利用对单片机的设计 和引用是我对单片机宏观功能有了很大的了解 对模电 以及单片机编程 外围电路有了更新一部的认识 这是我毕业设计的最大收获 也是难得的经历 本此设计运用了 STC89C52 设计篮球计时计分器的设计 本文对各个模块都做作了 说明 基于 STC89C52 球赛计时设计 是源于我们生活中的一个课题 随着我国体育事 业的蒸蒸日上 以及科学技术的迅速发展 特别是电子领域的突飞猛进 篮球 以及相 应的配套设施 将越来越受到人们的重视 尽管本次设计时间紧迫 知识有限 但通过 努力 以及不断学习了解 做出了符合要求的产品 心里非常满意 克服了本次困难 相信今后能克服更多 通过对单片机的学习以及 1602 液晶的认识 以及 world 文档 数字电路 模拟电路的复习回顾 我了解到更多 在此期间我的电路设计能力 以及编程能力都有了很大的提高 从电子模块的设计 选用 整体方案的组合 包括后期的软件编程 我都亲身参与 这是我对理论和实践的 衔接有了更加深入的认识 收货颇深 对我今后的就业和学习都有很大的促进作用 对 我的人生有很大的意义 对此 我要感谢我的指导老师 你们的治学严谨 渊博的知识 深深地影响了我 从你们身上 我不仅学到了扎实的知识 与学到了做人的道理 在此 我要向你们表示深深地敬意 无锡城市职业技术学院 2011 级物联网应用技术 传感 专业毕业设计报告 第 18 页 共 26 页 参考文献参考文献 1 童诗白 模拟电子技术基础 北京高等教育出版社 2010 年 2 戴伏生 基础电子电路设计与实践 国防工业出版社 2012 年 3 谭博学 集成电路原理与应用 电子工业出版社 2012 年 4 华满清 电子技术实验与课程设计 机械工业出版社 2012 年 5 阎石主 数字电子技术基础 高等教育出版社 2012 年 无锡城市职业技术学院 2011 级物联网应用技术 传感 专业毕业设计报告 第 19 页 共 26 页 谢辞谢辞 时光飞逝在 转眼间大学三年的学习生涯就快结束了 漫长的人生旅途 三年的时 光算不了什么 但对我而言是磨砺青春 挥洒书生意气的三年 也是承受师恩 增长才 干 提高学识的三年 我将以一个高技术人才投入到社会主义建设中去 在此 谨对培 育我的母校 教导我的老师 帮助我的同学们致予最诚挚的谢意和敬意 感谢你们给了 我难得的经历和机会 在此 我特别要感谢我的论文指导老师张玉娟老师 她学识渊博 专业精通 诲人 不倦 与同学们保持着良好的沟通并经常给予科学的指导和热心的勉励 论文即将完成 的时候 我的心情是非常紧张而不能平静的 从开始写论文的时候 就有很多学长 老 师 朋友给了我很大的帮助 在此我向你们表示我最诚挚的敬意 感谢你们对我的无私 关心与帮助 谢谢了 除了老师和学长 我还要感谢我的父母 感谢他们对我的培养 谢谢你们 我还要感谢给予我很多关心和帮助的同学们 三年学习生活使我们结下深厚的友 谊 俗话说天下没有不散之筵席 在毕业之际 我衷心地同学和朋友们在以后的人生道 路上越走越宽广 无锡城市职业技术学院 2011 级物联网应用技术 传感 专业毕业设计报告 第 20 页 共 26 页 附录附录 1 总体原理图 无锡城市职业技术学院 2011 级物联网应用技术 传感 专业毕业设计报告 第 21 页 共 26 页 2 程序源代码 include reg52 h include intrins h define uint unsigned int define uchar unsigned char sbit speak P2 4 每节结束时警报 sbit RS P2 0 定义端口 extern void csh LCD LCD 初始化 extern void SetPOS uchar pos 向 LCD 写地址 extern void WriteData uchar dat 向 LCD 写数据 extern void xians 1602 显示固定字符 uchar d T0 0 定时器 0 的变量 uchar t T1 0 定时器 1 的变量 uchar Keyboardcode 0 xef 0 xdf 0 xbf 按键扫描列 char T 24 24 24 秒定义 char T 12 fen 12 char T 12 miao 0 uchar jie 1 uchar A 0 B 0 uchar key Result 0 读到的按键值0 8 uchar keyPressDown 0 按键按下标志 uchar Flag SPEAK 0 报警标志 uchar Flag finish 0 一节次结束标志 void Delay uint t 1ms 延时 uchar i while t for i 0 i 120 i uchar saomiao 键盘扫描 uchar jieguo 0 uchar heng shu EX0 0 for heng 0 heng 3 heng 横排扫描 无锡城市职业技术学院 2011 级物联网应用技术 传感 专业毕业设计报告 第 22 页 共 26 页 P1 Keyboardcode heng jieguo P1 if jieguo 0 x0f switch jieguo 判断竖排情况 case 0 x0e shu 0 break case 0 x0d shu 1 break case 0 x0b shu 2 break break P1 0 x0f EX0 1 return 3 shu heng void chuli uchar po 对读到的按键值进行处理 if Flag finish 1 Flag finish 0 TR0 1 T 24 23 T 12 fen 11 T 12 miao 58 switch po 具体的按键 case 0 TR0 1 break 开始 无锡城市职业技术学院 2011 级物联网应用技术 传感 专业毕业设计报告 第 23 页 共 26 页 case 3 TR0 0 break 暂停

温馨提示

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

评论

0/150

提交评论