1、 本科毕业设计 ( 20 届) 基于 C8051F 的 数字时钟 设计 所在学院 专业班级 电子信息工程 学生姓名 学号 指导教师 职称 完成日期 年 月 - - 1 - - 摘 要 在现代科技不断发展中,数字钟已经成为人们日常生活中不可缺少的生活必需品。数字钟具有走时准确、性能稳定、显示直观、附加 功能多等优点,使它广泛的应用于个人家庭以及车站、码头、剧院、办公室等公共场所,给人们的生活、学习、工作、娱乐带来了极大的方便。 本次设计是在电子综合实验板上开发一种多功能用途的数字钟设计,多功能数字钟的系统采用 C8051F005单片机作为控制系统的核心,配合板上可编程器件芯片完成各种接口设计,通
2、过 1602液晶屏友好的人机界面将结果完美的呈现给用户,可以灵活的设置时间,通过键盘扫描可以对当前的时间任意设置,除此之外可增加秒表,闹钟,生日提醒等功能,具有更高的实用价值。 关键词: 数字钟 ; C 语言 ;模块化 - - 2 - - Abstract The development of modern science and technology, the digital clock has become indispensable to daily life necessities. Digital clock with accurate time and stable perform
3、ance, intuitive display, additional features and more, etc., to make it widely used in personal family as well as stations, terminals, theaters, offices and other public places, to peoples lives, learning, work, play brings a great convenience. The design is integrated in the electronic experimental
4、 board to develop a multi-functional digital clock. Multi-functional digital clock system uses a C8051F005 microcontroller as the core control system, which variety of interface design completed with a programmable device, through 1602 LCD screen friendly interface presented to the user the flexibil
5、ity to set the time, the keyboard scan can be set to the current time, in addition to increase the stopwatch, alarm clock, birthday reminders and other functions, with more high practical value. Key Words: Digital Clock; C language; Modular - - 3 - - 目 录 1 引言 . - 1 - 1.1 各种计时工具的发展 . - 1 - 1.2 数字钟 的
6、概述 . - 1 - 1.3 本文 研究的主要内容 . - 3 - 2 数字钟的不同实现方法 . - 4 - 2.1 用集成电路实现数字钟 . - 4 - 2.2 基于单片机的数字钟设计 . - 5 - 2.3 基于 FPGA 的数字钟设计 . - 5 - 3 单片机简介 . - 6 - 3.1 C8051 单片机 . - 6 - 3.2 Silicon Labs C8051F 单片机开发工具简介 . - 7 - 4 数字钟 的硬件设计 . - 9 - 4.1 数字钟计时的原理 . - 9 - 4.2 总体方案设计说明 . - 9 - 4.3 MCU 核心控制 部分 . - 10 - 4.4
7、键盘输入电路 . - 10 - 4.5 液晶 显示模块 .- 11 - 4.6 语音报时 模块 . - 12 - 5 软 件设计 . - 16 - 5.1 软件总体设计 . - 16 - 5.2 中断处理程序 . - 17 - 5.3 时间 生程序 . - 17 - 5.4 液 晶函数 . - 19 - 5.5 语音程序 . - 20 - 6 测试结果 . - 22 - 结论 . - 24 - 致谢 . 错误 !未定义书签。 参考文献 . - 25 - 附录 1 程序源代码 . - 26 - - - 1 - - 1 引言 1.1 各种计时工具的发展 在人类社会早期对时间没有精确的计量,只能用“
8、太阳出山”“鸡叫三遍”“月挂树梢”等模糊概念计时。 到了春秋时期已经用圭表、漏刻的等计时器。圭表即日晷,有日晷针盘组成。晷针插在盘中心,晷盘上 刻着表示时刻的分划。太阳照射的针影投射在晷盘的分划上,就能指示出时刻。在阴雨天和夜晚就用漏刻,漏刻又称漏壶,包括下有小孔的铜壶和带有刻度的刻箭两部分。水匀速流下,通过刻度观察水位变化,即可确定时刻。 唐代僧一行发明了最早的自鸣钟,用漏水激轮,一日一夜转一周, 29 转多为一个月 365 转为一年。同时装有两个木人,每一刻一击鼓,一个时辰一撞钟。元代郭守敬也曾发明出不同声音的机械报时钟。民间更多使用燃香,蜡烛等计时方法。 到了一世纪的时候,人类发明了机械
9、钟,第一台机械钟通过使用重物驱动转轮,带动指针计时。到了十七世纪 末,一个名叫克里斯蒂安于让的荷兰人,最早发明了走时准确的钟,这些钟由一个钟摆控制。他利用的是相同长度的钟摆完成每次摆动花去相同的时间这个原理。在 1929 年的时候,出现了石英钟,石英是一种矿物,当电流通过它时,它每秒钟振动 32768 次。今天,大多数的钟表都有一块石英晶体。许多钟表使用数字代替了钟面。 1949 年,人们发明了原子钟,原子钟是最精确的。这种时钟在 37 万年里快慢误差不会超过 1 秒。原子钟以铯原子的振动为基础,铯原子的振动速率是每秒 9192631770 次。在 1957 年时,出现了电动手表,电动手表是由
10、小电 池提供动力的。它们有一个微小的音叉使手表走时,从而代替了上发条。 到了 20 世纪 80 年代初的时候,人类发明了数字钟,一直到今天,数字钟一直被人们广泛使用中。现在的数字表都有一块电池、一个极小的计算器和一个石英晶体。人们做表,越做越小,甚至把它们当作饰物来佩戴 1。 1.2 数字钟 的 概述 - - 2 - - 1.数字钟的定义 数字钟是采用数字电路技术实现时、分、秒的计时装置,如图 1-1 是典型多功能数字钟模型图。与一般的时钟相比,数字钟具有走时准确,显示直观,具有更长的使用寿命等优点,被人们得以广泛的使用。 数字钟没有任何的机械装 置,它由一块组件独立构成的时钟集成电路专用芯片
11、,在这芯片上集成了计数器、比较器、振荡器、译码器和驱动等电路。其电路是能够直接显示时、分、秒、年、月、日,具有定时、报警等多种接口转换的大规模集成电路,具有功能完整,结构新颖,功耗低,性能卓越,驱动能起强,集成化程度高,计时精度高,应用扩展领域广等特点 2。 图 1-1 多功能数字钟 2.数字钟的起源发展 多功能数字钟最早起源于欧洲中世纪的教堂,是完全机械式结构,动力使用重锤,打点钟声完全使用人工撞击铸钟,因此当时一个多功能数字钟工程在建筑和机械结构方面是相当复杂的。进入电子时代后,数字钟也相应出现。早期的数字钟仍采用分立式元件或中、小规模集成电路设计制造,一般只与高档仪器仪表设备相配套,并且
12、体积较大,价格又昂贵。到了八十年代初期,随着电子工业的迅速发展 和电子科学技术的进步,国外一些芯片厂家已经建立了大规模集成电路的设计中心,采用新器件、新技术、新工艺,使数字钟电路得以比较完美。我国数字钟行业从 80 年代起逐渐成长壮大起来,目前在技术及应用水平上已经达到世界同类水平。 随着电子技术的不断发展,随着人类社会的不断进步,人们对数字钟的要求也越来越高,传统的时钟已经不能满足人们需求。多功能数字钟不管在样式上还是性能上都有了一个质的突破。外观上它根据人们的需求,可以有液晶显示,也可以是数码管显示。在性能上它也出现了很多的附加功能,比如整点报时,闹钟,显示环境温度, 秒表等功能。当然它还
13、可以通过按键进行定时,校时功能。- - 3 - - 这些都给人们的日常生活带来了极大的方便 3-4。 1.3 本文研究的主要内容 随着电子技术在不断进步,机械式时钟已经被淘汰,取而代之的是具有高度准确性和直观性且无机械装置,具有更长的使用寿命等优点的数字时钟。数字时钟更具人性化,更能提高人们的生活质量,更受人们欢迎。无可否认机械时代已经过去,电子时代已经到来。作为新时代的我们,更应该提高自身能力,适应新时代的发展。知识来自实践,多去生活中探询所需要的。对于上述所提到的研究课题,我们应尽量考虑到人的因素,增强 时钟的实用性和操作性,为使用者提供切实的方便,营造一种舒适的生活氛围。所以,在设计的时
14、候,应该从多方面、多角度去考虑问题而且应该进一步提高时钟的质量,并尽可能的增加一些使用功能。 全文共分 6 章,各章的主要内容如下: 第一章 引言。介绍课题来源,研究意义及发展趋势。 第二章 介绍 数字时钟 的 三种不同的 的 设计方法。 第三章 简单介绍了本设计采用的平台的相关知识,单片机技术的运用领域和相关知识。 第四章 主要是硬件设计的实现,以模块为单位分别介绍各个模块实现其功能的原理及过程。 第五章 软件实际的流程和设 计的实现,以模块为单位分别介绍各个模块实现其功能的原理及过程。 第六章 系统调试结果和和本次设计的成果,及不足之处,还需要改进的地方。 - - 4 - - 2 数字钟的
15、不同实现方法 目前数字钟设计一般分为两大类:第一类是指利用中小规模集成电路实现组合逻辑与时序逻辑电路来实现数字钟的设计;一种是利用单片机或者可编程逻辑器件来实现数字钟的设计。因为数字钟具有走时精准的特点,所以在设计上必须得时间的误差达到最小。而数字钟的功能也要齐全。我们设计的数字钟一般要具有时分、秒计数显示、闹钟功能,能够利用按键实现对闹钟时间的设定并在当前显示时间到时能够进行闹钟提示 5。 2.1 用集成电路实现数字钟 如图 2-1 是数字钟电路系统的组成框图,目前流行的数字钟电路有两种:一种是用 555 定时器构成的多谐振荡器作为时钟源的数字钟电路,另一种是采用石英晶体振荡器作为时钟源的数
16、字钟电路。两种方法各有优缺点,用 555 定时器中的两个运算放大器作为电压的比较器,灵敏度非常高。因此用这种器件构成的多谐振荡器频率稳定,受电源电压及环境温度的影响很小。缺点是占空比的调节不灵活,振荡频率不能太高,一般不超过几百赫兹。石英晶体两端加不同频率的电压信号石英晶体会表现出 不同的阻抗值。因此,对频率要求很高的情况下要采用石英晶体振荡器。这种用集成电路设计的数字钟,结构简单,成本低,在基本电路的基础上,还能扩展其他的功能 6。 图 2-1 数字钟电路系统的组成框图 - - 5 - - 2.2 基于单片机的数字钟设计 单片机在多功能计时器中的应用已经是非常普遍,如图 2-2 是典型的基于
17、单片机的数字钟设计框图。由单片机作为计时器的核心控制器,可以通过它的时钟信号进行计时实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行定时、校时功能。输出设备显示器可以用液晶显示技术和数码管显示 技术完成。应用单片机实现的数字钟具有很强的实用性 ,系统硬件具有外围器件少、电路简单、成本低等优点 ,整个系统作为独立化的模块 ,还可以进一步扩展 ,具有良好的应用前景 7。 8 9 C 5 1单 片 机数 码 管电 源 电 路并 口键 盘 控 制 电 路8 1 5 5图 2-2 基于单片机的数字钟设计框图 2.3 基于 FPGA 的数字钟设计 如图 2-3 是基于 FPGA
18、 的数字钟设计的结构框图。 用 FPGA 设计数字钟,主要是通过 VHDL 语言编写代码,然后,然后用模拟器验证其功能,再将设计代码综合成门级电路,最后下载到可编程逻辑器件 FPGA 中来实现一个设计。由于 VHDL 语言具有支持大规模设计和再利用已有设计等优点,因此使用VHDL 语言来设计数字系统已成为一种潮流。 FPGA 具有在线编程,裁减扩充容易等特点,使得系统的改进和完善十分容易,因此还可以根据数字钟的具体应用场合,使其不仅仅局限于时间和日期等日常需要,例如导航、报警、定位等相应功能满足越来越多行业的需求 8-10。 时 钟 脉 冲 输 入按 键 进 行 调 时 调 分秒 的 计 数分
19、 的 计 数时 的 计 数6 选 1 计 数 器 数 码 管 显 示图 2-3 基于 FPGA 的数字钟设计的结构框图 - - 6 - - 3 单片机简介 3.1 C8051 单片机 单片机的全称为单片微型计算机( single chip Microcomputer) ,是指一个集成在一块芯片上的完整计算机系统。尽管它的大部分功能集成在一块小芯片上,但是它是把组成微型计算机的各功能部件,如中央处理器 CPU、随机存取存储器RAM、只读存储器 ROM、 I/O 接口电路、 定时 /计数器,以及串行通信接口等部件制作在一块集成芯片中,构成一个完整的微型计算机。而现在最强大的单片机系统甚至可以将声音
20、、图像、网络、复杂的输入输出系统集成在一块芯片上。 目前单片机渗透到生活中的各个领域,从最基本的应用于仪器仪表、家用电器、医用设备等,到航空航天 、专用设备的智能化管理及过程控制等领域,单片机都能起到无可替代的作用。 相比于其他系列同档次的单片机来说, C8051 单片机用汇编语言编程相对容易。因为 C8051 单片机采用的结构形式的不同,其指令集中不仅有灵活的多种寻址方式,还有各种移位、字节和半字节交换等逻辑指令和位操作指令,特别是还有具有无符号数乘、除指令,这就使多种微操作大部分只需一条指令就能完成,因此编制的汇编程序相对简化一些。 C8051 单片机的结构组成主要包括: CPU 系统、终端系统、存储器、 A/D 和D/A 转换模块、并行和串行接口、定时器和可编程更 计数阵列。由于这些结构的组成,提高了性能,增加了单片机对外界复杂多变的情况的反应能力。由于单片机技术的加速发展,使得 8051 单片机的指令运行速度加快,而且采用了可降低系统功耗的多种方法,进一步降低系统功耗。 C8051 单片机居然独立的片内时钟源(精度最高可达 0.5%),设计人员既可选择外接时钟,也可直接应用片内时钟,同时可以在内外时钟源之间自如切换。片内时钟源降低了系统设计的复杂度,提高了系统可靠性,而时钟切换功能则有利于系统整体功耗的降低 11-12。