文档库 最新最全的文档下载
当前位置:文档库 › 11-S7-200 实时时钟指令-自学

11-S7-200 实时时钟指令-自学

11-S7-200 实时时钟指令-自学
11-S7-200 实时时钟指令-自学

基于DS12C887时钟芯片的高精度时钟的设计

华侨大学厦门工学院 本科生毕业设计(论文)题目:基于DS12C887时钟芯片的高精度时钟的设计姓名:吴挺 学号:0902106019 系别:电气工程 专业:电气工程及其自动化 年级:2009 指导教师:刘晓东 年月日

独创性声明 本毕业设计(论文)是我个人在导师指导下完成的。文中引用他人研究成果的部分已在标注中说明;其他同志对本设计(论文)的启发和贡献均已在谢辞中体现;其它内容及成果为本人独立完成。特此声明。 论文作者签名:日期: 关于论文使用授权的说明 本人完全了解华侨大学厦门工学院有关保留、使用学位论文的规定,即:学院有权保留送交论文的印刷本、复印件和电子版本,允许论文被查阅和借阅;学院可以公布论文的全部或部分内容,可以采用影印、缩印、数字化或其他复制手段保存论文。保密的论文在解密后应遵守此规定。 论文作者签名:指导教师签名:日期:

基于DS12C887时钟芯片的高精度时钟的设计 摘要 随着社会的发展人们的生活节奏越来越快,每天的工作,学习,休息的时间都安排的很紧,需要一个时钟准确的报时。人们对时钟的要求越来越高,不仅要求每天的的时间误差小于几毫秒,还要求具有定时闹钟,具有万年历等功能。传统的日历电子钟元器件多、维修麻烦、误差大、功能更新不方便。DS12C887时钟芯片能够自动显示年、月、日、时、分、秒等时间信息,同时还具有校时,报时,闹钟等功能。DS12C887也可以很方便的由软件编程进行功能的调整或增加。所以设计基于DS12C877时钟芯片的高精度时钟的设计具有十分重要的现实意义和实用价值。 关键词:DS12C887,时钟芯片,单片机STC89C52,高精度时钟

实时时钟设计实验报告

实验报告

源代码: #pragma sfr //使用特殊功能寄存器 #pragma EI //开中断 #pragma DI //关中断 #pragma access //使用绝对地址指令 #pragma interrupt INTTM000 Time //定义时间中断函数为Time #pragma interrupt INTKR OnKeyPress //定义按键中断为OnKeyPress #pragma interrupt INTP5 OnKeyOver //定义INT中断为OnKeyOver void Init_Led(); void InitKey_INTKR(); void Init_Lcd(); void Init_Inter(); void LightOneLed(unsigned char ucNum); void LightOff(); int Count_Day(int month); char i=0; //定义变量i,是切换时间的标志 int key=0; //定义key=0 int temp=1; //用于存放当前月的天数 int temp1=1; int second=0; //默认的秒second=0 int minute=0; //默认的分minute=0 int hour=12; //默认的时hour=12 int day=1; //默认的天day=1 int month=5; //默认的月month=5 int year=2014; //默认的年year=2014 int c_hour=1; //默认的闹钟时=1 int c_minute=1; //默认的闹钟分=1 int buffs[2]; //秒的数码显示缓存区 int buffm[2]; //分的数码显示缓存区 int buffh[2]; //时的数码显示缓存区 int buffday[2]; //天的数码显示缓存区 int buffmonth[2]; //月的数码显示缓存区 int buffyear[4]; //年的数码显示缓存区 int buffmd[4]; //月,天的数码显示缓存区 int buffhm[4]; //时,分的数码显示缓存区 int buffms[4]; //分,秒的数码显示缓存区 int buffch[2]; //闹钟时的数码显示缓存区 int buffcm[2]; //闹钟分的数码显示缓存区 unsigned char Que = 0; //INT中断中间变量 int LCD_num[10]={0X070d,0x0600,0x030e,0x070a,0x0603,0x050b,0x050f,0x0700,0x070f,0x070b};// 数字0~~9的显示码 unsigned char Scond; //…………………………延时函数1……………………// void Delay(int k){ i nt i,j; f or(i=0;i

松江飞繁控制器使用说明书G

1.系统概述: 1.1 系统简介: (1).JB-3208智能型模拟量火灾报警控制器(联动型)是我厂最近开发的新产品,具有系统容量大,性能优化,美观大方,整机稳定性好等特点。用指示灯显示屏的形式,来统一显示控制器的各种系统工作状态。 (2).系统容量大,单机最大容量为18144点,可满足建筑面积在50万平方米左右工程对火灾自动报警控制系统的需要。若有一个规模庞大的建筑群体,可用CAN总线把30台JB-3208智能型模拟量火灾报警控制器(联动型)联网起来管理。最大容量可达540000点,保护面积可达1500万平方米。每台单机最多可带160个多线模块和252台系统型火灾显示盘。 (3).智能型模拟量探测器使用微功耗MCU处理器,能自行处理模拟量传感器的数据并通过模数转换传输给火灾报警控制器,进行数据分析。控制器应用算法可对模拟量探测器的本底进行自动补偿,用软件方式对模拟量探测器的灵敏度进行调节,从而使得模拟量探测器能够适应使用环境对其灵敏度的要求。并可显示智能型模拟量探测器的运行数据和变化曲线,使用户更好地了解全系统的运行状态。(4).控制器采用480?234点阵式彩色液晶显示屏做文字图形显示,操作方便,直观清晰。 (5).JB-3208型控制器新产品是用全新的硬件和软件,以及内部结构、箱体外形和各种配件等诸多方面都进行重新设计,已于2009年6月取得了中国国家强制性产品认证证书(即“3C”认证书)。本产品在国内具有技术领先的水平,适合在高级别场合使用。 (6).本产品执行国家标准为GB4717-2005和GB16806-2006。

1.2 技术指标: (1).供电方式:交流电源(主电)AC220V(?10% ? ?15%)50?1Hz。 直流电源(备电)DC24V 24Ah。 (2).功率:监控功率 ? 80W ,最大功率 ? 400W (不包括联动电源)。(3).工作电源:由主机电源提供系统内所需直流工作电压 ?5V、?35V、?24V。(4).使用环境:温度 -10 0C ? 50 0C,相对湿度 ? 95 %(40 0C ? 2 0C)。(5).结构形式:壁挂式、柜式和台式三种。 1.3 系统配置: (1).每台控制器可配置72个全总线回路,每个回路可配置252点。控制器最大容量为18144点。 (2).每个全总线回路的配置:252点。全部采用软件编码的探测设备(包括手动报警按钮、消火栓按钮、水流指示器模块及其它输入模块。),全部采用模拟量探测器。 (3).每台控制器最多可配置160个多线联动模块,用于控制中央消防设备。每一块多线联动控制板可带8个多线联动点。每台控制器可带20块多线联动控制板,最多可带160个多线联动点。 (4).每台控制器最多可配置252台系统型火灾显示盘;回路型火灾显示盘按需要设置,每回路最多带8台回路型火灾显示盘。 (5).每台控制器具有2个标准RS-232串行通讯接口,1个CAN总线通讯接口,可供以下设备使用: 1).CAN总线联网:网上邻居总数最多为29个;包括本机在内,一共为30台控制器联网通讯。 2).COM1串行通讯接口:与HJ-1910型CRT彩显系统联网。

基于51单片机的实时时钟设计报告

课程设计(论文)任务书 信息工程学院信息工程专业(2)班 一、课程设计(论文)题目嵌入式课程设计 二、课程设计(论文)工作自 2014 年 6 月 9 日起至2014年 6月15日止。 三、课程设计(论文) 地点: 5-402 单片机实验室 四、课程设计(论文)内容要求: 1.本课程设计的目的 (1)使学生掌握单片机各功能模块的基本工作原理; (2)培养学生单片机应用系统的设计能力; (3)使学生能够较熟练地使用proteus工具完成单片机系统仿真。 (4)培养学生分析、解决问题的能力; (5)提高学生的科技论文写作能力。 2.课程设计的任务及要求 1)基本要求: (1)分析所设计系统中各功能模块的工作原理; (2)选用合适的器件(芯片); (3)提出系统的设计方案(要有系统电路原理图); (4)对所设计系统进行调试。 2)创新要求: 在基本要求达到后,可进行创新设计,如改善单片机应用系统的性能。 3)课程设计论文编写要求 (1)要按照书稿的规格打印撰写论文。 (2)论文包括目录(自动生成)、摘要、正文、小结、参考文献、附录等。 (3)论文装订按学校的统一要求完成。 4)答辩与评分标准: (1)完成原理分析:20分; (2)完成设计过程:30分; (3)完成调试:20分; (4)回答问题:20分; (5)格式规范性(10分)。

5)参考文献: (1)张齐.《单片机原理与嵌入式系统设计》电子工业出版社 (2)周润景.《PROTUES入门实用教程》机械工业出版社 (3)任向民.《微机接口技术实用教程》清华大学出版社 (4)https://www.wendangku.net/doc/ab56832.html,/view/a5a9ceebf8c75fbfc77db2be.html 6)课程设计进度安排 内容天数地点 构思及收集资料1图书馆 系统设计与调试 4 实验室 撰写论文2图书馆、实验室 学生签名: 2014 年6 月9日 课程设计(论文)评审意见 (1)完成原理分析(20分):优()、良()、中()、一般()、差(); (2)设计分析(30分):优()、良()、中()、一般()、差(); (3)完成调试(20分):优()、良()、中()、一般()、差(); (4)回答问题(20分):优()、良()、中()、一般()、差(); (5)格式规范性(10分):优()、良()、中()、一般()、差(); 评阅人:职称: 2014 年6 月15 日

51定时器和lcd12864做的实时时钟显示(附图)

#include #include"intrins.h" #define uchar unsigned char #define uint unsigned int sbit rs=P1^0; sbit rw=P1^1; sbit e=P2^5; sbit psb=P1^2; sbit rst=P1^4; uchar hour,fen,miao,num; uchar code table[]="时间:"; uchar sbuf[]={0,0,0,0,0,0}; void delay(uint x) { uchar i,j; for(i=x;i>0;i--) for(j=110;j>0;j--); } void Timer0Init(void) //50??@11.0592MHz { TMOD |= 0x01; //??????? TL0 = 0x00; //??????

TH0 = 0x4C; //?????? EA=1; ET0=1; TR0=1; //???0???? } void Delay2ms() //@11.0592MHz { unsigned char i, j; _nop_(); i = 4; j = 146; do { while (--j); } while (--i); } void Delay100us() //@11.0592MHz { unsigned char i, j; i = 2; j = 109; do { while (--j); } while (--i);

void Delay50ms() //@11.0592MHz { unsigned char i, j, k; i = 3; j = 207; k = 28; do { do { while (--k); } while (--j); } while (--i); } void write_12864com(uchar com) { rs=0; rw=0; Delay100us(); P0=com; e=1; Delay100us(); e=0; Delay100us(); }

单片机原理课程设计基于AT89C52的电子时钟设计说明

单片机原理课程设计 题目: 基于AT89C52的电子时钟设计 姓名: 学院: 专业: 班级: 学号: 指导教师: 年月日 农业大学教务处制

aortiu 目录 摘要 (2) 关键词 (2) 引言 (2) 1设计要求与方案论证 (2) 1.1设计要求 (2) 1.2系统方案选择方案和论证 (2) 1.2.1单片机芯片的选择方案和论证 (2) 1.2.2 显示模块选择方案和论证 (3) 1.2.3 时钟芯片的选择方案和论证 (3) 2.系统的硬件设计与实现 (3) 2.1电路设计框图 (3) 2.2系统硬件概述 (3) 2.3主要单元电路的设计 (4) 2.3.1 单片机主控制模块的设计 (4) 2.3.2时钟电路模块的设计 (4) 2.3.3 键盘模块设计 (5) 2.3.4蜂鸣器模块的设计 (5) 2.3.5显示模块的设计 (5) 3.系统的软件设计 (6) 3.1程序流程框图 (6) 3.2程序的设计 (7) 4.系统调试 (7) 4.1软件调试 (7) 4.2硬件调试 (8) 4.3 实验箱调试结果 (8) 5.总结心得体会 (9) 附录一:系统程序 (9)

基于AT89C52的电子时钟设计 指导教师:吕成绪胡飞 摘要:单片机在电子产品中的应用越来越广泛,特别是51系列的单片机,由于其使用方便、价格低廉等优势,在市场上占有很大的份额。AT89C52就是51系列中的一个比较成熟的型号。本设计是一个多功能的实时时钟,带秒表、整点报时、闹铃、调整时间等功能。可按键直接设置闹铃时间。由AT89C51单片机、DS1302、LCD1602等模块组成。现代社会,时间就是金钱,时钟是每个人的必备品。本设计实现了所需功能,给大家带来方便,整体性好、人性化强、可靠性高,实现了时钟的多功能应用。 关键词:电子时钟;DS1302;LCD1602; 引言: 随着科技的快速发展,时间的流逝,从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。美国DALLAS公司推出的具有涓细电流充电能的低功耗实时时钟电路DS1302。它可以对年、月、日、周、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子时钟采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。该设计以AT89C51单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。 综上所述,此电子时钟具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。 1.设计要求与方案 1.1 设计要求: (1)启动时显示制作的年、月、日、制作者的学号等信息。 (2)24小时计时功能(精确到秒) (3)整点报时功能。 (4)秒表功能 (5)省电功能模式(未设计) 1.2 系统基本方案选择 1.2.1单片机芯片的选择方案和论证 方案一: 采用89C51芯片作为硬件核心,采用Flash ROM,部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。 方案二: 采用AT89S52,片ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51

K-CU01 主控制器模块使用说明书

HOLLiAS MACS -K 系列模块 2014年5月B版

HOLLiAS MAC-K系列手册- K-CU01 主控制器模块使用说明书 重要信息 危险图标:表示存在风险,可能会导致人身伤害或设备损坏件。 警告图标:表示存在风险,可能会导致安全隐患。 提示图标:表示操作建议,例如,如何设定你的工程或者如何使用特定的功能。

目录 1.概述 (1) 2.接口说明 (2) 2.1主控单元结构示意图 (2) 2.2底座接口说明 (4) 2.3地址跳线 (8) 2.4IO-BUS (11) 3.状态灯说明 (12) 4.其他特殊功能说明 (14) 4.1短路保护功能 (14) 4.2诊断功能 (15) 4.3冗余功能 (15) 4.4掉电保护 (16) 5.工程应用 (18) 5.1底座选型说明 (18) 5.2应用注意事项 (18) 6.尺寸图 (19) 6.1K-CU01尺寸图 (19) 6.2K-CUT01尺寸图 (19) 7.技术指标 (20) 7.1K-CU01主控制器模块 (20) 7.2K-CUT01 4槽主控器底座 (21)

K-CU01 主控制器模块 1.概述 K-CU01是K系列硬件的控制器模块,是系统的核心控制部件,主要工作是收集I/O模块上报的现场数据,根据组态的控制方案完成对现场设备的控制,同时负责提供数据到上层操作员站显示。 控制器基本功能块主要包括系统网通讯模块、核心处理器、协处理器(IO-BUS主站MCU)、现场通讯数据链路层、现场通讯物理层、以及外围一些辅助功能模块。 K-CU01控制器模块支持两路冗余IO-BUS和从站I/O模块进行通讯,支持两路冗余以太网和上位机进行通讯,实时上传过程数据以及诊断数据。可以在线下装和更新工程,且不会影响现场控制。 K-CU01控制器模块支持双冗余配置使用。当冗余配置时,其中一个控制器出现故障,则该控制器会自动将本机工作状态设置为从机,并上报故障信息;若作为主机出现故障,则主从切换;若作为从机出现故障,则保持该状态。 两块控制器模块K-CU01和两块IO-BUS模块安装在4槽主控底座K-CUT01上,就构成了一个基本的控制器单元。 通过主控底座的主控背板,完成两个控制器模块之间的冗余连接,控制器模块通过IO-BUS模块扩展可以连接最多100个I/O模块。 通过选用不同的IO-BUS模块,控制总线拓扑结构可构成星型和总线型;同时支持远程I/O机柜。 基本的控制器单元如图1-1所示。

单片机实时时钟电路的原理及应用

单片机实时时钟电路的原理及应用 1 引言现在流行的串行时钟电路很多,如DS1302、DS1307、PCF8485 等。这些电路的接口简单、价格低廉、使用方便,被广泛地采用。本文介绍的 实时时钟电路DS1302 是DALLAS 公司的一种具有涓细电流充电能力的电路, 主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并 且可以关闭充电功能。采用普通32.768kHz 晶振。 2 DS1302 的结构及工作原理DS1302 是美国DALLAS 公司推出的一种高性能、低功耗、带RAM 的实 时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补 偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU 进行同步通信,并可 采用突发方式一次传送多个字节的时钟信号或RAM 数据。DS1302 内部有一个31×8的用于临时性存放数据的RAM 寄存器。DS1302 是DS1202 的升级产品,与DS1202 兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电 源进行涓细电流充电的能力。 2.1 引脚功能及结构图1 示出DS1302 的引脚排列,其中Vcc1 为后备电源,VCC2 为主电源。在主电源关闭的情况下,也能 保持时钟的连续运行。DS1302 由Vcc1 或Vcc2 两者中的较大者供电。当Vcc2 大于Vcc1+0.2V 时,Vcc2 给DS1302 供电。当Vcc2 小于Vcc1 时,DS1302 由Vcc1 供电。X1 和X2 是振荡源,外接32.768kHz 晶振。RST 是复位/片选线,通过把RST 输入驱动置高电平来启动所有的数据传送。RST 输入有两种功能:首先,RST 接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST 提供终止单字节或多字节数据的传送手段。当RST 为高电平时,所有的数据传 送被初始化,允许对DS1302 进行操作。如果在传送过程中RST 置为低电平, 则会终止此次数据传送,I/O 引脚变为高阻态。上电运行时,在Vcc≥2.5V之前,RST 必须保持低电平。只有在SCLK 为低电平时,才能将RST 置为高电平。

基于51单片机的DS12C887时钟芯片的程序

#include #define uchar unsigned char #define uint unsigned int uchar code table[]=" 2011-10-03 MON"; uchar code table1[]=" 00:00:00"; sbit lcden=P2^7; sbit lcdrs=P2^6; sbit lcdrw=P2^5; sbit dscs=P1^0; sbit dsas=P1^1; sbit dsrw=P1^2; sbit dsds=P1^3; sbit dsirq=P3^3; sbit s1=P3^0; sbit s2=P3^1; sbit s3=P3^2; sbit rd=P3^7; uchar num,nian,yue,ri,zhou,s1num,flag; char miao,fen,shi; void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void write_com(uchar com) { lcdrs=0; P0=com; delay(5); lcden=1; delay(5); lcden=0; } void write_date(uchar date) { lcdrs=1; P0=date; delay(5); lcden=1; delay(5); lcden=0; }

