数码万年历实用电路简析

数码万年历实用电路简析
数码万年历实用电路简析

数码万年历实用电路简析【19】

数码万年历采用智能电子控制和显示技木,集时间、日期、星期、温湿度和公历农历对照等功能於一体,具有读取方便、显示直观、功能多样价廉等优点,在日常生活中巳广泛应用。我家一台虹泰A129型LED数码万年历使用近十年,曾经出现过不能调校时间、数码管缺笔划、显示紊乱等故障,经过检修和重新调整都得到了排除,最近又出现了上电显示混乱故障,按“重设键”松键后不能恢复到出厂初始值,显示仍紊乱闪烁,多次反复调整试验都无法进入正常状态,於是误判为万年历智能芯片内部有故障,决定更换芯片,但因早期生产产品,在市场上配购不到同型芯片。几乎要放棄修理的情况下,决定测绘其电路图,以便为寻找代用的芯片提供原理依据,同时根据电路图可进一步分析故障原因,仔细检查元器件和线路,希望找到故障点。经过多次重复检查检测,成功不负有心人,终于查出是T2488SD3芯片直立封装印刷板上第二脚焊接的上拉电阻R42电容和C8虚焊所致,重新加焊后故障得到排除。析其故障原因是由于CPU引脚P2端受到外界电磁干扰,使CPU内部程序产生了错乱,从而出现显示混乱和死机。关于数码万年历常见故障的维修经验在《电子报》11期已有高手介绍。下面笔者仅将A129万年历电路构成整理出来,供读者维修参考。

虹泰A129型数字万年历电路主要由万年历专用芯片CPU T248SD3和外围元件组成,电路简洁,功能俱全,通常有:

1.公、农历自动对照(2001~2019卄年,也有五十年的);

2.农历星期自动对应,闰年、大、小月份自动调整;

3.温度自动显示(-9~50℃);

4.定时闹钟可在24小时内任意时刻设定8次,响闹时兼中文语音报时;

5.正点报时在7~21点整点时敲整点钟声,中文语音报时,再播放和弦音乐;

6.内置3V锂电池(CR2032),停电可保持时钟运行但无显示。正第工作时外接5VDC电源适配器;

7.亮度显示自动调节,即数码管显示亮度在晚上22点开始至早上7点降低亮度,使显示更柔和不刺眼。

电路结构如图①电原理图所示,图②为印剧板元件按装图,各部分电路构成说明如下:

⑴显示电路由于LED数码管价格适中,直观易懂,而且可采用动态扫描控制,软件实现比较容易。也就是将数码管的8个显示笔划(a、b、c、d、e、f、g、dp)的同名笔段连在一起,同时在每个数码管的公共端增设位选通控制电路(三极管VT2~VT9),控制数码管的通断,位选通可能则由CPU各自独立的I/O线控制,当CPU芯片输出字形码时,所有数码管都接收到相同的字形码,此时哪个数码管会显示出字形,取决于CPU对位选信号的控制,这种控制方式可以连接多个数码管,可以少占用与CPU I/O口的连线。缺点是如果运行时间和延时时间配合不当,会造成数码管闪烁。

在图①中可见,共阳数码管DS1~DS4显示公历年份,DS5、DS6和DS7、DS8分别显示月日;DS9~DS12显示小时和分钟;DS13~DS16显示农历月和日;DS17显示星期;DS18、DS19显示温度值。相关数码管的同笔段相联后经过限流电阻接到CPU相应的I/O口,各个数码管VT2~VT9的公共端接到PNP三极管8550的集电极,发射极接电源正端,三极管的基极经330Ω限流电阻与CPU的相应控制输出端I/O口相联,当接收动态扫描信号为低电平时,三极管导通,这时数码管定时发光显示出实时数字。

⑵时钟电路芯片T2488SD3内部有一个用于构成振荡器的高增益反相放大器,引脚P5和P6分别是放大器的输入端和输出端,片外在其两端接上振荡频率为32678Hz晶体和电容

C4、C5组成选频网络,放大器与作为反馈元件的晶体一起构成了一个并联振荡电路,晶体当作电感使用,振荡频率在f S和f P之间,因为只有在这个频率范围内晶体才呈感性,与C4和C5构成三点式振荡电路。由于f S和f P非常接近,振荡频率可认为是f S=32768Hz。为万年历智能芯片CPU提供稳定的时间基准。同时片内经过分频得到秒脉冲信号,由P27引脚输出控制VT5的通断,使LED发光管VD1、VD2按每秒一次闪烁,时钟精确计时。时钟精度≤ 0.2秒/天,若计时误差较大,可微调C4或C5的容量进行调正。

⑶测温电路热敏电阻RT作为温度测量传感器。RT为负温度系数10KΩ的热敏电阻,和另一个阻值为10KΩ的精密参考电阻R41,与电容C6构成积分器,接到CPU的引脚P5、P6,共同组成斜坡式V-T转换器,将温度模拟量变为数字量,测得的温度值在面板数码管DS18、DS19上显示。测量范围为-9~50℃,由于热敏电阻的感温特性曲线不是严格线性的,会产生较大的测量误差。若将参考电阻值调大,温度显示变高;调小温度显示变低。

⑷正点报时电路 CPU片内存储存有正点报时钟声、乐曲和中文语音信号,在7~21点时段内,整点时CPU从引脚P31、P32输出相应的报时信号至音频放大器VT1的基极(9013),激励扬声器SPK发出敲点钟声、中文语音报时,播放和弦音乐。在正常显示状态,按一下S2(增加/正点)键可以进行正点报时功能的选择。正点灯(VD4)亮表示正点报时开启、正点灯灭表示正点报时关闭。

⑸复位电路(重置)电阻R40、C3和复位键S4、引脚P4组成了CPU的外接复位电路,上电瞬间,电源通过R40对电容C3充电,C3两端的电压不能突变,P4端低电位延时升高,上电后使CPU有效地恢复到出厂初始设定状态。S4为重新设置键,如出现死机、显示混乱等情况,按此键万年历复位到出厂初始值显示。

⑹电源电路 CPU引脚P1、P3间的工作电压VDD为DC 2.4~5.5V,数码万年历配有220VAC/DC5V外接电源适配器供电,+5V电源分两路,一路通过二极管D1后先经过C1电解电容进行低频滤波,再经过瓷片电容C2高频滤波,然后将纯净的直流提供给CPU,保证CPU工作更稳定;另一路通过D2为数码管提供发光电源。万年历的各项数值设定后将保存在芯片的内存中,为了停电时不丢失数据,需时钟照常运行,为此设有内置锂电池B(CR2032 3V),断电时3V电池电压经过二极管D3为CPU继续供电,该二极管要采用低压降型(0.2~0.4V)的锗管如1N60、BAT85等。D1、D2和D3的接入构成了电池与5V电源的供电隔离,外接电源正常时,5V通过电阻R1给电池充电,停电时电池只能接通CPU的P1供电,数码管不工作,防止电池过量放电,保证运行时间长,数据不丢失,来电后无须重新设置。

⑺功能键电路本机有‘设置S1’、‘增加/正点S2’、‘闹钟S3’和‘重设S4’四个控制按键,CPU引脚P15是S1、S2、S3键的公共端,对地接防干扰电容C7,按键功能如下: 1.‘设置’键S1一端与引脚P12相连,按设置键一次,进入时间设定状态,被设项闪烁,依次按此键闪烁位置移动顺序为:年→月→日→时→分→返回。

2.‘增加/正点’键S2一端与引脚P11连通,在设定状态下对当前闪烁数字进行修改,按一次数字就加一,持续按住数字快速增加;在正常显示状态下按S2,可以开启或者关闭正点报时功能。前面板指示灯亮起表示正点报时功能开启,此灯灭表示正点报时功能关闭。此功能在23~6点时段智能关闭,以免影响休息。在正常显示状态下,长按此键,进入24/12小时制切换。

3.‘闹钟’设定键S3一端与引脚P18连通,在正常显示状态按S3进入闹钟设定状态,最多可设8组(A1~A8)定闹信息,再按S1使“小时”数字闪烁,按S2修改定闹的小时值。再按S1使“分钟”数字闪烁,按S2修改定闹的分钟数。设完按S3进入下一组闹钟时间设定,依次类推完成更多组定闹设定。如要取消闹铃,按S3键再按S2使时间显示为“-:--”该组闹铃关闭;反之则打开。

4.‘重设’键S4接在引脚P4与地之间,按此键万年历恢复到出厂的初始值显示,然后

'.

再按需数据再重新设定。修改状态停止操作达30秒,自动保存修改数据并退出修改状态。

出现无显示或只有部分显示,功能全无,主要原因是内部程序混乱,只要按复位键即可,如果不行可以拆去内部锂电池,再按复位键不放插上电源,使CPU程序恢复正常后,再插上电池。

'.

万年历(c++设计)

西安科技大学2009级C++实验报告 创作编号:BG7531400019813488897SX 创作者:别如克* 面向对象技术实验报告 (万年历)

1.实验目的 掌握一种编程工具和面向对象程序设计的基本思想和方法,培养我们学生综合利用某种语言进行程序设计的能力,培养我们学生利用系统提供的功能进行创新设计的能力,培养我们学生充分利用计算机的功能和特点分析实际问题及解决实际问题的能力。 为我们提供一个综合运用所学知识解决实际问题的机会,增强我们学生的实践动手能力和工程实践能力,并培养和锻炼我们学生的自学创新能力。 为了能更好地了解C++语言,因此开设了此次课程设计,程序设计教学课程的目的不是为了单独的课堂学习,而是要让我们学生掌握程序设计的基本思想及方法。一方面,在课程设计过程中,可以明确的指导为什么而学,还能对所学知识得到应用,更重要的是可以让我们学生掌握一些基本函数的用法,从而不在对编程序感到茫然,经过设计,可以让我们熟悉简单程序的设计方法和编写,对程序设计及该门课程设计语言的应用得到理解。 2.功能简介 万年历,输入年份,可以显示出这一年的每个月份和所对应的星期

天,可以查询每一天. 3.流程图 4.代码 #include #include using namespace std; int i,c,day,year,k,a[50]; void f1(int x) //大月 { for( i=0;i<50;i++) a[i]=33; for(i=k-1;i>=0;i--) a[i]='\000'; //1号前均为空格 for(i=k;i<31+k;i++)

万年历系统设计方案和对策

电子万年历系统设计 The design of Electronic calendar system 专业:电子信息科学与技术 学号: 姓名:

电子万年历系统设计 摘要:近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,并且给人类生活带来了根本性的改变。尤其是单片机技术的应用产品已经走进了千家万户。电子万年历的出现给人们的生活带来的诸多方便。虽然在日常生活中,各种信息处理终端如电脑、手机等给我们提供了准确的时间信息。但是在大多数场合却仅仅局限于个人的适用范围之内。在家居生活中,一款悬挂余居室墙壁上大方得体的电子钟不仅能为我们提供准确的时间显示,而且魅惑了环境,给单调的居室带来了现代化的气息,因而成为许多家庭的必备之选。 本文设计了一种基于八位串行输入-并行输出移位寄存器74HC164芯片,以STC89C52单片机为核心、数码显示的电子万年历,主要介绍了时钟芯片、温度传感器、仿真模块,以及万年历硬件和软件的设计,实现了准确显示,公历年、月、日、农历月、日、时、分、秒功能。 关键字:单片机;时钟芯片;温度传感器;仿真

The Design of Electronic Calendar System Abtract:In recent years, with computer penetration in the social sphere and the development of large-scale integrated circuits, MCU applications are constantly deepening, as it has a function of strong, small size, low power consumption, cheap, reliable, easy to use , And other characteristics, and therefore particularly suited to control the system and to human life brought about fundamental changes. SCM is by the application of technology products have entered the tens of thousands of households. The emergence of electronic calendar to the lives of people of many convenience. While in everyday life, dealing with all kinds of information terminals such as computers, mobile phones has provided us with accurate time information. However, in most occasions is limited to individuals within the scope of the application. In home life, hoisted more than a generous living room walls of the appropriate electronic bell can not only provide us with accurate time, and tantalized by the environment, bring to the monotonous room a modern flavor, so many families must Of the election. In this paper, a design based on eight serial input - output parallel shift register 74 HC164 chip to STC89C52 microcontroller as the core, digital display electronic calendar, mainly on the clock chip temperature sensor, simulation modules, hardware and calendar And software design, to achieve an accurate, the calendar year, month, day and the Lunar month, day, hours, minutes and seconds functions.

单片机课程设计—万年历[1]

郑州轻工业学院 软件学院 单片机与接口技术课程设计总结报告 设计题目:电子万年历 学生姓名: 系别: 专业: 班级: 学号: 指导教师: 2011年12月16日

设计题目: 电子万年历 设计任务与要求: 1、显示年月日时分秒及星期信息 2、具有可调整日期和时间功能 3、增加闰年计算功能 方案比较: 方案一:系统分为主控制器模块、显示模块、按键开关模块,主控制模块采用 AT89C52单片机为控制中心,显示模块采用普通的共阴LED数码管,键输入采用中断实现 功能调整,计时使用AT89C52单片机自带的定时器功能,实现对时间、日期的操作,通 过按键盘开关实现对时间、日期的调整。 方案二:系统分为主控模块、时钟电路模块、按键扫描模块,LCD显示模块,电源 电路、复位电路、晶振电路等模块。主控模块采用AT89C52单片机,按键模块用四个按键,用于调整时间,显示模块采用LCD1602,时钟电路模块采用DS1302时钟芯片实现对 时间、日期的操作。 两个方案工作原理大致相同,只有显示模块和时钟电路不同。LED数码管价格适中,对于数字显示效果较好,而且使用单片机的端口也较少; LCD1602液晶显示屏,显示功 能强大,可以显示大量文字、图形,显示多样性,清晰可见,价格相对LED数码管来说 要昂贵些,但是基于本设计显示的东西较多,若采用LED数码管的话,所需数码管较多,而且不利于控制,因此选择LCD1602作为显示模块。DS1302是一款高性能的实时时钟芯片,以计时准确、接口简单、使用方便、工作电压范围宽和低功耗等优点,得到广泛的 应用,实时时钟有秒、分、时、星期、日、月和年,月小于31天时可以自动调整,并具 有闰年补偿功能,而且在掉电时能够在外部纽扣电池的供电下继续工作。单片机有定时 器的功能,但时间误差较大,且需要编写时钟程序,因此采用DS1302作为时钟电路。 对比以上方案,结合设计技术指标与要求我们选择了方案二进行设计。

JAVA《万年历系统》课程设计报告附源码

2013-2014学年第二学期《面向对象程序设计》 课程设计报告 题目:万年历系统 专业:计算机科学与技术 班级: : 学号: 指导教师: 成绩:

计算机与信息工程系2014年6月6日

目录 1 设计容及要求 (1) 1.1设计容 (1) 1.2设计任务及具体要求 (1) 2 概要设计 (2) 2.1程序设计思路 (2) 2.2 总体程序框图 (3) 3 设计过程或程序代码 (4) 3.1各个模块的程序流程图及运行界面 (4) 3.2对关键代码加以分析说明 (7) 4 设计结果与分析 (13) 4.1程序调试的结果 (13) 4.2程序设计分析 (13) 5 小结 (14) 致 (15) 参考文献 (16) 源程序 (17)

1 设计容及要求 1.1设计容 万年历,实际上就是记录一定时间围(比如100年或更多)的具体阳历或阴历的日期的年历,方便有需要的人查询使用。在我设计的万年历中主要有:(1)使用图形用户界面来查询用用户所需的日期信息,符合日常软件使用规。 (2)按月份查询,实现了显示查询1901~2100年某月所有日期的阴阳历对照。 (3)并且添加了重大节日与星座等信息,界面采用日常的星期与月份结合的格式,方便查看与使用。 (4)编写万年历的课程设计,是为了使同学们更加了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。为后续各门计算机课程的学习和毕业设计打下坚实基础。 1.2设计任务及具体要求 利用JAVA语言编写的万年历系统采用了多种JAVA语句来实现多种功能。用户可以通过本程序的applet运行界面来查找一整年某月的农历和阳历,可以查找用户所想了解的某一天具体为星期几,并且可以看到一些重大节日的具体时间。 要求:满足设计万年历系统的目的,即当用户查询年份与月份时,系统就要将这一年的某一月份的阴历与阳历全部显示出来,并且附带这一月份的重大节日。当用户随意改动年份或月份时系统自动显示与星期对应的日期。用户点击日

带温度显示的万年历_数码管显示(附电路图和源代码)

