no need any header file no need any complex code flow. just go with BASCOM - 8051
This is the first Basic compiler on MCU project at few years ago and till now it is still my favourite. Simple, Easy to use and FREE (demo version can run 4K code). and i am also provide crack for that.
I am work with Philips P89V51RD2 using BASCOM-8051 and keil4, i think BASCOM is more simple than keil.
- Structured BASIC with labels.
- Structured programming with IF-THEN-ELSE-END IF, DO-LOOP, WHILE-WEND, SELECT- CASE.
- Fast machine code instead of interpreted code.
- Variables and labels can be as long as 32 characters.
- Bit, Byte, Integer, Word, Long, Single and String variables.
- Compiled programs work with any 8051 uP such as AT89C1051, AT89C2051, 8031, 8032, 8051, 8052, 80552, 80535 and 80537 m Processors.
- Statements are highly compatible with Microsoft’s VB/QB.
- Special commands for LCD-displays , I2C chips and 1WIRE chips.
- Integrated terminal emulator with download option..
- Integrated simulator for testing.
- Integrated flash programmer and support for SPI, PG2051, PG302, SE512, SE514, TAFE. (hardware can be purchased separately)
- Editor with statement highlighting.
- Context sensitive help.
- For compatibility with BASCOM LT, there is also a 32-bit version of the BASCOM LT compiler.
The following statements are supported :
Decision and structures
IF, THEN, ELSE, ELSEIF, END IF, DO, LOOP, WHILE, WEND, UNTIL, EXIT DO, EXIT WHILE, FOR, NEXT, TO, DOWNTO, STEP, EXIT FOR, ON .. GOTO/GOSUB, SELECT, CASE.
Input and output
PRINT, INPUT, INKEY, PRINTHEX, INPUTHEX, LCD, UPPERLINE, LOWERLINE,DISPLAY ON/OFF, CURSOR ON/OFF/BLINK/NOBLINK, HOME, LOCATE, SHIFTLCD LEFT/RIGHT, SHIFTCURSOR LEFT/RIGHT, CLS, DEFLCDCHAR, WAITKEY, INPUTBIN, PRINTBIN, LCDHEX, OPEN, CLOSE, DEBOUNCE, SHIFTIN, SHIFTOUT.
AND, OR, XOR, INC, DEC, MOD, NOT, ABS, BCD.
I2CSTART, I2CSTOP, I2CWBYTE, I2CRBYTE, I2CSEND and I2CRECEIVE.
1WWRITE, 1WREAD, 1WRESET.
SPIINIT, SPIIN, SPIOUT.
ON INT0/INT1/TIMER0/TIMER1/SERIAL, RETURN, ENABLE, DISABLE, PRIORITY SET/RESET, COUNTERx, CAPTUREx, INTERRUPTS, CONFIG, START, LOAD.
SET, RESET, ROTATE, BITWAIT.
DIM, BIT , BYTE , INTEGER , WORD, LONG, SINGLE, STRING , DEFBIT, DEFBYTE, DEFINT, DEFWORD.
REM, ' , SWAP, END, STOP, CONST, DELAY, WAIT, WAITMS, GOTO, GOSUB, POWERDOWN, IDLE, DECLARE, CALL, SUB, END SUB, MAKEDEC, MAKEBCD, INP,OUT, ALIAS, DIM , ERASE, DATA, READ, RESTORE, INCR, DECR, PEEK, POKE, CPEEK, GETRC5.
$INCLUDE, $NOINIT, $BAUD and $CRYSTAL, $OBJ, $SERIALINPUT, $SERIALOUTPUT, $ROMSTART, $RAMSIZE, $RAMSTART, $MONSTART, $IRAMSTART, $DEFAULT XRAM, $ASM-$END ASM, $LCD.
#IF, #ELSE, #ENDIF
STRING, SPACE, LEFT, RIGHT, MID, VAL, HEXVAL, LEN, STR, HEX, LCASE, UCASE
To make a program takes just a few steps :
- Write the program in BASIC
- Compile it to fast machine binary code
- Test the result with the integrated simulator(with additional hardware you can simulate the hardware too)
- Program the chip with one of the integrated programmers.(hardware must be purchased separately)
and enjoe 8051 with BASCOM.