void write_ds(uchar add,uchar date) { dscs=0; dsas=1; dsds=1; dsrw=1; P0=add; dsas=0; dsrw=0; P0=date; dsrw=1; dsas=1; dscs=1; } uchar read_ds(uchar add) { uchar ds_date; dsas=1; dsds=1; dsrw=1; dscs=0; P0=add; dsas=0; dsds=0; P0=0xff; ds_date=P0; dsds=1; dsas=1; dscs=1; return ds_date; } void write_sfm(uchar add,uchar date) { uchar shi,ge; shi=date/10; ge=date%10; write_com(0x80+0x40+add); write_date(0x30+shi); write_date(0x30+ge); } void write_nyr(uchar add,uchar date) {

实时时钟实验报告

嵌入式系统开发实验报告 实验四:实时时钟实验 班级:应电112 姓名:张志可 学号: 110415151 指导教师:李静 实验日期: 2013年9月25日

实验四:实时时钟实验 一、实验目的 1. 了解实时时钟的硬件控制原理及设计方法。 2. 掌握 S3C2410X 处理器的 RTC 模块程序设计方法。 二、实验设备 硬件:Embest ARM 教学实验系统,ULINK USB-JTAG 仿真器套件,PC 机。 软件:MDK 集成开发环境,Windows 98/2000/NT/XP。 三、实验原理 1. 实时时钟(RTC) 实时时钟(RTC)器件是一种能提供日历/时钟、数据存储等功能的专用集成电路,常用作各种计算机系统的时钟信号源和参数设置存储电路。RTC 具有计时准确、耗电低和体积小等特点,特别是在各种嵌入式系统中用于记录事件发生的时间和相关信息,如通信工程、电力自动化、工业控制等自动化程度高的领域的无人值守环境。随着集成电路技术的不断发展,RTC 器件的新品也不断推出,这些新品不仅具有准确的 RTC,还有大容量的存储器、温度传感器和 A/D 数据采集通道等,已成为集 RTC、数据采集和存储于一体的综合功能器件,特别适用于以微控制器为核心的嵌入式系统。 RTC 器件与微控制器之间的接口大都采用连线简单的串行接口,诸如 I2C、SPI、MICROWIRE 和CAN 等串行总线接口。这些串口由2~3 根线连接,分为同步和异步。 2. S3C2410X 实时时钟(RTC)单元 S3C2410X 实时时钟(RTC)单元是处理器集成的片内外设。由开发板上的后备电池供电,可以在系统电源关闭的情况下运行。RTC 发送8 位BCD 码数据到CPU。传送的数据包括秒、分、小时、星期、日期、月份和年份。RTC 单元时钟源由外部32.768KHz 晶振提供,可以实现闹钟(报警)功能。 四、实验内容 学习和掌握 Embest ARM 教学实验平台中 RTC 模块的使用,编写应用程序,修改时钟日期及时间的设置,以及使用 EMBEST ARM 教学系统的串口,在超级终端显示当前系统时间。

基于51单片机的电子时钟的设计

目录 0 前言 (1) 1 总体方案设计 (2) 2 硬件电路设计 (2) 3 软件设计 (5) 4 调试分析及说明 (7) 5 结论 (9) 参考文献 (9) 课设体会 (10) 附录1 电路原理 (12) 附录2 程序清单 (13)

电子时钟的设计 许山沈阳航空航天大学自动化学院 摘要:传统的数字电子时钟采用了较多的分立元器件,不仅占用了很大的空间而且利用率也比很低,随着系统设计复杂度的不断提高,用传统时钟系统设计方法很难满足设计需求。 单片机是集CPU、RAM、ROM、定时器/计数器和多种接口于一体的微控制器。它体积小、成本低、功能强,广泛应用于智能产品和工业自动化上。而51系列的单片机是各单片机中最为典型和最有代表性的一种。,本次设计提出了系统总体设计方案,并设计了各部分硬件模块和软件流程,在用C语言设计了具体软件程序后,将各个模块完全编译通过过后,结果证明了该设计系统的可行性。该设计给出了以AT89C2051为核心,利用单片机的运算和控制功能,并采用系统化LED显示模块实时显示数字的设计方案,适当地解决了实际生产和日常生活中对计时高精确度的要求,因此该设计在现代社会中具有广泛的应用性。 关键字:AT89C2051,C语言程序,电子钟。 0前言 利用51单片机开发电子时钟,实现时间显示、调整和闹铃功能。具体要求如下: (1)按以上要求制定设计方案,并绘制出系统工作框图; (2)按要求设计部分外围电路,并与单片机仿真器、单片机实验箱、电源等正确可靠的连接,给出电路原理图; (3)用仿真器及单片机实验箱进行程序设计与调试;

(4)利用键盘输入调整秒、分和小时时刻,数码管显示时间; (5)实现闹钟功能,在设定的时间给出声音提示。 1总体方案设计 该电子时钟由89C51,BUTTON,1602 LCD液晶屏等构成,采用晶振电路作为驱动电路,利用单片机内部定时计数器0通过软件扩展产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。闹钟和时钟的时分秒的调节是由一个按键控制,而另外一个按键控制时钟和闹钟的时间的调节。 图1 系统结构框图 该电子时钟由STC89C51,BUTTON,1602 LCD液晶屏等构成,采用晶振电路作为驱动电路,晶振电路的晶振频率为12MHZ,使用的定时器/计数器工作方式0,通过软件扩展产生的一秒定时,达到时分秒的计时,60秒为一分钟,60分钟为一小时,24小时为一天,又重00:00:00开始计时。没有按键按键按下时,时钟正常运行,当按下调节时钟按键K1,就会关闭时钟,当按下闹钟按键K3时时钟就会进入设置时间界面,但是时钟不会停止工作,按K2键,,就可以对时钟和闹钟要设置的时间进行调整。 2硬件电路设计

单片机DS12C887时钟设计

目录 摘要 (2) 1 系统总体设计 (2) 1.1 系统设计的主要内容和具体要求 (2) 1.1.1主要内容: (2) 1.1.2 具体技术要求: (2) 1.2 方案论证 (2) 2 系统硬件电路设计 (3) 2.1单片机控制系统包括STC89C52单片机以及它的外围电路(晶振电路和复位电路)。 (3) 2.1.1晶振电路 (4) 2.1.2 复位电路 (4) 2.2 DS12C887时钟电路 (5) 2.2.1 器件介绍 (5) 2.2.2 DS12C887与单片机的连接 (6) 2.3 1602液晶显示屏 (6) 2.4 USB供电电路 (7) 2.5 键盘电路 (8) 2.6闹铃电路 (9) 3 系统软件程序设计 (9) 3.1 主程序运行说明及流程图 (9) 3.2 DS12C887使用说明及流程图 (11) 3.3 1602操作说明及流程图 (11) 3.4 键盘控制说明及流程图 (12) 4 系统调试 (13) 5 结论 (14) 6 谢辞 (14) 7 参考文献 (15) 8 附录A:实时日历电子钟设计电路原理图 (15) 9 附录B:实时日历电子钟设计程序代码 (15)

摘要 在日新月异的21世纪里,家用电子产品得到了迅速发展。许多家电设备都趋于人性化、智能化,这些电器设备大部分都含有CPU控制器或者是单片机。单片机以其高可靠性、高性价比、低电压、低功耗等一系列优点,近几年得到迅猛发展和大范围推广,广泛应用于工业控制系统、通讯设备、日常消费类产品和玩具等。 本文设计的电子万年历属于小型智能家用电子产品。利用单片机进行控制,实时时钟芯片DS12C887时钟芯片进行记时及掉电存储,外加键盘电路和显示电路,可实现时间的调整和显示。电子万年历既可广泛应用于家庭,也可应用于银行、邮电、宾馆、医院、学校、企业、商店等相关行业的大厅,以及单位会议室、门卫等场所。因而,此设计具有相当重要的现实意义和实用价值。关键词:单片机;DS12C887;智能 1 系统总体设计 1.1 系统设计的主要内容和具体要求 1.1.1主要内容: 本次设计的题目是基于ds12c887的高精度时钟的设计,可以正常的显示年、月、日、星期、时、分、秒。本系统利用单片机实现具有计时校时等功能的数字时钟,是以单片机STC89C52为核心元件,同时采用1602液晶显示“时”、“分”、“秒”的现代计时装置。与传统机械表相比它具有走时精确,显示直观等特点。另外具有校时功能,编程灵活,便于扩充等优点。 本次设计可分为两部分:硬件部分,软件部分。 硬件部分包括:STC89C52、DS12C887时钟芯片、1602LCD液晶显示器。主要由STC89C52单片机、实时时钟芯片电路、液晶显示输出电路、键盘输入电路等几大部分组成。 软件部分包括:主程序模块,DS12C887模块,LCD1602模块,键盘控制模块。 1.1.2 具体技术要求: (1)在1602液晶上显示年、月、日、星期、时、分、秒,并且按秒实时更新显示。 (2)具有闹铃设定及到时报警功能,报警响起时按任意键可取消报警。 (3)能够通过按键随时调节各个参数,按键可设计4个有效键,分别为功能选择键、数值增大键、数值减小键、和闹铃查看键。 (4)每次有键按下时,蜂鸣器都以短“滴”声报警。 (5)利用DS12C887自身掉电可继续走时的特性,设计实现断电时间不停,再次上电时间仍然准确显示在液晶上的功能。 1.2 方案论证 时钟电路有各种各样的,在不同的要求和条件下有着各自的优势,本设计的题目是高精度时钟的设计,根据设计要求时钟显示正常的年、月、日、星期、时、分、秒。要想实现上述功能,所以设计要从电路设计的性价比、显示时间的精确以及稳定性为前提。本设计是要将硬件系统和软件系统有机的结合在一起,方可实现我们设计任务中的各项要求。 在以单片机为核心构成的装置中,经常需要一个实时的时钟和日历,以便对一些实时发生事件记录时给予时标,实时时钟芯片便可起到这一作用。DS12C887是一个综合性能较好且价格便宜的并行接口实时时钟芯片。利用单片机进行控制,采用DS12C887作为实时时钟芯片,并与单片机进行同步通信,外加显示电路、键盘电路、闹铃电路,即构成一个基本的电子万年历系统。若还要添加其他功能,在这基础上外扩电路即可。

基于ds1302的51单片机简易实时时钟-1602显示-源程序

。 ==================主程序================= #include

。#include "ds1302.h" #include "LCD1602.h" void change(); uchar times[9]; uchar date[9]; main() {LCD_init();//LCD初始化 init_1302(time_1302); gotoxy(1,1); LCD_display("Time:"); gotoxy(1,2); LCD_display("Date:"); times[8]='\0';// date[8]='\0'; while(1) {get_1302(time_1302); change(); gotoxy(7,1); LCD_display(times); gotoxy(7,2); LCD_display(date);

} } /*=========================== 转换子程序 ===========================*/ void change() { // 时间的转换 times[0]=time_1302[2]/10+'0'; times[1]=time_1302[2]%10+'0'; times[2]=':'; times[3]=time_1302[1]/10+'0'; times[4]=time_1302[1]%10+'0'; times[5]=':'; times[6]=time_1302[0]/10+'0'; times[7]=time_1302[0]%10+'0'; // 日期的转换 date[0]=time_1302[6]/10+'0'; date[1]=time_1302[6]%10+'0'; date[2]='-';

实时时钟芯片应用设计时必须要考虑的事项

实时时钟芯片应用设计时必须要考虑的事项 总述 实时时钟芯片(RTC)允许一个系统能同步或记录事件,给用户一个易理解的时间参考。由于RTC的应用越来越广泛,为了避开设计时出现的问题,设计者应熟悉RTCs。 选择接口 RTC可用的总线接口范围很宽。串行接口包括2线(I2C),3线和串行外设接口(SPI)。并行接口包含多总线(多数据和地址线)和带单独地址及字节数据输入的设计。接口的选择通常由所用的处理器类型决定,很多处理器包括2线或SPI接口。其它的,如8051处理器及其派生的处理器支持多路地址和数据总线。时间保持非易失性(NV)RAM和SRAM用相同的控制信号,许多处理器都提供这种方便的接口,也包括各种不同的用电池组支持的RAM。最后,看不见的时钟隐藏电池供电的RAM中并可用64位的软件协议去访问时钟。 备用电池的功能 在有的应用中,例如VCRS,如果去掉电源,会丢失时间和日期信息,。许多新的应用中,即使主电源去掉了,要求时间和日期信息应保持有效。为了保持时钟晶振运行,要用到一个主电源或者备用电源,或者一个大容量的电容。在这种情况下,时钟芯片必须能够在两个电源之间进行切换。 如果有一个电池,例如钮扣型锂电池用作备用电源,当在用备用电源工作时RTC应设计成尽可能少的消耗功耗。电源切换电路,一般情况下由主电源供电,会使电源切换到电池供电,并使RTC进入低功耗模式。微处理器和RTC之间的通信通常锁定(称为写保护),用来使电池供电电流最小和防止数据损坏。 许多时钟芯片都包括一个晶振控制位,通常称之为时钟中断(CH)或是晶振使能位(/EOSC)。此位通常位于秒寄存器或控制寄存器的最高位(位7),几乎在有这位的所有时钟芯片中,初始电池上的首选状态对于晶振来说是无效的。这允许系统设计者提出制造流程,在安装和测试后,用Vbat进行供电,通常用个锂电池。此时晶振处于一个停止状

控制器使用说明书

JB-TB-BK8000 智能型火灾报警控制器(联动型) 本系统中的控制器采取模块化、积木式结构设计,使打印机、大屏幕汉显液晶屏、PC机、联动控制板、回路板可与主控板任意组合,32台控制器可构成大型网络,每台控制器其软件、硬件构成方式和带载能力完全相同,因此,即可成为主控机(集中机)又可做从机(区域机)使用。系统采用两总线、无极性、模拟量信号传输方式,总线上可并接所有的输入/输出模块及探测器。其性能符合国际GB4717-93和GB16806-1997的要求。 一、主要功能 1、故障报警 当检测点由于某种原因发生故障时,控制器面板上的黄色发光管点亮,液晶上显示总数及探测点的地址、位置、名称、时间等信息,并伴随有喇叭报警声。 若回路发生故障时,液晶屏的地址位置显示“_路”。 主、从机若通讯有故障时,液静晶屏的地址位置显示“—从机”。 2、预警报警 2.1监测点由于长期使用或者在调试过程中出现重码等原因引起模拟值偏高,系统将其作 为预警处理,面板上的预警灯被点亮,液晶显示预警总数及监测点的地址、位置、名称、时间等信息,并伴随有喇叭报警声。 2.2监测点接收到早期异常情况,但未达到报警点,系统须作进一步判断,系统将预警和 故障作为同一级别处理,因而在液晶上采用同屏显示。 3、火警、启动 当监测点发生火灾时,面板火警被点亮,且面板上的首火警地址,液晶屏上显示火警总数及监测点的地址、名称、位置、时间等信息,并伴随有喇叭报警声; 不管在手动或自动状态下,系统发出启动指令后,面板上联动灯被点亮;如果联动设备有回答信号时,液晶显示联动设备的地址,名称、位置、时间等信息,并伴随有喇叭报警声。 以上各种报警信息均可采用快捷键进行查询。 4、火警优先 在任何情况下,火警、启动为最高级别,优先于故障、预警。 5、消音键 任何报警引起的喇叭均利用消音键进行消音。 6、电源转换 系统采用了主电与备电两种供电方式,并具有自识别能力,能对主电的过压、欠压或失压以及备电低于额定的电压值时,失压等进行声与光的报警。 7、手动与自动 系统设有自动与手动的转换功能,通过自动与手动转换键完成。 8、复位 当火警、启动等状态发生后,系统具有保持功能,通过复位键可以使系统进行复位操作,从机可接受主机的复位信号。 9、关机记忆 系统对火警、启动几开、关机的时间具有记忆功能,以供随时查询。 10、时钟

单片机—实时时钟实验(汇编版)

实验二实时时钟实验 一、实验目的 1)数码管动态显示技术 2)定时器的应用 3)按键功能定义 二、实验实现的功能 实时时钟,可以设定当前时间,完成钟表功能(四位数码管分别显示分钟和秒)。 三、系统硬件设计

