BASCOM-AVR© is the original Windows BASIC COMPILER for the AVR family. It is designed to run on W98/NT/W2000/XP/VISTA and WIN7
This product description is from 1995! We do not change it each time we update the software. In the on line help you can find all list of all statements and functions.
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, Double and String variables.
- Large set of Trig Floating point functions. Date & Time calculation functions.
- Compiled programs work with all AVR microprocessors that have internal memory.
- Statements are highly compatible with Microsoft’s VB/QB.
- Special commands for LCD-displays , I2C chips and 1WIRE chips, PC keyboad, matrix keyboad, RC5 reception, software UART, SPI , graphical LCD, send IR RC5, RC6 or Sony code. TCP/IP with W3100A chip.
- Local variables, user functions, library support.
- Integrated terminal emulator with download option..
- Integrated simulator for testing.
- Integrated ISP programmer (application note AVR910.ASM).
- Integrated STK200 programmer and STK300 programmer. Also supported is the low cost Sample Electronics programmer. Can be built in 10 minutes! Many other programmers supported via the Universal Interface.
- Many supported programmer like STK500, MKII, USBASP, JTAG , Arduino
- Editor with statement highlighting.
- Context sensitive help.
- DEMO version compiles 4KB of binary code. Well suited for the AT90S2313.
- English an German Books available
- AT mouse simulator, AT keyboard simulator, I2C Slave available as add on.
The following statements are supported (actually there are many more look in the on line helpfile):
Decision and structures
IF, THEN, ELSE, ELSEIF, END IF, DO, LOOP, WHILE, WEND, UNTIL, EXIT DO, EXIT WHILE, FOR, NEXT, TO, STEP, EXIT FOR, ON .. GOTO/GOSUB, SELECT, CASE.
Input and output
PRINT, INPUT, INKEY, PRINT, 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, OPEN, CLOSE, DEBOUNCE, SHIFTIN, SHIFTOUT, GETATKBD, SPC, SERIN, SEROUT
Numeric functions
AND, OR, XOR, INC, DEC, MOD, NOT, ABS, BCD, LOG, EXP, SQR, SIN,COS,TAN,ATN, ATN2, ASIN, ACOS, FIX, ROUND, MOD, SGN, POWER, RAD2DEG, DEG2RAD, LOG10, TANH, SINH, COSH.
I2C
I2CSTART, I2CSTOP, I2CWBYTE, I2CRBYTE, I2CSEND and I2CRECEIVE.
1WIRE
1WWRITE, 1WREAD, 1WRESET, 1WIRECOUNT, 1WSEARCHFIRST, 1WSEARCHNEXT.
SPI
SPIINIT, SPIIN, SPIOUT, SPIMOVE.
Interrupt programming
ON INT0/INT1/TIMER0/TIMER1/SERIAL, RETURN, ENABLE, DISABLE, COUNTERx, CAPTUREx, INTERRUPTS, CONFIG, START, LOAD.
Bit manipulation
SET, RESET, ROTATE, SHIFT, BITWAIT, TOGGLE.
Variables
DIM, BIT , BYTE , INTEGER , WORD, LONG, SINGLE, DOUBLE, STRING , DEFBIT, DEFBYTE, DEFINT, DEFWORD.
Miscellaneous
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, FUNCTION, READMAGCARD, BIN2GREY, GREY2BIN, CRC8, CRC16, CRC32, CHECKSUM.
Compiler directives
$INCLUDE, $BAUD and $CRYSTAL, $SERIALINPUT, $SERIALOUTPUT, $RAMSIZE, $RAMSTART, $DEFAULT XRAM, $ASM-$END ASM, $LCD, $EXTERNAL, $LIB.
String manipulation
STRING, SPACE, LEFT, RIGHT, MID, VAL, HEXVAL, LEN, STR, HEX, LTRIM, RTRIM, TRIM, LCASE, UCASE, FORMAT, FUSING, INSTR, CHARPOS.
And many other functions, statements and directives
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)