Wednesday, November 12, 2008

BASCOM 8051 Basic Compiler

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).

It work fit with ATMEL 89C51 and 89c4051.



Key Benefits

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 structuresIF, 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 outputPRINT, 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.
Numeric functionsAND, OR, XOR, INC, DEC, MOD, NOT, ABS, BCD.
I2CI2CSTART, I2CSTOP, I2CWBYTE, I2CRBYTE, I2CSEND and I2CRECEIVE.
1WIRE1WWRITE, 1WREAD, 1WRESET.
SPISPIINIT, SPIIN, SPIOUT.
Interrupt programmingON INT0/INT1/TIMER0/TIMER1/SERIAL, RETURN, ENABLE, DISABLE, PRIORITY SET/RESET, COUNTERx, CAPTUREx, INTERRUPTS, CONFIG, START, LOAD.
Bit manipulationSET, RESET, ROTATE, BITWAIT.
VariablesDIM, BIT , BYTE , INTEGER , WORD, LONG, SINGLE, STRING , DEFBIT, DEFBYTE, DEFINT, DEFWORD.
MiscellaneousREM, ' , 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.
Compiler directives$INCLUDE, $NOINIT, $BAUD and $CRYSTAL, $OBJ, $SERIALINPUT, $SERIALOUTPUT, $ROMSTART, $RAMSIZE, $RAMSTART, $MONSTART, $IRAMSTART, $DEFAULT XRAM, $ASM-$END ASM, $LCD.
Conditional compilation#IF, #ELSE, #ENDIF
String manipulationSTRING, 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)

No comments: