Texas Instruments MSC1210 User Manual
Page 7
Contents
v
Contents
16 8052 Assembly Language
16-1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.1
Description
16-2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.2
Syntax
16-2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.3
Number Bases
16-4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.4
Expressions
16-4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.5
Operator Precedence
16-5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.6
Characters and Character Strings
16-5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.7
Changing Program Flow (LJMP, SJMP, AJMP)
16-6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.8
Subroutines (LCALL, ACALL, RET)
16-7
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.9
Register Assignment (MOV)
16-8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.10 Incrementing and Decrementing Registers (INC, DEC)
16-11
. . . . . . . . . . . . . . . . . . . . . . . .
16.11 Program Loops (DJNZ)
16-12
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.12 Setting, Clearing, and Moving Bits (SETB, CLR, CPL, MOV)
16-13
. . . . . . . . . . . . . . . . . . .
16.13 Bit-Based Decisions and Branching (JB, JBC, JNB, JC, JNC)
16-15
. . . . . . . . . . . . . . . . . .
16.14 Value Comparison (CJNE)
16-16
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.15 Less Than and Greater Than Comparison (CJNE)
16-17
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.16 Zero and Non-Zero Decisions (JZ/JNZ)
16-18
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.17 Performing Additions (ADD, ADDC)
16-18
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.18 Performing Subtractions (SUBB)
16-20
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.19 Performing Multiplication (MUL)
16-21
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.20 Performing Division (DIV)
16-22
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.21 Shifting Bits (RR, RRC, RL, RLC)
16-23
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.22 Bit-Wise Logical Instructions (ANL, ORL, XRL)
16-24
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.23 Exchanging Register Values (XCH)
16-26
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.24 Swapping Accumulator Nibbles (SWAP)
16-26
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.25 Exchanging Nibbles Between Accumulator and Internal RAM (XCHD)
16-26
. . . . . . . . . . .
16.26 Adjusting Accumulator for BCD Addition (DA)
16-27
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.27 Using the Stack (PUSH/POP)
16-28
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.28 Setting the Data Pointer DPTR (MOV DPTR)
16-30
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.29 Reading and Writing External RAM/Data Memory (MOVX)
16-31
. . . . . . . . . . . . . . . . . . . . .
16.30 Reading Code Memory/Tables (MOVC)
16-32
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.31 Using Jump Tables (JMP @A+DPTR)
16-34
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17 Keil Simulator
17-1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.1
Description
17-2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.2
Timers
17-4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.2.1 Timer 0 & 1 Example
17-5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.3
Timer 2
17-11
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.4
Watchdog Timer
17-12
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.4.1 Watchdog Reset Facility Example
17-13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.5
System Timer
17-16
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.6
Clock Control
17-16
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.7
Analog-to-Digital Converter
17-17
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.8
Summation/Shifter
17-20
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.8.1 ADC/Summation/Shifter Example
17-21
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.9
Interrupts
17-30
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.10 Ports
17-31
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.11 Serial Peripheral Interface (SPI)
17-32
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.11.1 SPI Sample Code
17-34
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.12 mVision 2 Debug Program Example
17-38
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.13 Serial Port I/O
17-40
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.13.1 Serial Port 0 Operation Mode 1 Example
17-42
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.13.2 Transmit Block Baud Rate Computation
17-43
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.13.3 Receive Block Baud Rate Computation
17-44
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.14 Additional Resource
17-46
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .