51单片机电子时钟课程设计实验报告.doc

上传人:h**** 文档编号:103692 上传时间:2018-07-06 格式:DOC 页数:20 大小:169KB
下载 相关 举报
51单片机电子时钟课程设计实验报告.doc_第1页
第1页 / 共20页
51单片机电子时钟课程设计实验报告.doc_第2页
第2页 / 共20页
51单片机电子时钟课程设计实验报告.doc_第3页
第3页 / 共20页
51单片机电子时钟课程设计实验报告.doc_第4页
第4页 / 共20页
51单片机电子时钟课程设计实验报告.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、单片机原理与应用课程设计 总结报告 题 目 : 单片机电子时钟(带秒表)的设计 - 1 - 目 录 1.题目与主要功能要求 2 2.整体设计框图及整机概述 3 3.各硬件单元电路的设计、参数分析及原理说明 3 4.软件流程图和流程说明 4 5.总结设计及调试的体会 10 附 录 1.图一:系统电路原理图 11 2.图二:系统电路 PCB 12 3.表一:元器件清单 13 4.时钟程序源码 14- 2 - 题目:单片机电子时钟的设计与实现 课程设计的目的和意义 课程设计的目的与意义在于让我们 将理论与实践相结合 。培养我们综合运用电子课程中的理论知识解决实际性问题的能力。让我们对电子电路、电子元

2、器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立完成某些单片机应用系统的开发和设计打下 一个坚实的基础。 课程设计的基本任务 利用 89C51 单片机最小系统,综合应用单片机定时器、中断、数码显示、键盘输入等知识,设计一款单片机和简单外设控制的电子时钟。 主要功能要求 最基本要求 1)使用 MCS-51 单片机设计一个时钟。要求具有 6 位 LED 显示、 3 个按键输入。 2)完成硬件实物制作或使用 Pruteus 仿真(注意位驱动应能提供足够的电流)。 3)6 位 LED 数码管从左到右分别显

3、示时、分、秒 (各占用 2 位 ),采用 24 小时标准计时制。开始计时时为 000000,到 235959 后又变成 000000。 4)使用 3 个键分别作为小时、分、秒的调校键。每按一次键,对应的显示值便加 1。 分、秒加到 59 后再按键即变为 00;小时加到 23 后再按键即变为 00。在调校时均不向上一单位进位 (例如分加到 59 后变为 00,但小时不发生改变 )。 5) 软件设计必须使用 MCS-51 片内定时器,采用定时中断结构,不得使用软件延时法,也不得使用其他时钟芯片。 6)设计八段数码管显示电路并编写驱动程序,输入并调试拆字程序和数码显示程序。 7)掌握硬件和软件联合调

4、试的方法。 8)完成系统硬件电路的设计和制作。 9)完成系统程序的设计。 10)完成整个系统的设计、调试和制作。 11)完成课程设计报告。 基本要求 1)实现最基本要求的 110 部分。 2)键盘输入可以控制电子时钟的走时 /调试。 3)设计键盘输入电路和程序并调试。 4)掌握键盘和显示配合使用的方法和技巧。 提高发挥部分 1)另设三个键,分别作小时、分、秒的减 1 调校。 2)在以上设计的基础上,修改程序制作一个电子秒表。分、秒各占用 2 位显示, 1/10 秒、 - 3 - 1/100 秒各占用 1 位显示。设定二个键分别作启动停止、清零(清零应在停止后有效)。 3)在做完 (2)后,将时

5、钟与秒表合 二为一,并且在同时使用时互不影响,即可在时钟与秒表之间任意切换,而不影响走时、计秒。 整体设计框图及整机概述 整体设计框图 整机概述 1) 开机为走时模式,正常显示时间。 在此模式下,时钟可调。 2) 共设置 7 个按键,分别为模式键、功能键、加一键、减一键、复位键、秒表启动键、秒表复位键。 按动模式键,模式将在走时 /调时 /显示及秒表显示及调整 2 个模式下切换。 3)在时钟模式下,功能键选择是正常走时,还是进入调试(时、分、秒)模式。 4)按动加一键可以将值(时、分、秒)加一。 5)按动减一键可以将值(时、分、秒 )减一。 6)按动秒表中开始 /暂停按键可以随时控制秒表的开始