四、系统软件设计 说明:1键进入和退出设置模式,4键选择调分或秒,2键加,3键减。 P1M1 EQU 91H P1M0 EQU 92H SEC0 DA TA 30H ;秒显示 SEC1 DA TA 31H MIN0 DA TA 32H ;分显示 MIN1 DA TA 33H DELAY_1 DA TA 34H ;延时参数 DELAY_2 DA TA 35H ;延时参数 ORG 0000H LJMP 0030H ORG 001BH LJMP INTR0 ORG 0030H MAIN: MOV P1M1,#00000000B MOV P1M0,#11111111B MOV R7,#000 ;记中断次数,R7=100为1秒 MOV R6,#000 ;记秒 MOV R5,#000 ;记分 MOV R4,#0FFH ;按键位置 MOV R1,#000 ;确定是否有按键按下的参数 MOV TMOD,#10H ;定时器初始化 MOV TH1,#0D8H ;定时时间10ms MOV TL1,#0F0H SETB EA SETB ET1 SETB TR1 LOOP0: CJNE R4,#000H,LOOP01 ;实时时钟显示 MOV R4,#0FFH LJMP LOOP1 LOOP01: LCALL TIME

LCALL KEY0 LJMP LOOP0 LOOP1: CJNE R4,#000H,LOOP11 ;调秒MOV R4,#0FFH LJMP LOOP0 LOOP11: CJNE R4,#003H,LOOP12 MOV R4,#0FFH LJMP LOOP2 LOOP12: CJNE R4,#001H,LOOP13 MOV R4,#0FFH INC R6 LOOP13: CJNE R6,#060,LOOP14 MOV R6,#000H LOOP14: CJNE R4,#002H,LOOP16 MOV R4,#0FFH CJNE R6,#000,LOOP15 MOV R6,#060 LOOP15: DEC R6 LOOP16: LCALL TIME LCALL KEY1 LJMP LOOP1 LOOP2: CJNE R4,#000H,LOOP21 ;调分MOV R4,#0FFH LJMP LOOP0 LOOP21: CJNE R4,#003H,LOOP22 MOV R4,#0FFH LJMP LOOP1 LOOP22: CJNE R4,#001H,LOOP24 MOV R4,#0FFH INC R5 LOOP23: CJNE R5,#060,LOOP24 MOV R5,#000H LOOP24: CJNE R4,#002H,LOOP26 MOV R4,#0FFH CJNE R5,#000,LOOP25 MOV R5,#060

