LOGO指导教师:数字电子时钟设计实训答辩班级:09(*)班学生:学号:1基本要求:设计并制作一个多功能数字钟。2设计能显示年、月、日(包括农历)、星期、时、分、秒的时钟,3任务拓展:12864LCD驱动4时钟能通过按键控制来调整显示.一.数字电子时钟设计二.方案论证1显示部分:显示部分是本次设计的重要部分,一般有以下两种方案:方案一:采用1602LCD显示,虽然驱动程序比较容易写,但是无法显示中文,显示的字符也比较小,看起来不大美观。方案二:采用12864LCD显示。12864LCD液晶显示具有丰富多样性、灵活性、电路简单、易于控制而且功耗小等优点,对于信息量多的系统,是比较适合的,同时可以显示中文,看起来比较美观。不过驱动程序比较难.鉴于上述原因,我们最后采用方案二二2数字时钟数字时钟是本设计的核心的部分。根据需要可采用以下两种方案实现:方案一:方案完全用软件实现数字时钟。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将时字节清零。该方案具有硬件电路简单的特点,使用32768Hz的晶振,通过分频出1Hz,晶振的精度为10ppm,一天误差为0.864s,一年误差为5.256min,但当单片机不上电,程序将不执行。方案二:方案采用Dallas公司的专用时钟芯片DS1302。该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。当电网电压不足或突然掉电时,可使系统自动转换到内部锂电池供电系统。而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。由于驱动DS1302比较复杂和费用问题.基于以上所述,本设计采用方案一完成数字时钟的功能。三.独立按键采用独立的按键对其功能的控制,设选择、确定、加、减四个功能按键,分别选用不同的按键控制不同的功能。功能选择按键:选择不同的设置对象.++按键:对象数值+1--按键:对象数值-1退出设置按键:退出设置模式,返回工作模式1工作原理:本设计采用STM32F103单片机作为本系统的控制模块。单片机可把数据利用软件来进行处理,从而把数据传输到显示模块,实现日历和时间的显示。以LCD液晶显示器为显示模块,把单片机传来的数据显示出来,并且显示多样化。在显示电路中,主要靠按键来实现各种显示要求的选择与切换四.总体方案五.总体设计STM32晶振独立按键LCD液晶显示模块LED灯图1设计总体框架图复位六.硬件原理图七.设计进度1.实现STM32的初始化,其中包括初始化系统各模块时钟,GPIO口,中断.2.实现出秒中断函数3.实现使用LCD12864显示时钟4.实现使用LCD12864显示时钟和日期5实现使用LCD12864显示时钟,日期,星期和按键调整6.实现使用LCD12864显示时钟,日期,星期,按键调整和农历7.完成作品八.总结通过本次实训进一步掌握STM32单片机的一些知识。掌握了智能电子钟的设计思路,意识团队合作的重要性,初步掌握了用LCD12864的一些基本操作。在本次实训中遇到了一些问题如LCD不显示和显示乱码,最后在在大家的努力下都一一克服了。在这里,我们衷心的感谢宋老师的指导,让我们能够顺利的完成这次实训,让我们在实训过程中明白了很多相关的知识以及编程中怎样解决一些错误,从中我们也学到了很多智能电子钟设计知识。致谢