目录摘要………………………………………………………………………1Abstract…………………………………………………………………2第一章引言…………………………………………………………31.DS1302时钟芯片简介………………………………………………32.单片机介绍…………………………………………………………4第二章系统硬件设计………………………………………………8第三章系统软件设计………………………………………………93.1DS1302读写程序…………………………………………………93.2LCD1602读写程序………………………………………………10第四章注意事项……………………………………………………12第五章结语…………………………………………………………13参考文献………………………………………………………………14致谢……………………………………………………………………151基于DS1302与LCD1602的数字电子钟设计ThedesignofdigitalelectricclockbasedontheDS1302andLCD1602摘要:本文主要介绍基于AT89S52单片机微处理芯片与DS1302时钟芯片和LCD1602液晶显示模块组成的数字式电子时钟的电路软硬件设计。可以精确调整年、月、日以及小时、分钟和秒的信息。该电子时钟具有走时准确、系统掉电时间数据不丢失、功耗低等特点。并可用于其他对时间有要求的控制系统。关键词:单片机;DS1302;LCD1602;数字时钟2AbstractThispapermainlyintroducesthehardwareandsoftwaredesignofdigitalelectronicclockwhichismadeupoftheAT89S52MCU,DS1302clockchipandLCD1602module.Itcanaccuratelyadjusttheinformationoftheyear,month,day,hour,minutesandseconds.Thiselectronicclockhasthecharacteristicsofworkingaccurately,keepingthetimedatewhensystemlosingpower,andlowpowerconsumptions.Keywords:singlechip;DS1302;LCD1602;Digitalclock3一.引言1.DS1302时钟芯片简介[1]DS1302是美国DALLAS公司推出的一种高性能、低功耗的具有涓流充电功能的实时时钟芯片。因具有其价格低廉、性能稳定的优点而被广泛应用于对时间精度有较高要求的各种智能化仪器仪表中。DS1302实时时钟芯片的主要性能特点:1.1实时时钟/日历电路可提供秒、分、时、日、星期、月和年的信息,当某个月小于31天时可以自动调整,且具有闰年补偿功能1.2内含31字节静态RAM1.3采用SPI总线与CPU进行通信,只需要三个口线:(1)RST(复位线),(2)I/O(数据线),(3)SCLK(串行时钟线)1.4双电源(主电源和备用电源)供电,保证系统掉电时间数据不丢失,可设置备用电源涓流充电功能1.5电压宽度可达2.0~5.5V1.6体积小,8脚DIP封装或8脚SOIC封装DS1302引脚分配图如图(1)所示4单片机介绍单片微型计算机简称单片机,是典型的嵌入式微控制器(MicrocontrollerUnit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTELi960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O5设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可......用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!......它主要是作为控制部分的核心部件。它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。单片机芯片单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!由于单片机对成本是敏感的,所以目前占统治地位的软件软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有6家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。一个可视高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸!对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC的也是承受不了的。可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。各引脚功能为:1(VCC2)主电源输入引脚2、3(X1、X2)外接晶振引脚4(GND)电源地输入引脚5(CE/RST)复位引脚6(I/O)数据输入/输出引脚7(SCLK)串行时钟引脚图8(VCC1)备用电源输入引脚7图(1)DS1302引脚分配图2.LCD1602液晶模块简介[2]1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5×7或者5×11点阵字符位组图(2)LCD1602引脚分配图成,每个点阵字符位都可以显示一个字符。模块采用数字式接口,能够方便地与单片机等控制类芯片进行通信。由于其具有体积小、重量轻、显示质量高、功耗低等诸多优点而被广泛用于智能化仪器仪表的显示器件。LCD1602引脚分配图如图(2)所示各引脚功能为:1(VSS)电源地2(VCC)+5V电源3(VO)液晶对比度调节端4(RS)数据/命令选择端5(R/W)读/写选择端6(E)使能信号端7~14(DB0~DB7)八位双向数据总线15(BLA)背光源正极15(BLK)背光源负极8二.系统硬件设计硬件电路设计是该系统设计的第一步。主控芯片采用美国ATMEL公司的AT89S52系列单片机,时钟芯片为DS1302,显示器件采用1602液晶显示模块。在1602液晶模块的第一行显示年、月、日,第二行显示时、分、秒。通过对液晶模块的地址设置使数字显示在屏幕的正中央已达到美观的效果。三个按键S1、S2、S3分别与单片机的P1.4、P1.5、P1.6三个I/O口线相连,S1为系统设置键,S2为加1键,S3为减1键。当第一次上电时,系统日期初始化为“2000-01-01”,时间初始化为“00:00:00”。通过S1、S2、S3可以设置成当前时间,当时间设置完成后,系统可进入正常走时状态。在正常走时状态下,随时可以通过S1、S2、S3三个按键调整时间和日期。系统硬件连接原理图如图(3)所示。图(3)系统硬件连接原理图9三.系统软件设计[3]软件是单片机应用系统的灵魂,是整个系统的核心部分。如果把硬件比作人的手臂那么软件就是人的大脑,手臂的一切动作的执行都要受控于大脑。同样,对DS1302时钟芯片和1602液晶显示模块的操作都是通过相应的软件程序来控制的。3.1DS1302读写程序任何一款数字芯片都有自己的操作时序,只有完全按照芯片厂商提供的操作时序进行编程才可以使其正常工作。DS1302的读写时序如图(4)所示。按照此时序图编制的写操作程序如下:voidWrite1302(uchardat){uchari;SCLK=0;//拉低SCLK,为脉冲上升沿写入数据做好准备delay(2);//稍微等待,使硬件做好准备for(i=0;i8;i++)//连续写8个二进制位数据{DATA=dat&0x01;//取出dat的第0位数据写入1302(低位在前,高位在后)delay(2);//稍微等待,使硬件做好准备SCLK=1;//上升沿写入数据delay(2);//稍微等待,使硬件做好准备SCLK=0;//重新拉低SCLK,形成脉冲dat=1;//将dat的各数据位右移1位,准备写入下一个数据位}}10同理,读操作程序为:ucharRead1302(){uc