设计报告 设计任务: 设计一个智能化万年历时钟电路,LED数码管作为电路的显示部分,按钮开关作为调时部分,通过与单片机连接数码管动态显示年、月、日、时、分、秒、星期、温度。并能准确计算闰年闰月的显示。设计要求: 通过与单片机连接数码管动态显示年、月、日、时、分、秒、星期等功能,并能准确计算闰年闰月的显示,三个个按钮连接P3.0、P3.1、P3.2可以精确调整每一个时间数值,通过对所设计的万年历时钟电路进行实验测试,达到了动态显示时间,随时调整时间等技术所连线路和单片机接口仿真图如图3所示: 图3 仿真按键 4)温度采集部分: DS18B20温度传感器,测温范围-55℃~+125℃,固有测温分辨率0.5℃。独特的单线接口方式,DS18B20在与微处理器

连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。DS18B20的采集数据通过DQ传入单片机,单片机读取数据后将数据输出!如图所示 : 程序如下: ReadOneChar(void) { unsigned char i=0;// 定义i用于循环 unsigned char dat = 0;// 读取的8位数据 for (i=8;i>0;i--)//8次循环 { DQ = 0;// 拉低DQ总线开始读时序 dat>>=1;// dat左移一位 DQ = 1; //释放DQ总线 if(DQ)// 如果DQ=1,执dat|=0x80;(0x80即第7位为1,如果DQ为1,即读取的数据为1,将dat的第7为置1,然后dat>>=1,循环8次结束,dat 即为读取的数据) //DQ=0,就跳过 dat|=0x80; Tdelay(4);// 延时以完成此次读时序,之后再读下一数据 } return(dat); 返回读取的dat } //写一个字节 WriteOneChar(unsigned char dat) { unsigned char i=0;// for (i=8; i>0; i--)// { DQ = 0;// DQ = dat&0x01;// Tdelay(5);//延时以完成此次读时序,之后再读下一数据

万年历系统

程序实践报告 万年历系统的设计 专业 学生姓名 班级 学号 指导教师 起止日期

系统万年历的设计 目录 1课程设计目的及要求 (1) 1.1课程设计目的 (1) 1.2课程设计要求 (1) 2课题总体设计 (1) 2.1 系统需求分析 (1) 2.2系统功能描述 (1) 2.3系统功能模块图 (2) 2.4系统流程图 (2) 3课题总体设计 (3) 3.1 概念设计 (3) 3.2 逻辑设计 (3) 3.3 物理设计 (3) 4详细设计 (3) 4.1 leap()模块设计 (3) 4.2 show()模块设计 (5) 4.3 主函数main()模块设计 (6) 5调试与测试 (6) 6小结 (10) 参考文献 (11) 附录 (12) 附录1 源程序清单 (12)

程序实践报告(2010) 万年历系统的设计 1 课程设计目的及要求 1.1 课程设计目的 1、巩固并加深对C语言程序设计知识的理解; 2、掌握和提高C语言编程和程序的基本调试的基本技能; 3、进一步理解和运用结构化程序的思想和方法; 4、提高运用C语言解决实际问题的能力; 5、初步掌握开发小型实用软件的基本方法; 6、掌握书写程序设计开发文档的能力。 1.2课程设计要求 1、根据分组情况对规定的课程设计题目要求进行分析、设计; 2、利用Turbo C 独立编写程序代码,并调试程序使其能正确运行; 3、源程序要有适当的注释,使程序容易阅读; 4、设计完成的软件要便于操作和实用,至少采用文本菜单界面鼓励学生自动增加 新功能模块; 5、完成并提交课程设计报告,具体要求见相关说明文档。 2课题总体设计 1.、当前页以系统当前日期的月份为准,显示当前月的每一天(显示出日及对应的星期几); 2、当系统日期变到下一个月时,系统自动翻页到下一月。 2.1 系统需求分析 a. 使用图形用户界面; b.本程序能过模仿现实生活中的挂历。 2.2系统功能描述 1)当前页以系统当前日期的月份为准,显示当前月的每一天(显示出日及对应的星期几); 2)当系统日期变到下一个月时,系统自动翻页到下一月。

电子万年历的设计与实现

毕业设计(论文)任务书 题目:电子万年历的设计与实现 任务与要求: 设计一以单片机为核心控制的万年历,具有多项显示和控制功能。要求:准确计 时,以数字形式显示当前年月日、星期、时间; 具有年月日、星期、时间的设置和调整功能;自行设计所需直流电源 时间: 2010年9 月 27 日至 2010 年 11 月 23 日共 8 周 所属系部:电子工程系

摘要 随着微电子技术的高速发展,单片机在国民经济的个人领域得到了广泛的运用。单片机以体积小、功能全、性价比高等诸多优点,在工业控制、家用电器、通信设备、信息处理、尖端武器等各种测控领域的应用中独占鳌头,单片机开发技术已成为电子信息、电气、通信、自动化、机电一体化等专业技术人员必须掌握的技术。 而电子万年历作为电子类小设计不仅是市场上的宠儿,也是是单片机实验中一个很常用的题目。因为它的有很好的开放性和可发挥性,因此对作者的要求比较高,不仅考察了对单片机的掌握能力更加强调了对单片机扩展的应用。而且在操作的设计上要力求简洁,功能上尽量齐全,显示界面也要出色。数字显示的日历钟已经越来越流行,特别是适合在家庭居室、办公室、大厅、会议室、车站和广场等使用,壁挂式LED数码管显示的日历钟逐渐受到人们的欢迎。LED数字显示的日历钟显示清晰直观、走时准确、可以进行夜视,并且还可以扩展出多种功能。所以,电子万年历无论作为比赛题目还是练习题目都是很有价值。 关键词:单片机;万年历 1

目录 1 概述 (5) 1.1单片机原理及应用简介 (5) 1.2系统硬件设计 (6) 1.3结构原理与比较.............................. 错误!未定义书签。2系统总体方案及硬件设计......................... 错误!未定义书签。 2.1系统总体方案................................ 错误!未定义书签。 2.2硬件电路的总体框图设计 (12) 2.3硬件电路原理图设计 (12) 3软件设计 (13) 3.1主程序流程图 (13) 3.2显示模块流程图 (14) 4P ROTEUS软件仿真 (15) 4.1仿真过程 (15) 4.2仿真结果 (16) 5课程设计体会 (17) 参考文献 (18) 附录:源程序代码附 (18) 结束语 (25) 2

万年历C语言课程设计(内附程序)

石家庄铁道大学课程设计 C语言课程设计 万年历 单位电气与电子工程学院(系) 班级 学号 学生姓名 指导教师 完成日期 2013 年7 月 8日

摘要 本课程设计报告介绍的是C语言实习中的万年历项目。该报告共分五章,第一章介绍选题意义,也就是我选择万年历作为课题项目的理由。第二章是系统的分析,包括系统概述,系统的构成,其中包括各个模块功能的分析介绍,该章节的最后介绍了各部分的功能,即组成程序的各个函数的功能介绍。第三章是系统的实现,即为各个功能的实现而服务的十个自定义函数的流程图,通过这十个流程图,您可以快速地明白程序功能的实现过程。第四章是总结,即本人在设计万年历程序过程中的心得,以及在整个程序设计过程中我的工作过程,也体现了我的设计思路。第五章是参考文献,在这里我主要查阅了《C程序设计(第三版)》中的C函数附表,另外有几处欠缺的知识,我借鉴了另一本书上的相关部分。第六章,也是最后一章,我把整个程序的源代码及其注释附上。由于本人水平所限,程序也不可能很完美,必定有一些漏洞和拖沓,还请谅解。好了,从这里开始,我将与你们分享我我在整个万年历程序设计中的所做所想。

目录 1.选题的意义 (4) 2.系统的分析 (5) 2.1系统概述 (5) 2.2系统的构成 (5) 2.3各模块的功能 (5) 2.4系统的运行环境 (5) 3.系统实现 (6) 4.总结 (11) 5.参考文献 (12) 6.附录(程序源代码) (13)

第一章 选题的意义 (1)通过万年历的设计,使我们掌握软件开发过程的问题分析、系统设计、程序编写、测试等基本方法和技能。 (2)通过万年历的设计,熟练掌握C语言中的分支、循环、数组、函数、文件操作等的综合运用。 (3)通过万年历的设计,可以培养独立思考、综合运用所学有关相应知识的能力,更好地巩固《C程序设计》课程中的所学内容。 (4)通过万年历的设计,可以强化自己的动手编程能力,更加深刻地感受C语言的优点。 (5)万年历与我们的生活联系密切,通过万年历的设计,我们可以感受知识与实践相结合的乐趣。

数码万年历实用电路简析

数码万年历实用电路简析【19】 数码万年历采用智能电子控制和显示技木,集时间、日期、星期、温湿度和公历农历对照等功能於一体,具有读取方便、显示直观、功能多样价廉等优点,在日常生活中巳广泛应用。我家一台虹泰A129型LED数码万年历使用近十年,曾经出现过不能调校时间、数码管缺笔划、显示紊乱等故障,经过检修和重新调整都得到了排除,最近又出现了上电显示混乱故障,按“重设键”松键后不能恢复到出厂初始值,显示仍紊乱闪烁,多次反复调整试验都无法进入正常状态,於是误判为万年历智能芯片内部有故障,决定更换芯片,但因早期生产产品,在市场上配购不到同型芯片。几乎要放棄修理的情况下,决定测绘其电路图,以便为寻找代用的芯片提供原理依据,同时根据电路图可进一步分析故障原因,仔细检查元器件和线路,希望找到故障点。经过多次重复检查检测,成功不负有心人,终于查出是T2488SD3芯片直立封装印刷板上第二脚焊接的上拉电阻R42电容和C8虚焊所致,重新加焊后故障得到排除。析其故障原因是由于CPU引脚P2端受到外界电磁干扰,使CPU内部程序产生了错乱,从而出现显示混乱和死机。关于数码万年历常见故障的维修经验在《电子报》11期已有高手介绍。下面笔者仅将A129万年历电路构成整理出来,供读者维修参考。 虹泰A129型数字万年历电路主要由万年历专用芯片CPU T248SD3和外围元件组成,电路简洁,功能俱全,通常有: 1.公、农历自动对照(2001~2019卄年,也有五十年的); 2.农历星期自动对应,闰年、大、小月份自动调整; 3.温度自动显示(-9~50℃); 4.定时闹钟可在24小时内任意时刻设定8次,响闹时兼中文语音报时; 5.正点报时在7~21点整点时敲整点钟声,中文语音报时,再播放和弦音乐; 6.内置3V锂电池(CR2032),停电可保持时钟运行但无显示。正第工作时外接5VDC电源适配器; 7.亮度显示自动调节,即数码管显示亮度在晚上22点开始至早上7点降低亮度,使显示更柔和不刺眼。

电子万年历设计

课程论文论文题目基于单片机的电子万年历设计 课程名称单片机原理及接口技术 专业年级 2014级自动化3班 学生姓名孙宏远贾腾飞 学号 2016年12 月3 日

