home *** CD-ROM | disk | FTP | other *** search
/ ftp.whtech.com / ftp.whtech.com.tar / ftp.whtech.com / Geneve / 9640news / CAT10 / CLOCKMBP.ARK < prev    next >
Text File  |  2006-10-19  |  3KB  |  77 lines

  1. ?
  2. /**************************************************************************
  3.  * This c99 program shows how to access the MBP kit with this language.   *
  4.  * It was developed using Edition 2 : 86/04/01 of c99 developed by        *
  5.  * Clint Pulley. c99 is available from:                                   *
  6.  *  Clint Pulley                                                          *
  7.  *  38 Townsend Avenue                                                    *
  8.  *  Burlington, Ontario                                                   *
  9.  *                                                                        *
  10.  * The MBP Clock/Calendar - Analog to Digital Converter Kit is            *
  11.  * available from:                                                        *
  12.  *  Disk Only Software                                                    *
  13.  *  P.O. Box 4170                                                         *
  14.  *  Rockville, MD 20850                                                   *
  15.  *                                                                        *
  16.  **************************************************************************/
  17.  
  18. #define  MOADD   -31154        /* hardware address of month  */
  19. #define  DATEADD -31156        /*     "       "     " date   */
  20. #define  DAYADD  -31158        /*     "       "     " day    */
  21. #define  HOURADD -31160        /*     "       "     " hour   */
  22. #define  MINADD  -31162        /*     "       "     " minute */
  23. #define  SECADD  -31164        /*     "       "     " second */
  24.  
  25. extern printf();
  26.  
  27.  
  28.  
  29. main()
  30. {
  31.   int mbp[6];       /* data vector */
  32.   int *mbpptr;      /* vector pointer */
  33.   int temp;
  34.  
  35.   putchar(12);
  36.   for(;;)           /* loop forever   */
  37. {
  38.   mbpptr = MOADD;   /* G        */
  39.   mbp[0] = *mbpptr; /*  E  D    */
  40.   mbpptr = DATEADD; /*   T  A   */
  41.   mbp[1] = *mbpptr; /*       T  */
  42.   mbp[2] = 86;      /*        A */
  43.   mbpptr = HOURADD;
  44.   mbp[3] = *mbpptr;
  45.   mbpptr = MINADD;
  46.   mbp[4] = *mbpptr;
  47.   mbpptr = SECADD;
  48.   mbp[5] = *mbpptr;
  49.  
  50.   for(temp=0;temp<6;++temp)
  51.     {
  52.     mbp[temp] = mbp[temp] & 255;  /* good data only in right hand byte */
  53. /*  printf("mbp[%d] = %d\n",temp,mbp[temp]); */
  54.     }
  55.  
  56.   for (temp=0;temp<6;++temp)      /* convert data from binary coded decimal */
  57.    if (temp !=2 )                 /*      to integer                        */
  58.      mbp[temp] = BCDtoINT(mbp[temp]);
  59.  
  60.   locate(8,10);
  61.   printf ("%d/%d/%d\n\n",mbp[0],mbp[1],mbp[2]); /* print date */
  62.   locate(12,10);
  63.   printf ("%d:%d:%d\n\n\n",mbp[3],mbp[4],mbp[5]);  /* print time */
  64. }
  65. }  /* end of main */
  66.  
  67. BCDtoINT(x)  /* function to convert BCD to integer */
  68. int x;
  69. {
  70.   x = x - 6*(x/16);
  71.   return(x);
  72. }
  73.  
  74. Download complete.  Turn off Capture File.
  75.  
  76.  
  77.