BASCOM-8051© is the Windows BASIC COMPILER for the 8051 family.
It is designed to run on XP/VISTA/WIN7/WIN8 and has all the features of BASCOM LT.
In addition it has full support for arrays and the single floating point data type.
- 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 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)
The 8051 processor is included in many special chips. BASCOM creates standard 8051 object code. So the object code can run on any 8051 compatible processor.
While we offer so called DAT files for many processors, it is impossible to write a DAT file for all the 8051 variants. The DAT files are however easy to make. They contain the hardware register names with their address.
The only thing you need to take care about is that some processors have modified instruction cycles. This means that these processors execute code faster than a normal 8051. This can effect some statements like WAITMS, WAIT, DELAY and other software timed instructions.