*8051 *Registers of the 8051 family *199504??/mgeysken@innet.be *19950925/wjvg *all words are little endian! 80 P0 port 0 81 SP stack pointer 82 DPTR datapointer 82 DPL datapointer lowbyte 83 DPH datapointer highbyte 87 PCON power control 88 TCON timer control .......1 IT0 interrupt 0 triggercontrol bit ......1. IE0 interrupt 0 edge flag .....1.. IT1 interrupt 1 triggercontrol bit ....1... IE1 interrupt 1 edge flag ...1.... TR0 timer 0 on/off control ..1..... TF0 timer 0 overflow flag .1...... TR1 timer 1 on/off control 1....... TF1 timer 1 overflow flag 89 TMOD timer mode .......1 M0 operating modes t/c 0 ......1. M1 operating modes t/c 0 .....1.. M0 operating modes t/c 2 ....1... M1 operating modes t/c 2 ...1.... M0 operating modes t/c 1 ..1..... M1 operating modes t/c 1 00 TLx serves as 5-bit prescaler 01 16-bit t/c THx & TLx are cascaded 10 8-bit reloader, valTHx is loaded in TLx when TLx overflows 11 TL0 is an 8-bit t/c controlled by Timer 0 controlbits TH0 is an 8-bit t/c controlled by Timer 1 controlbits t/c 1 stopped .1...... T/C 0=timer, 1=counter 1....... GATE t/c 1 enabled via 0='TR1' 1='TR1+INT1' 8a TL0 timer low 0 8b TL1 timer low 1 8c TH0 timer high 0 8d TH1 timer high 1 90 P1 port 1 98 SCON serial controller .......1 RI rx interrupt flag ......1. TI tx interrupt flag mode0: set by 8-th bit time other modes: set by beginning of stop bit .....1.. RB8 in modes 2&3 9-th bit rx mode0: not used mode1: if SM2=0 RB8=stop bit value ....1... TB8 in modes 2&3 9-th bit tx ...1.... REN enable reception ..1..... SM2 enable multiprocessorfeature in modes 2 & 3, RI will not be activated if RB8=0 & SM2=1 in mode 1 RI will not be activated if stop bit was invalid & SM2=1 SM2 should be 0 in mode 0 10...... SM0 serial port mode 01...... SM1 serial port mode 00...... shift register baudrate=f_osc/1201 01...... 8-bit UART baudrate=variable10 10...... 9-bit UART baudrate=f_osc/64 of f_osc/3211 11...... 9-bit UART baudrate=variable 99 SBUF serial databuffer a0 P2 port 2 a8 IE interrupt enable .......1 EX0 - enable external interrupt 0 ......1. ET0 - enable timer 0 interrupt .....1.. EX1 - enable external interrupt 1 ....1... ET1 - enable timer 1 interrupt ...1.... ES - enable serial port interrupt ..1..... reserved .1...... reserved 1....... EA - enable all interrupts b0 P3 port 3 b8 IP interrupt priority .......1 PX0 priority of external interrupt 0 ......1. PT0 priority of timer 0 interrupt .....1.. PX1 priority of external interrupt 1 ....1... PT1 priority of timer 1 interrupt ...1.... PS priority of serial port interrupt ..1..... reserved .1...... reserved 1....... reserved d0 PSW program status word .......1 P parity of accumulator ......1. user definable .....1.. OV overflow flag ....1... RS0 register bank select bit 0 ...1.... RS1 register bank select bit 1 ..1..... F0 general purpose status flag .1...... AC auxiliary carry flag 1....... CY carry flag e0 ACC acummulator f0 B B-register *end