多功能数字钟方案设计书_第1页
多功能数字钟方案设计书_第2页
多功能数字钟方案设计书_第3页
多功能数字钟方案设计书_第4页
多功能数字钟方案设计书_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于 51 单片机的多功能数字钟 课 程 设 计 学校:开封大学 院部 :机电工程学院 指导老师 :李斐 班级:09应电 1班 学号: 姓名: 日期:2012年 2月18日 摘要 随着时代的进步和发展,单片机技术已经普及到生活、工作、科研等各个领 域,已经成为一种比较成熟的技术。本文将介绍一种基于单片机控制的数字钟 和数字温度计;本数字钟可以同步显示时间日历,日期和时间都可通过按键校 整。本系统采用的 DS1302 可为掉电保护电源提供可编程的充电功能,并且 可以关闭充电功能。本系统显示部分采用 LCD 液晶显示屏显示,可通过按键 切换工作界面,工作方便,外形美观。 关键词:单片机AT89C5

2、2RC;时间同步;DS1302 ; DS18B20 1 设计背景 随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一, 它给人带来的方便是不可否定的,其中数字钟和数字温度计就是一个典型的例 子,但人们对它的要求越来越高,要为现代人工作、科研、生活提供更好的更 方便的设施就需要从单片机技术入手,一切向着数字化、智能化控制的方向发 展。 本文所介绍的数字钟采用了低功耗实时时钟电路D S 1 302 ,它可以对年、 月、日、周、时、分、秒进行计时,且具有闰年补偿等多种功能。同时可为 掉电保护电源提供可编程的充电功能,并且可以关闭充电功能;本文所介绍 的数字温度计与传统的温度计相比,具有读

3、数方便,测温范围广,测温准确度 高,其输出温度采用数字显示,主要适用于对测温要求比较准确的场所或科研 实验室。 本系统选用低功耗、高性能 CMOS 8 位微控制器 AT89C52 作为控制核 心,采用温度传感器 DS18B20 准确测量温度,采用液晶显示屏 LCD1602 显示 实时温度和同步的时间日历。经过反复测试,本系统能准确完成各项功能。 2 方案论证 2.1 系统总体设计方案论证 2.1.1方案一 采用热敏电阻的感温效应测量温度,采用 LED 数码管显示实时温度和同步 的时间日历。本系统的测温电路可使用热敏电阻之类的器件利用其感温效应, 将随被测温度变化的电压值或电流值进行采集,经过

4、A/D 转换后用单片机进行 数据处理,然后用 LED 数码管将被测温度显示出来。这种设计方案需要用到 A/D 转换电路,其感温电路比较繁杂,采用 LED 数码管显示时间日历至少需要 8位数码管,显示电路繁杂,能量损耗大。 2.1.2方案二 采用温度传感器 DS18B20测量温度,采用LCD液晶显示屏显示实时温度 和同步的时间日历。本系统可考虑选用一只温度传感器DS18B20,DS18B20不 仅可以很容易直接读取被测温度值进行显示,而且温度传感器DS18B20具有独 特的一线接口,只需要一条口线就可多点通信,无需外部元件,简化了分布 式温度传感应用。本系统米用液晶显示屏LCD1602显示实时温

5、度和同步的时 间日历,电路简单,功耗低,显示信息量大,显示质量高,显示界面美观、友 好,可以很好的满足设计要求。 综上所述,方案一的感温电路和显示电路设计繁杂,能量损耗大;方案二 的设计电路简单,显示界面美观、友好,并且软件设计也比较简单,所以本系 统选用方案二实现实时温度和同步的时间日历的显示功能。 本系统控制器采用单片机 AT89C52,温度传感器采用 DS18B20,采用 DS1302实现掉电充电功能,用液晶显示屏 LCD1602显示实时温度和同步的 时间日历。 2.2系统结构: 2.2.1主控制器 单片机AT89C52具有低电压供电和体积小等特点,四个端口只需要两个口 就能满足电路系统

6、的设计需要,很适合便携手持式产品的设计使用,系统可用 二节电池供电。 2.2.2显示电路 显示电路采用液晶显示屏 LCD1602进行显示,单片机从 P0 口传输温度和 时间数据驱动LCD1602进行显示。LCD1602的接口定义如表1所示。 表1 LCD1602的接口定义 引脚号 标识 说明 PIN1 GND 接0V PIN2 VCC 接 4.8V-5V PIN3 V0 对地接电阻470-2K PIN4 RS RS-0,指令寄存器;RS-1,数据寄存器 PIN5 R/W R/W=O,写;R/W-1,读 PIN6 E 允许信号 PIN7 D0 数据0 PIN8 D1 数据1 PIN9 D2 数据

7、2 PIN10 D3 数据3 PIN11 D4 数据4 PIN12 D5 数据5 PIN13 D6 数据6 PIN14 D7 数据7 PIN15 LED+ 背光正极,接 4.8V - 5V PIN16 LED- 背光负极,接0V 材料: 字符液晶LCD1602显示字符的过程: 使用1602型液晶显示字符必须解决三个问题:代县字符ASCII标准妈的产生;液晶显 示模式的设置;字符显示位置的指定。 1)字符ASCII标准码产生 常用字符的标准 ASCII码无需人工产生,在程序中定义字符常量或字符串常量时,C语 言在编译后会自动产生其标准ASCII码。职演讲澄澄的标准ASCII码通过单片机的10 口

8、送入数据线使用存储器(DDRAM ),内部控制线路就会自动将字符传送到显示器 上。 2)液晶显示模式的设置 要让液晶显示字符,必须对有无光标、光标的移动方向、光标是否闪烁及字符的移动方 向等进行设置。这样才能获得所需的显示效果。1602液晶显示模式的设置是通过控制 指令对内部的控制器进行控制而实现的。常用的控制指令需要查询液晶的数据手册获 得。 3)字符显示位置的指定 想要在液晶的某一位置显示特定的字符,则必须指定其显示位置,显示位置的地址需要 查询1602型LCD内部地址获得。 2、1602型LCD的读写操作 LCD是一个慢速显示器件,所以在写每一条指令之前一定要先读取LCD的忙碌状态 (当

9、然也可以通过加入一个比较长的延时时间来避开液晶的忙状态,但是这种方法并不 合理)。如果 LCD正忙于处理其他指令,就需要等待处理结束;如果不忙,再执行写 操作。为此,1602型液晶专门设了一个忙碌标志位BF,该位位于从1602读取的8位 数据的最高位,如果 BF为0,表示LCD处于空闲状态,反之则处于忙碌状态。 3、1602液晶显示一个字符的操作过程为:读状态 -写指令-写数据-自动显示。 1)读状态 要将待显字符写入液晶模块,首先就要检测LCD是否忙碌,只有在 LCD处于空闲状态 的时候,才能够将待显字符写入 2)写指令 写指令包括写显示模式控制指令和写入地址。 3)写数据 写数据实际上是将

10、待显字符的标准 4)自动显示 数据写入液晶模块后,字符产生器( 字符显示在液晶屏上,这个过程由 ASCII码写入LCD的数据显示存储器(DDRAM ) CGROM )将自动读出字符的字形点阵数据,并将 LCD自动完成,无需人工干预 4、1602液晶的初始化过程 使用1602液晶显示字符之前,需要对其显示模式进行初始化设置,过程如此下: 1)延时15ms,给液晶一段反应时间 2)写指令0 x38H,尚未开始工作,所以这里不需要检测忙信号,将液晶的显示模式设 置为“16*2显示,5*7点阵,8位数据接口 ” 3)延时5ms 4)写指令,不需要检测忙信号 5)延时5ms 6)写指令,不需要检测忙信号

11、 7)延时5ms (连续设置3次,确保设置成功) 8)以后每次写指令,读 /写数据操作都要检测忙信号 2.2.3DS1302时钟芯片 1、DS1302引脚排列:如下图 VccaL 1 D ei 3 Vcci xiC 27 SCLK X2C 36 i I/O GND匚 45 I J RST 图1 DS1302弓I脚排列 引脚说明: 1)Vcc1 :后备电源,VCC2 :主电源。在主电源关闭的情况下,也能保持时钟的连续运 行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1 + 0.2V时,Vcc2给 DS1302供电。当 Vcc2小于Vcc1时,DS1302由Vcc1供

12、电。2) X1、X2 :振荡源,外接 32.768kHz 晶振。 3) RST:复位/片选线,通过把 RST输入驱动置高电平来启动所有的数据传送。RST输入 有两种功能:首先,RST接通控制逻辑,允许地址 /命令序列送入移位寄存器;其次, RST 提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始 化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传 送,I/O引脚变为高阻态。上电运行时,在Vcc2.0V之前,RST必须保持低电平。只有在 SCLK为低电平时,才能将 RST置为高电平。 4)I/O为串行数据输入输出端(双向)。 5)S

13、CLK为时钟输入端。 2、DS1302的控制字节 DS1302的控制字如下图所示。 1 4J RAMjr A4*j A头 A2* A2 AO. ram/ 厶 表2 DS1302的控制字节 控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入 DS1302 中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据。位5至位1指示 操作单元的地址。最低有效位(位0)如为0表示要进行写操作,为 1表示进行读操作,控制 字节总是从最低位开始输出。 3、数据输入输出(I/O) 在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入 从低位即位0开始。

14、同样,在紧跟 8位的控制指令字后的下一个SCLK脉冲的下降沿读出 DS1302的数据,读出数据时从低位0位到高位7。 DS1302的寄存器 DS1302有12个寄存器,其中有 7个寄存器与日历、时钟相关,存放的数据位为BCD码形 式,其日历、时间寄存器及其控制字见数据手册。 此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与 RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内 容。DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单 元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写

15、操 作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字 节,命令控制字为 FEH(写)、FFH(读)。 2.24DS18B20温度传感器 1、I2C总线器件与单片机之间的通信需要两根线,而单总线器件与单片机间的数据通信只 要一根线。 单总线适用于单主机系统,能够控制一个或多个从机设备。主机通常是单片机,从机可以 是单总线器件,他们之间通过一条信号线进行数据交换,单总线上同样允许挂接多个单总 4.7k 线器件,因此,每隔单总线器件必须有各自固定的地址,但总线器件通常需要接一个 左右的上拉电阻,这样,当总线空闲时,状态为高电平。 2、单总线器件的数据操作过程 1)初始

16、化 单总线上的所有处理均从初始化开始,单片机先发送一个复位脉冲,当单总线其间接收到 复位脉冲后,先单片机发出应答信号,以便通知单片机:该器件已经准备好等待下一步操 作 2)识别单总线器件 总线上允许挂接多个但总线器件,为便于单片机识别,每个单总线器件在出厂前都分配好 了 64为序列号以作为地址序列码。所以单片机能够根据该序列号来识别和判断对那一个单 总线器件进行操作 3)数据交换 单片机与单总线器件之间的数据交换必须遵循严格的通信协议。单总线协议定义了复位信 号,应答信号,写/读0,写/读1的集中信号类型,所有的单总线命令都是由这些基本的信 号类型组成的,除了应答信号外,其余信号都由单片机发出

17、,并且发送的所有命令和数据 都是低位在前,高位在后。 当DS18B20接收到温度转换命令后,开始启动转换。单片机通过单线接口 读出该数据,读数据时低位在前,高位在后,数据格式以0.0625C/ LSB形式 表示。当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换 为十进制;当符号位S= 1时,表示测得的温度值为负值,要先将补码变成原 码,再计算十进制数值。表2是一部分温度值对应的二进制温度数据。 表3 一部分温度对应值表 二进制表示 十八进制表示 + 125 0000 0111 1101 0000 07D0H +85 0000 0101 0101 0000 0550H 温度/C

18、0000 0001 1001 0000 0191H + 10.125 0000 0000 1010 0001 00A2H +0.5 0000 0000 0000 0010 0008H 0 0000 0000 0000 1000 0000H -0.5 1111 1111 1111 0000 FFF8H -10.125 1111 1111 0101 1110 FF5EH -25.0625 1111 1110 0110 1111 FE6FH -55 1111 1100 1001 0000 FC90H 3、DS18B20的工作时序 1)初始化单片机将数据线拉低480-960US后释放,等待15-60U

19、S,单总线器件即可输出一 个持续时间为60-240US的低电平(应答信号),单片机受到此应答后即可进行后续操作 DS1820ft 电平 电阻上揑 氫遷栓制掘低电平 息线観制器CDS1820同 为條电平 图2 DS18B20的初始化时序 2)写时序 当主机将数据线的电平从高拉到低时,形成写时序,有写0和写1两种时序。写时序开始 后,DS18B20在15-60us期间从数据线上采样,如果采样到低电平,则向DS18B20写0, 否则写1,两个独立的时序之间至少需要1us的回复时间按(拉高总线电平) 3)读时序 当主机从DS18B20读取数据时,产生读时序,此时,主机将数据线的电平从高拉到低使读 时序

20、被初始化。如果此后15us内,主机在总线上采样到低电平,则从DS18B20读0,否则 读1 3系统主电路图 O 4.7k :霍 4.7k 1 o 寸 cj 二 L 牛RF2 U3 A t, U? R1 R2 10k 10k XTAL1 PO .OXADO P0.-1/AD1 P0.2/AD2 P1.0H2 F1.1/TZEX. XT/1L2 RST PSEM ALE EA 2 3 4 5 7 p p p F p F ,7kR6 PO 3咖 PO 4/AM P0.5/1D5 PO ,6/ADG FO .7/AD7 P2.Oj5C8 P2.4WO P2.2JA1O P2.37AM1 P2. P3.

21、1/TXD P3.2/iNT0 F 3.3/INTI P3/VTO P3.5rT1 P3点腕 F3,7/RD eacaz 21 10j 11 12 27 VCC1 VCC2 X1 RST SCLK I/O X2 1 TEXT 17 图3系统主电路图 4源程序: #include /包含单片机寄存器的头文件 #include /包含_nop_()函数定义的头文件 /DS1302相关的变量和引脚定义 un sig ned char code digit10=0123456789。定义字符数组显示数字 unsigned char xuanxiang=O。 /时间调节的选项 un sig ned ch

22、ar sec ond,minu te,hour,day, mon th,year,week。/ 分另 U储存苗、分、小时,日, 月,年 unsigned char code week_a7=SMTWTFS。 星期显示的首字母 unsigned char code week_b7=UOUEHRA。 /星期显示的次字母 bit F =0。/检测DS18B20温度传感器存在的标志 sbit DATA=P3A6。/位定义1302芯片的接口,数据输出端定义在P3.6引脚 sbit RST=P3A4。/位定义1302芯片的接口,复位端口定义在P3.4引脚 sbit SCLK=P3A5。/位定义1302芯片

23、的接口,时钟输出端口定义在 P3.5引脚 /液晶引脚定义 / 寄存器选择位,将 RS 位定义为 P2.0 引脚 /读写选择位,将 RW位定义为P2.1引脚 使能信号位,将 E位定义为P2.2引脚 /忙碌标志位, ,将 BF 位定义为 P0.7 引脚 sbit RS=P2A0。 sbit RW=P2A1。 sbit E=P2A2。 sbit BF=P0A7 。 /按键引脚定义 sbit MENU =P1A0 。 sbit ADD =P1A2 。 sbit REDUCE=P1A3 。 /时钟调节菜单键 / 时钟调节 +1 / 时钟调节 -1 /* 函数功能:延时若干微秒 入口参数: n */ vo

