传统的机械钟表造价较贵,制作麻烦以及对精度的要求很高,使用寿命等方面已不能满足人们的需求。同时电子时钟的快速发展越来越能满足人们的不同需要。现代的数字时钟需要硬件和软件的共同提升以加强其功能。硬件电路主要由时钟模块、显示模块、温度检测模块、按键模块以及发声模块等部分组成。采用C语言编程可以使硬件电路更加稳定,抗干扰强,减少误差。单片机的运用在不断的深入,因为它性能强、廉价、功耗低、运行可靠,所以常常作为控制的核心部分。并且单片机具有体积小、应用领域大、性能突出可靠等优点因此被广泛的运用在工业控制、智能化仪表、家用电器等各个方面,已经渗透到我们工作和生活的各个方面,极大地推动了各行各业的产品换代和技术进步,前景广阔。多功能数字时钟具有单片机最小系统组成部分[1],对于我们了解单片机具有很大的帮助。
2 多功能数字钟的总框架
2。1 多功能数字钟的模块组成
多功能数字钟硬件部分由五个模块组成,时钟模块用来更新时间,温度模块用来采集外部的环境温度,显示模块将温度传感器采集到的温度和时钟芯片的时间、日期显示出来,用来观察,按键模块用来设置时间和闹铃,发声模块由蜂鸣器构成,利用蜂鸣器发声达到闹铃的功能。通过核心部件单片机的控制将这五个部分有效的结合起来,以实现具有显示时间、温度采集、闹铃等功能具一体的多功能数字钟。
2。2 多功能数字钟的功能
多功能数字钟是通过硬件部分的电路组成和软件部分的配合而成的。硬件部分由时钟芯片DS1302作为时钟模块[2],运用软件的设置和读取时钟芯片内部的时间,使时间可以得到更新,进而通过软件将读取到的时间经过显示模块LCD1602液晶显示器上显示出来。温度的感应由温度采集模块DS18B20将数据采集到经过程序读取出来,再由程序将其转换为点阵字模块在液晶显示器上显示出来。按键模块用来实现设置时间和闹铃,当达到预设的时间时蜂鸣器发声。
2。3时间及日历的显示功能来自优I尔Q论T文D网WWw.YoueRw.com 加QQ7520~18766
在显示模块中的设计过程中,其中一种方案是用八段数码管显示,在此方案中用动态显示的方法使数码管点亮,用74HC138译码器来对数码管的八个笔端进行控制,但是考虑到需要显示日期的年、月、日、星期、分、秒以及温度对数码管数量的需求过大,电路也会因此变的很复杂所以该方案不适合。另一种方案是通过液晶显示器LCD1602显示出来,利用每个点阵的亮和不亮以组成出需要表达的日期、时间等内容。LCD1602显示器可以显示俩行的内容,每行含有十六个字符[3]。该种方案较第一种使用起来方便很多,各样的控制指令可以使液晶显示屏显示各种的功能,比如光标的移动和清屏等。因此该设计采用第二种方案,由LCD1602显示,在程序复杂的情况下方便了硬件电路的设计。
2。4手动设置时间及日历
通过按键的变化将电路转换成高低电平的变化,单片机由引脚的高低电平来确定按键有没有按下。引脚P3。0到P3。3为按键引脚,四个引脚按键的功能分别是设置键、加数键、减数键以及切换键。按下设置的时候秒会闪,这时可以加减调节,然后再按设置是设置分钟,依次设置,最后按一下设置就是推出并保存,主界面按切换的时候是显示阴历(ping是平年,run是闰年),再按下切换是显示闹钟界面,此时可以按设置调整闹钟。在程序运行时判断四个按键中哪个被按下然后再实现该按键所对应的具体功能,实现达到设置时间和日期的功能,但是按键按下时会产生抖动,因此在程序设计中要设置按键抖动消除操作。