Index
Table of contents
Keyword Reference
Changes
What is new in 2087
What is new in 2086
What is new in 2085
What is new in 2084
What is new in 2083
What is new in 2082
What is new in 2081
What is new in 2080
What is new in 2078-2079
About MCS Electronics
Custom Designs
Application Notes
About this Help
Installation
Installation of BASCOM
Updates
Move to new PC
Installation on multiple computers
Registration
BASCOM IDE
Running BASCOM-AVR
File New
File Open
File Close
File Save
File Save As
File Print Preview
File Print
File Project
File ZIP
File Exit
Edit Undo
Edit Redo
Edit Cut
Edit Copy
Edit Paste
Edit Find
Edit Find Next
Edit Replace
Edit Goto
Edit Toggle Bookmark
Edit Goto Bookmark
Edit Indent Block
Edit Unindent Block
Edit Remark Block
Edit Insert ASCII
Edit Fold All Subs and Functions
Edit Unfold All Code
Edit Encrypt Selected Code
Edit Proper Indent
Edit Show Excluded Code
Edit Show Dead Code
View PinOut
View PDF viewer
View Error Panel
View Show Allert Window
View Project Files
View Code Explorer
View Vertical Splitter
Program Compile
Program Syntax Check
Program Show Result
Program Simulate
Program Send to Chip
Program Reset Chip
Tools Terminal Emulator
Tools LCD Designer
Tools LIB Manager
Tools Graphic Converter
Tools Stack Analyzer
Tools Plugin Manager
Tools Batch Compile
Tools PDF Update
Tools Resource Editor
Tools Font Editor
Options Compiler
Options Compiler Chip
Options Compiler Output
Options Compiler Communication
Options Compiler I2C, SPI, 1WIRE
Options Compiler LCD
Options Communication
Options Environment
Options Simulator
Options Programmer
Supported Programmers
ISP programmer
PG302 programmer
Sample Electronics cable programmer
KITSRUS Programmer
MCS Universal Interface Programmer
STK500 Programmer
Lawicel BootLoader
MyAVR/MK2/AVR910 programmer
AVR ISP Programmer
USB-ISP Programmer
MCS Bootloader
PROGGY
FLIP
USBprog Programmer / AVR ISP mkII
KamProg for AVR
USBASP
STK600
ARDUINO
BIPOM MINI-MAX/C
mySmartUSB Light
UPDI Programmer
MCS EDBG Programmer
LIBUSB
Options Monitor
Options Printer
Options Select Settings File
Window Cascade
Window Tile
Window Tile Vertically
Window Arrange Icons
Windows Maximize All
Window Minimize All
Help About
Help Index
Help MCS Forum
Help MCS Shop
Help Support
Help Knowledge Base
Help Credits
Help Update
Help Wiki
BASCOM Editor Keys
Program Development Order
PlugIns
Font Editor
BASCOM HARDWARE
Additional Hardware
AVR Internal Hardware
AVR Internal Registers
AVR Internal Hardware TIMER0
AVR Internal Hardware TIMER1
AVR Internal Hardware Watchdog timer
AVR Internal Hardware Port B
AVR Internal Hardware Port D
Adding XRAM with External Memory Interface
Adding XRAM to XMEGA using EBI
Adding SRAM 4-port Non Multiplexed
Attaching an LCD Display
Memory usage
Statements and Hardware Resources
Using the UART
Using a BOOTLOADER
USING RS485
Using the I2C protocol
Using the 1 WIRE protocol
Using the SPI protocol
Using USI (Universal Serial Interface)
Power Up
Reference Designs
EM4095 RFID Reader
Chips
AVR
AT86RF401
AT90
AT90CAN32
AT90CAN128
AT90S1200
AT90S2313
AT90S2323
AT90S2333
AT90S2343
AT90S4414
AT90S4433
AT90S4434
AT90S8515
AT90S8535
AT90PWM2-3
AT90PWM216
AT90US82
AT90USB162
AT90USB646
AT90USB1286
AT90USB1287
ATTINY
ATTINY12
ATTINY13
ATTINY13A
ATTINY15
ATTINY20
ATTINY22
ATTINY24
ATTINY25
ATTINY26
ATTINY43U
ATTINY44
ATTINY45
ATTINY48
ATTINY84
ATTINY85
ATTINY87
ATTINY88
ATTINY167
ATTINY261
ATTINY441
ATTINY461
ATTINY828
ATTINY841
ATTINY861
ATTINY1634
ATTINY2313
ATTINY2313A
ATTINY4313
ATTINY4313A
ATMEGA
ATMEGA8
ATMEGA8A
ATMEGA8U2
ATMEGA16
ATMEGA16A
ATMEGA16U2
ATMEGA16U4
ATMEGA16M1
ATMEGA32
ATMEGA32A
ATMEGA32C1
ATMEGA32M1
ATMEGA32U2
ATMEGA32U4
ATMEGA48
ATMEGA48P-ATMEGA48PA
ATMEGA48PB
ATMEGA64
ATMEGA64C1
ATMEGA64M1
ATMEGA88
ATMEGA88A
ATMEGA88P-ATMEGA88PA
ATMEGA88PB
ATMEGA103
ATMEGA128
ATMEGA128RFA1
ATMEGA161
ATMEGA162
ATMEGA163
ATMEGA164P
ATMEGA164PA
ATMEGA165
ATMEGA165A
ATMEGA168
ATMEGA168P
ATMEGA168PB
ATMEGA169
ATMEGA169P
ATMEGA169PA
ATMEGA323
ATMEGA324A
ATMEGA324P
ATMEGA324PA
ATMEGA324PB
ATMEGA325
ATMEGA328
ATMEGA328P
ATMEGA328PB
ATMEGA329
ATMEGA406
ATMEGA603
ATMEGA640
ATMEGA644
ATMEGA644P
ATMEGA644PA
ATMEGA645
ATMEGA649
ATMEGA649PA
ATMEGA1280
ATMEGA1281
ATMEGA1284
ATMEGA1284P
ATMEGA2560
ATMEGA2561
ATMEGA3250P
ATMEGA6450P
ATMEGA8515
ATMEGA8535
ATXMEGA
ATXMEGA
ATXMEGA8E5
ATXMEGA16A4
ATXMEGA16D4
ATXMEGA16E5
ATXMEGA32A4
ATXMEGA32A4U
ATXMEGA32D4
ATXMEGA32E5
ATXMEGA64A1
ATXMEGA64A3
ATXMEGA64D3
ATXMEGA64D4
ATXMEGA128A1
ATXMEGA128A3
ATXMEGA128A4U
ATXMEGA128B1
ATXMEGA128B3
ATXMEGA128C3
ATXMEGA128D3
ATXMEGA128D4
ATXMEGA192A3
ATXMEGA192D3
ATXMEGA256A3
ATXMEGA256A3B
ATXMEGA256A3BU
ATXMEGA256D3
ATXMEGA384C3
XTINY
XTINY
ATTINY202
ATTINY204
ATTINY212
ATTINY214
ATTINY402
ATTINY404
ATTINY406
ATTINY412
ATTINY414
ATTINY416
ATTINY417
ATTINY804
ATTINY806
ATTINY807
ATTINY814
ATTINY816
ATTINY817
ATTINY1604
ATTINY1606
ATTINY1607
ATTINY1614
ATTINY1616
ATTINY1617
ATTINY3216
ATTINY3217
ATMEGAX
MEGAX
ATMEGA808
ATMEGA1608
ATMEGA3208
ATMEGA4808
ATMEGA4809
AVRX
AVRX
AVR16DD14
AVR16DD20
AVR16DD28
AVR16DD32
AVR16EA28
AVR16EA32
AVR16EA48
AVR32DA28
AVR32DA32
AVR32DA48
AVR32DB28
AVR32DB32
AVR32DB48
AVR32DD14
AVR32DD20
AVR32DD28
AVR32DD32
AVR32EA28
AVR32EA32
AVR32EA48
AVR64DA28
AVR64DA32
AVR64DA48
AVR64DA64
AVR64DB28
AVR64DB32
AVR64DB48
AVR64DB64
AVR64DD14
AVR64DD20
AVR64DD28
AVR64DD32
AVR64EA28
AVR64EA32
AVR64EA48
AVR128DA28
AVR128DA32
AVR128DA48
AVR128DA64
AVR128DB28
AVR128DB32
AVR128DB48
AVR128DB64
BASCOM Language Fundamentals
Changes compared to BASCOM-8051
Language Fundamentals
Mixing ASM and BASIC
Assembler mnemonics
Reserved Words
Error Codes
Newbie problems
Tips and tricks
ASCII chart
BASCOM Language Reference
#AUTOCODE
#IF ELSE ELSEIF ENDIF
Compiler Directives
$AESKEY
$ASM
$BAUD
$BAUD1
$BGF
$BIGSTRINGS
$BOOT
$BOOTVECTOR
$CRYPT
$CRYSTAL
$DATA
$DBG
$DEFAULT
$EEPLEAVE
$EEPROM
$EEPROMHEX
$EEPROMSIZE
$EXTERNAL
$FILE
$FORCESOFTI2C
$FRAMEPROTECT
$FRAMESIZE
$HWSTACK
$HWCHECK, $SWCHECK, $SOFTCHECK
$INC
$INCLUDE
$INITMICRO
$LCD
$LCDPUTCTRL
$LCDPUTDATA
$LCDRS
$LCDVFO
$LIB
$LOADER
$LOADERSIZE
$MAP
$NOCOMPILE
$NOFRAMEPROTECT
$NOINIT
$NORAMCLEAR
$NORAMPZ
$NOTRANSFORM
$NOTYPECHECK
$PROJECTTIME
$PROG
$PROGRAMMER
$REDUCEIVR
$REGFILE
$RESOURCE
$ROMSTART
$SERIALINPUT
$SERIALINPUT1
$SERIALINPUT2LCD
$SERIALOUTPUT
$SERIALOUTPUT1
$SIM
$STACKDUMP
$SWSTACK
$TIMEOUT
$TINY
$TYPECHECK
$USER
$VERSION
$WAITSTATE
$XA
$XRAMSIZE
$XRAMSTART
$XTEAKEY
1WIRE
1WIRECOUNT
1WRESET
1WREAD
1WSEARCHFIRST
1WSEARCHNEXT
1WVERIFY
1WWRITE
ADR , ADR2
ALIAS
Math
ABS
ACOS
AND
ASIN
ATN
ATN2
CHECKFLOAT
COS
COSH
DEG2RAD
EXP
FIX
FRAC
INT
LOG10
LOG
NOT
OR
POWER
QSIN
QCOS
RAD2DEG
ROUND
SGN
TANH
TAN
SQR
SINH
SIN
XOR
AVR-DOS File I/O
BLOAD
BSAVE
CHDIR
CLEARATTR
DIR
DISKFREE
DISKSIZE
DriveCheck
DriveGetIdentity
DriveInit
DriveReset
DriveReadSector
DriveWriteSector
EOF
FILEATTR
FILEDATE
FILEDATETIME
FILELEN
FILETIME
FLUSH
FREEFILE
GETATTR
INITFILESYSTEM
KILL
LINEINPUT
LOC
LOF
MKDIR
NAME
RMDIR
SETATTR
WRITE
BITWAIT
BITS
BREAK
BYVAL
CALL
CHECKSUM
CHECKSUM CHECKSUMXOR
CRC8
CRC8UNI
CRC16
CRC16UNI
CRC32
CRCMB
Conversion
ASC
BCD
BIN
BINVAL
BIN2GRAY
CHR
FORMAT
FUSING
GRAY2BIN
HEXVAL
HEX
MANCHESTERDEC
MANCHESTERENC
STR
STR2DIGITS
VAL
CAN
CANBAUD
CANGETINTS
CANID
CANCLEARALLMOBS
CANCLEARMOB
CANRECEIVE
CANRESET
CANSELPAGE
CANSEND
CLEAR
CLOCKDIVISION
CLOSE
COMPARE
CONFIGURATION
CONFIG
CONFIG 1WIRE
CONFIG ACI
CONFIG ACX
CONFIG ACAX|ACBX
CONFIG ADC
CONFIG ADCA|ADCB
CONFIG ADC0-ADCX
CONFIG ATEMU
CONFIG BASE
CONFIG BCCARD
CONFIG CANBUSMODE
CONFIG CANMOB
CONFIG CLOCK
CONFIG CLOCKDIV
CONFIG COM1
CONFIG COM2
CONFIG COMx
CONFIG DACA|DACB
CONFIG DACX
CONFIG DATE
CONFIG DCF77
CONFIG DEBOUNCE
CONFIG DMA
CONFIG DMACHx
CONFIG EDMA
CONFIG EDMAx
CONFIG DMXSLAVE
CONFIG DP
CONFIG EEPROM
CONFIG ERROR
CONFIG EVENT_SYSTEM
CONFIG EVENT_SYSTEM XTINY
CONFIG EXTENDED_PORT
CONFIG FT800
CONFIG FUSES
CONFIG GRAPHLCD
CONFIG HITAG
CONFIG I2CBUS
CONFIG I2CDELAY
CONFIG I2CSLAVE
CONFIG INPUT
CONFIG INPUTBIN
CONFIG INTx
CONFIG INTVECTORSELECTION
CONFIG KBD
CONFIG KEYBOARD
CONFIG LCD
CONFIG LCDBUS
CONFIG LCDMODE
CONFIG LCDPIN
CONFIG MODBUS
CONFIG OPAMP
CONFIG OSC XMEGA
CONFIG OSC XTINY
CONFIG PORT
CONFIG PORT_MUX
CONFIG POWERMODE
CONFIG POWER_REDUCTION
CONFIG PRIORITY XMEGA
CONFIG PRIORITY XTINY
CONFIG PRINT
CONFIG PRINTBIN
CONFIG PS2EMU
CONFIG RAINBOW
CONFIG RC5
CONFIG RC5SEND
CONFIG RND
CONFIG SDA
CONFIG SCL
CONFIG SERIALIN
CONFIG SERIALOUT
CONFIG SINGLE
CONFIG SHIFTIN
CONFIG SPI
CONFIG SPIx XTINY
CONFIG SPIx XMEGA
CONFIG SERVOS
CONFIG STRCHECK
CONFIG SUBMODE
CONFIG SYSCLOCK XMEGA
CONFIG SYSCLOCK XTINY
CONFIG TCA0
CONFIG TCB0-TCB1
CONFIG TCD0
CONFIG TCXX
CONFIG TCPIP
CONFIG TIMER0
CONFIG TIMER1
CONFIG TIMER2
CONFIG TWI, TWIx
CONFIG TWISLAVE
CONFIG TWIxSLAVE
CONFIG USB
CONFIG USI
CONFIG VARPTRMODE
CONFIG VPORT
CONFIG VREF
CONFIG VREGPWR
CONFIG WAITSUART
CONFIG WATCHDOG
CONFIG X10
CONFIG XPIN
CONFIG XRAM
CONFIG ZCDx
CONTINUE
CONST
COUNTER0 and COUNTER1
CPEEK
CPEEKH
CRYSTAL
DATA
Date and Time
DAYOFWEEK
DAYOFYEAR
DATE$
DATE
SECELAPSED
SECOFDAY
SYSSEC
SYSSECELAPSED
SYSDAY
TIME$
TIME
DBG
DCF77TIMEZONE
DEBUG
DEBOUNCE
DECR
DECLARE FUNCTION
DECLARE SUB
DEFxxx
DELAY
DIM
DISABLE
DO-LOOP
DTMFOUT
ECHO
ELSE
ENABLE
ENCODER
END
EXIT
FLIP
FOR-NEXT
GET
GETADC
GETATKBD
GETATKBDRAW
GETKBD
GETRC
GETRC5
GETREG
GOSUB
GOTO
HIGH
HIGHW
Encryption-Decryption
AESENCRYPT
AESDECRYPT
DESENCRYPT
DESDECRYPT
XTEAENCODE
XTEADECODE
I2C-TWI
I2CINIT
I2CRECEIVE
I2CSEND
I2START,I2CSTOP, I2CRBYTE, I2CWBYTE, I2CREPSTART
IDLE
IF-THEN-ELSE-END IF
INCR
INP
LCD Commands
BOX
BOXFILL
CIRCLE
CLS
CURSOR
DEFLCDCHAR
DISPLAY
FOURTHLINE
GLCDCMD
GLCDDATA
HOME
INITLCD
LCD
LCDAUTODIM
LCDAT
LCDCMD
LCDDATA
LCDCONTRAST
LCDFONT
LINE
LOCATE
LOWERLINE
PSET
RGB8TO16
SETFONT
SHIFTCURSOR
SHIFTLCD
SHOWPIC
SHOWPICE
THIRDLINE
UPPERLINE
LOAD
LOADADR
LOADLABEL
LOADWORDADR
LOCAL
LOOKDOWN
LOOKUP
LOOKUPSTR
LOW
MACRO
MAKEBCD
MAKEDEC
MAKEINT
MAX
MEMCOPY
MEMFILL
MIN
MOD
NBITS
NOP
ON INTERRUPT
ON VALUE
OPEN
OUT
PEEK
POKE
POPALL
POWER MODE
POWERDOWN
POWERSAVE
PS2MOUSEXY
PULSEIN
PULSEOUT
PUSHALL
PUT
RC5SEND
RC5SENDEXT
RC6SEND
READ
READEEPROM
READHITAG
READMAGCARD
REDO
READSIG
READUSERSIG
REM
RESET
RESTORE
RETURN
RND
ROTATE
SEEK
SELECT-CASE-END SELECT
SET
SETREG
SENDSCAN
SENDSCANKBD
SHIFT
SHIFTIN
SHIFTOUT
SONYSEND
SIZEOF
SORT
SOUND
RAINBOW
RB_SELECTCHANNEL
RB_SETCOLOR
RB_SEND
RB_CHANGEPIN
RB_ADDCOLOR
RB_ANDCOLOR
RB_ORCOLOR
RB_SUBCOLOR
RB_CLEARSTRIPE
RB_CLEARCOLORS
RB_FILL
RB_FILLCOLORS
RB_FILLSTRIPE
RB_SWAPCOLOR
RB_ROTATELEFT
RB_ROTATERIGHT
RB_SHIFTLEFT
RB_SHIFTRIGHT
RB_SETTABLECOLOR
RB_GETCOLOR
RB_LOOKUPCOLOR
RB_COLOR
RB_COPY
Serial Data RS232-RS485
BAUD
BAUD1-BAUDx
BUFSPACE
INKEY
INPUT
INPUTHEX
INPUTBIN
ISCHARWAITING
MAKEMODBUS
PRINT
PRINTBIN
SERIN
SPC
SEROUT
WAITKEY
SPI
SPIIN
SPIINIT
SPIMOVE
SPIOUT
SPI1INIT, SPI1IN, SPI1OUT, SPI1MOVE
STRINGS
CHARPOS
DELCHAR
DELCHARS
INSERTCHAR
JOIN
INSTR
LCASE
LEFT
LEN
LTRIM
MID
REPLACECHARS
RIGHT
QUOTE
RTRIM
SPACE
SPLIT
STRING
TRIM
UCASE
START
STCHECK
STOP
SUB
SWAP
TCP/IP
BASE64DEC
BASE64ENC
GETDSTIP
GETDSTPORT
GETSOCKET
GETTCPREGS
IP2STR
MAKETCP
SETIPPROTOCOL
SETTCP
SETTCPREGS
SNTP
SOCKETCLOSE
SOCKETCONNECT
SOCKETDISCONNECT
SOCKETLISTEN
SOCKETSTAT
TCPCHECKSUM
TCPREAD
TCPREADHEADER
TCPWRITE
TCPWRITESTR
UDPREAD
UDPREADHEADER
UDPWRITE
UDPWRITESTR
URL2IP
TOGGLE
TYPE
VARPTR
VER
VERSION
WAIT
WAITMS
WAITUS
WHILE-WEND
WRITEDAC
WRITEEEPROM
X10DETECT
X10SEND
ASM Libraries and Add-Ons
FT800
Commands
AlphaFunc
Begin_G
BitmapHandle
BitmapLayout
BitmapSize
BitmapSource
BitmapTransform
BlendFunc
Call_C
Cell
Clear_B
ClearColorA
ClearColorRGB
ClearColorRGBdw
ClearStencil
ClearTag
ClearScreen
CMD8
CMD16
CMD32
CmdAppend
CmdBgColor
CmdButton
CmdCalibrate
CmdCalibratex
CmdClock
CmdColdStart
CmdDial
CmdDlStart
CmdFgColor
CMDFTSTACK
CmdGauge
CmdGetMatrix
CmdGetPtr
CmdGradColor
CmdGradient
CmdInflate
CmdInterrupt
CmdKeys
CmdLoadIdentity
CmdLoadImage
CmdLogo
CmdMemCpy
CmdMemCrc
CmdMemSet
CmdMemWrite
CmdMemZero
CmdNumber
CmdProgress
CmdRegRead
CmdRotate
CmdRotateA
CmdScale
CmdScreenSaver
CmdScrollBar
CmdSetFont
CmdSetMatrix
CmdSketch
CmdSlider
CmdSnapShot
CmdSpinner
CmdStop
CmdSwap
CmdText
CmdToggle
CmdTrack
CmdTranslate
CmdTranslateP
Color_A
ColorMask
ColorRGB
ColorRGBdw
Display_E
End_G
Jump
LineWidth
Macro_R
PointSize
RD8
RD16
RD32
RestoreContext
Return_C
SaveContext
ScissorSize
ScissorXY
StencilFunc
StencilMask
StencilOp
Tag
TagMask
Vertex2f
Vertex2ii
UpdateScreen
WaitCmdFifoEmpty
WR8
WR16
WR32
Getting Started
How to add another SPI device with the FT800
How to Screen Capture
Demos
EXTENDED I2C
FM24C16
FM24C64_256
FM24C64_256-XMEGA
FM25C256
HEXVAL
I2C_MULTIBUS
I2C_TWI
I2C_TWI-MULTI
I2C_USI
I2C_USI_SLAVE
I2CV2
MCSBYTE
MCSBYTEINT
PULSEIN
SERIN
TCPIP
M128-1wire-PortF
TVOUT
RAINBOWBSC
LCD
LCD4BUSY
LCD4_anypin_oled_RS0010
LCD_RX1602A5
LCD4.LIB
LCD4E2
GLCD
GLCDSED
PCF8533
LCD-EPSON
LCD_DOGS104a_I2C
glcdR7565R
glcdSSD1325_96x64
GLCDEADOGMXL240-7-I2C
GLCDdSSD1306-I2C
LCD_I2C_PCF8574
AVR-DOS
AVR-DOS File System
MMCSD_HC.LIB
CF Card
Compact FlashCard Driver
Elektor CF-Interface
XRAM CF-Interface for simulation
New CF-Card Drivers
Floating Point
FP_TRIG
DOUBLE
I2C SLAVE
CONFIG I2CSLAVE
I2C TWI Slave
SPI
SPISLAVE
DATE TIME
EUROTIMEDATE
DATETIME
PS2-AT Mouse and Keyboard Emulation
AT_EMULATOR
PS2MOUSE_EMULATOR
BCCARD
BCCARD
BCDEF
BCCALL
BCRESET
USB
USB Add On
MODBUS Slave/Server
Tools
LCD RGB-8 Converter
BASCOMP
International Resellers
International Resellers

© 2025 MCS Electronics