摘要: 本文介绍了基于AT89C51单片机的多功能电子万年历的硬件结构和软硬件设计方法。系统以AT89C51单片机为控制器,以串行时钟日历芯片DS1302记录日历和时间,它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能。万年历采用直观的数字显示,可以在LED上同时显示年、月、日、周日、时、分、秒,还具有时间校准等功能。此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,具有广阔的市场前景。。 关键词:AT89C51单片机,DS1602时钟芯片,LCD1602显示屏。串口通信。 一:引言 本设计的基于单片机控制的电子万年历,具有年、月、日、星期、时、分、秒的显示等功能,实现过程就是由主控制发送信息给DS1302时钟芯片再由时钟芯片反馈给单片机,再由主控制器传送给LCD1602显示屏显示信息。并且可以在键盘设置模块输入修改时间,当键盘设置时间、日期时,单片机主控制根据输入信息,通过串口通信传送给DS1302时钟芯片,DS1302芯片读取当前新信息产生反馈传送给单片机,然后单片机根据控制最后输送显示信息到LCD1602液晶显示屏模块上显示。 二:硬件设计: 2.0.硬件的设计总框图 2.1 DS1032时钟电路 DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。芯片如图。 DS1302的内部主要由移位寄存器、指令和控制逻辑、振荡分频电路、实时时钟以及RAM组成。每次操作时,必须首先把CE置为高电平。再把提供地址和命令信息的8位装入移位寄存器。数据在SCLK的上升沿串行输入。无论是读周期还是写周期发生,也无论传送方式是单字节还是多字节,开始8位将指定内部何处被进行访问。在开始 8个时钟周期把含有地址信息的命令字装入移位寄存器之后。紧随其后的时钟在读操作时输出数据。 2.2 LCD1602与AT89C52的引脚接线 LCD1602采用总线式与单片机相连,AT89c52的P1口直接与液晶模块的数据总线D0~D7相连;P2 口的0,1,2脚分别与液晶模块的RS、RW、E脚相连。滑动变阻器用于调整液晶显示的亮度。电路如图

C语言程序设计 万年历程序

#include"stdio.h" int mon_day[]={31,28,31,30,31,30,31,31,30,31,30,31}; int judge(int year,int month) { if(month==1||month==3||month==5||month==7||month==8||month==10||month ==12) return(1); else if(month==2) { if(year%4!=0||year%100==0&&year%400!=0) return(2); else return(3); } else return(4); } void show2() { int year,i,j,a,n,m,k; char ** p; char * week[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"}; char*month[]={"January","February","March","April","May","June","July","Augu st","September","October","November","December"}; printf("please inter the year:"); scanf("%d",&year); printf("\n"); printf("the calendar of the year%d.",year); printf("\n"); a=(year+(year-1)/4-(year-1)/100+(year-1)/400)%7; for(i=0;i<12;i++) { n=judge(year,i+1); p=month+i; printf("%s\n",*p); printf("\n"); for(j=0;j<7;j++) {p=week+j; printf("%6s",*p);}

万年历设计

面向对象技术实验报告 (万年历)

1.实验目的 掌握一种编程工具和面向对象程序设计的基本思想和方法,培养我们学生综合利用某种语言进行程序设计的能力,培养我们学生利用系统提供的功能进行创新设计的能力,培养我们学生充分利用计算机的功能和特点分析实际问题及解决实际问题的能力。 为我们提供一个综合运用所学知识解决实际问题的机会,增强我们学生的实践动手能力和工程实践能力,并培养和锻炼我们学生的自学创新能力。 为了能更好地了解C++语言,因此开设了此次课程设计,程序设计教学课程的目的不是为了单独的课堂学习,而是要让我们学生掌握程序设计的基本思想及方法。一方面,在课程设计过程中,可以明确的指导为什么而学,还能对所学知识得到应用,更重要的是可以让我们学生掌握一些基本函数的用法,从而不在对编程序感到茫然,经过设计,可以让我们熟悉简单程序的设计方法和编写,对程序设计及该门课程设计语言的应用得到理解。 2.功能简介 万年历,输入年份,可以显示出这一年的每个月份和所对应的星期天,可以查询每一天.

3.流程图 4.代码 #include #include using namespace std; int i,c,day,year,k,a[50]; void f1(int x) //大月 { for( i=0;i<50;i++) a[i]=33; for(i=k-1;i>=0;i--) a[i]='\000'; //1号前均为空格 for(i=k;i<31+k;i++) a[i]=a[i-1]+1; }

void f2(int x) //小月 { for( i=0;i<50;i++) a[i]=33; for(i=k-1;i>=0;i--) a[i]='\000'; for(i=k;i<30+k;i++) a[i]=a[i-1]+1; } void f3(int x) //闰年二月 { for( i=0;i<50;i++) a[i]=33; for(i=k-1;i>=0;i--) a[i]='\000'; for(i=k;i<29+k;i++) a[i]=a[i-1]+1; } void f4(int x) //非闰年二月 { for( i=0;i<50;i++) a[i]=33; for(i=k-1;i>=0;i--) a[i]='\000'; for(i=k;i<28+k;i++) a[i]=a[i-1]+1; } void g(int y[],int z) // 输出日历表 { cout<<"日"<<'\t'<<"一"<<'\t'<<"二"<<'\t'<<"三"<<'\t'<<"四"<<'\t'<<"五"<<'\t'<<"六"<

C语言课程设计万年历系统

山东交通学院 面向对象课程设计 万年历系统 目录 1课程设计概述 (5) 1.1 万年历系统功能概述 (5) 1.2 开发环境概述 (5) 2万年历系统总体设计 (6) 2.1 问题分析 (6) 2.2 总体设计流程图 (7) 3万年历系统详细设计 (8) 4 程序测试 (9) 4.1 进入程序界面 (9) 4.2 主菜单界面 (9) 4.3 显示当前时间界面 (10) 4.4 查询时间界面 (10)

4.5查询时间出错界面 (11) 4.6退出程序界面 (12) 4.7主菜单选择出错界面..................................................................... 错误!未定义书签。2 5 程序源代码 (13) 设计体会及今后的改进意见 (21) 参考文献 (21) 1课程设计概述 1.1字符统计软件功能概述 模仿Windwos的日历. 1)日历显示功能。能根据系统日期进行初始化,如果没有任何输入, 则显示系统日期所在月份的月历。 2)日历查询、闰年判断功能。输入日期进行查询,显示查询日期所 在月份的月历,还将显示所在年份是否为闰年。 3)参数检查功能。如果输入日期不合法,查询将被拒绝,并显示提 示信息。

1.2开发环境概述 在实验室一人一台微机。 2课程设计概述 2.1问题分析 2.1.1难点在于判断星期,但根据蔡勒公式,可以很容易地有年月日推断出星期:nDay=year-1+(year-1)/4-(year-1)/100+(year-1)/400+nday; w=nDay%7; 其中year:要查询的年份 nday:从该年的一月一日起到该天的天数w:得出的星期数,w==0表示星期天。 2.1.2在打印月历时,只要知道第一天的星期,就可以依次输入后面的日期,通过定长度输出日期,在遇到某天时星期六时,就换行输出,因此可以按照月历的格式输出。对于初始输入当前月历,可以通过中的time 和localtime 函数取出系统时间进行初始化。 time_t timer; struct tm* gmt; time(&timer); gmt=localtime(&timer); gmt就是一个时间结构体,可以从中取出年月日。

电子万年历设计

课程论文 论文题目基于单片机的电子万年历设计 课程名称单片机原理及接口技术 专业年级2014级自动化3班 学生姓名孙宏远贾腾飞 学号 2014485420144848 2016年12 月3 日

摘要: 本文介绍了基于AT89C51单片机的多功能电子万年历的硬件结构和软硬件设计方法。系统以AT89C51单片机为控制器,以串行时钟日历芯片DS1302记录日历和时间,它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能。万年历采用直观的数字显示,可以在LED上同时显示年、月、日、周日、时、分、秒,还具有时间校准等功能。此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,具有广阔的市场前景。。 关键词:AT89C51单片机,DS1602时钟芯片,LCD1602显示屏。串口通信。一:引言 本设计的基于单片机控制的电子万年历,具有年、月、日、星期、时、分、秒的显示等功能,实现过程就是由主控制发送信息给DS1302时钟芯片再由时钟芯片反馈给单片机,再由主控制器传送给LCD1602显示屏显示信息。并且可以在键盘设置模块输入修改时间,当键盘设置时间、日期时,单片机主控制根据输入信息,通过串口通信传送给DS1302时钟芯片,DS1302芯片读取当前新信息产生反馈传送给单片机,然后单片机根据控制最后输送显示信息到LCD1602液晶显示屏模块上显示。 二:硬件设计: 2.0.硬件的设计总框图 2.1 DS1032时钟电路 DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。芯片如图。 DS1302的内部主要由移位寄存器、指令和控制逻辑、振荡分频电路、实时时钟以及RAM组成。每次操作时,必须首先把CE置为高电平。再把提供地址和命令信息的8位装入移位寄存器。数据在SCLK的上升沿串行输入。无论是读周期还是写周期发生,也无论传送方式是单字节还是多字节,开始8位将指定内部何处被进行访问。在开始 8个时钟周期把含有地址信息的命令字装入移位寄存

C语言程序的设计万年历

存档资料成绩: 华东交通大学理工学院 课程设计报告书 所属课程名称车 C语言程序设计课程设计 题目万年历查询 分院电信分院 专业班级 2013级电气工程及其自动化1班 学号 105 学生周利凯 指导教师肖盛文 2014年 6月 15日 摘要

通过C语言编程实现了一个万年历,能实现基本的万年历功能。通过本章的讲解,使读者能够明白万年历的实现原理和方法。万年历的实现核心是要判断闰年和根据给定的日期计算其对应的星期,并按照合适的方式输出日历.这都是本章向读者讲述的重点。 另外,在当今社会万年历在生活起着越来越重要的角色,它悄无声息的走进我们的生活,还向读者讲述了怎样突出显示某个日期的方法,这会在实际应用中经常遇到。除了讲述万年历的实现方法外,本章还回顾了前面章节的知识,如光标定位﹑设置寄存器﹑产生中断﹑输出一个字符等,以及讲述系统日期﹑屏幕输出的方法等。 关键字: C语言,函数,历法计算,万年历,中断。 目录

1.设计万年历目的--------------------------- P4 2.万年历程序设计思路图解及其讲解-----------P5 3.万年历程序清单与编码----------------------P7 4.万年历的调试与分析------------------------P12 5.万年历的使用环境与说明--------------------P14 6. 设计心得-----------------------------------P15 7.万年历参考文献------------------------------P16 8.致-----------------------------------------P17

电子万年历的电路原理与设计

湖南信息科学职业学院毕业论文(设计) 电子万年历电路原理与设计 学生姓名:刘文明 学号:08120126 年级专业:二00八级计算机控制技术专业 指导老师:凌双明 湖南·长沙 提交日期:2011年5月

目录 摘要 (3) 1前言 (3) 2设计要求与方案论证 (3) 2.1设计要求 (4) 2.2系统基本方案选择和论证 (4) 2.2.1 显示模块选择方案和论证 (4) 2.2.2单片机串口通信的选择方案和论证 (4) 3 系统的硬件设计与实现 (5) 3.1 电路设计框图 (5) 3.1.1万年历显示设计框图 (5) 3.1.2液晶显示设计框图 (5) 3.1.3单片机之间、电脑单片机联机设计

图 (5) 3.2 系统硬件概述 (6) 3.3主要单元电路的设计 (6) 3.3.1万年历单片机主控制模块的设计 (7) 3.3.2光控开关模块的设计 (7) 3.3.3万年历显示模块的设计 (7) 3.3.4温度感应模块的设计 (8) 3.3.5串口通信模块的设计 (9) 4结束语 (9) 参考文献 (10) 附录 (10) 附录1系统使用说明书 (11)