单片机万年历DS12C887实现程序

#include #include "1602.h" #include"ds12cr887.h" #define uchar unsigned char #define uint unsigned int sbit lcdrs=P3^7 ; sbit lcdrw=P3^6 ; sbit lcden=P3^5 ; sbit dscs=P1^4; sbit dsas=P1^5; sbit dsrw=P1^6; sbit dsds=P1^7; sbit dsirq=P3^3; /**************键盘引脚定义******************/ sbit key_1 = P1^0; //设置格式 sbit key_2 = P1^1; //+ sbit key_3 = P1^2; //- sbit key_4 = P1^3; //定时设置 sbit buzzer= P3^1; //蜂鸣器 sbit DQ = P3^0; //定义DS18B20 /******************小点闪烁********************/ bit at=0; /******************全局变量********************/ uchar t0=0,second=0, min=0, hour=0,day=0,month=0,year=0,weekday=0,flag=0,temp=0,flag1=0; /******************初始化时间******************/ uchar code table1[]=" 2009-05-12 MON "; uchar code table2[]="00:00:00 0000"; /*******************字符表*********************/ uchar code word[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x20,0x2d}; uchar code week[][3]={"SUN","MON","TUE","WED","THU","FRI","SAT"}; /************数据缓冲与键盘计数变量************/ uchar databuffer[14],TempBuffer[4],count,t_value; uint num=0; /******************函数声明********************/ void init(); void lcd_write_com(uchar command); //1602液晶写命令 void lcd_write_data(uchar date); //1602液晶写数据 void delay(uint a); void newbuf(); //数据转换 void keyboard(); //键盘子程序 void disp(); //显示程序 void write_ds(uchar add,uchar date); uchar read_ds(uchar add);

相关文档
相关文档 最新文档