通信技术专业毕业设计_第1页
通信技术专业毕业设计_第2页
通信技术专业毕业设计_第3页
通信技术专业毕业设计_第4页
通信技术专业毕业设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

通信技术专业毕业设计通信技术专业毕业设计 诚 信 声 明 本人郑重声明 所呈交的毕业设计文本和成果 是本人在 指导老师的指导下 独立进行研究所取得的成果 成果不存在 知识产权争议 本毕业设计不含任何其他个人或集体已经发表 过的作品和成果 本人完全意识到本声明的法律结果由本人承 担 毕业设计者签名 年 月 日 摘要 本文介绍了基于 at89s51 单片机设计的电子数字秒 表的调试和使用方法 本设计通过 at89s51 单片机以及单片机 最小系统和三极管驱动以及外围的按键和数码管显示等部件 设计一个基于单片机的简易计时器 设计通过四位一体共阳极 数码管显示 数码管前两位显示分钟 后两位显示秒 通过按 键能对秒进行设置 并利用单片机内部存储器 eeprom 可以 存储十组数据 可进行正计时 倒计时的切换 当倒计时结束 蜂鸣器报警 倒计时时间可设置 可以查看记录的数据 暂停 清零等功能 电子数字秒表计时器是能够精确的记录时间 广 泛用于各种继电器 电磁开关 延时器 定时器等的时间测试 在体育竞技计时方面也得到广泛应用 拥有较强的实用性 关键字 at89s51 单片机 驱动芯片 四位一体数码管 前 言 时钟 自从它发明的那天起 就成为人类的朋友 但随着 时间的推移 科学技术的不断发展 人们对时间计量的精度要 求越来越高 应用越来越广 怎样让时钟更好的为人民服务 怎样让我们的老朋友焕发青春呢 这就要求人们不断设计出新 型时钟 现今 高精度的计时工具大多数都使用了石英晶体振荡器 由于电子钟 石英表 石英钟都采用了石英技术 因此走时精 度高 稳定性好 使用方便 不需要经常调校 数字式电子钟 用集成电路计时时 译码代替机械式传动 用 led 显示器代替 显示器代替指针显示进而显示时间 减小了计时误差 这种表 具有时 分 秒显示时间的功能 还可以进行时和分的校对 片选的灵活性好 时间被认为是最宝贵的资源 为了对时间有更深刻的了解 同时也在电子方面有更深刻的认识 通过学习 本次设计主要 介绍用单片机内部的定时 计数器来实现电子数字秒表的方法 本设计由单片机 at89s51 芯片和 led 数码管为核心 辅以必要 的电路 构成了一个单片机电子数字秒表 相信它会越来越深 入地浸透到人们的生活中 并且将在一定程度上影响人们对生 活的理解和诠释 用单片机制作电子产品也会越来越多 也是 众多领域实施编程开发不可缺少的一部分 这将必然成为一种 趋势 为更多的了解单片机的原理和应用 故做此设计来进行 巩固 下面就是计时器设计的具体过程 1 绪论 1 11 1 课题研究的背景课题研究的背景 随着科技的快速发展 时间的流逝 从观太阳 摆钟到现 在电子钟 人类不断研究 不断创新纪录 从奥运会的计时技 术的进步就可以看到计时科技的进步 一百多年过去了 首届 现代奥运会上的计时所用的跑表到如今的一系列高科技计时装 置 如高速数码摄像机 电子触摸垫 红外光束 无线应答器 等等 随之当今计时技术的快速发展 即便千分之一秒的差距 也决定着冠军的归属 在现在体育竞技比赛中 运动员的水平 不断提高 差距也在不断缩小 这就要求对时间精度要求越来 越高 有时冠军之间的差距只有几毫秒 因此就要高精度的秒 表来记录成绩 在机械控制和家电计时运作与暂停都需要秒表 来控制 这也是秒表的一个较为广泛的应用 秒表携带方便 成本低 应用广泛 具有广泛的市场前景 1 21 2 课题的研究目的与意义课题的研究目的与意义 电子数字秒表计时器是能够精确的记录时间 广泛用于各 种继电器 电磁开关 延时器 定时器等的时间测试 在体育 竞技计时方面也得到广泛应用 拥有较强的实用性 制作电子数字秒表计时器能够对我们学习的知识进行一个 系统的实践 进一步巩固和加深我们对基础理论知识 基本技 能掌握 将知识进行系统化和技能操作的实践知识综合化 通 过完成电子数字秒表计时器的设计 制作 调试 让我们对电 子产品的整个制作过程有一个完整的认识 考验我们对电路的 设计能力 程序的编译能力 以及产品的焊接组装能力 在实 践中提高技能水平 1 31 3 课题解决的主要内容课题解决的主要内容 本课题所研究的电子数字秒表是单片机控制技术的一个具 体应用 主要研究内容包括以下几个方面 1 1 选用电子数字秒表芯片时 应重点考虑功能实在 选用电子数字秒表芯片时 应重点考虑功能实在 使用方便 单片存储 低功耗 抗断电的器件 使用方便 单片存储 低功耗 抗断电的器件 2 2 根据选用的电子数字秒表历芯片设计外围电路和单 根据选用的电子数字秒表历芯片设计外围电路和单 片机的接口电路 片机的接口电路 3 3 在硬件设计时 结构要尽量简单实用 易于实现 在硬件设计时 结构要尽量简单实用 易于实现 使系统电路尽量简单 使系统电路尽量简单 4 4 根据硬件电路图 在开发板上完成器件的焊接 根据硬件电路图 在开发板上完成器件的焊接 5 5 根据设计的硬件电路 编写控制 根据设计的硬件电路 编写控制 at89s51at89s51 芯片的单芯片的单 片机程序 片机程序 6 6 通过编程 编译 调试 把程序下载到单片机上运 通过编程 编译 调试 把程序下载到单片机上运 行 并实现本设计的功能 行 并实现本设计的功能 7 7 在硬件电路和软件程序设计时 主要考虑提高人机 在硬件电路和软件程序设计时 主要考虑提高人机 界面的友好性 方便用户操作等因素 界面的友好性 方便用户操作等因素 设计任务 掌握单片机程序设计 调试和应用电路设计 分析及调试检测 基本要求 设计一按键控制数码管显示的电子数字秒表 能实现存储十组数据 数码管前两位显示分钟 后两位显示秒 可完成正计时 倒计时可以切换 在倒计时结束时蜂鸣器报警 同时倒计时时间可自行设置 还可以查看记录的数据 具备暂 停 清零等功能 1 41 4 系统硬件设计系统硬件设计 1 4 11 4 1 电路设计框图电路设计框图 本设计通过 at89s51 单片机以及单片机最小系统和三极管 驱动以及外围的按键和数码管显示等部件 设计一个基于单片 机的简易计时器 设计通过四位一体共阳极数码管显示 并能 通过按键对秒进行设置 对数据进行存储和查看 图 1 电路设计框图 1 4 21 4 2 功能实现功能实现 系统在正常工作时 led 液晶上分和秒都显示为零 当按 下 k1 键时 电子数字秒表开始计时 如果想要对时间进行调 整 可以通过调整设置模块来实现 当按下 k2 键时 可以存 储数据 每按一次存储一组数据 能存储最近十组数据 如想 要倒计时可以按下 k5 键来调节倒计时的秒数 倒计时结束时 蜂鸣器响五声后停止 如想要切换到正计时可以按下 k4 键 同时 k5 键还可以调闹钟 闹钟时间到时 蜂鸣器响五声数码 管闪五下停止 如果想要退出重新计时就再按一下 k6 即可复 位 系统原理图如图 2 图 2 原理图 2 软件设计 时间被认为是最宝贵的资源 为了对时间有更深刻的了解 同时也在电子方面有更深刻的认识 通过学习 选择做一个通 过按键控制数码管的电子数字秒表设计 电子数字秒表的核心 部件单片机 at89s51 它在整个人类史上的地位已经不容置疑 地确立了 相信它会越来越深入地浸透到人们的生活中 并且 将在一定程度上影响人们对生活的理解和诠释 用单片机制作 电子产品也会越来越多 也是众多领域实施编程开发不可缺少 的一部分 这将必然成为一种趋势 为更多的了解单片机的原 理和应用 故做此设计来进行巩固 本电路以 at89s51 单片机最小系统为控制核心 数码管显 示由三极管 8550 驱动 输入部分采用五个独立式按键 k1 k2 k3 k4 k5 显示部分的型与单片机 p0 口相连 数 码管的的位由单片机的 p2 口控制 对于不同型号的单片机只 需要相应的改变一下地址即可 该软 硬件系统具有很好的通 用性 很高的实际使用价值 2 12 1 软件系统框图软件系统框图 系统设计图如图 2 所示 图 3 软件设计图 2 22 2 程序流程图程序流程图 图 4 程序流程图 2 32 3 程序编写程序编写 include define uc unsigned char define ui unsigned int void display char code tab 0 xc0 0 xf9 0 xa4 0 xb0 0 x99 0 x92 0 x82 0 xf8 0 x80 0 x 90 0 xff 数字对应显示码表 char code tab1 0 x40 0 x79 0 x24 0 x30 0 x19 0 x12 0 x02 0 x78 0 x00 0 x10 小数点 char code index 0 xf7 0 xfb 0 xfd 0 xfe 每位数 字对应数码管显示位置 uc num 8 每位数字存放数组 uc val 10 4 存储的记录 10 为记录序列 8 为每 组记录中的数字 char val index 记录序列标志位 uc set index ok flag timing bit mode 1 运行模式 1 为正向计数 0 为反向计数 bit fin flag 0 完成标志位 当反向计数结束时 此 位为高电平 触发蜂鸣器 bit set shan sbit beep p3 6 sbit key1 p1 0 sbit key2 p1 1 sbit key3 p1 2 sbit key4 p1 3 sbit key5 p1 4 void delay ui z ui i j for i 0 i z i for j 0 j 121 j void init 初始化设计 tmod 0 x11 th0 0 x4b tl0 0 xff th1 0 x4b tr0 0 tl1 0 xff et1 1 tr1 1 et0 1 ea 1 val index 0 void clr uc i for i 0 i 8 i num i 0 void setup ok flag 0 xff set index 0 while ok flag display if key1 0 按动 key1 设置值加 1 delay 5 if key1 0 if set index 0 set index 2 set index 4 set ind ex 6 num set index if num set index 10 num set index 0 else if set index 1 set index 3 set index 5 set i ndex 7 num set index if num set index 6 num set index 0 while key1 display if key2 0 按动 key2 设置位置加 1 delay 5 if key2 0 set index if set index 8 set index 0 if num 4 0 num 5 0 num 6 0 num 7 0 num 0 0 num 1 0 num 2 0 num 3 0 mode 1 else if num 4 0 else if num 0 0 num 1 0 num 2 0 num 3 0 mode 0 while key2 display if key5 0 按动 key5 设置结束 delay 5 if key5 0 ok flag 0 x00 if num 4 0 num 5 0 num 6 0 num 7 0 num 0 0 num 1 0 num 2 0 num 3 0 mode 1 else if num 4 0 else if num 0 0 num 1 0 num 2 0 num 3 0 mode 0 mode 0 while key5 display void display uc i if ok flag 0 xff if timing 0 for i 0 i 4 i p0 0 xff p2 index i if i 2 p0 tab1 num i else p0 tab num i delay 2 修改此参数可修改刷新频率 else if set shan 0 for i 0 i 4 i p0 0 xff p2 index i p0 tab 10 delay 2 修改此参数可修改刷新频率 else if set shan 1 for i 0 i 4 i p0 0 xff p2 index i if i 2 p0 tab1 num i else p0 tab num i delay 2 修改此参数可修改刷新频率 else if set shan 0 if set index 0 for i 0 i 4 i if i 0 p2 index 0 p0 tab 10 delay 2 修改此参数可修改刷新频率 p0 0 xff else p2 index i if i 2 p0 tab1 num i else p0 tab num i delay 2 修改此参数可修改刷新频率 p0 0 xff else if set index 1 for i 0 i 4 i if i 1 p2 index 1 p0 tab 10 delay 2 修改此参数可修改刷新频率 p0 0 xff else p2 index i p0 tab num i delay 2 修改此参数可修改刷新频率 p0 0 xff else if set index 2 for i 0 i 4 i if i 2 p2 index 2 p0 tab 10 delay 2 修改此参数可修改刷新频率 p0 0 xff else p2 index i if i 2 p0 tab1 num i else p0 tab num i delay 2 修改此参数可修改刷新频率 p0 0 xff else if set index 3 for i 0 i 4 i if i 3 p2 index 3 p0 tab 10 delay 2 修改此参数可修改刷新频率 p0 0 xff else p2 index i if i 2 p0 tab1 num i else p0 tab num i delay 2 修改此参数可修改刷新频率 p0 0 xff else if set index 4 for i 4 i 8 i if i 4 p2 index 0 p0 tab 10 delay 2 修改此参数可修改刷新频率 p0 0 xff else p2 index i 4 if i 6 p0 tab1 num i else p0 tab num i delay 2 修改此参数可修改刷新频率 p0 0 xff else if set index 5 for i 4 i 8 i if i 5 p2 index 1 p0 tab 10 delay 2 修改此参数可修改刷新频率 p0 0 xff else p2 index i 4 if i 6 p0 tab1 num i else p0 tab num i delay 2 修改此参数可修改刷新频率 p0 0 xff else if set index 6 for i 4 i 8 i if i 6 p2 index 2 p0 tab 10 delay 2 修改此参数可修改刷新频率 p0 0 xff else p2 index i 4 if i 6 p0 tab1 num i else p0 tab num i delay 2 修改此参数可修改刷新频率 p0 0 xff else if set index 7 for i 4 i 8 i if i 7 p2 index 3 p0 tab 10 delay 2 修改此参数可修改刷新频率 p0 0 xff else p2 index i 4 if i 6 p0 tab1 num i else p0 tab num i delay 2 修改此参数可修改刷新频率 p0 0 xff else if set index 4 for i 0 i 4 i p2 index i if i 2 p0 tab1 num i else p0 tab num i delay 2 修改此参数可修改刷新频率 p0 0 xff else for i 4 i 8 i p2 index i 4 if i 6 p0 tab1 num i else p0 tab num i delay 2 修改此参数可修改刷新频率 p0 0 xff void alarm if num 4 0 else if num 4 num 0 tr0 0 void main 主函数 uc h g k init clr while 1 display 刷屏显示数码管 alarm if key1 0 开始 暂停按钮 delay 5 if key1 0 tr0 tr0 while key1 display if key2 0 记录按钮 delay 5 if key2 0 if tr0 1 当在运行中按下记录键则存储记录 for g 1 g 10 g for k 0 k 4 k val g 1 k val g k for h 0 h 4 h val 9 h num h 将当前时间存储 else 在停止状态下按下记录键查看记录 按动一次序列 递减一次 即查看上一次记录 for h 0 h 4 h num h val val index h 将当前时间存储 val index if val index9 num 0 9 num 1 if num 1 5 num 1 5 num 2 if num 2 9 num 2 9 num 3 if num 3 9 num 3 0 tr0 0 fin flag 1 clr void t1 time interrupt 3 uc shan beep stop th1 0 x4b tl1 0 xff shan if shan 10 shan 0 set shan set shan if fin flag timing 当反向计数完成时 或计 时时间到时 beep stop beep beep if beep stop 10 fin flag 0 timing 0 num 4 0 num 5 0 num 6 0 num 7 0 beep stop 0 beep 1 2 42 4 软件仿真软件仿真 为了使电子数字秒表能实现单片机内部存储器 eeprom 可以存储十组数据 数码管前两位显示分钟 后两位显示秒 正计时 倒计时可以切换 倒计时结束蜂鸣器报警 倒计时时 间可设置 可以设置闹钟 查看记录的数据 暂停 清零等功 能 用 keil c51 软件编辑 c 语言程序并且编译调试 在编写 程序和编译调试的过程中出现了很多问题 在编写程序的时候 将数码管显示的子程序和中断漏写了 导致程序不能编译成功 在编写程序是将特殊符号弄错或漏写 在编程时最容易出现的 就是将 漏写和将 和 弄错 以至程序不能正常编译 2 52 5 软硬件仿真软硬件仿真 用 keil c51 软件编辑 c 语言程序 将编写好的 c 语言程 序编译成功后生成 hex 代码 供下载器使用 使用 proteus isis 绘制原理图 将 keil c51 和 proteus isis 连接起来调 试 进行仿真 当按下 k1 键时 电子数字秒表开始计时 如 果想要对时间进行调整 可以通过调整设置模块来实现 当按 下 k2 键时 可以存储数据 每按一次存储一组

温馨提示

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

评论

0/150

提交评论