附录2万年历实物图 (12) 电子万年历的电路原理与设计 作者:刘文明 指导老师:凌双明 (湖南信息科学职业学院电子信息系2008级计算机控制技术专业,长沙410128) 摘要:随着当今世界经济的快速发展和信息化时代的来临,各种各样的小型智能家电产品陆续出现在我们的生活当中。日历是人们不可或缺的日常用品。但一般日历都为纸制用品,使用不便,寿命不长。电子万年历采用智能电子控制和显示技术,改善了纸制日历的缺陷。万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。 关键词:单片机89C52,串口通信,控制模块,显示模块,发声模块, 12864LCD 液晶 1.前言 万年历可以显示年、月、日、时、分、秒、星期等,具有日期和时间校准、闰年补偿、温度显示、闹钟、光控开关,秒表等多种功能,万年历串口通信具有电脑一键校准时间,利用电脑联机,设置心情语悟,增加名片等功能。在设计的同时对单片机、VB的理论基础和外围扩展知识进行了比较全面准备。本设计由万年历控制模块,显示模块,发声模块,串口通信模块五个部分组成。控制模块由单片机

万年历电子系统设计方案

万年历电子系统设计方案 一、设计要求与方案论证 1.1 项目设计容、功能、指标: (1)基本要求 ①具有年、月、日、时、分、秒等功能; ②具有自动判别闰年闰月的功能 ③有一路闹钟 ( 2 ) 创新要求 ①具有闹钟功能,时间到后蜂鸣器响,led灯亮。 ②设置的时间日期掉电不丢失 ③具有温度计功能; 1.2项目设计方案和比较 1.2.1单片机芯片的选择方案和论证: 方案一: 采用89C51芯片作为硬件核心,采用Flash ROM,部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。 方案二: 采用STC89C52,片ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。 所以选择采用AT89S52作为主控制系统. 1.2.2 显示模块选择方案和论证: 方案一: 采用Lcd液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见。 方案二: 采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示. 方案三: 采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。 由于显示的容较多,采用led数码管不方便,所以采用了LCD液晶作为显示。

电子万年历

Tianjin University of Technology and Education 课程设计 学院:电子工程学院 班级:应电1211班 学生姓名:马登桂(01) 张婵(20) 李春鹏(22) 指导教师:马宁梁彩凤 2015年7月

天津职业技术师范大学 应电专业课程设计任务书 电子工程学院应电1211 班学生: 课程设计课题: 一、课程设计工作日自 2015 年 7 月 6 日至 2015 年 7 月 24日 二、同组学生: 三、课程设计任务要求: 要求全班同学每3人一组自由分组,每组在下列题目中任选2题,完成电路设计仿真、硬件焊接以及软件的编程与调试(统一采用AT89系列单片机): 题目1:基于单片机的多功能计算器设计题目(显示设备采用1602液晶模块) 基本要求:以4×4键盘作为输入,通过软件设计实现加减乘除计算功能,并显示; 扩展功能:进一步实现乘方、开方、对数、阶乘等科学计算功能。 题目2:基于单片机的电子万年历设计(显示设备采用1602液晶模块) 基本要求:通过软件设计实现年月日时间显示及时间设定等功能; 扩展要求:进一步实现定时闹钟功能。 题目3:基于单片机的温度采集显示电路设计(显示设备采用4位数码管) 基本要求:实现用DS18B20采集温度,并实时显示; 扩展要求:进一步实现预设温度告警功能。 指导教师:梁彩凤、马宁

目录

1基于单片机的电子万年历设计 1.1设计任务 基本要求:通过软件设计实现年月日时间显示及时间设定等功能; 扩展要求:进一步实现定时闹钟功能。 1.2 设计方案 1.2.1总体方框图 图1.1总体方框图 1.2.2整体功能说明: 本论文一主要研究基于单片机的万年历设计。当程序执行后,LCD显示即时时间、年月日、星期、温度。设置3个操作键:K1:设置键;K2:上调键;K3:下调键。本设计的主要内容:1、了解单片机技术的发展现状,熟悉万年历各模块的工作原理;2、选择适当的芯片和元器件,确定系统电路,绘制电路原理图,尤其是各接口电路;3、熟悉单片机使用方法和C语言的编程规则,编写出相应模块的应用程序;4、分别在各自的模块中调试出对应的功能,在Proteus软件上进行仿真。 1.3电路设计与分析

电子万年历

河北科技师范学院课程设计说明书 题目: 学院(系): 年级专业: 学号: 学生姓名: 指导教师:

摘要 本设计是电子万年历。具备三个功能:能显示:年、月、日、时、分、秒及星期信息,并具有可调整日期和时间功能。 我选用的是单片机8052来实现电子万年历的功能。该电子万年历能够成功实现时钟运行,调整,显示年月日时分秒及星期,温度等信息。 该电子万年历使用12MHZ晶振与单片机8052相连接,通过软件编程的方法实现了以24小时为一个周期,同时显示小时、分钟和秒的要求。利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据。同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。 电子万年历设计与制作可采用数字电路实现,也可以采用单片机来完成。若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,这样一来就降低了硬件电路的复杂性,从而使得其成本降低,更适合我们大学生自主研发。所以在该设计与制作中我选用了单片机8052,它是低功耗、高性能的CMOS型8位单片机。片内带有4KB的Flash存储器,且允许在系统内改写或用编程器编程。另外, 单片机8052的指令系统和引脚与8051完全兼容,片内有128B 的RAM、32条I/O口线、2个16位定时计数器、5个中断源、一个全双工串行口等。 因此,采用单片机8052原理制作的电子万年历,不仅仅在原理上能够成功实现计时等功能,也更经济,更适用,更符合我们实际生活的需要,对我们大学生来说也更加有用。

相关文档
最新文档