4. GENERIC 8051 FEATURES
•Eight bit CPU with registers A and B
•Sixteen bit program counter (PC) and data pointer (DPTR)
•Eight-bit program status word (PSW)
•Eight bit stack pointer (SP)
•128 bytes of RAM and 4K ROM
•Thirty two input / output pins arranged as four 8 bit ports: P0-P3
•Two 16-bit timers /counters: T0 and T1•Two 16-bit timers /counters: T0 and T1
•Full duplex serial data receiver and transmitter: SBUF
•Two external and three internal interrupt sources
•Control registers TCON, TMOD, SCON, PCON, IP and IE.
•Oscillator and the clock circuits.
5. Math Register
A and B CPU Registers:
A Register (Accumulator)
B Register
Multiplication and division can be performed only upon numbers stored in the A and B
registers. All other instructions in the program can use this register as a spare
accumulator (A).
6. Program Status Word (PSW) Register
P - Parity bit. If a number stored in the accumulator is even then this bit will be automatically set
(1), otherwise it will be cleared (0). It is mainly used during data transmit and receive via serial
communication.communication.
OV Overflow occurs when the result of an arithmetical operation is larger than 255 and cannot be
stored in one register. Overflow condition causes the OV bit to be set (1). Otherwise, it will be cleared
(0).
RS0, RS1 - Register bank select bits. These two bits are used to select one of four register banks
of RAM. By setting and clearing these bits, registers R0-R7 are stored in one of four banks of RAM.
7. F0 - Flag 0. This is a general-purpose bit available for use.
AC - Auxiliary Carry Flag is used for BCD operations only.
CY - Carry Flag is the (ninth) auxiliary bit used for all arithmetical operations
and shift instructions.
10. Internal ROM
Microcontroller has a 4 K byte internal ROM. The opcodes of the instruction stored in the ROM.
The opcode fetch from the internal ROM.
13. I/O Ports:
Port 0: Port 0 is 8 bit port. It used as a input port or output port .when used as a output port ,the pin
latches that programmed to a 0 ,if used as a output port ,the pin latches that programmed to a 1.it Also
provide the facility for low order adders bus for external memory.
Port 1: Port 1is 8 bit port. It used as a input port or output port .when used as a output port ,the pin latches
that programmed to a 0 ,if used as a output port ,the pin latches that programmed to a 1.
Port 2: Port 0 is 8 bit port. It used as a input port or output port .when used as a output port ,the pin
latches that programmed to a 0 ,if used as a output port ,the pin latches that programmed to a 1.it Also
provide the facility for high order adders bus for external memory.
Port 3: Port 1is 8 bit port. It used as a input port or output port .when used as a output port ,the pin
latches that programmed to a 0 ,if used as a output port ,the pin latches that programmed to a 1.The
port 3 alternate uses shown in the following table:
14.
15. TIMERS AND COUNTERS
The 8051 comes equipped with two 16 bit timers (T0, T1), both of
which may be controlled, set, read, and configured individually.
The 8051 timers have two general functions:
1 Count internal -acting as timer
2. Count external -acting as counter
All counter action is controlled by the TMOD and the TCON registers.
16. TMOD Register:TMOD Register:
GATE 1 /0 enables and disables Timer 1/0 by means of a signal brought to the
Timer 1 Timer 0
GATE 1 /0 enables and disables Timer 1/0 by means of a signal brought to the
INT1/0 pin (P3.3/P3.2)
1 - Timer 1 operates only if the INT1 bit is set.
0 - Timer 1 operates regardless of the logic state of the INT1 bit.
C/T 1/0 selects pulses to be counted up by the timer/counter 1:
1 - Timer counts pulses from external source ,brought to the T1 pin
(P3.5)(counter)
0 - Timer counts pulses from internal oscillator(timer)
T1M1,T1M0 These two bits select the operational mode of the Timer 1.
20. TCON RegisterTCON Register
TF1 bit is automatically set on the Timer 1 overflow (ie when counting is over)TF1 bit is automatically set on the Timer 1 overflow (ie when counting is over)
TR1 bit enables the Timer 1.
1 - Timer 1 is enabled.
0 - Timer 1 is disabled.
TF0 bit is automatically set on the Timer 0 overflow (ie when counting is over).
TR0 bit enables the timer 0.
1 - Timer 0 is enabled.
0 - Timer 0 is disabled.
21. IE1 – External interrupt 1. set when INT1 is active(pin 3.3).Not related with
timer/counter
IT1 – If IT1 =1 , INT1 is enabled by falling edge signal to generate interrupt
If IT1 =0 , INT1 is enabled by low signal to generate interrupt
IE0 –External interrupt 0. set when INT0 is active(pin 3.2). Not related with
timer/counter
IT0 –If IT1 =1 , INT0 is enabled by falling edge signal to generate interrupt
If IT1 =0 , INT0 is enabled by low signal to generate interrupt
22. UART (Universal Asynchronous Receiver and Transmitter)
SBUF register holds the data
SCON register controls the data communication
PCON register controls data rate
23. Serial Port Control (SCON) Register
SM0 – Serial port mode control bit 0
SM1 – Serial port mode control bit 1
SM2 – Multi processor communication bitSM2 – Multi processor communication bit
- In mode 2 and 3, if set to 1 then interrupt is generated 9th bit of received
data is 1. No interrupt is generated if 9th bit is 0
- In mode 1 , no interrupt is generated until a stop bit is received
- in mode 0,it is cleared
REN- Receive enable control bit . Set to 1,to enable reception.Cleared to 0 to disable
reception
TB8 – transmit bit 8. set and cleared by program in mode 2 and mode 3
RB8 – Receive bit 8. set and cleared by program in mode 2 and mode 3
TI – Transmit interrupt flag
RI - Receive interrupt flag
24.
25. Different mode of serial data transmission
MODE 0
Bit pattern
BAUD RATE = f/12
f:crystal frequency
26. Different mode of serial data transmission
MODE 1
Bit pattern
BAUD RATE = 2SMOD *k* oscillator freq /32*12*[256-TH1]
If SMOD=0 ,then k=1
If SMOD =1, then k =2
f:crystal frequency(11.0592 MHz)
27. Different mode of serial data transmission
MODE 2
Bit pattern
BAUD RATE = f/32,f/64
28. Different mode of serial data transmission
MODE 3
Bit pattern
BAUD RATE = 2SMOD*k*oscillator freq /32*12*[256-TH1]
29. INTERRUPT
Five interrupts are provided in 8051,three of these are generated
automatically by internal operation two interrupts are triggered by external
signals provided by circuitry that is connected to pins INT0 and INT1.
Timer flag interrupt: when a timer and counter overflow the corresponding
timer flag TF0 or TF1 is set to 1.
Serial port interrupt: if a data byte is received an interrupt bit, RI is set
to 1 in the SCON register when a data byte has binn transmitted an
interrupt bit TI is set to be 1.
External interrupt: pins ~INT0 and ~INT1 are used by external circuitry.
Input on these pins can set the interrupt flag IE0 and IE1 in the TCON
reregister to 1 by two different methods.
30.
31. Interrupt Enable RegisterInterrupt Enable Register
EA - global interrupt enable/disable: EX1 - bit enables or disables external 1 interrupt:EA - global interrupt enable/disable:
0 - disables all interrupt requests.
1 - enables all individual interrupt requests.
ET2 - Reserved
ES - enables or disables serial interrupt:
0 - UART system cannot generate an interrupt.
1 - UART system enables an interrupt.
ET1 - bit enables or disables Timer 1 interrupt:
0 - Timer 1 cannot generate an interrupt.
1 - Timer 1 enables an interrupt.
EX1 - bit enables or disables external 1 interrupt:
0 - change of the pin INT1 logic state cannot
generate an interrupt.
1 - enables an external interrupt on the pin INT1
state change.
ET0 - bit enables or disables timer 0 interrupt:
0 - Timer 0 cannot generate an interrupt.
1 - enables timer 0 interrupt.
EX0 - bit enables or disables external 0 interrupt: