BASCOM-AVR© is the original Windows BASIC COMPILER for the AVR family. It is designed to run on WIN7, WIN8 and WIN10
BASCOM-AVR© is the original Windows BASIC COMPILER for the AVR family. It is designed to run on XP/VISTA/WIN7, WIN8 and WIN10 This product description is updated in 2016. But we do not change it each time we update the software. In the on line help you can find a 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, CONTINUE, REDO.
- 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 and 32 registers.
- 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/W5100/W5200/W5300/W5500 chips.
- Built in AVR-DOS functions like MKDIR, CHDIR, DIR, OPEN, CLOSE, PRINT, LINE INPUT, etc. Just as they work in QB/VB !
- Local variables, user functions, library support.
- Integrated terminal emulator with download option..
- Integrated simulator for testing.
- Integrated ISP programmer (application note AVR910.ASM).
- LPT based 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, STK600, MKII, USBASP, JTAG , Arduino V1 and V2 (STK500V1 and STK500V2), MCS UPDI programmer
- Editor with statement highlighting, code collapse, indention.
- Context sensitive help.
- DEMO version compiles 4KB of binary code. Well suited for the ATmega48.
- English, Dutch an German Books available
- AT mouse simulator, AT keyboard simulator, I2C Slave, USB device mode programming available as add on.
- This product is developed in 1995 and is updated regularly.
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, CONTINUE, REDO.
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.
CAN CONFIG CANBUSMODE, CONFIG CANMOB, CANBAUD, CANRESET, CANCLEARMOB, CANCLEARALLMOBS, CANSEND, CANRECEIVE , CANID, CANSELPAGE, CANGETINTS
TCP/IP TCP/IP routines can be used with the W3100/IIM7000/IIM7010/W5100/W5200/W5300 modules.
BASE64DEC , BASE64ENC , IP2STR , UDPREAD , UDPWRITE , UDPWRITESTR , TCPWRITE , TCPWRITESTR , TCPREAD , GETDSTIP , GETDSTPORT , SOCKETSTAT , SOCKETCONNECT ,SOCKETLISTEN , GETSOCKET , SOCKETCLOSE , SETTCP , GETTCPREGS , SETTCPREGS , SETIPPROTOCOL , TCPCHECKSUM , SOCKETDISCONNECT , SNTP , TCPREADHEADER ,UDPREADHEADER
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, many other functions and statements ! Check the on line help.
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)
This is a screen shot of the editor. You can work in normal mode or project mode. At the left you find the Code Explorer. The Code explorer can show unused data in a different color. When the Code Explorer is visible, the editor supports Proper Indent and Indent drawing. Indent lines can be a great visual help. A tool tip with info can be shown by pressing SHIFT :
Here it is clear that BDIL is a byte variable, dimension-ed in the module CAN-Elektor.bas It will show info for constants, aliases, variables and functions.
BASCOM-AVR supports the tiny, mega and Xmega processors with internal SRAM and 32 registers. A full list you find on avrhelp.mcselec.com under the Chips topic.
In 2019 Atmel/Microchip introduced new AVR processors. The Xtiny (attiny816 for example) , the megaX (mega4808 for example) and AVRX(AVR128DB28 for example) While the names suggest these are normal AVR processors they only share the AVR instructions. The hardware is different. New capabilities, different timers, different programming interface (UPDI). For this reason MCS names these processors different so you know as a user that these are no drop in replacements. Code need to be slightly adapted. While usually all you need to do is change the $REGFILE directive, now you need to make some more changes. It is explained in the on line help. You can see it like the difference between a normal AVR and an XMEGA. The new AVR look more like XMEGA.
For the new Xtiny processors you need an add-on which need to be purchased separately. You only need it when you plan to use these new processors.
|