home *** CD-ROM | disk | FTP | other *** search
- /* File: f_hlmain.c */
-
- /* C Language Demo Program 'F_DEMO.AOM' (AOM == Absolute Object Module)
- ** (for use with Franklin Software's 8051 C Cross-compiler, Ver. 2.12 or later)
- **
- ** This program replicates, as closely as possible (except for actual timing),
- ** the functionality of the ASM51 demo program 'demo.asm'.
- **
- ** Modules (Files) in F_DEMO.AOM:
- ** f_vect.a51 -- Franklin's ASM51: reserves space for interrupt vectors
- ** f_hlmain.c -- Franklin's C, main program (function 'main()')
- ** f_inner.c -- Franklin's C, function 'innerloop( repeat_cnt )'
- ** f_waste.c -- Franklin's C, function 'wastetime()'
- */
-
- #include <stdio.h>
-
- sbit P1_0 = 0x90; /* P1.0 */
-
- /* external function prototypes (interface specifications) */
- extern void innerloop(char);
- extern void wastetime(void);
-
- char state /*= 0*/; /* 'state' reflects value in ACC (in original demo.asm) */
- static char counter; /* dummy counter (rolls over at 256) */
-
- void main()
- {
- state = 0; /* mimic ACC Power-Up Reset condition (value) */
-
- for ( counter = 0; ; counter++ ) {
- P1_0 = 0; /* Set P1.0 low at start */
- innerloop( 10 ); /* Generate 5 pulses */
- wastetime(); /* Call 'wastetime' twice to generate */
- wastetime(); /* blank pulse between sets of 5 pulses */
- } /* end of: for 'counter' */
-
- } /* end of function: 'main()' */
-