6、和停止。 7)按动秒表中清零按键时,秒表计的数就会被清除(只有在秒表停止了以后)。 8)按下复位键后,无论是任何状态都会从新开始。 9)开机时钟与闹钟都为 00: 00: 00。 各硬件单元电路的设计、参数分析及原理说明 电源电路 元件有限没有制作电源电路部分。使用 9V 的电池经过 7805 稳压后进行供电。 - 4 - 按键 参考书本 P232 的键盘接口电路原理图, P3 口(除去 P3.6)接的是键盘按键。当按键按下后,P3 口被拉成低电平,给单片机一个信号,使单片 机产生一个中断。单片机再指令相应的 P0口, P2 口产生变化。 单片机最小系统 参考实验指导书与课本及网络资料设计按键

7、电平复位。 LED数码管 首先 P0 口作为段码输出。由于 P0 口输出级无上拉电阻,故需添加一排阻为其上拉电阻。其次采用共阳极数码管。段码端为低电平时导通 LED,此时数码管向 89S51 芯片 P0 口灌电流,为防止芯片烧坏,还需加 1 个 1 K的限流电阻。考虑到数码管的亮度问题,采用了 PNP 三极管做驱动电路。基极接上 1 K电阻后再与 P2 口相连( P2.0P2.5)进行位选。发射极接5V 电源,集电极接数码管 位选。 软件流程图和流程说明 软件流程图 1)主程序流程图 流程图说明 初始化:包括定时器赋 初值,初始化各内存单 元。开定时器中断,开 CPU 中断。调用显示子程序 调

8、用始时钟或秒表查询程序 调用按键扫描子程序 调用模式查询子程序 初始化 开始 等待定时器中断 - 5 - 时间显示及调整子程序与秒表显示及调整子程序流程图与调时模式子程序大同小异。 调时模式设置 秒 /分 /时数据分别送 display 函数 Num11? 取键值送 cpu Y 分钟数值加 1,键值清零 N Num11 值为 2? N 返回 Y Num11 值为 3? 小时数值加 1,键值清零 - 6 - 总结设计及调试体会 硬件设计部分: 首先要通过计算与参考资料等决定参数。而后通过仿真软件等调试,确定参数无误后再开始用 AD 画原理图,进而生成 PCB 进行布板。在焊板子的时候,也出现了问

9、题,不小心将 7805 焊成了 7905,结果又调试了一个时间。 软件设计部分: 设计软件首先要考虑要做的功能,确定 出合理的算法。合理的算法不仅要可以实现功能,而且在添加功能的时候要方便灵活。有的人为了实现某种功能用了各种各样的方法来实现,结果程序结构吃死,当想要添加功能或者修改其他功能的时候,将修改程序大部分结构,也就是说要破坏程序现有的结构。 关于调试: Keil软件调试单片机程序的时候,编译通过并不代表程序是正确的。编译通过只能说明程序没有语法上的错误。进行软件仿真或者下载到开发板上进行调试,经常会出现各种各样的错误。许多超出预期效果的现象往往是一些微小错误引起的。例如没有现场保护跟恢

10、复现场等,所以养成良好的编程习惯 也很重要。有些想达成某些功能而添加的语句,实际上确一点效果也没有。举个编程中的小问题:当有按键按下时,我们都要有软件防抖。正常的方法是调用一个延时。在实际调试中,要跳过这个抖动,需要 100MS 左右。如果使用正常的延时,会导致按键按下时 CPU100MS 内无法进行其他操作,也就是说。平均 1S 内100MS 不调用显示子程序,这样就会导致亮度降低。这时候,考虑到显示子程序一次有十几毫秒,就特别写了一个程序来作为按键防抖的延时,实际上效果也是很不错的。这个想法就是在修改了多次程序未达到想要的效果(有按键按下时显示亮度不 降低)后最终想出来的办法。 最后在做完

11、板,焊完电路后, 在接通电源之前,要用万用表仔细检查电路是否有连接错,以免烧坏芯片和数码管。 设计课设的 其他体会 :态度要积极,不要认为很简单就不紧不慢。很多东西并不是自己设想的那么顺利,有时候一个小问题可以花上你半天甚至一天的时间。虽然自己在程序上并没遇到太大的问题,但是因为态度不够积极,对于没画过的 PCB 图迟迟不去下手,在周四晚上才解决。本以为周五一天可以做完板并完成整机调试,可是各种突发事件让自己措手不及。发现板来不及做完后才将程序功能进行扩展。这是我在这次实验中的一 个教训,也让我明白了对于自己不能太过于自信,态度决定一切。 - 7 - 图一:系统电路原理图 图二:系统电路 PCB - 8 - - 9 - 在 protues 中调试的结果

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。