home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 15 / 15.iso / s / s270 / 1.ddi / PCKDD51B.EXE / F_HLMAIN.C < prev    next >
Encoding:
C/C++ Source or Header  |  1991-01-15  |  1.3 KB  |  39 lines

  1. /* File:  f_hlmain.c */
  2.  
  3. /*    C Language Demo Program 'F_DEMO.AOM' (AOM == Absolute Object Module)
  4. **    (for use with Franklin Software's 8051 C Cross-compiler, Ver. 2.12 or later)
  5. **
  6. **    This program replicates, as closely as possible (except for    actual timing),
  7. **    the functionality of the ASM51 demo program 'demo.asm'.
  8. **
  9. **    Modules (Files) in F_DEMO.AOM:
  10. **        f_vect.a51   -- Franklin's ASM51:  reserves space for interrupt vectors
  11. **        f_hlmain.c   -- Franklin's C, main program (function 'main()')
  12. **        f_inner.c    -- Franklin's C, function 'innerloop( repeat_cnt )'
  13. **        f_waste.c    -- Franklin's C, function 'wastetime()'
  14. */
  15.  
  16. #include <stdio.h>
  17.  
  18. sbit P1_0 = 0x90;            /* P1.0 */
  19.  
  20. /* external function prototypes (interface specifications) */
  21. extern void    innerloop(char);
  22. extern void    wastetime(void);
  23.  
  24. char        state /*= 0*/;    /* 'state' reflects value in ACC (in original demo.asm) */
  25. static char    counter;        /* dummy counter (rolls over at 256) */
  26.  
  27. void main()
  28. {
  29.     state = 0;                    /* mimic ACC Power-Up Reset condition (value) */
  30.  
  31.     for ( counter = 0;  ;  counter++ ) {
  32.         P1_0 = 0;                /* Set P1.0 low at start */
  33.         innerloop( 10 );        /* Generate 5 pulses */
  34.         wastetime();            /* Call 'wastetime' twice to generate   */
  35.         wastetime();            /* blank pulse between sets of 5 pulses */
  36.         } /* end of:  for 'counter' */
  37.  
  38. } /* end of function:  'main()' */
  39.