电子时钟课程设计实验报告.docx
《电子时钟课程设计实验报告.docx》由会员分享,可在线阅读,更多相关《电子时钟课程设计实验报告.docx(5页珍藏版)》请在冰豆网上搜索。
电子时钟课程设计实验报告
《单片机实践报告》
题目电子时钟设计
专业电子信息工程
王健吉
学生姓名
准考证号
指导教师
201—年」0_月
一,课程设计的目的和意义
课程设计的目的与意义在于让咱们将理论与实践相结合。
培育咱们综合运用电子课程中的理论知识解决实际性问题的能力。
让咱们对电子电路、电子元器件、印制电路板等方而的知识进一步加深熟悉,同时在软件编程、排错调试、焊接技术、相关仪器设备的利用技术等方而取得较全而的锻炼和提高,为此后能够独立完成某些单片机应用系统的开发和设计打下一个坚实的基础。
二,课程设计的大体任务
利用89S51单片机最小系统,综合应用单片机按时器、中断、数码显示、键盘输入、蜂鸣报警等知识,设计一款单片机和简单外设控制的电子时钟。
三,主要功能要求
1)利用6位数码管,前两位显示小时(24小时制),中间两位显示分钟,后两位显示秒。
时钟每走1秒,秒数码管加1显示,60秒后分钟数码管加1显示,60分钟后小时数码管加1显示。
2)设计89S51单片机最小系统
3)掌握利用Protel99绘制原理图和布板的进程、方式和技能。
4)掌握单片机开发软件(KeilC51或Wave)的利用和调试。
5)编写并调试单片机按时及其中断程序,以实现电子时钟的功能。
6)设计八段数码管显示电路并编写驱动程序,输入并调试拆字程序和数码显示程序。
7)掌握硬件和软件联合调试的方式。
8)完成系统硬件电路的设计和制作。
9)完成系统程序的设计。
10)完成整个系统的设计、调试和制作。
11)完成课程设计报告。
整体设计框图
整机概述:
1)开机为走时模式,正常显示时刻。
在此模式下整点闹时,定点闹时有效。
2)共设置3个按键,别离为模式键、功能键一、功能键2o按动模式键,模式将在'走时/调时/日期显示及调整/闹钟显示及调整'4个模式下切换。
3)走时模式下,按动功能键1/功能键2停止闹时。
4)调时模式下,功能键1调整分钟数值,功能键2调整小时数值。
5)日期显示及调整模式下,功能键1调整日期数值,功能键2调整月份数值。
6)闹钟显示及调整模式下,功能键1调整闹钟分钟数值,功能键2调闹钟时钟数值。
五,软件流程图和流程说明
1)主程序流程图
流程图说明
初始化:
包括按时器赋初值,初始化各内存单元。
开按时器中断,开CPU中断,送段码表头地址给DPTRo
2)显示子程序流程图
3)按键扫描子程序
4)模式查询子程序
Y
返
•回Li一
关闹钟,清键值
1
1
H
i
i
值为1?
、
H期显示及调整子程序与闹钟显示及调整子程序流程图与调时模式子程序大同小异。
a)日期显示及调整子程序送给R3/R4/R5的数据为日/月/年,按功能键1日期加1,按功能键2月份加lo至于数值的合法性在程序里有具体的判断。
b)闹钟显示及调整子程序送给R3/R4/R5的数据为闹钟开关值/闹钟分/闹钟时,按功能键1闹钟分加1,按功能键2闹钟时加lo至于数值的合法性在程序里有具体的判断。
5)闹钟査询子程序
六,总结设计及调试体会
硬件设计部份
第一要通过计算与参考资料等决定参数。
而后通过仿真软件等调试,肯定参数无误后再开始用Protel99SE画原理图,进而生成PCB进行布板。
软件设计部份
设计软件第一要考虑要做的功能,肯定出合理的算法。
合理的算法不仅要能够实现功能,而且在添加功能的时候要方便灵活。
有的人为了实现某种功能用了各类各样的方式来实现,结果程序结构吃死,当想要添加功能或修改其他功能的时候,将修改程序大部份结构,也就是说耍破坏程序现有的结构。
关于调试
Keil软件调试单片机程序的时候,编译通过并非代表程序是正确的。
编译通过只能说明程序没有语法上的错误。
进行软件仿真或下载到开发板上进行调试,常常会出现各类各样的错误。
许多超出预期效果的现象往往是一些微小错误引发的。
例如没有现场保护跟恢复现场等,所以养成良好的编程适应也很重要。
有些想达到某些功能而添加的语句,实际上确一点效果也没有。
举个编程中的小问题:
当有按键按下时,咱们都要有软件防抖。
正常的方式是挪用一个延时。
在实际调试中,要跳过那个抖动,需要100MS左右。
若是利用正常的延时,会致使按键按下时CPU100MS内无法进行其他操作,也就是说。
平均1S内100MS不挪用显示子程序,如此就会致使亮度降低。
这时,考虑到显示子程序一次有十几毫秒,就特别写了一个挪用7次显示的子程序来作为按键防抖的延时,实际上效果也是很不错的。
那个想法就是在修改了多次程序未达到想要的效果(有按键按下时显示亮度不降低)后最终想出来的办法。
最后在做完板,焊完电路后,在接通电源之前,要用万用表仔细检查电路是不是有连接错,以避免烧坏芯片和数码管。
五天以来的其他体会:
态度要踊跃,不要以为很简单就不紧不慢。
很多东西并非是自己假想的那么顺利,有时候一个小问题能够花上你半天乃至一天的时刻。
虽然自己在程序上并没碰到太大的问题,可是因为态度不够踊跃,对于没画过的PCB图迟迟不去下手,在周四晚上才解决。
本以为周五一天能够做完板并完成整机调试,可是各类突发事件让自己措手不及。
发觉板来不及做完后才将程序功能进行扩展。
这是我在这次实验中的一个教训,也让我明白了对于自己不能太过于自信,态度决定一切。
成绩:
评语: