Contents
Page
Page
May 1996 Order Number
Copyright Intel Corporation
Contents
8XC251SA, SB, SP, SQ USER’S Manual
Chapter TIMER/COUNTERS and Watchdog Timer
Chapter Serial I/O Port
Framing BIT Error Detection Modes 1, 2,
Modes of Operation
Multiprocessor Communication Modes 2
Automatic Address Recognition
Chapter External Memory Interface
Appendix a Instruction SET Reference
Figures
10-1
13-24 Address Space for Example
Tables
INC/DEC
Tables
Page
Guide to This Manual
Page
Manual Contents
Chapter Guide to this Manual
8XC251SA, SB, SP, SQ USER’S Manual
Notational Conventions and Terminology
Italics
Instructions
Units of Measure
Related Documents
Data Sheet
Application Notes
Application Support Services
Intel Application Support Services
Service Canada Asia-Pacific and Japan Europe
World Wide Web CompuServe Forums
FaxBack Service
Bulletin Board System BBS
Guide to this Manual
Page
Architectural Overview
Page
Chapter Architectural Overview
Functional Block Diagram of the 8XC251SA, SB, SP, SQ
MCS 251 Microcontroller Core
XC251SA, SB, SP, SQ Features
8XC251SA, SB, SP, SQ Architecture
On-chip Memory Device
OTPROM/EPROM
MCS 251 Microcontroller Core
1 CPU
SRC1 SRC2
ALU
DST
Clock and Reset Unit
XTAL1
Timer/Counters and Watchdog Timer
Interrupt Handler
On-chip Code Memory
On-chip RAM
Programmable Counter Array PCA
Serial I/O Port
Address Spaces
Page
S1FFH
Address Spaces for MCS 251 Microcontrollers
Ffffffh
Compatibility with the MCS 51 Architecture
Ffffh
Movc
Movx
FFH
FF0000H-FFFFFFH
8XC251SA, SB, SP, SQ Memory Space
00FFFFH
Feffffh
01FFFFH
FFFFF7H
On-chip General-purpose Data RAM
Type of Code Memory
Accessing On-chip Code Memory in Region
Minimum Times to Fetch Two Bytes of Code
External Memory
8XC251SA, SB, SP, SQ Register File
WR8
WR0 WR2 WR4 WR6
DR8
DR0 DR4
Bank Address Range PSW Selection Bits
RS1 RS0
Accumulator and B Register
Byte, Word, and Dword Registers
Dedicated Registers
SPH Sbeh
SPH
Dpxl
DPH
Extended Data Pointer, DPX
Extended Stack Pointer, SPX
Register File Name Mnemonic Location
SFRs Mnemonic
Special Function Registers Sfrs
XC251SA, SB, SP, SQ SFR Map and Reset Values
Mnemonic Name Address
Core SFRs
I/O Port SFRs
Timer/Counter and Watchdog Timer SFRs
Serial I/O SFRs
10. Programmable Counter Array PCA SFRs
Mnemonic Name
SE9H
SF9H
CCAP0L
Seah
Device Configuration
Page
Configuration Overview
Device Configuration
Configuration Array On-chip
Configuration Array External
Size of External Address
Configuration Bits
External Addresses for Configuration Array
Configuration Byte Location Selector Ucon
WSA1# WSA0#
UCONFIG0 1
Bit Function Number Mnemonic
UCONFIG1 1
WSB1# WSB0#
Configuring the External Memory Interface
Mode and Nonpage Mode PAGE#
Memory Signal Selections RD10
PSEN# WR#
2.2 RD10 = 01 17 External Address Bits
Configuration Bits RD10
2.1 RD10 = 00 18 External Address Bits
RD10 =
PSEN#, WR#
Internal/External Address Mapping RD10 = 10
PSEN#
Wait State Configuration Bits
Configuration Bits WSA10#, WSB1#
Configuration Bit WSB
2.3 RD10 = 10 16 External Address Bits
Opcode Configurations SRC
Configuration Bit XALE#
RD#, WR#, PSEN# External Wait States
8XC251Sx
Selecting Binary Mode or Source Mode
Instruction Opcode Binary Mode Source Mode
Examples of Opcodes in Binary and Source Modes
DEC a
Binary Mode Opcode Map
Source Mode Opcode Map
Interrupt Mode Intr
Mapping ON-CHIP Code Memory to Data Memory EMAP#
Programming
Page
Source Mode or Binary Mode Opcodes
Programming Features of the MCS 251 Architecture
Data Types
Register Notation
Address Notation
Data Types
Register Destination Source Register Range
A3H B6H
A3H B6H WR0 MOV WR0,#A3B6H
Data Addressing Modes
Addressing Modes
Data Instructions
Direct
Register Addressing
Immediate
Indirect
00H-FFH
0000H-FFFFH @DPTR, @A+DPTR
0000H-FFFFH @A+DPTR, @A+PC
@WR30 + Ffffh
Displacement
Arithmetic Instructions
Logical Instructions
Data Transfer Instructions
BIT Instructions
Bit Addressing
Bit-addressable Locations
Architecture Bit-addressable Locations
Location Addressing MCS Mode Architecture
Control Instructions
Addressing Two Sample Bits
Addressing Modes for Bit Instructions
Description Address Bits Address Range
Addressing Modes for Control Instructions
Addressing Modes for Control Instructions
Conditional Jumps
Compare-conditional Jump Instructions
Operand Relation Type
JNE JGE JLE
Unconditional Jumps
Calls and Returns
Program Status Words
10. The Effects of Instructions on the PSW and PSW1 Flags
Instruction Type Flags Affected 1
PSW
RS1
RS0
Bank Address
Program Status Word 1 Register
PSW1
Page
Interrupt System
Page
Interrupt System Pin Signals
Signal Type Description Multiplexed
Overview
With
Interrupt Enable Priority Enable
8XC251SA, SB, SP, SQ Interrupt Sources
External Interrupts
Interrupt System Special Function Registers
Description Address
Timer Interrupts
Interrupt Control Matrix
PCA
INT1#
Serial Port Interrupt
Interrupt Enable
Programmable Counter Array PCA Interrupt
ET1 EX1 ET0 EX0
IE0
ET2
Interrupt Priorities
Level of Priority
Interrupt Priority Within Level
IPH0.x MSB IPL0.x LSB Priority Level
IPH0
IPL0
Interrupt Processing
Interrupt Process
Response Time Variables
Minimum Fixed Interrupt Time
Variable Interrupt Parameters
Response Time Example #1
A4154-02
Interrupt Latency Variables
Latency Calculations
Actual vs. Predicted Latency Calculations
T2EX
Blocking Conditions
Interrupt Vector Cycle
ISRs in Process
Page
Input/Output Ports
Page
Pin Type Alternate Alternate Description Name Pin Name
INPUT/OUTPUT Port Overview
Input/Output Port Pin Descriptions
Port 0 and Port
I/O Configurations
Port 1 and Port
Port 1 and Port 3 Structure
Port 0 Structure
Port 2 Structure
READ-MODIFY-WRITE Instructions
QUASI-BIDIRECTIONAL Port Operation
External Memory Access
Port Loading
8XC251SA, SB, SP, SQ USER’S Manual
Instructions for External Data Moves
Instructions
Page
Timer/Counters Watchdog Timer
Page
TIMER/COUNTER Overview
TIMER/COUNTER Operation
S8AH
S8CH
S8BH
S8DH
Timer
External Signals
Signal Type Description Alternate Name Function
Timer 10 External Clock Inputs. When timer 10 operates as a
Mode 0 13-bit Timer
Mode 1 16-bit Timer
Mode 2 8-bit Timer With Auto-reload
Mode 3 Two 8-bit Timers
TR0 GATE0
TR1
Tmod
GATE1
M11 M01
M10 M00
IE1 IT1 IE0 IT0
Tcon
TF1 TR1 TF0 TR0
Auto-load Setup Example
Mode 3 Halt
Timer 0/1 Applications
Pulse Width Measurements
Capture Mode
XTAL1 TH2 TL2
TF2
TR2
Auto-reload Mode
Up Counter Operation
RCAP2H RCAP2L TF2
EXF2 EXEN2
2.2 Up/Down Counter Operation
XTAL1 EXF2
TH2 TL2
RCAP2H RCAP2L T2EX
Baud Rate Generator Mode
Clock-out Mode
Rclk or Tclk CP/RL2# T2OE
RCAP2H RCAP2L
T2OE
Watchdog Timer
Description
T2MOD
Xxxx XX00B T2OE Dcen
T2CON
TF2 EXF2 Rclk Tclk
EXEN2 TR2
CP/RL2#
WDT During PowerDown
Using the WDT
WDT During Idle Mode
Programmable Counter Array
Page
Chapter Programmable Counter Array
PCA Description
PCA TIMER/COUNTER
Alternate Port Usage
P1.6/CEX3/WAIT#
A17/WCLK
PCA CCON.7
CPS1 CPS0 Cidl ECF CMOD.2 CMOD.1 CMOD.7 CMOD.0 IDL
Compare/Capture Module External I/O. Each compare/capture
PCA Compare/Capture Module Mode Registers. Contain bits for
PCA Special Function Registers SFRs
1 16-bit Capture Mode
PCA COMPARE/CAPTURE Modules
PCA 16-bit Capture Mode
3 16-bit Software Timer Mode
Compare Modes
High-speed Output Mode
PCA Software Timer and High-speed Output Modes
PCA Watchdog Timer Mode
CCAP4H CCAP4L
Wdte CMOD.6 ECOM4
Pulse Width Modulation Mode
PCA 8-bit PWM Mode
PWM Variable Duty Cycle
Cmod
Cidl Wdte
CPS1 CPS0 ECF
CPS1 CPS0
TOGx PWMx ECCFx Module Mode
Ccon
CCF4 CCF3 CCF2 CCF1 CCF0
Bit Function Number
CCAPMx x =
CCAPM1 Sdbh CCAPM2 Sdch CCAPM3 Sddh CCAPM4 Sdeh
Page
Serial I/O Port
Page
Serial Port Signals
Function Type Description Multiplexed
Serial Port Special Function Registers
Mnemonic Description Address
A8H
B8H
SM0 SM1
Mode Description Baud Rate
Scon
Modes of Operation
Synchronous Mode Mode
Transmission Mode
Transmit
Receive
Asynchronous Modes Modes 1, 2,
Reception Modes 1, 2
Automatic Address Recognition
Framing BIT Error Detection Modes 1, 2,
Multiprocessor Communication Modes 2
Given Address
Broadcast Address
Saddr or Saden
Reset Addresses
Baud Rate for Mode
Baud Rates for Mode
Baud Rates
Timer 1 Generated Baud Rates Modes 1
Selecting Timer 1 as the Baud Rate Generator
Timer 1 Generated Baud Rates for Serial I/O Modes 1
Timer 2 Generated Baud Rates Modes 1
Selecting Timer 2 as the Baud Rate Generator
SMOD1
Receiver Transmitter Bit
Selecting the Baud Rate Generators
Rclck Tclck
RCAP2H
Timer 2 Generated Baud Rates
Oscillator Baud Rate
Minimum Hardware Setup
Page
Minimum Hardware Setup
Minimum Setup
Power and Ground Pins
Unused Pins
Electrical Environment
Noise Considerations
XTAL1 XTAL2
Clock Sources
On-chip Oscillator Crystal
Cmos
On-chip Oscillator Ceramic Resonator
External Clock
Reset
External Clock Drive Waveforms
Reset Operation
Externally Initiated Resets
WDT Initiated Resets
Power-on Reset
RST Xtal
PSEN# ALE
Special Operating Modes
Page
Power Control Register
Power Off Flag
General
Serial I/O Control Bits
Pcon
SMOD1 SMOD0 POF
GF1 GF0 IDL
SMOD1
Mode Program
Port Memory Pin Pins
Pin Conditions in Various Modes
ALE PSEN#
Idle Mode
Entering Idle Mode
Exiting Idle Mode
Powerdown Mode
Entering Powerdown Mode
Exiting Powerdown Mode
Exiting Once Mode
ON-CIRCUIT Emulation Once Mode
Entering Once Mode
Page
External Memory Interface
Page
Chapter External Memory Interface
External Memory Interface Signals
Address Line
Address Line 16. See RD#
RD1 RD0
Mode Bus Cycle Bus Activity State
External BUS Cycles
Bus Cycle Definitions
Bus Cycle Definitions No Wait States
Nonpage Mode Bus Cycles
External Code Fetch Nonpage Mode
Mode Bus Cycles
External Data Write Nonpage Mode
External Code Fetch Page Mode
External Data Read Page Mode
Extending RD#/WR#/PSEN#
External BUS Cycles with Configurable Wait States
Wait States
External Code Fetch Nonpage Mode, One RD#/PSEN# Wait State
Extending ALE
External BUS Cycles with REAL-TIME Wait States
Xxxx XX00B Rtwce Rtwe
Wcon
SA7H
Real-time Wait State Bus Cycle Diagrams
Real-time WAIT# Enable Rtwe
Real-time Wait Clock Enable Rtwce
Wclk ALE RD#/PSEN#
Wclk ALE WR#
14. External Data Read Page Mode, RT Wait State
Configuration Byte BUS Cycles
Nonpage Mode
Port 0 and Port 2 Pin Status in Nonpage Mode
Port 0 and Port 2 Pin Status In Normal Operating Mode
Port Bit/16-bit Nonpage Mode
Port 0 and Port 2 Status
Port 0 and Port 2 Pin Status in Page Mode
External Memory Design Examples
Example 1 RD10 = 00, 18-bit Bus, External Flash and RAM
18. Address Space for Example
19. Bus Diagram for Example 2 80C251SB in Page Mode
Example 2 RD10 = 01, 17-bit Bus, External Flash and RAM
20. Address Space for Example
Example 3 RD10 = 01, 17-bit Bus, External RAM
22. Address Space for Example
Example 4 RD10 = 10, 16-bit Bus, External RAM
PROM/EPROM
24. Address Space for Example
Example 5 RD10 = 11, 16-bit Bus, External Eprom and RAM
An Application Requiring Fast Access to the Stack
An Application Requiring Fast Access to Data
25. Bus Diagram for Example 5 80C251SB in Nonpage Mode
Eprom
RAM
27. Bus Diagram for Example 6 80C251SB in Page Mode
Example 6 RD10 = 11, 16-bit Bus, External Eprom and RAM
28. Bus Diagram for Example 7 80C251SB in Page Mode
Example 7 RD10 = 01, 17-bit Bus, External Flash
Programming Verifying Nonvolatile Memory
Page
Chapter Programming and Verifying Nonvolatile Memory
Programming Considerations for On-chip Code Memory
Programming and Verifying Modes
General Setup
Eprom Devices
Programming and Verifying Modes
RST PSEN#
PROG#
Port Address
Programming Algorithm
8XC251S
Programming Cycle
Verify Algorithm
Programmable Functions
Configuration Bytes
Lock Bit System
Encryption Array
Signature Bytes
Lock Bit Function
Lock Bits Programmed Protection Type
Contents of the Signature Bytes
Verifying the 83C251SA, SB, SP, SQ ROM
Page
Instruction Set Reference
Page
Appendix a Instruction SET Reference
Notation for Instruction Operands
Table A-1. Notation for Register Operands
Register Notation
MCS
Table A-4. Notation for Bit Addressing
Table A-2. Notation for Direct Addresses
Table A-3. Notation for Immediate Addressing
Opcode MAP and Supporting Tables
Table A-6. Instructions for MCS 51 Microcontrollers
Table A-7. New Instructions for the MCS 251 Architecture
Bin A5x8 A5x9 A5xA A5xB A5xC A5xD A5xE A5xF Src
Table A-8. Data Instructions
Table A-9. High Nibble, Byte 0 of Data Instructions
Instruction
Byte
Bit Instruction
Table A-10. Bit Instructions
Table A-11. Byte 1 High Nibble for Bit Instructions
Table A-12. PUSH/POP Instructions
Table A-13. Control Instructions
Eret
Trap
Table A-14. Displacement/Extended MOVs
Table A-17. Shifts
Table A-15. INC/DEC
Table A-16. Encoding for INC/DEC
Execution Times for Instructions that Access the Port SFRs
Instruction SET Summary
Table A-18. State Times to Access the Port SFRs
Case
Instruction SET Reference
Instruction Summaries
Table A-19. Summary of Add and Subtract Instructions
Add ADD dest,src
Subtract SUB dest,src
Dest,src Binary Mode Source Mode
Table A-20. Summary of Compare Instructions
Compare CMP dest,src
CMP
Table A-21. Summary of Increment and Decrement Instructions
INC Dptr
MUL AB
DIV AB
Table A-23. Summary of Logical Instructions
CLR a
CPL a
RXX a
Swap
SRA
SRL
Binary Mode Source Mode
Table A-24. Summary of Move Instructions
Move with Zero Extension Movz dest,src
Move from External Mem Movx dest,src
Dir16,Rm Byte reg to dir addr 64K Dir16,WRj
Movh
Movs
Movz
Movc @A+DPTR
Table A-25. Summary of Exchange, Push, and Pop Instructions
XCH
Xchd
Push
Mnemonic Src,dest Binary Mode Source Mode
Table A-26. Summary of Bit Instructions
Move Bit from Carry MOV bit,CY
Setb
Table A-27. Summary of Control Instructions
States Bytes
JSG
Cjne
Djnz
NOP
Table A-28. Flag Symbols
Instruction Descriptions
Variations ADD A,#data Binary Mode
Encoding Hex Code Operation
ADD dest,src Function Add
ADD R1,R0
ADD
ADD DRkd,DRks Binary Mode Source Mode Bytes States Encoding
ADD Rm,#data Binary Mode
ADD WRj,#data16 Binary Mode
ADD DRk,#0data16 Binary Mode
ADD Rm,dir8 Binary Mode Source Mode Bytes States Encoding
ADD WRj,dir8 Binary Mode
WRj ← WRj + dir8 ADD Rm,dir16 Binary Mode
Rm ← Rm + dir16 ADD WRj,dir16 Binary Mode
ADD Rm,@WRj Binary Mode Source Mode Bytes States Encoding
WRj ← WRj + dir16
ADD Rm,@DRk Binary Mode Source Mode Bytes4 States4 Encoding
Variations Addc A,#data Binary Mode
Addc A,src Function
Flags
Addc
Ajmp addr11 Function Description Flags Example
Ajmp Jmpadr
Variations ANL dir8,A Binary Mode Source Mode Bytes States
Hex Code Binary Mode = Encoding
ANL A,#data Binary Mode
ANL R1,R0
ANL
WRjd ← WRjd Λ WRjs
ANL WRjd,WRjs Binary Mode Source Mode Bytes States Encoding
ANL WRj,#data16 Binary Mode
Binary Mode = A5Encoding Source Mode = Encoding Operation
ANL WRj,dir8 Binary Mode
Rm ← Rm Λ dir16 ANL WRj,dir16 Binary Mode
WRj ← WRj Λ dir8
ANL Rm,@WRj Binary Mode Source Mode Bytes States Encoding
ANL Rm,@DRk Binary Mode
Hex Code Binary Mode = A5Encoding Source Mode = Encoding
ANL CY,src-bit
ANL CY,bit51 Binary Mode Source Mode Bytes States
ANL CY,/bit51 Binary Mode Source Mode Bytes States
ANL CY,bit Binary Mode Source Mode Bytes States
MOV CY,P1.0
ANL CY,/bit Binary Mode Source Mode Bytes States
Cjne dest,src,rel
Reqlow
Wait Cjne A,P1,WAIT
Variations Cjne A,#data,rel
Then
Else
Cjne A,dir8,rel
CLR a
Cjne Rn,#data,rel
Not Taken
CLR CY
CLR
Bit51 ←
CLR bit Binary Mode Source Mode Bytes States
Variations CMP Rmd,Rms Binary Mode
CMP dest,src Function
CMP R1,R0
CMP WRjd,WRjs Binary Mode
WRjd WRjs CMP DRkd,DRks Binary Mode
DRkd DRks CMP Rm,#data Binary Mode
CMP
CMP WRj,#data16 Binary Mode
CMP Rm,dir8 Binary Mode
Rm dir16 CMP WRj,dir16 Binary Mode
CMP WRj,dir8 Binary Mode
CMP Rm,dir16 Binary Mode
CMP Rm,@DRk Binary Mode Source Mode Bytes States Encoding
CPL a
CPL
CPL CY
CPL bit Binary Mode Source Mode Bytes States
Operation CPL
Addc A,R3 DA a
DEC byte Function
DEC a
DEC
DEC WRj,#short
DEC Rn Bytes States Encoding
DEC dest,src Function Decrement
DIV dest,src Function Divide
DIV R1,R5
Binary Mode = A5Encoding Source Mode = Encoding
Location Contents
DIV AB
Djnz byte,rel-addr
Djnz 40H,LABEL1 Djnz 50H,LABEL2 Djnz 60H,LABEL
Toggle CPL P1.7 Djnz R2,TOGGLE
Variations Djnz dir8,rel
Djnz Rn,rel
Ecall dest Function
Ecall Subrtn
Ejmp Jmpadr
Ecall @DRk Binary Mode Source Mode Bytes States Encoding
Ejmp dest Function
INC Byte Function Increment
Ejmp @DRk Binary Mode Source Mode Bytes States Encoding
Eret
← a + INC dir8 Binary Mode
Dir8 ← dir8 + INC @Ri Binary Mode
INC @R0 INC R0
INC a
INC dest,src Function Increment
INC Rn Binary Mode
INC WRj,#short Binary Mode
WRj ← WRj + #short
JB P1.2,LABEL1 JB ACC.2,LABEL2
Variations JB bit51,rel Binary Mode Source Mode
JB bit51,rel JB bit,rel Function
JBC ACC.3,LABEL1 JBC ACC.2,LABEL2
Variations JBC bit51,rel Binary Mode Source Mode
JBC bit51,rel JBC bit,rel
JBC bit,rel Binary Mode Source Mode
Hex Code in Binary Mode = Encoding Source Mode = Encoding
JC rel
Flags Example Bytes States Encoding
JG rel
JE rel Function
JE LABEL1
Bytes States Encoding Binary Mode
Source Mode Not Taken
JG LABEL1
JLE rel
JMP @A+DPTR
JNB bit51,rel JNB bit,rel
Variations JNB bit51,rel Binary Mode Source Mode
JNB P1.3,LABEL1 JNB ACC.3,LABEL2
JNC rel
JNC LABEL1 CPL CY JNC LABEL2
JNE rel
JNE LABEL1
JNZ rel
JNZ LABEL1 INC a JNZ LABEL2
JSG rel
JSG LABEL1
Jsge rel
Jsge LABEL1
JSL rel
JSL LABEL1
JZ rel
Jsle rel
Jsle LABEL1
Lcall addr16 Binary Mode
JZ LABEL1 DEC a JZ LABEL2
Lcall dest Function
Lcall Subrtn
Lcall @WRj Binary Mode Source Mode Bytes States Encoding
Source Mode = Encoding Operation
Ljmp addr16 Binary Mode
Ljmp dest Function
PC ← addr.150
MOV A,#data Binary Mode Source Mode Bytes States Encoding
Ljmp
Ri ← #data MOV Rn,#data Binary Mode
Rn ← #data MOV dir8,dir8 Binary Mode
Operation MOV
MOV
Dir8 ← Rn MOV @Ri,dir8 Binary Mode
Dir8 ← dir8 MOV dir8,@Ri Binary Mode
Dir8 ← Ri MOV dir8,Rn Binary Mode
MOV A,dir8 Binary Mode Source Mode Bytes States Encoding
← dir8 MOV A,@Ri Binary Mode
← Ri MOV A,Rn Binary Mode
MOV Rn,dir8 Bytes States Encoding
MOV Rn,A Binary Mode
MOV dir8,A Binary Mode Source Mode Bytes States Encoding
Dir8 ← a MOV @Ri,A Binary Mode
MOV WRj,#data16 Binary Mode
Rmd ← Rms MOV WRjd,WRjs Binary Mode
MOV DRkd,DRks Binary Mode Source Mode Bytes States Encoding
WRj ← #data16 #data hi #data low
MOV WRj,dir8 Binary Mode Source Mode Bytes States Encoding
MOV DRk,dir8 Binary Mode Source Mode Bytes States Encoding
MOV Rm,dir16 Binary Mode Source Mode Bytes States Encoding
MOV WRj,dir16 Binary Mode
WRj ← dir16 MOV DRk,dir16 Binary Mode
MOV WRjd,@WRjs Binary Mode
MOV WRj,@DRk Binary Mode
MOV dir8,Rm Binary Mode Source Mode Bytes States Encoding
MOV dir8,WRj Binary Mode
Dir16 ← Rm MOV dir16,WRj Binary Mode
Dir8 ← WRj MOV dir8,DRk Binary Mode
Dir8 ← DRk MOV dir16,Rm Binary Mode
MOV @WRjd,WRjs Binary Mode
MOV @WRj,Rm Binary Mode Source Mode Bytes4 States4 Encoding
MOV @DRk,Rm Binary Mode Source Mode Bytes States Encoding
MOV @DRk,WRj Binary Mode
Rm ← WRj + dis MOV WRj,@WRj + dis16 Binary Mode
MOV @WRj + dis16,WRj Binary Mode
Rm ← DRk + dis MOV WRj,@DRk + dis24 Binary Mode
MOV @WRj + dis16,Rm Binary Mode
MOV dest-bit,src-bit
MOV @DRk + dis24,Rm Binary Mode
MOV @DRk + dis24,WRj Binary Mode
MOV P1.3,CY MOV CY,P3.3 MOV P1.2,CY
Bit51 ← CY MOV CY,bit51 Binary Mode
MOV bit,CY Binary Mode Source Mode Bytes States
MOV CY,bit Binary Mode Source Mode Bytes States
Binary Mode Source Mode Bytes States Encoding
MOV DPTR,#data16
MOV DPTR,#1234H
Movc A,@A+base-reg Function
Relpc INC Movc @A+PC RET
Movc A,@A+PC
Movc A,@A+DPTR
Movs WRj,Rm
Variations Movh DRk,#data16 Binary Mode
Movh DRk,#data16
Movx dest,src Function
← Dptr Movx A,@Ri Binary Mode
Movx A,@R1 Movx @R0,A
Movx A,@DPTR
Movx
Movz WRj,Rm
MUL dest,src Function Multiply
MUL R1,R0
MUL WRjd,WRjs Binary Mode Source Mode Bytes States Encoding
MUL AB
NOP
Function Description Flags
Bytes States Encoding Hex Code Operation
NOP Setb P2.7
Variations ORL dir8,A Binary Mode Source Mode Bytes States
ORL dir8,#data Binary Mode Source Mode Bytes States
ORL A,#data Binary Mode
ORL
ORL A,dir8 Binary Mode Source Mode Bytes States Encoding
← a V dir8 ORL A,@Ri Binary Mode
ORL A,Rn Binary Mode
ORL Rmd,Rms Binary Mode
ORL WRjd,WRjs Binary Mode Source Mode Bytes States Encoding
ORL Rm,#data Binary Mode Source Mode Bytes States Encoding
ORL WRj,#data16 Binary Mode
WRjd←WRjd V WRjs
ORL Rm,dir8 Binary Mode
ORL WRj,dir8 Binary Mode
WRj ← WRj V dir8 ORL Rm,dir16 Binary Mode
Rm ← Rm V dir16 ORL WRj,dir16 Binary Mode
ORL Rm,@WRj Binary Mode Source Mode Bytes4 States3 Encoding
Rm ← Rm V WRj ORL Rm,@DRk Binary Mode
WRj ← WRj V dir16
ORL CY,src-bit
ORL CY,/bit51 Binary Mode Source Mode Bytes States
ORL CY,bit Binary Mode Source Mode Bytes States
ORL CY,/bit Binary Mode Source Mode Bytes States
POP dir8 Binary Mode
POP src Function
POP DPH POP DPL
POP DRk Binary Mode
POP Rm Binary Mode
POP WRj Binary Mode
Push #data Binary Mode
Push dest Function
Push DPL Push DPH
Operation Push
Push #data16 Binary Mode
Push WRj Binary Mode
RET
Operation RET
Reti
RLC a
RL a
RL a
Example Bytes States Encoding
RLC a
RR a
RR a
RRC a
Flags Example Bytes States Encoding Hex Code Operation
RRC a
Setb bit Function Set bit
Setb
Setb CY
SLL src
SLL Rm Binary Mode
Sjmp Reladr
SRA src
SRA WRj Binary Mode Source Mode Bytes States Encoding
SRL src
SUB R1,R0
Variations SUB Rmd,Rms Binary Mode
SUB dest,src Function Subtract
SUB DRkd,DRks Binary Mode Source Mode Bytes States Encoding
SUB
DRkd ← DRkd DRks
SUB WRj,#data16
SUB DRk,#data16 Binary Mode
SUB Rm,dir8 Binary Mode Source Mode Bytes States
Hex Code Binary Mode = A5Encoding
SUB WRj,dir8 Binary Mode
Rm ← Rm dir16 SUB WRj,dir16 Binary Mode
SUB Rm,@WRj Binary Mode Source Mode Bytes4 States3 Encoding
Rm ← Rm WRj SUB Rm,@DRk Binary Mode
SUB Rm,dir16
Subb A,R2
Variations Subb A,#data Binary Mode
Subb A,src-byte Function
Subb
Trap
Swap a
Swap a
XCH A,@R0
Binary Mode = Encoding Source Mode = Encoding
XCH A,byte
XCH A,@Ri Binary Mode Source Mode Bytes States Encoding
Operation XCH
XCH A,Rn Bytes States Encoding
Xchd A,@Ri Function
XRL dir8,A Binary Mode Source Mode Bytes States
XRL A,R0
XRL A,dir8 Binary Mode Source Mode Bytes States Encoding
XRL
Dir8 ← dir8 ∀ a
XRL A,#data
XRL A,Rn
XRL WRjd,WRjs
XRL Rm,#data
XRL WRj,#data16
XRL Rm,dir8
XRL WRj,dir8
XRL Rm,@Wrj
WRj ← WRj ∀ dir8 XRL Rm,dir16 Binary Mode
\XRL WRj,dir16
XRL Rm,@Drk Binary Mode
Page
Signal Descriptions
Page
8XC251SA
8XC251SB
8XC251SP
8XC251SQ
Power & Ground Name
Address & Data Name
Plcc DIP
Processor Control Name
8XC251SP 8XC251SQ
Component As mounted On PC board
CEX20
GND
PWR
DIP
DIP WAIT#
Table B-3. Memory Signal Selections RD10
Page
Registers
Page
Appendix C Registers
Table C-1 XC251SA, SB, SP, SQ SFR Map
Table C-2. Core SFRs
Table C-3. I/O Port SFRs
SB9H
Table C-5. Timer/Counter and Watchdog Timer SFRs
Table C-4 Serial I/O SFRs
Table C-6. Programmable Counter Array PCA SFRs
Table C-7. Register File
Mnemonic Address
ACC
F0H
CCAPxH, CCAPxL x =
CCAP1H,L SFBH, Sebh
CCAP2H,L SFCH, Sech
CCAP3H,L SFDH, Sedh
CCAPM1 Sdbh
CCAPM2 Sdch
CCAPM3 Sddh
CCAPM4 Sdeh
CH, CL
SF9H SE9H
Cidl Wdte CPS1 CPS0 ECF
DPH
DPL
Dpxl
Global Interrupt Enable
IPH0 IPL0 Priority Level
IPL0
P1.70 Port 1 Register
P0 Contents
P1 Contents
P3.70 Port 3 Register
P2 Contents
P3 Contents
SMOD1 SMOD0 POF GF1 GF0 IDL
See -10 on
RCAP2H, RCAP2L
RCAP2L Scah
SADDR.70
Saddr
Slave Individual Address
Saden
Sbuf
Data Sent/Received by Serial I/O Port
SBUF.70
FE/SM0 SM1 SM2 REN TB8 RB8
SP Contents
SP.70 Stack Pointer
SPH.70 Stack Pointer High
SPH Contents
SPH
TF2 EXF2 Rclk Tclk EXEN2 TR2
Xxxx XX00B
T2OE Dcen
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
Address S89H Reset State
TH0, TL0
TH0 S8CH
TL0 S8AH
TH1, TL1
TH2, TL2
TH2 Scdh
TL2 Scch
Rtwce Rtwe
WDTRST.70
Wdtrst Contents Write-only
Wdtrst
Page
Glossary
Page
Glossary
Dptr
Eprom
LSB
Otprom
Uart
Word
Page
Index
Page
Index
Index-2
Index-3
Index-4
Index-5
Index-6
Index-7
Index-8
Index-9