1192020 Mahdi Hassanpour Contents Introduction Block Diagram and
11/9/2020 Mahdi Hassanpour
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 11/9/2020 Mahdi Hassanpour
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. 11/9/2020 Mahdi Hassanpour
Different aspects of a microprocessor/controller § Hardware : Interface to the real world § Software : order how to deal with inputs 11/9/2020 Mahdi Hassanpour
The necessary tools for a microprocessor/controller § § § § CPU: Central Processing Unit I/O: Input /Output Bus: Address bus & Data bus Memory: RAM & ROM Timer Interrupt Serial Port Parallel Port 11/9/2020 Mahdi Hassanpour
Microprocessors: General-purpose microprocessor § 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 11/9/2020 Mahdi Hassanpour Timer Serial COM Port
Microcontroller : § 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 11/9/2020 RAM ROM Serial Timer COM Port A single chip Microcontroller Mahdi Hassanpour
Microprocessor vs. Microcontroller Microprocessor § CPU is stand-alone, RAM, ROM, I/O, timer are separate § designer can decide on the amount of ROM, RAM and I/O ports. § expansive § versatility § general-purpose 11/9/2020 Microcontroller • CPU, RAM, ROM, I/O and timer are all on a single chip • fix amount of on-chip ROM, RAM, I/O ports • for applications in which cost, power and space are critical • single-purpose Mahdi Hassanpour
Embedded System § Embedded system means the processor is embedded into that application. § An embedded product uses a microprocessor or microcontroller to do one task only. § In an embedded system, there is only one application software that is typically burned into ROM. § Example:printer, keyboard, video game player 11/9/2020 Mahdi Hassanpour
Three criteria in Choosing a Microcontroller 1. 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 2. availability of software development tools • assemblers, debuggers, C compilers, emulator, simulator, technical support 3. wide availability and reliable sources of the microcontrollers. 11/9/2020 Mahdi Hassanpour
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 11/9/2020 Mahdi Hassanpour Serial Port Tx. D Rx. D Counter Inputs
11/9/2020 Mahdi Hassanpour
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 11/9/2020 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 8051 (8031) Mahdi Hassanpour 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)
Pins of 8051(1/4) § Vcc(pin 40): – Vcc provides supply voltage to the chip. – The voltage source is +5 V. § GND(pin 20):ground § XTAL 1 and XTAL 2(pins 19, 18) 11/9/2020 Mahdi Hassanpour
Figure (a). XTAL Connection to 8051 § Using a quartz crystal oscillator § We can observe the frequency on the XTAL 2 pin. C 2 XTAL 2 30 p. F C 1 XTAL 1 30 p. F GND 11/9/2020 Mahdi Hassanpour
Pins of 8051(2/4) § RST(pin 9):reset – It is an input pin and is active high(normally low). § The high pulse must be high at least 2 machine cycles. – It is a power-on reset. § Upon applying a high pulse to RST, the microcontroller will reset and all values in registers will be lost. § Reset values of some 8051 registers 11/9/2020 Mahdi Hassanpour
Figure (b). Power-On RESET Circuit Vcc + 10 u. F 31 30 p. F 8. 2 K 11. 0592 MHz 19 18 30 p. F EA/VPP X 1 X 2 9 RST 11/9/2020 Mahdi Hassanpour
Pins of 8051(3/4) § /EA(pin 31):external access – There is no on-chip ROM in 8031 and 8032. – The /EA pin is connected to GND to indicate the code is stored externally. – /PSEN & ALE are used for external ROM. – 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. 11/9/2020 Mahdi Hassanpour
Pins of 8051(4/4) § 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 74 LS 373 latch. § I/O port pins – The four ports P 0, P 1, P 2, and P 3. – Each port uses 8 pins. – All I/O pins are bi-directional. 11/9/2020 Mahdi Hassanpour
Pins of I/O Port § The 8051 has four I/O ports – Port 0 (pins 32 -39):P 0(P 0. 0~P 0. 7) – Port 1(pins 1 -8) :P 1(P 1. 0~P 1. 7) – Port 2(pins 21 -28):P 2(P 2. 0~P 2. 7) – Port 3(pins 10 -17):P 3(P 3. 0~P 3. 7) – Each port has 8 pins. § Named P 0. X (X=0, 1, . . . , 7), P 1. X, P 2. X, P 3. X § Ex:P 0. 0 is the bit 0(LSB)of P 0 § Ex:P 0. 7 is the bit 7(MSB)of P 0 § These 8 bits form a byte. § Each port can be used as input or output (bi-direction). 11/9/2020 Mahdi Hassanpour
Hardware Structure of I/O Pin § Each pin of I/O ports – Internal CPU bus:communicate with CPU – A D latch store the value of this pin § D latch is controlled by “Write to latch” – Write to latch= 1:write data into the D latch – 2 Tri-state buffer: § TB 1: controlled by “Read pin” – Read pin= 1:really read the data present at the pin § TB 2: controlled by “Read latch” – Read latch= 1:read value from internal latch – A transistor M 1 gate § Gate=0: open § Gate=1: close 11/9/2020 Mahdi Hassanpour
D Latch: 11/9/2020 Mahdi Hassanpour
A Pin of Port 1 Read latch TB 2 Vcc Load(L 1) Internal CPU bus D Write to latch Clk P 1. X pin Q P 1. X Q M 1 TB 1 P 0. x Read pin 8051 IC 11/9/2020 Mahdi Hassanpour
Writing “ 1” to Output Pin P 1. X Read latch Vcc TB 2 Load(L 1) 2. output pin is Vcc 1. write a 1 to the pin Internal CPU bus D Write to latch Clk 1 Q P 1. X pin P 1. X Q 0 M 1 TB 1 Read pin 8051 IC 11/9/2020 Mahdi Hassanpour output 1
Writing “ 0” to Output Pin P 1. X Read latch Vcc TB 2 Load(L 1) 2. output pin is ground 1. write a 0 to the pin Internal CPU bus D Write to latch Clk 0 Q P 1. X pin P 1. X Q 1 M 1 TB 1 Read pin 8051 IC 11/9/2020 Mahdi Hassanpour output 0
Reading “High” at Input Pin Read latch 1. TB 2 write a 1 to the pin MOV P 1, #0 FFH Internal CPU bus 2. MOV A, P 1 Vcc external pin=High Load(L 1) D 1 Q 1 P 1. X Write to latch Clk 0 Q M 1 TB 1 Read pin 3. Read pin=1 Read latch=0 Write to latch=1 11/9/2020 8051 IC Mahdi Hassanpour P 1. X pin
Reading “Low” at Input Pin Read latch 1. Vcc write a 1 to the pin 2. MOV A, P 1 TB 2 Load(L 1) external pin=Low MOV P 1, #0 FFH Internal CPU bus D 1 Q 0 P 1. X Write to latch Clk Q 0 M 1 TB 1 Read pin 3. Read pin=1 Read latch=0 Write to latch=1 11/9/2020 8051 IC Mahdi Hassanpour P 1. X pin
Other Pins § P 1, P 2, and P 3 have internal pull-up resisters. – P 1, P 2, and P 3 are not open drain. § P 0 has no internal pull-up resistors and does not connects to Vcc inside the 8051. – P 0 is open drain. – Compare the figures of P 1. X and P 0. X. § However, for a programmer, it is the same to program P 0, P 1, P 2 and P 3. § All the ports upon RESET are configured as output. 11/9/2020 Mahdi Hassanpour
A Pin of Port 0 Read latch TB 2 Internal CPU bus D Write to latch Clk P 0. X pin Q P 1. X Q M 1 TB 1 P 1. x Read pin 8051 IC 11/9/2020 Mahdi Hassanpour
Port 0 with Pull-Up Resistors Vcc 10 K 11/9/2020 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 Mahdi Hassanpour
Port 3 Alternate Functions 11/9/2020 P 3 Bit Function Pin P 3. 0 P 3. 1 P 3. 2 P 3. 3 P 3. 4 P 3. 5 P 3. 6 P 3. 7 Rx. D Tx. D INT 0 INT 1 T 0 T 1 WR RD 10 11 12 13 14 15 16 17 Mahdi Hassanpour
RESET Value of Some 8051 Registers: Register PC ACC B PSW SP DPTR Reset Value 0000 0007 0000 RAM are all zero. 11/9/2020 Mahdi Hassanpour
Registers A B R 0 DPTR DPH DPL R 1 R 2 PC PC R 3 R 4 Some 8051 16 -bit Register R 5 R 6 R 7 Some 8 -bitt Registers of the 8051 11/9/2020 Mahdi Hassanpour
Memory mapping in 8051 § ROM memory map in 8051 family 4 k 0000 H 8 k 32 k 0000 H 0 FFFH DS 5000 -32 8751 AT 89 C 51 1 FFFH 8752 AT 89 C 52 7 FFFH from Atmel Corporation 11/9/2020 Mahdi Hassanpour from Dallas Semiconductor
§ RAM memory space allocation in the 8051 7 FH Scratch pad RAM 30 H 2 FH Bit-Addressable RAM 20 H 1 FH Register Bank 3 18 H 17 H Register Bank 2 10 H 0 FH 08 H (Stack) Register Bank 1 07 H Register Bank 0 00 H 11/9/2020 Mahdi Hassanpour
Stack in the 8051 § The register used to access the stack is called SP (stack pointer) register. 7 FH Scratch pad RAM 30 H § 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. 11/9/2020 2 FH Bit-Addressable RAM 20 H 1 FH 18 H 17 H 10 H 0 FH 08 H 07 H 00 H Mahdi Hassanpour Register Bank 3 Register Bank 2 (Stack) Register Bank 1 Register Bank 0
Timer : 11/9/2020 Mahdi Hassanpour
11/9/2020 Mahdi Hassanpour
TMOD Register: § Gate : When set, timer only runs while INT(0, 1) is high. § C/T : Counter/Timer select bit. § M 1 : Mode bit 1. § M 0 : Mode bit 0. 11/9/2020 Mahdi Hassanpour
TCON Register: § § § § TF 1: Timer 1 overflow flag. TR 1: Timer 1 run control bit. TF 0: Timer 0 overflag. TR 0: Timer 0 run control bit. IE 1: External interrupt 1 edge flag. IT 1: External interrupt 1 type flag. IE 0: External interrupt 0 edge flag. IT 0: External interrupt 0 type flag. 11/9/2020 Mahdi Hassanpour
Interrupt : 11/9/2020 Mahdi Hassanpour
Interrupt Enable Register : § EA : Global enable/disable. § --- § § § ET 2 : Enable Timer 2 interrupt. ES : Enable Serial port interrupt. ET 1 : Enable Timer 1 interrupt. EX 1 : Enable External 1 interrupt. ET 0 : Enable Timer 0 interrupt. EX 0 : Enable External 0 interrupt. 11/9/2020 : Undefined. Mahdi Hassanpour
Resarcher § Tamiz toosi § Parvaresh nia 11/9/2020 Mahdi Hassanpour
Dear Teacher § Mr Tabrizi 11/9/2020 Mahdi Hassanpour
- Slides: 44