作业帮 > 体裁作文 > 教育资讯

万年历下载

来源:学生作业帮助网 编辑:作业帮 时间:2024/09/23 12:28:55 体裁作文
万年历下载体裁作文

篇一:万年历程序

? /***********************************************************************************

*************

?

?

?

?

? C51写的公历转农历,并驱动LCM-12864汉字液晶显示。 author: cth 本程序参考了网上部分程序,在这里感谢所有无私奉献的朋友! 全程注释,有耐心就慢慢看! ************************************************************************************

************/

?

?

?

?

?

?

? #include <reg52.h> #include <intrins.h> #include <stdio.h> #define uint unsigned int #define uchar unsigned char char sec,min,hour,day,month,year,week; //定义全局变量,秒,分,时,日,月,年和星

?

?

?

?

?

?

? bit century; //定义世纪位:0为20世纪,1为19世纪。 //此时初始日期为2006年8月13日,即此程序完成日期! /**************************************C51写的公历转农历和星期 ************************************** 公历是全世界通用的历法以地球绕太阳的一周为一年一年365 天分为12 个月1 3 5 7 8 10 12 月

? 31 天2 月为28 天其余月份为30 天事实上地球绕太阳一周共365 天5 小时48 分46 秒比公历

一年多出5 小时48

? 分46 秒为使年误差不累积公历年用闰年法来消除年误差 由于每年多出5 小时48 分46 秒每4

年累计多出23

? 小时15 分4 秒接近1 天天文学家就规定每4 年有一个闰年把2 月由28 天改为29 天凡是公历

年代能被4 整除

? 的那一年就是闰年但是这样一来每4 年又少了44 分56 秒为了更准确地计时天文学家又规定凡

能被100 整除

? 的年份只有能被400 整除才是闰年即每400 年要减掉3 个闰年经过这样处理后实际上每400 年

的误差只有2 小时

?

? 53 分20 秒已相当准确了 农历与公历不同农历把月亮绕地球一周作为一月因为月亮绕地球一周不是一整天所以农历把月分

为大月和小

? 月大月30 天小月29 天通过设置大小月使农历日始终与月亮与地球的位置相对应为了使农历的

年份与公历年

? 相对应农历通过设置闰月的办法使它的平均年长度与公历年相等农历是中国传统文化的代表之一

并与农业生产联

?

? 系密切中国人民特别是广大农民十分熟悉并喜爱农历 公历与农历是我国目前并存的两种历法各有其固有的规律农历与月球的运行相对应其影响因素多

它的大小

? 月和闰月与天体运行有关计算十分复杂且每年都不一致因此要用单片机实现公历与农历的转换用

查表法是最方

?

? 便实用的办法 51 系列单片机因其在功能上能满足大部份对速度要求不高的应用场合的要求且价格低廉开发工

具普及程度高

? 是目前应用最多的单片机之一本文介绍一种用51 单片机实现从1901 年到2099 年2199 年公历

日到农历日及星期

?

?

? 的转换方法并向读者提供完整的51C程序 二 基本原理 实现公历与农历的转换一般采用查表法按日查表是速度最快的方法但51 单片机寻址能力有限不

可能采用

? 按日查表的方法除按日查外我们可以通过按月查表和按年查表的方法再通过适当的计算来确定公

历日所对应的

?

? 农历日期本文采用的是按年查表法最大限度地减少表格所占的程序空间 对于农历月来说大月为30 天小月为29 天这是固定不变的这样我们就可用1 个BIT 位来表示大

小月信

? 息农历一年如有闰月为13 个月否则是12 个月所以一年需要用13 个BIT 闰月在农历年中所在的

月份并不固定

? 大部分闰月分布在农历2 8 月但也有少量年份在9 月以后所以要表示闰月的信息至少要4BIT 在

这里我们用4BIT

? 的值来表示闰月的月份值为0 表示本年没有闰月有了以上信息还不足以判断公历日对应的农历日

因为还需要一

? 个参照日我们选用农历正月初一所对应的公历日期作参照日公历日最大为31 日需要5BIT 来表

示而春节所在的

? 月份不是1 月就是2 月用1BIT 就够了考虑到表达方便我们用2BIT 来表示春节月2BIT 的值直

接表示月份这

?

? 样一年的农历信息只用3 个字节就全部包括了 计算公历日对应的农历日期的方法先计算出公历日离当年元旦的天数然后查表取得当年的春节日

期计算出春

? 节离元旦的天数二者相减即可算出公历日离春节的天数以后只要根据大小月和闰月信息减一月天

数调整一月农

? 历月份即可推算出公历日所对应的农历日期如公历日不到春节日期农历年要比公历年小一年农历

大小月取前一

?

? 年的信息农历月从12 月向前推算 公历日是非常有规律的所以公历日所对应的星期天可以通过计算直接得到理论上公元0 年1 月1

日为星期日

? 只要求得公历日离公元0 年1 月1 日的日子数除7 后的余数就是星期天为了简化计算采用月校

正法根据公历的

? 年月日可直接计算出星期天其算法是日期年份所过闰年数月校正数之和除7 的余数就是星期天但

如果是在

?

? 闰年又不到3 月份上述之和要减一天再除7 其1 12 月的校正数据为6 2 2 5 0 3 5 1 4 6 2 4 在 本程序中采用1 个字节表示年份闰年数也只计算1900 年以后的闰年数所以实际校正数据也和上

述数据不同

?

?

?

?

?

?

?

?

? 公历年对应的农历数据,每年三字节, 格式第一字节BIT7-4 位表示闰月月份,值为0 为无闰月,BIT3-0 对应农历第1-4 月的大小 第二字节BIT7-0 对应农历第5-12 月大小,第三字节BIT7 表示农历第13 个月大小 月份对应的位为1 表示本农历月大(30 天),为0 表示小(29 天) 第三字节BIT6-5 表示春节的公历月份,BIT4-0 表示春节的公历日期 ************************************************************************************

*************/

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

? code uchar year_code[597]={ 0x04,0xAe,0x53, //1901 0x0A,0x57,0x48, //1902 0x55,0x26,0xBd, //1903 0x0d,0x26,0x50, //1904 0x0d,0x95,0x44, //1905 0x46,0xAA,0xB9, //1906 0x05,0x6A,0x4d, //1907 0x09,0xAd,0x42, //1908 0x24,0xAe,0xB6, //1909 0x04,0xAe,0x4A, //1910 0x6A,0x4d,0xBe, //1911 0x0A,0x4d,0x52, //1912 0x0d,0x25,0x46, //1913 0x5d,0x52,0xBA, //1914 0x0B,0x54,0x4e, //1915

?

?

?

?

?

?

? 0x29,0x6d,0x37, //1917 0x09,0x5B,0x4B, //1918 0x74,0x9B,0xC1, //1919 0x04,0x97,0x54, //1920 0x0A,0x4B,0x48, //1921 0x5B,0x25,0xBC, //1922 0x06,0xA5,0x50, //1923 ?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

? 0x06,0xd4,0x45, //1924 0x4A,0xdA,0xB8, //1925 0x02,0xB6,0x4d, //1926 0x09,0x57,0x42, //1927 0x24,0x97,0xB7, //1928 0x04,0x97,0x4A, //1929 0x66,0x4B,0x3e, //1930 0x0d,0x4A,0x51, //1931 0x0e,0xA5,0x46, //1932 0x56,0xd4,0xBA, //1933 0x05,0xAd,0x4e, //1934 0x02,0xB6,0x44, //1935 0x39,0x37,0x38, //1936 0x09,0x2e,0x4B, //1937 0x7C,0x96,0xBf, //1938 0x0C,0x95,0x53, //1939 0x0d,0x4A,0x48, //1940 0x6d,0xA5,0x3B, //1941 0x0B,0x55,0x4f, //1942 0x05,0x6A,0x45, //1943 0x4A,0xAd,0xB9, //1944 0x02,0x5d,0x4d, //1945 0x09,0x2d,0x42, //1946 0x2C,0x95,0xB6, //1947 0x0A,0x95,0x4A, //1948 0x7B,0x4A,0xBd, //1949 0x06,0xCA,0x51, //1950 0x0B,0x55,0x46, //1951 0x55,0x5A,0xBB, //1952 0x04,0xdA,0x4e, //1953

?

?

?

?

?

?

? 0x35,0x2B,0xB8, //1955 0x05,0x2B,0x4C, //1956 0x8A,0x95,0x3f, //1957 0x0e,0x95,0x52, //1958 0x06,0xAA,0x48, //1959 0x7A,0xd5,0x3C, //1960 0x0A,0xB5,0x4f, //1961 ?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

? 0x04,0xB6,0x45, //1962 0x4A,0x57,0x39, //1963 0x0A,0x57,0x4d, //1964 0x05,0x26,0x42, //1965 0x3e,0x93,0x35, //1966 0x0d,0x95,0x49, //1967 0x75,0xAA,0xBe, //1968 0x05,0x6A,0x51, //1969 0x09,0x6d,0x46, //1970 0x54,0xAe,0xBB, //1971 0x04,0xAd,0x4f, //1972 0x0A,0x4d,0x43, //1973 0x4d,0x26,0xB7, //1974 0x0d,0x25,0x4B, //1975 0x8d,0x52,0xBf, //1976 0x0B,0x54,0x52, //1977 0x0B,0x6A,0x47, //1978 0x69,0x6d,0x3C, //1979 0x09,0x5B,0x50, //1980 0x04,0x9B,0x45, //1981 0x4A,0x4B,0xB9, //1982 0x0A,0x4B,0x4d, //1983 0xAB,0x25,0xC2, //1984 0x06,0xA5,0x54, //1985 0x06,0xd4,0x49, //1986 0x6A,0xdA,0x3d, //1987 0x0A,0xB6,0x51, //1988 0x09,0x37,0x46, //1989 0x54,0x97,0xBB, //1990 0x04,0x97,0x4f, //1991

篇二:中华万年历 安卓下载

应用介绍

每一个中国人,都该有一个中华万年历。中国人的日历,记录分享每一天。

2亿人的选择值得信赖,总要有一次改变与跨越。中华万年历6.0全新上线,日历万年历与语音输入云记事的完美结合,同城社区与生活服务支持的完美体现,传统文化生活与高效简明工作的完美配合,融合中国老黄历的万年历农历、精准天气预报、节日节气、生日提醒、活动记事安排。更有周公解梦、黄大仙灵签、女生姨妈经期助手等小工具。

【日历农历万年历,天气雾霾PM值】

--节日假期、农历节气、黄历宜忌、风水运程、择日出行等全了解。国家授权天气预报,趋势指数、PM2.5全不怕。中华万年历,天气日历。

【智能语音云输入、同步存储全平台】

--智能语音输入,精准识别,解放双手。记事、提醒、待办、节日、闹钟,高效简洁的日程管理,电脑手机平板全平台云备份。中华万年历,智能日历。

【2亿人同城社区,个性化订阅信息】

--同城社区、生活服务,每天最有趣的精彩推荐、社区交友、晒图发帖。个性化订阅,自定义黄历、天气、星座运程、新闻热点、笑话精选等,中华万年历,生活日历。

【极简高效的界面,经典周月历切换】

--经典大屏日历与高效简约日历随心切换,全新的视觉设计,易用好用耐用,自定义主题想换就换,多种视图助你生活工作更有条理。中华万年历,个性日历。

【更多实用工具,随身贴心助手】

--汇聚星座运程、吉日查询、黄大仙灵签、周公解梦、日期计算、女生经期助手(贴心大姨妈小

伙伴)等实用工具。中华万年历,实用日历。

羊年将至,春节献礼,用户至上,这就是"历知生活",这就是属于你的:中华万年历。 基本信息】

作者:随身云(南京)信息技术有限公司

版本:6.0.2

语言:中文

【更新内容】

1.【经典风采依旧】恢复记事便签、经典天气插件、4*4月历插件等,继续陪伴你走过每一天;

2.【新版创新无限】记录界面更便捷,助你随时随地管理工作和生活;

3.【我们一直在努力】其他小bug修复。

更新时间:2015-02-12 系统:Android 2.2.x以上

手游礼包领取:/ka/

关注便玩家手游网官方微信公共账号(shoujiyouxilibao)免费赢取礼包!

篇三:电子万年历

单片机开发与设计工程师

考试文档

学校: 湖南人文科技学院

设计题目: 电子万年历 学生姓名: 欧阳文

左程

起止日期: 2010年6月15日~ 2010年6月25日

摘 要

该电子万年历主要采用STC89C52芯片作为主控核心,由DS1302时钟芯片提供时钟、LED提供显示。STC89C52单片机功耗小,电压可选用4~6V电压供电;DS1302时钟芯片是美国DALLAS公司推出的具有涓细电流充电功能的低功耗实时时钟芯片,它可以对年、月、日、星期、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小;数字显示是采用共阳极LED数码管来显示,可以分别显示年、月、日和时、分、秒等信息。此外,该电子万年历还具有时间校准等功能。

关键词:时钟电路; 时钟芯片DS1302;LED动态扫描; STC89C52芯片

目 录

课题要求: ................................................................................................................................ 1 1.模块的设计 ..........................................

万年历下载

................................................................................... 1

1.1单片机芯片的选择 ....................................................................................................... 1 1.2时钟芯片的选择 ........................................................................................................... 1 1.3显示模块的选择 ........................................................................................................... 1 1.4电路的整体设计 ........................................................................................................... 1 2.系统的硬件设计与实现 ......................................................................................................... 2

2.1电路设计框图 ............................................................................................................... 2 2.2主控制器STC89C52及8255芯片 ............................................................................. 2 2.3时钟电路DS1302 ......................................................................................................... 3 2.4矩阵式键盘及其接口 ................................................................................................... 6 2.5流水灯模块的设计 ....................................................................................................... 6 2.6显示模块的设计 ........................................................................................................... 7 3. 系统的软件设计 ................................................................................................................... 7

3.1阳历程序 ....................................................................................................................... 7 3.2时间调整程序 ............................................................................................................... 8 3.3阴历程序 ....................................................................................................................... 9 3.4闰年程序 ..................................................................................................................... 10 4. 系统功能调试及性能分析 ................................................................................................. 11

4.1 硬件调试 .................................................................................................................... 11 4.2软件调试 ..................................................................................................................... 11 4.3性能分析 ..................................................................................................................... 11 参考文献 .................................................................................................................................. 12 附录一:原理图 ...................................................................................................................... 13 附录二:实验程序 .................................................................................................................. 14

电子万年历

课题要求:

电子万年历能显示阳历、阴历、时间,并能表明是否是闰年,通过按键实现切换。

1.模块的设计

1.1单片机芯片的选择

采用STC89C52和8255芯片, STC89C52芯片的片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。8255芯片是一种典型的可编程通用并行接口芯片,用来扩展单片机的端口,它具有3个8位的并行口,有三位工作方式,可作为单片与各种外部设备连接的接口电路。

1.2时钟芯片的选择

采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压2.5V~5.5V范围内,2.5V时耗电小于300Na。

1.3显示模块的选择

采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。

1.4电路的整体设计

经过对以上各模块的选定: 采用STC89C52作为主控制芯片; DS1302提供时钟; LED数码管动态扫描作为显示。

2.系统的硬件设计与实现

2.1电路设计框图

图1电子万年历电路系统构成框图

2.2主控制器STC89C52及8255芯片

主控模块采用的是STC89C52芯片。STC89C52是一个8位单片机,片内ROM全部采用FLASH ROM技术,晶振时钟为12MHz。STC89C52是标准的40引脚双列直插式集成电路芯片,有4个八位的并行双向I/O端口,分别记作P0、P1、P2、P3。第31引脚需要接高电位使单片机选用内部程序存储器;第9引脚是复位引脚,要接一个上电手动复位电路;第40脚为电源端VCC,接+5V电源,第20引脚为接地端VSS,通常在VCC和VSS引脚之间接0.1μF高频滤波电容。第18、19脚之间接上一个12MHz的晶振为单片机提供时钟信号。

图2 STC89C52芯片引脚图

8255芯片的引脚图如图3所示:

篇四:电子万年历

电子万年历设计

摘 要

随着现代生活节奏的不断加快,时间对于我们每个人来说也越来越重要,我们都需要有工具来度量时间。电子万年历作为一种应用广泛的日常计时工具,由于它具有读取方便、显示直观、价格低廉等诸多优点,在当代社会中的应用也越来越广泛,大大方便了人们的生活和工作。

本设计是基于单片机技术原理,采用AT89S52单片机芯片作为主控制器,并采用时钟芯片DS1302来实现时钟,通过硬件电路的制作及软件程序的编制,利用单片机的控制作用通过共阳极数码管显示时间,实现显示阳历的年、月、日、星期、时、分、秒以及阴历的月、日的功能,还具有掉电继续计时的功能。

本设计主要由按键模块、显示模块、DS1302时钟模块、AT89S52主控制系统组成,其中按键电路采用3个按键构成独立连接式键盘,显示电路采用19个共阳极数码管构成,并利用74LS164译码器将二进制代码转化为对应的高低电平信号,并利用74LS138芯片来实现数码管的动态选择。时钟模块采用DS1302芯片,它的使用寿命长、误差小,满足电子万年历需要精确计时的要求。

关键词:AT89S52,DS1302,数码管,译码器

I

THE DESIGN OF ELECTRONIC CALENDAR

ABSTRACT

As the pace of modern life continues to increase,time is becoming more and more important for us. We all need the tools to measure time. As a widely used timing tool, Electronic calendar has many advantages, such as easy to read, direct display and low cost. In modern society, it is becoming more and more extensive and makes our life and work easier.

This design is based on principles of single-chip computer, using chip AT89S52 as the core controller and clock chip DS1302 as the clock. By combining the hardware circuits and software programs preparation, using common anode LED to display time under the control of single-chip computer. It can display the date of solar calendar and lunar calendar. It can continue to measure time after power lost.

This design consists of four main parts, including key module, display module, DS1302 clock module and AT89S52 master control system. Buttons circuit uses three buttons to make up the independent keyboard. Display circuit consists of 19 common anodes LED. It uses 74LS164 to translate binary code into the corresponding high level signal and uses 74ls138 to choose the corresponding digital tube. The clock module uses clock chip DS1302, DS1302 meets the requirement of accurate timekeeping because of its long service life and small error.

KEY WORDS:AT89S52,DS1302,Digital tube,Decoder

II

目 录

前 言 ................................................. 1

第1章 系统设计方案的选择 .............................. 3

1.1 电子万年历的设计意义 ...................................................................3 1.2 国内外同类设计的发展概况 ..........................................................3 1.3 设计要求 .............................................................................................4 1.4 设计方案的选择与论证 ...................................................................5

1.4.1 单片机芯片的选择 .....................................................................5 1.4.2 时钟芯片的选择 .........................................................................5 1.4.3 显示模块的选择 .........................................................................6 1.4.4 键盘模块的选择 .........................................................................6 1.5 本设计的最终方案 ............................................................................6

第2章 系统的硬件设计与实现 ............................ 7

2.1 电路设计总框图 ................................................................................7 2.2 系统的硬件概述 ................................................................................7 2.3 主要单元电路的设计 .......................................................................8

2.3.1 AT89S52主控制系统设计 ........................................................8 2.3.2 键盘模块设计 ........................................................................... 13 2.3.3 时钟模块设计 ........................................................................... 14 2.3.4 显示模块的设计 ...................................................................... 18

第3章 系统的软件设计 ................................. 23

3.1 主程序流程图 .................................................................................. 23 3.2 阳历程序设计 .................................................................................. 24

3.2.1 DS1302初始化 ......................................................................... 24 3.2.2 BCD码转化为十进制子程序 ................................................ 27 3.3 时间调整程序的设计 .................................................................... 27 3.4 阴历程序的设计 ............................................................................. 29

III

3.4.1 计算阳历天数的程序设计 ..................................................... 29 3.4.2 阳历转阴历程序 ....................................................................... 32

结 论 ................................................ 33

参考文献 .............................................. 34

致 谢 ................................................ 36

附 录 ................................................ 37

IV

前 言

在当代繁忙的工作与生活中,时间与我们每个人都有非常密切的关系,每个人都受到时间的影响。为了更好的利用我们自己的时间,我们必须对时间有一个度量,因此产生了钟表。钟表的发展是非常迅速的,从刚开始的机械式钟表到现在普遍用到的数字式钟表,即使现在钟表千奇百怪,但是它们都只是完成一种功能——计时功能,只是工作原理不同而已。

万年历是采用数字电路实现对时、分、秒的数字显示的计时装置,广泛用于个人家庭、车站、码头、办公室等公共场所,成为人们日常生活中不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能,诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,但是所有这些,都是以钟表数字化为基础的。因此,研究万年历及扩大其应用,有着非常现实的意义。电子万年历采用直观的数字显示,可以同时显示年、月、日、周、时、分、秒等信息,还具有时间校准功能。

综上所述,万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。

国内外电子万年历的设计已经比较成熟了,它可以采用很多种设计方案,每种方案各有自己的优缺点。国内外电子万年历的设计主要有以下几种设计方案。

第一种设计方案是采用可编程逻辑器件设计。这种方案采用PLD器件,设计起来结构清晰,各个模块从硬件上设计起来相对简单,控制与显示模块间的连接也比较方便,但是考虑到本设计的特点,EDA在功能扩展上比较受局限,而且EDA占用的资源也会相对多些,从成本上来讲,用可编程逻辑器件来设计并没什么优势可言。

第二种设计方案是采用ARM来设计。ARM微处理器的功能特别强大,

1

篇五:电子万年历设计

长 沙 学 院

《单片机原理及应用》

课程设计说明书

题系

(

目 )

电子万年历设计 电子与通信工程系

专业(班级) 姓学指起

名 号

导止

教日

师 期

《单片机原理及应用》课程设计任务书

系(部):电信系 专业:

摘要

二十一世纪的今天,最具代表性的计时产品就是电子万年历,它是近代世界钟表业界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。第三次革命就是单片机数码计时技术的应用(电子万年历),使计时产品的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!因此,电子万年历的出现带来了钟表计时业界跨跃性的进步。

单片机作为当今领域应用广泛的电子器件,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。

时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。

本设计由单片机STC89C52芯片和LED数码管为核心,运用DS1302时钟芯片,辅以必要的电路,设计了一个简易的电子时钟,它由5V直流电源供电,通过数码管能够准确显示时间,日期,调整时间,日期,从而到达学习、设计、开发软、硬件的能力。

关键词 :电子万年历, 时钟电钟,单片机,DS1302,液晶LCD1602。

目 录

一.设计方案 ........................................................................................................................................................... 1 二.硬件单元电路设计 ........................................................................................................................................... 1

1.单片机主控制模块的设计 ......................................................................................................................... 1 2.DS1302时钟电路模块的设计 .................................................................................................................... 3 3.LCD1602显示电路模块的设计 .................................................................................................................. 3 4.按键电路模块的设计 ................................................................................................................................. 4 三.软件设计流程图 ............................................................................................................................................... 5 四.仿真结果与实物展示 ....................................................................................................................................... 5

1.Protues仿真结果 ........................................................................................................................................ 6 2.实物展示 ....................................................................................................................................................... 6 五.设计心得 ........................................................................................................................................................... 6 参考文献 ................................................................................................................................................................... 7

一.设计方案

本设计采用STC89C52单片机为核心的单片机控制芯片,利用单片机强大的控制能力及其控制的准确性,灵活的编程设计和丰富的IO端口,通过与DS1302时钟芯片进行不断通信从而获得实时时间,并将获得的信息通过1602LCD显示出来,还可以通过相应的不同按键调整相应的值。

本设计系统可以分为硬件部分和软件部分两大部分,其中硬件部分可以分为七个模块:稳压电源模块、串口下载模块单片机控制模块、LCD1602显示模块、DS1302时钟模块、按键设置模块。软件部分包括主程序、初始化程序、LCD显示程序、读/写DS1302数据程序、延时程序等组成。系统总体方案设计原理框图1-1所示。

图1.1 系统总体方案设计原理框图

二.硬件单元电路设计

1.单片机主控制模块的设计

(1)单片机采用STC89C52,STC89C52单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3, MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。STC89C52单片机引脚图如图1.2所示。

图2.1 STC89C52单片机引脚图

STC89C52单片机引脚介绍:

Vss(20脚):接地 VCC(40脚): 主电源+5V

XTAL1(19脚):接外部晶体的一端。在片内它是振荡电路反相放大器的输入端在采用外部时钟时,对于HMOS单片机,该端引脚必须接地;对于CHMOS单片机,此引脚作为驱动端。

XTAL2(18脚): 接外部晶体的另一端。在片内它是一个振荡电路反相放大器的输出端,振荡电路的频率是晶体振荡频率。若需采用外部时钟电路,对于HMOS单片机,该引脚输入外部时钟脉冲;对于CHMOS

体裁作文