... address spaces - the code space, the external data space and the on-chip RAM. Some sections of the on-chip RAM space serve functions in addition to being the usual random access byte storage. These include ...
8051 C Compiler
... 8 bit MCUs
independent rule based peep hole optimizer.
a full range of data types: char (8 bits, 1 byte), short (16 bits, 2 bytes), int (16 bits, 2 bytes), long (32 bit, 4 bytes) and float (4 byte ...
8051 IP Cores
... for memory mapped peripherals
T8032: Wishbone bus interface
Features
All peripherals/interrupts implemented
Single cycle per byte fetch
Supports synchronous RAM/ROM
...
8051 Instruction Set
... Through Carry
SETB - Set Bit
SJMP - Short Jump
SUBB - Subtract From Accumulator With Borrow
SWAP - Swap Accumulator Nibbles
XCH - Exchange Bytes
XCHD - Exchange Digits ...
8051 Opcodes
... transfer instructions, boolean variable manipulation instructions and program and machine control instructions.
OpcodeBytesMnemonicOperands
00
1
NOP
01
2
AJMP
addr11 ...
8051 Microcontroller
... of RAM and ROM
On-chip RAM - 128 bytes ("DATA Memory")
On-chip ROM - 4 kB ("CODE (program) Memory")
Four 8-bit bi-directional input/output ports
UART (serial port)
Two 16-bit ...
Turbo51 Compiler Internals
... in re-entrant procedures. In such cases you can use system type ByteBool which occupies 1 byte.
Global variables
Global variables are placed in default memory type for global variables which can be ...
8051 Assembler Statements
... to be declared. You don't have to preserve any register and don't assume anything about register content before assembler statement. Byte variables AR0 to AR7 are direct locations for registers R0 to R7 ...
Procedure at Absolute Address
Pascal Compiler for 8051 Microcontrollers
You can force placing a procedure at absolute address with the absolute directive. This way you can also reserve some bytes at fixed addresses in code segment. ...
Turbo51 System Functions
...
Function Assigned (P: Pointer): Boolean;
Assigned returns True if P is non-nil and retuns False otherwise. P can be any pointer or procedural variable.
Bcd
Function Bcd (D: Byte): Byte;
Bcd ...
Turbo51 System Procedures
... file variable F. Either ReadFunction or WriteProc can be omitted. Read function must be a non-reentrant function with no parameters which returns Char or Byte result (result must be returned in register ...
Turbo51 Variables
... procedures. In such cases you can use system type ByteBool which occupies 1 byte. BitAddressable directive declares variable which will be placed in DATA address space from $20 to $2F - you can access ...
Turbo51 Types
Pascal Compiler for 8051 Microcontrollers
Turbo51 provides the following system types: Byte (unsigned 8-bit), Word (unsigned 16-bit), ShortInt (signed 8-bit), Integer (signed 16-bit), LongInt (signed ...
Turbo51 Constants
... are not possible because boolean data can only be stored as bits in bit-addressable DATAmemory (wich is available in all 8051 derivatives), but you can use ByteBool or similar typed constants. Some examples: ...
Turbo51 Memory Organization
Pascal Compiler for 8051 microcontrollers
CODE memory
By default the maximum code size is $10000 bytes (64 KB). This can be changed in the main program with the $M directive.
IDATA memory
By ...
8051 Projects and Tools
Popular Microcontroller Resources
8051 Opcodes
Here you have a table of all 8051 instructions with opcodes, size in bytes, mnemonic and operands.
8051 Instruction Set
Here you have a detailed ...
Turbo51 FAQ
... type ByteBool (WordBool and LongBool are also possible), this will occupy one byte (or 2 for WordBool and 4 bytes for LongBool)
Use sets. See some examples of sets in records on the inline procedures ...