导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→各位朋友给予帮助,解决DS12887的读时间问题. 谢谢![taoganabc]

 *第16157篇: 各位朋友给予帮助,解决DS12887的读时间问题. 谢谢!

  
楼 主:taoganabc 2003年9月9日18:21
 各位朋友给予帮助,解决DS12887的读时间问题. 谢谢!
各位朋友您好!以下是我的DS12887的读时间程序,采用中断读时标,读出来的时间,日期数据
放在数组 readtime[7]中,但程序仿真时, readtime[7]的数据不变,而从P128870--P128879
中读出的数据是正确的,是变化的,不知是不是readtime[7]的存储方式定义不对,希望各位
朋友给予帮助,谢谢!

#define uchar unsigned char
#define uint unsigned int
#include   <reg51.h>  
#include   <stdio.h>  
#include   <absacc.h>  
#include   <math.h>  
#include   <string.h>  
#include   <ctype.h>  
#include   <stdlib.h>  
 
 uchar   data  readtime[7];
#define P128870 XBYTE[0x5f80]
#define P128871 XBYTE[0x5f81]
#define P128872 XBYTE[0x5f82]
#define P128873 XBYTE[0x5f83]
#define P128874 XBYTE[0x5f84]
#define P128875 XBYTE[0x5f85]
#define P128876 XBYTE[0x5f86]
#define P128877 XBYTE[0x5f87]
#define P128878 XBYTE[0x5f88]
#define P128879 XBYTE[0x5f89]
#define P12887a XBYTE[0x5f8a]
#define P12887b XBYTE[0x5f8b]
#define P12887c XBYTE[0x5f8c]
#define P12887d XBYTE[0x5f8d]
void start12887(void);
void start12887(void)      //启动时钟
{
    uchar i;
     P12887a=0x2f;
     i=P12887d;
     i=P12887c;   
    P12887b=0x16;    
}
void ds12887int()  interrupt 0 using  2
{
   uchar *p;
    uchar a,j;
   p=readtime;
  
    do{ a=P12887a; } while((a&0x80)==0x80);
    *p++=P128870; *p++=P128872; *p++=P128874; *p++=P128876;
    *p++=P128877; *p++=P128878; *p++=P128879;
     j=P12887c;
}
void main()
{
   EA=1;
   EX0=1;
   EX1=0;
   IT0=0;
  start12887(); 
   for(;;)
   { }  
}

  
2楼:kuolongfei 2003年9月10日11:26
 不一定对,希望有帮助!
你说的意思大概是时间走,而日期不走吧?分,秒过的快,而日期要一天才走一下呀?你可以修改一下看看,硬件是否有损坏的?
  
3楼:taoganabc 2003年9月13日16:34
 谢谢!
以下是引用kuolongfei在2003-9-10 11:26:49的发言:
不一定对,希望有帮助!你说的意思大概是时间走,而日期不走吧?分,秒过的快,而日期要一天才走一下呀?你可以修改一下看看,硬件是否有损坏的?

  
4楼:singleclare 2003年9月10日20:19
 工作方式不对,再看看资料吧.
工作方式不对,再看看资料吧.
  
5楼:taoganabc 2003年9月13日16:35
 谢谢!
以下是引用singleclare在2003-9-10 20:19:54的发言:
工作方式不对,再看看资料吧.


>>>>>>对该主题发表你的看法

本主题贴数5,分页: [第1页]


[上一篇主题]:求助

[下一篇主题]:求救:c51出了这样的错五