8051 microcontroller and it’s interface
-
Upload
abhishek-choksi -
Category
Engineering
-
view
216 -
download
2
Transcript of 8051 microcontroller and it’s interface
![Page 1: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/1.jpg)
Gandhinagar Institute Of Technology
Subject – Microprocessor & Microcontroller Interfacing (2150907)
Branch – Electrical
Topic – 8051 microcontroller and It’s Interface
![Page 2: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/2.jpg)
Name Enrollment No.
Abhishek Chokshi 140120109005
Himal Desai 140120109008
Harsh Dedakia 140120109012
Guided By – Prof. Supraja Ma’am
![Page 3: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/3.jpg)
Why do we need to learn Microprocessors/controllers?
• The microprocessor is the core of computer systems.• Nowadays many communication, digital
entertainment, portable devices, are controlled by them.
• A designer should know what types of components he needs, ways to reduce production costs and product reliable.
![Page 4: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/4.jpg)
Three criteria in Choosing a Microcontroller
• meeting the computing needs of the task efficiently and cost effectively– speed, the amount of ROM and RAM, the number of I/O ports
and timers, size, packaging, power consumption– easy to upgrade– cost per unit– Noise of environment
• availability of software development tools– assemblers, debuggers, C compilers, emulator, simulator,
technical support
• wide availability and reliable sources of the microcontrollers
![Page 5: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/5.jpg)
Block Diagram
CPU
InterruptControl
OSC BusControl
4kROM
Timer 1Timer 2
Serial
128 bytes RAM
4 I/O Ports
TXD RXD
External Interrupts
P0 P2 P1 P3Addr/Data
![Page 6: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/6.jpg)
8051 Internal Block Diagram8051 Internal Block Diagram
![Page 7: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/7.jpg)
8051 Basic Component• 4K bytes internal ROM• 128 bytes internal RAM• Four 8-bit I/O ports (P0 - P3).• Two 16-bit timers/counters• One serial interface
RAM
I/O Port Timer
Serial COM Port
Microcontroller
CPUA single chip
ROM
![Page 8: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/8.jpg)
1
23
45
6
7
8
9
10
11
1213
14
15
16
17
18
1920
40
3938
3736
35
34
33
32
31
30
2928
27
26
25
24
23
2221
P1.0
P1.1P1.2
P1.3P1.4
P1.5
P1.6
P1.7
RST(RXD)P3.0
(TXD)P3.1
(T0)P3.4
(T1)P3.5
XTAL2
XTAL1GND
(INT0)P3.2
(INT1)P3.3
(RD)P3.7
(WR)P3.6
Vcc
P0.0(AD0)P0.1(AD1)
P0.2(AD2)P0.3(AD3)
P0.4(AD4)
P0.5(AD5)
P0.6(AD6)
P0.7(AD7)
EA/VPPALE/PROG
PSENP2.7(A15)
P2.6(A14)P2.5(A13)P2.4(A12)P2.3(A11)P2.2(A10)
P2.1(A9)
P2.0(A8)
8051(8031)(8751)(8951)
![Page 9: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/9.jpg)
Port 0( pins 32-39)
• When connecting an 8051 to an external memory, the 8051 uses ports to send addresses and read instructions.
– 16-bit address: P0 provides both address A0-A7, P2 provides address A8-A15.
– Also, P0 provides data lines D0-D7.
• When P0 is used for address/data multiplexing, it is connected to the 74LS373 to latch the address.
I/O Port Programming
Pins of 8051
![Page 10: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/10.jpg)
Port 2 (pins 21 through 28)
• Port 2 occupies a total of 8 pins.
• It can be used as input or output.
• Port 2 does not need any pull-up resistors since it already has pull-up resistors internally.
• Upon reset, port 2 is configured as an input port.
Port 1 is denoted by P1.P1.0 ~ P1.7P1 as an output port (i.e., write CPU data to the external pin)P1 as an input port (i.e., read pin data into CPU bus)
Port 1 ( pins 1-8 )
![Page 11: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/11.jpg)
Port 3 ( pins 10-17 )
• Although port 3 is configured as an output port upon reset, this is not the way it is most commonly used.
• Port 3 has the additional function of providing signals.
– Serial communications signal : RxD, TxD
– External interrupt : /INT0, /INT1
– Timer/counter : T0, T1
– External memory accesses : /WR, /RD
![Page 12: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/12.jpg)
• Vcc ( pin 40 ):– Vcc provides supply voltage to the chip.
– The voltage source is +5V.
• GND ( pin 20 ): ground
• XTAL1 and XTAL2 ( pins 19,18 ):– These 2 pins provide external clock.
• RST ( pin 9 ): reset
– It is an input pin and is active high ( normally low ) .
• Upon applying a high pulse to RST, the microcontroller will reset and all values in registers will be lost.
![Page 13: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/13.jpg)
• /EA ( pin 31 ): external access
– The /EA pin is connected to GND to indicate the code is stored externally.
– For 8051, /EA pin is connected to Vcc.
– “/” means active low.
• /PSEN ( pin 29 ): program store enable
– This is an output pin and is connected to the OE pin of the ROM
• ALE ( pin 30 ): address latch enable
– It is an output pin and is active high.
– 8051 port 0 provides both address and data.
– The ALE pin is used for de-multiplexing the address and data by connecting to the G pin of the 74LS373 latch.
• I/O port pins
– The four ports P0, P1, P2, and P3.
– Each port uses 8 pins.
– All I/O pins are bi-directional.
![Page 14: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/14.jpg)
![Page 15: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/15.jpg)
• They are both 16 bit registers.• Each is to hold the address of a byte in memory• PC contains the address of the next instruction to be
executed.• DPTR is made up of two 8 bit register DPH and DPL;• DPTR contains the address of internal & external code and
data that has to be accessed.
Program Counter & Data Pointer
![Page 16: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/16.jpg)
A and B CPU registers
• Totally 34 general purpose registers or working registers.• Two of these A and B hold results of many instructions,
particularly math and logical operations of 8051 cpu.• The other 32 are in four banks,B0 – B3 of eight registers each.• A(accumulator) is used for
addition,subtraction,mul,div,boolean bit manipulation and for data transfers.
• But B register can only be used for mul and div operations.
![Page 17: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/17.jpg)
Stack Pointer
• The register used to access the stack is called SP (stack pointer) register.
• The stack pointer in the 8051 is only 8 bits wide, which means that it can take value 00 to FFH. When 8051 powered up, the SP register contains value 07.
7FH
30H
2FH
20H1FH
17H10H
0FH
07H
08H
18H
00HRegister Bank 0
)Stack) Register Bank 1
Register Bank 2
Register Bank 3
Bit-Addressable RAM
Scratch pad RAM
![Page 18: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/18.jpg)
PSW (program status word) register
![Page 19: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/19.jpg)
Instruction Timing
• One “machine cycle” = 6 states (S1 - S6)• One state = 2 clock cycles– One “machine cycle” = 12 clock cycles
• Instructions take 1 - 4 cycles– e.g. 1 cycle instructions: ADD, MOV, SETB, NOP– e.g. 2 cycle instructions: JMP, JZ– 4 cycle instructions: MUL, DIV
![Page 20: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/20.jpg)
![Page 21: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/21.jpg)
• RAM memory space allocation in the 8051
7FH
30H
2FH
20H
1FH
17H
10H
0FH
07H
08H
18H
00HRegister Bank 0
)Stack) Register Bank 1
Register Bank 2
Register Bank 3
Bit-Addressable RAM
Scratch pad RAM
Memory Organization
![Page 22: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/22.jpg)
Address Multiplexing for External Memory
Accessing external code memory
![Page 23: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/23.jpg)
Accessing External Data Memory
Interface to 1K RAM
![Page 24: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/24.jpg)
Timers/Counters
• A timer is a counter that is increased with every time an instruction is executed e.g. 8051 with 12MHz increases a counter every 1.000 µs
• General 8051 has 3 timer:– 2 16-bit timer– 1 16-bit timer with extra-
functionality (introduced with the 8052)
Timer/Counter Mode Control Register TMOD
Timer/Counter Control Register TCON
![Page 25: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/25.jpg)
Uses of Timers & Counters
- Interval Timing- Periodic event timing- Time base for measurements- Event Counting-Baud Rate Generation
8051 Timers
- 2 timers (Timer 0 and Timer 1)- 16-bit timers (65,535) max- Flag is set when the timer overflows-Timers can be based on internal clock (OSC/6) or from external source (counter mode).TMOD - Timer/Counter mode registerTCON - Timer/Counter control register
![Page 26: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/26.jpg)
TMOD Register:
• Gate : When set, timer only runs while INT(0,1) is high.
• C/T : Counter/Timer select bit.
• M1 : Mode bit 1.• M0 : Mode bit 0.
![Page 27: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/27.jpg)
TCON Register:
• TF1: Timer 1 overflow flag. TR1: Timer 1 run control bit.• TF0: Timer 0 overflag. TR0: Timer 0 run control bit.• IE1: External interrupt 1 edge flag. IT1: External interrupt 1 type flag.• IE0: External interrupt 0 edge flag. IT0: External interrupt 0 type flag.
• TF: Overflow flag
– Set by hardware on Timer/Counter overflow
– Cleared by hardware when processor vectors to interrupt routine
• TR: Run control bit
– Set/Cleared by software to turn Timer/Counter on/off
• IE: Interrupt Edge flag
– Set by hardware when external interrupt edge detected
– Cleared when interrupt processed
• IT: Interrupt Type control bit
– Set/Cleared by software to specify falling edge/low level triggered external interrupts
![Page 28: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/28.jpg)
Timer Modes
Mode 0: 13-Bit Timer
- Lower byte (TL0/TL1) + 5 bits of upper bytes (TH0/TH1).- Backward compatible to the 8048- Not generally used
![Page 29: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/29.jpg)
Mode 1: 16-bit
- All 16 bits of the timer (TH0/TL0, TH1,TL1) are used.- Maximum count is 65,536-At 12Mhz, maximum interval is 65536 microseconds or 65.536 milliseconds- TF0 must be reset after each overflow- THx / TLx must be manually reloaded after each overflow.
Mode 2: 8-bit Auto Reload
- Only the lower byte (TLx) is used for counting.- Upper byte (THx) holds the value to reload into TLx after an overflow.- TFx must be manually cleared.- Maximum count is 256- Maximum interval is 256 Microseconds or .256 milliseconds
![Page 30: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/30.jpg)
Mode 3- Split Timer
- Splits Timer 0 into two 8-bit timers- TL0 sets TF0- TH0 sets TF1- Timer 1 is available for other 3 modes, but the TF1 is not available.
![Page 31: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/31.jpg)
Advantages of Microcontroller based System
• As the peripherals are integrated into a single chip, the overall system cost is very less
• The product is of small size compared to micro processor based system
• The system design now requires very little efforts
• As the peripherals are integrated with a microprocessor the system is more reliable
• Though microcontroller may have on chip ROM,RAM and I/O ports, addition ROM, RAM I/O ports may be interfaced externally if required
• On chip ROM provide a software security
![Page 32: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/32.jpg)
Disadvantages of microprocessor
• The overall system cost is high
• A large sized PCB is required for assembling all the components
• Overall product design requires more time
• Physical size of the product is big
• A discrete components are used, the system is not reliable
![Page 33: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/33.jpg)
Edsim51 Simulator diagram
![Page 34: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/34.jpg)
References• www.wikipedia.org• https://iitg.vlab.co.in/• https://coep.vlab.co.in/• https://www.youtube.com/watch?v=95uGOJ1Ud2c&list=PLJGA4olwzpA-rvcdWULcRuMn2495g0n8j• Techmax Publication
![Page 35: 8051 microcontroller and it’s interface](https://reader033.fdocuments.in/reader033/viewer/2022051007/58f176e31a28ab58288b4631/html5/thumbnails/35.jpg)