24、id delaynus(unsigned char n) unsigned char i 。 for(i=0 。 in。 i+) 。 /* 函数功能:向 1302写一个字节数据 入口参数: x */ void Write1302(unsigned char dat) unsigned char i 。 SCLK=0 。/拉低 SCLK ,为脉冲上升沿写入数据做好准备 delaynus(2)。/稍微等待,使硬件做好准备 for(i=0 。 i=1 。 /* 函数功能:根据命令字,向 1302写一个字节数据 入口参数:Cmd,储存命令字;dat,储存待写的数据 */ void WriteSet13

25、02(unsigned char Cmd,unsigned char dat) RST=0。 SCLK=0 。 RST=1 。 delaynus(2)。 /禁止数据传递 /确保写数居前 SCLK 被拉低 /启动数据传输 /稍微等待,使硬件做好准备 Write1302(Cmd) 。 /写入命令字 Write1302(dat) 。 / 写数据 SCLK=1 。 RST=0。 /将时钟电平置于已知状态 /禁止数据传递 /* 函数功能:从 1302 读一个字节数据 入口参数: x * unsigned char Read1302(void) unsigned char i,dat 。 delaynus

26、(2)。/ 稍微等待,使硬件做好准备 for(i=0。i=1 。/将 dat 的各数据位右移 1 位,因为先读出的是字节的最低位 if(DA TA=1) / 如果读出的数据是 1 dat|=0 x80。/将1取出,写在 dat的最高位 SCLK=1 。/将 SCLK 置于高电平,为下降沿读出 delaynus(2)。/稍微等待 SCLK=0 。/拉低 SCLK ,形成脉冲下降沿 delaynus(2)。/稍微等待 return dat。/将读出的数据返回 /* 函数功能:根据命令字,从 1302读取一个字节数据 入口参数: Cmd * unsigned char ReadSet1302(uns

27、igned char Cmd) unsigned char dat。 RST=0。 SCLK=0 。 RST=1 。 / 拉低 RST /确保写数居前 SCLK 被拉低 / 启动数据传输 Write1302(Cmd) 。/写入命令字 dat=Read1302()。/读出数据 SCLK=1 。/将时钟电平置于已知状态 RST=0。/禁止数据传递 return dat。 /将读出的数据返回 /* 函数功能: 1302 进行初始化设置 */ void Init_DS1302(void) WriteSet1302(0 x8E,0 x00) 。 / 根据写状态寄存器命令字,写入不保护指令 WriteSe

28、t1302(0 x80,(0/10)4|(0%10) 。 / 根据写秒寄存器命令字,写入秒的初始值 WriteSet1302(0 x82,(0/10)4|(0%10) 。 / 根据写分寄存器命令字,写入分的初始值 WriteSet1302(0 x84,(12/10)4|(12%10) 。 / 根据写小时寄存器命令字,写入小时的初始值 WriteSet1302(0 x86,(16/10)4|(16%10) 。 / 根据写日寄存器命令字,写入日的初始值 WriteSet1302(0 x88,(2/10)4|(2%10) 。 / 根据写月寄存器命令字,写入月的初始值 WriteSet1302(0 x

29、8c,(12/10)4|(12%10) 。/ 根据写小时寄存器命令字,写入小时的初始 值 /* 函数功能:延时 1ms (3j+2)*i=(3 X 33+2) X 10=1010(微秒),可以认为是 1 毫秒 */ void delay1ms() unsigned char i,j 。 for(i=0。i10。i+) for(j=0 。 j33。 j+) /* 函数功能:延时若干毫秒 入口参数: n */ void delaynms(unsigned char n) unsigned char i 。 for(i=0 。 i=6) xuanxiang=0 。 else xuanxiang+ 。

30、 while(!MENU) 。 if(xuanxiang) switch(xuanxiang) / 直到按键松开才可往下运行 /判断时钟调节的选项 case 1: if(!ADD) year+。 if(!REDUCE) /当 xuanxiang 的值为 1,调节年 /当 ADD 键按下,年份加 1 /当 REDUCE 键按下,年份减 1 year-。 mn=(year/10)=12)/当月份的最大值超 month=1 。 else month+ 。 if(!REDUCE) if(month=1) month=12 。 else month- 。 mn=(month/10)=31) day=1

31、。 else day+ 。 if(!REDUCE) if(day=30) day=1。 else day+。 if(!REDUCE) if(day=28) day=1。 else day+。 /当为平年时 if(year%4) if(day=29) day=1。 else day+。 if(!REDUCE) if(year%4=0) if(day=1) day=28。 else day-。 if(year%4) if(day=1) day=29。 else day-。 break。 case 4: break。 case 5: mn=(day/10)=24) hour=1。 else hour

32、+ 。 if(!REDUCE) if(hour=1) hour=24 。 else hour-。 mn=(hour/10)=60) minute=1 。 else minute+ 。 if(!REDUCE) if(minute=1) minute=60 。 else minute- 。 mn=(minute/10)=7) week=1。 else week+。 if(!REDUCE) if(week=1) week=7 。 else week-。 WriteSet1302(0 x8E,0 x00) 。 WriteSet1302(0 x8a,mn) 。 while(!ADD|!REDUCE) 。

33、 break。 */ default : break 。 /* 以下是 DS18B20 的操作程序 */ sbit DQ=P2A3。/DS18B20 数据弓 I脚定义 unsigned char time。/设置全局变量,专门用于严格延时 /* 函数功能:将 DS18B20 传感器初始化,读取应答信号 出口参数: flag */ bit Init_DS18B20(void) 表示不存在 bit flag。/储存 DS18B20 是否存在的标志, flag=0 ,表示存在; flag=1 , DQ = 1 。/ 先将数据线拉高 for(time=0 。 time2 。 time+) / 略微延时

34、约 6 微秒 。 DQ = 0 。/ 再将数据线从高拉低,要求保持480960us for(time=0 。 time200 。 time+) / 略微延时约 600 微秒 。/ 以向 DS18B20 发出一持续 480960us 的低电平复位脉冲 DQ = 1 。/ 释放数据线(将数据线拉高) for(time=0 。 time10 。 time+) 。/延时约30us (释放总线后需等待1560us让DS18B20输出存在脉冲) flag=DQ 。/让单片机检测是否输出了存在脉冲( DQ=0 表示存在) F=flag 。/检测存在的标志,用于显示温度传感器错误的控制 for(time=0

35、。 time200 。 time+) / 延时足够长时间,等待存在脉冲输出完毕 。 return (flag) 。/返回检测成功标志 /* 函数功能:从 DS18B20 读取一个字节数据 出口参数: dat */ unsigned char ReadOneChar(void) unsigned char i=0。 unsigned char dat。/储存读出的一个字节数据 for (i=0 。 i=1 。 _n op_()。II等待一个机器周期 DQ = 1。II将数据线”人为拉高,为单片机检测DS18B20的输出电平作准备 for(time=0。time2。time+)。II延时约 6us

36、,使主机在 15us 内采样 if(DQ=1) dat|=0 x80。II如果读到的数据是 1,则将1存入dat else dat|=OxOO。II如果读到的数据是 0,则将0存入dat II将单片机检测到的电平信号DQ存入ri for(time=0。time8。 time+)。延时3us,两个读时序之间必须有大于1us的恢复期 return(dat)。II返回读出的十进制数据 I* 函数功能:向 DS18B20 写入一个字节数据 入口参数: dat * WriteOneChar(unsigned char dat) unsigned char i=0 。 for (i=0 。 i8 。 i+

37、) DQ =1 。/ 先将数据线拉高 _nop_() 。 /等待一个机器周期 DQ=0 。/ 将数据线从高拉低时即启动写时序 DQ=dat&0 x01 。 / 利用与运算取出要写的某位二进制数据, / 并将其送到数据线上等待 DS18B20 采样 for(time=0。 time10。 time+) 。 /延时约 30us,DS18B20 在拉低后的约 1560us 期间从数据线上采样 DQ=1 。/ 释放数据线 for(time=0 。 time=1。将dat中的各二进制位数据右移1位 for(time=0 。 time4 。 time+) 。 /稍作延时 ,给硬件一点反应时间 /* 函数功

38、能:做好读温度的准备 */ void ReadyReadTemp(void) Init_DS18B20()。/将 DS18B20 初始化 WriteOneChar(0 xCC) 。 / 跳过读序号列号的操作 WriteOneChar(0 x44) 。 / 启动温度转换 for(time=0 。 time4)*10 + (ReadValue&0 x0F) 。 /将读出数据转化 DisplaySecond(second) 。/显示秒 ReadValue = ReadSet1302(0 x83)。 / 从分寄存器读 minute=(ReadValue&0 x70)4)*10 + (ReadValue&0 x0F) 。 / 将读出数据转化 DisplayMinute(minute) 。 / 显示分 ReadValue = ReadSet1302(0 x85)。 / 从分寄存器读 hour=(ReadValue&0 x7

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论