Made By Arun Branch 4 th Sem IC

Made By: Arun Branch. 4 th Sem. I&C Engg. Sub. MPMC G. B. N. Govt. Polytechnic, Nilokheri, Karnal

Contents: Introduction Block Diagram and Pin Description of the 8051 Registers Memory mapping in 8051 Stack in the 8051 I/O Port Programming Timer Interrupt

Why do we need to learn Microprocessors/controllers? n n n 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.

Different aspects of a microprocessor/controller n Hardware : Interface to the real world n Software : order how to deal with inputs

The necessary tools for a microprocessor/controller n n n n CPU: Central Processing Unit I/O: Input /Output Bus: Address bus & Data bus Memory: RAM & ROM Timer Interrupt Serial Port Parallel Port

Microprocessors: General-purpose microprocessor n n n CPU for Computers No RAM, ROM, I/O on CPU chip itself Example:Intel’s x 86, Motorola’s 680 x 0 CPU General. Purpose Microprocessor Many chips on mother’s board Data Bus RAM ROM I/O Port Address Bus General-Purpose Microprocessor System Timer Serial COM Port

Microcontroller : n n n A smaller computer On-chip RAM, ROM, I/O ports. . . Example:Motorola’s 6811, Intel’s 8051, Zilog’s Z 8 and PIC 16 X CPU I/O Port RAM ROM Serial Timer COM Port A single chip Microcontroller

Microprocessor vs. Microcontroller Microprocessor • CPU, RAM, ROM, I/O and n CPU is stand-alone, RAM, timer are all on a single chip ROM, I/O, timer are • fix amount of on-chip ROM, separate RAM, I/O ports n designer can decide on the • for applications in which cost, amount of ROM, RAM and power and space are critical I/O ports. • single-purpose n expansive n versatility n general-purpose

Block Diagram External interrupts Interrupt Control On-chip ROM for program code Timer/Counter On-chip RAM Timer 1 Timer 0 CPU OSC Bus Control 4 I/O Ports P 0 P 1 P 2 P 3 Address/Data Serial Port Tx. D Rx. D Counter Inputs

Pin Description of the 8051 P 1. 0 P 1. 1 P 1. 2 P 1. 3 P 1. 4 P 1. 5 P 1. 6 P 1. 7 RST (RXD)P 3. 0 (TXD)P 3. 1 (INT 0)P 3. 2 (INT 1)P 3. 3 (T 0)P 3. 4 (T 1)P 3. 5 (WR)P 3. 6 (RD)P 3. 7 XTAL 2 XTAL 1 GND 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 8051 (8031) 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 Vcc P 0. 0(AD 0 P ) 0. 1(AD 1) P 0. 2(AD 2 P ) 0. 3(AD 3) P 0. 4(AD 4) P 0. 5(AD 5) P 0. 6(AD 6) P 0. 7(AD 7) EA/VPP ALE/PROG PSEN P 2. 7(A 15) P 2. 6(A 14) P 2. 5(A 13) P 2. 4(A 12) P 2. 3(A 11) P 2. 2(A 10) P 2. 1(A 9) P 2. 0(A 8)

Figure (b). Power-On RESET Circuit Vcc + 10 u. F 31 30 p. F 8. 2 K 30 p. F 11. 0592 MHz 19 18 EA/VPP X 1 X 2 9 RST

Port 0 with Pull-Up Resistors Vcc Port 0 P 0. 0 DS 5000 P 0. 1 P 0. 2 8751 P 0. 3 P 0. 4 8951 P 0. 5 P 0. 6 P 0. 7 10 K

Registers A B R 0 DPTR DPH DPL R 1 R 2 PC PC R 3 R 4 R 5 R 6 R 7 Some 8 -bitt Registers of the 8051 Some 8051 16 -bit Register

Stack in the 8051 7 FH n The register used to access the stack is called SP (stack pointer) register. 30 H Scratch pad RAM 2 FH n The stack pointer in the 20 H 8051 is only 8 bits wide, 1 FH which means that it can 18 H 17 H take value 00 to FFH. 10 H When 8051 powered up, 0 FH 08 H the SP register contains 07 H 00 H value 07. Bit-Addressable RAM Register Bank 3 Register Bank 2 (Stack) Register Bank 1 Register Bank 0

Timer: :

Interrupt :

Numerical Bases Used in Programming n Hexadecimal n Binary n BCD

Hexadecimal Basis n Hexadecimal Digits: 1 2 3 4 5 6 7 8 9 A B C D E F A=10 B=11 C=12 D=13 E=14 F=15

Decimal, Binary, BCD, & Hexadecimal Numbers (43)10= (0100 0011)BCD= ( 0010 1011 )2 = ( 2 B )16

Register Addressing Mode MOV Rn, A ; n=0, . . , 7 ADD A, Rn MOV DPL, R 6 MOV DPTR, A MOV Rm, Rn

Direct Addressing Mode Although the entire of 128 bytes of RAM can be accessed using direct addressing mode, it is most often used to access RAM loc. 30 – 7 FH. MOV R 0, 40 H MOV 56 H, A MOV A, 4 MOV 6, 2 ; ≡ MOV A, R 4 ; copy R 2 to R 6 ; MOV R 6, R 2 is invalid !

Immediate Addressing Mode MOV A, #65 H MOV R 6, #65 H MOV DPTR, #2343 H MOV P 1, #65 H

SETB bit CLR bit ; bit=1 ; bit=0 SETB SETB ; CY=1 ; bit 0 from port 0 =1 ; bit 7 from port 3 =1 ; bit 2 from ACCUMULATOR =1 ; set high D 5 of RAM loc. 20 h C P 0. 0 P 3. 7 ACC. 2 05 Note: CLR instruction is as same as SETB i. e. : CLR C ; CY=0 But following instruction is only for CLR: CLR A ; A=0

DEC INC byte ; byte=byte-1 ; byte=byte+1 INC DEC R 7 A 40 H ; [40]=[40]-1

LOOP and JUMP Instructions Conditional Jumps : JZ Jump if A=0 JNZ Jump if A/=0 DJNZ Decrement and jump if A/=0 CJNE A, byte Jump if A/=byte CJNE reg, #data Jump if byte/=#data JC Jump if CY=1 JNC Jump if CY=0 JB Jump if bit=1 JNB Jump if bit=0 JBC Jump if bit=1 and clear bit

Call instruction SETB P 0. 0. . CALL UP. . . UP: CLR P 0. 0. . RET
- Slides: 26