ROM Organization of Microcontroller 8051 | ROM Memory of 8051 | 8051 Memory Organization

Engineering Funda
16 Aug 202209:37

Summary

TLDRThis video lecture delves into the ROM organization of the 8051 microcontroller, explaining its internal 4KB ROM and the capacity to interface with an additional 64KB of external ROM. It clarifies the Harvard architecture, distinguishing between non-volatile program memory (ROM) and volatile data memory (RAM), essential for various embedded applications. The video also discusses how to utilize the EA^ bar pin for selecting between internal and external ROM, emphasizing the flexibility of memory management in the 8051 microcontroller.

Takeaways

  • πŸ˜€ The 8051 microcontroller has a built-in 4 KB ROM and can interface with an additional 64 KB of external ROM.
  • πŸ” The 8051 microcontroller features 128 bytes of internal RAM and can interface with up to 64 KB of external RAM.
  • πŸ›οΈ The 8051 follows the Harvard architecture, which means it has separate memory spaces for program and data.
  • πŸ“ Program memory in ROM is non-volatile and fixed, while data memory in RAM is volatile and can change based on the application.
  • πŸ”‘ The EA/VPP pin determines the use of internal ROM; setting it to logic one indicates the use of the internal 4 KB ROM.
  • πŸ“ The internal ROM has a fixed address range from 0x0000 to 0x0FFF in hexadecimal.
  • 🌐 When using both internal and external ROM, the external ROM can be up to 64 KB and starts from address 0x1000 onwards.
  • πŸ”„ The external ROM's address range can be determined by the programmer and can go up to 0xFFFF in hexadecimal.
  • πŸ› οΈ The 8051 is used in various embedded applications such as remote controls, microwave ovens, and washing machine timing controls.
  • πŸ“Œ Fixed data like ASCII codes and seven-segment display data are stored in ROM because they are non-volatile and do not change.
  • πŸ”„ Data that changes during program execution, such as temperature or time data, is stored in RAM as it is volatile.

Q & A

  • What is the ROM organization of the microcontroller 8051?

    -The microcontroller 8051 has an internal ROM of 4 KB and can interface externally with up to 64 KB of ROM.

  • What is the size of the internal RAM in the 8051 microcontroller?

    -The internal RAM of the 8051 microcontroller is 128 bytes in size.

  • How much external RAM can be interfaced with the 8051 microcontroller?

    -Up to 64 KB of external RAM can be interfaced with the 8051 microcontroller.

  • What is the Harvard architecture, as it relates to the 8051 microcontroller?

    -The Harvard architecture used by the 8051 microcontroller means it has separate program memory (ROM) and data memory (RAM), with program memory being non-volatile and data memory being volatile.

  • Why is the program memory in the 8051 considered non-volatile?

    -The program memory is non-volatile because the program instructions are fixed and do not change, unlike data which can vary with different applications and is stored in volatile RAM.

  • What is the significance of the EA/VPP pin in the context of the 8051 microcontroller's ROM usage?

    -The EA/VPP pin determines whether the 8051 microcontroller uses its internal ROM. When set to logic one (connected to VCC), it indicates the use of internal ROM. If set to zero, it signifies the use of only external ROM.

  • What happens when the EA/VPP pin is not connected to VCC in the 8051 microcontroller?

    -If the EA/VPP pin is not connected to VCC (set to zero), the 8051 microcontroller will not use its internal ROM and will rely solely on external ROM.

  • What is the default address range of the internal ROM in the 8051 microcontroller?

    -The default address range of the internal ROM in the 8051 microcontroller is from 0000h to 0FFFh.

  • Can the 8051 microcontroller use both internal and external ROMs simultaneously?

    -Yes, the 8051 microcontroller can use both internal and external ROMs, but the internal ROM must be enabled by setting the EA/VPP pin to logic one.

  • Why might a programmer choose to use only external ROM in the 8051 microcontroller?

    -A programmer might choose to use only external ROM if they require more memory than the internal 4 KB ROM provides, or if they need a specific size of ROM that is not available as a single IC, such as 60 KB.

  • What is the maximum size of external ROM that can be interfaced with the 8051 microcontroller?

    -The maximum size of external ROM that can be interfaced with the 8051 microcontroller is 64 KB.

Outlines

00:00

πŸ“š Introduction to Microcontroller 8051 ROM Organization

This paragraph introduces the topic of the video lecture series on the microcontroller 8051, focusing on its ROM organization. It explains that the 8051 microcontroller has an internal ROM of 4 KB, with the capability to interface externally with up to 64 KB of ROM. The speaker emphasizes the importance of understanding the memory organization within the 8051 and outlines the basic categories of memory: internal ROM, external ROM, internal RAM, and external RAM. The paragraph also introduces the Harvard architecture of the 8051, distinguishing between non-volatile program memory (ROM) and volatile data memory (RAM), and gives examples of applications where the 8051 is used, such as in remote controls and microwave ovens, to illustrate the concept of fixed programs and changing data.

05:01

πŸ” Deep Dive into 8051 ROM Architecture and External Memory Interfacing

The second paragraph delves deeper into the ROM architecture of the 8051 microcontroller, explaining how to interface with external memory and the role of the EA/VPP pin in determining whether to use internal ROM. It details the default address range for internal ROM and how to extend this with external ROM, which can go up to 64 KB. The paragraph clarifies the use of the EA/VPP pin: setting it to logic one indicates the use of internal ROM, while setting it to zero signifies reliance solely on external ROM. It also addresses the practicality of ROM sizes available in the market, explaining why one might choose to use both internal and external ROMs, and the flexibility this provides in designing embedded systems with the 8051 microcontroller. The speaker invites any students with questions to post them in the comment box for further clarification.

Mindmap

Keywords

πŸ’‘Microcontroller 8051

The Microcontroller 8051, often referred to simply as '8051', is a widely used 8-bit microcontroller developed by Intel in the late 1970s. It is the central theme of the video, as the script discusses its ROM organization. The 8051 is known for its Harvard architecture, which separates program memory (ROM) and data memory (RAM), allowing for efficient execution of embedded systems applications.

πŸ’‘ROM Organization

ROM Organization refers to the structure and layout of Read-Only Memory within a microcontroller. In the context of the 8051, it is the internal and external memory configuration that the video script explains. The 8051 has 4 KB of internal ROM, with the capability to interface with an additional 64 KB of external ROM, which is crucial for expanding the microcontroller's program storage capacity.

πŸ’‘Internal ROM

Internal ROM is the built-in, non-volatile memory found within the 8051 microcontroller, which stores the microcontroller's firmware or program code. The script mentions that the 8051 has 4 KB of internal ROM, which is fixed and does not change, serving as the primary storage for the microcontroller's instructions.

πŸ’‘External ROM

External ROM is memory that can be added to the 8051 microcontroller beyond its internal capacity. The video script explains that up to 64 KB of external ROM can be interfaced with the 8051, allowing for larger programs to be stored and executed. This is particularly useful for more complex embedded applications.

πŸ’‘Internal RAM

Internal RAM refers to the volatile memory within the 8051 microcontroller that is used for temporary data storage. The script specifies that the 8051 has 128 bytes of internal RAM, which is essential for holding data that changes during program execution, such as variables and intermediate results.

πŸ’‘External RAM

External RAM is additional memory that can be interfaced with the 8051 microcontroller to supplement its internal RAM. The video script mentions that up to 64 KB of external RAM can be connected to the 8051, providing more space for data storage in applications that require handling large amounts of data.

πŸ’‘Harvard Architecture

The Harvard architecture is a computer architecture that uses separate memory spaces for instructions and data, allowing them to be accessed simultaneously. The video script explains that the 8051 microcontroller follows this architecture, which means it has separate program memory (ROM) and data memory (RAM), enhancing its efficiency in embedded systems.

πŸ’‘EA/VPP Pin

The EA/VPP pin is a crucial pin on the 8051 microcontroller that determines the use of the internal ROM. The script explains that setting this pin to a logic high (1) enables the use of the internal ROM, while setting it to a logic low (0) indicates that only external ROM will be used, effectively discarding the internal ROM.

πŸ’‘Non-Volatile Memory

Non-volatile memory is a type of memory that retains data even when power is not supplied. In the context of the 8051, the internal ROM is non-volatile, meaning the program code stored in it remains intact even when the microcontroller is powered off, as mentioned in the script.

πŸ’‘Volatile Memory

Volatile memory is memory that loses its data when power is turned off. The script refers to the internal RAM of the 8051 as volatile, indicating that the data stored in it is temporary and will be lost if the power is not maintained.

πŸ’‘Embedded Applications

Embedded applications are specialized computer programs designed for specific tasks within embedded systems. The video script provides examples of such applications, including remote controls, microwave ovens, and washing machine timing controls, which utilize the 8051 microcontroller for their operation.

Highlights

Introduction to the ROM organization of the microcontroller 8051.

The 8051 microcontroller has an internal ROM of 4 KB and supports interfacing with an external ROM of up to 64 KB.

Understanding the memory organization within the 8051 microcontroller is essential for students.

8051 has four different categories of memory: internal ROM, external ROM, internal RAM, and external RAM.

The 8051 microcontroller follows the Harvard architecture, separating program and data memory.

Program memory in ROM is non-volatile, while data memory in RAM is volatile.

The reason for the use of volatile data memory is the changing nature of data in various applications.

8051 is used in many embedded applications such as remote controls, microwave ovens, and washing machine timing controls.

Program stored in ROM is fixed and does not change, unlike data stored in RAM which may vary with application.

Fixed data such as ASCII codes and seven-segment display data is stored in ROM due to its non-volatile nature.

The EA/VPP pin configuration determines the use of internal ROM in the 8051 microcontroller.

When using only external ROM, the EA/VPP pin should be set to 0, and the external ROM can have a maximum size of 64 KB.

The internal ROM has a fixed address range from 0000h to FFFFh when EA/VPP is set to 1.

When interfacing external ROM, the address range can be decided by the programmer, starting from 1000h to FFFFh.

The flexibility of the 8051 microcontroller allows for the use of internal ROM, external ROM, or a combination of both.

The video offers to help clarify any confusion regarding ROM architecture in the 8051 microcontroller.

Transcripts

play00:00

welcome to engineering funda family this

play00:02

video is a part of microcontroller 8051

play00:05

video lecture series and in this video

play00:06

i'll be going to explain you

play00:08

rom organization of microcontroller 8051

play00:12

my dear students there are few basic

play00:14

things that you should understand

play00:16

see

play00:17

the single chip of microcontroller 8051

play00:20

that is having 4 kb of rom

play00:24

but

play00:25

here we can interface

play00:27

externally 64 kb of rom

play00:31

and whenever you interface external

play00:33

memory

play00:34

at that time there are few things that

play00:36

you need to keep in your mind that is

play00:38

what i'll be explaining you in this

play00:39

video

play00:40

but before that you should understand

play00:42

how memory organization is there inside

play00:45

microcontroller 8051 so all the basics

play00:48

regarding memory that i'll be explaining

play00:50

you in this video step by step so let us

play00:52

see all those things one by one so here

play00:55

my dear students

play00:57

first of all you should understand that

play00:59

8051

play01:00

that is having four different categories

play01:03

of memories

play01:04

here

play01:05

internal rom is there which is having

play01:07

size of 4 kb with 8 0 5 1

play01:10

as well as externally we can interface

play01:14

64 kb of rom with 8051

play01:18

and

play01:19

8051 that is having internal ram of size

play01:22

of 128 bytes

play01:25

here my dear students externally we can

play01:28

interface

play01:29

64 kb of ram with 8051 so in total there

play01:33

can be four different categories of

play01:36

memories

play01:37

these two memories internal memories

play01:39

that is already there with eight zero

play01:41

five one but as if programmer is having

play01:43

need of some extra memory then

play01:46

programmer can

play01:48

interface external ram and rom with

play01:51

eight zero five one

play01:52

here few more things that you need to

play01:54

understand like architecture of 8051

play01:57

microcontroller

play01:59

8051 microcontroller follows harvard

play02:02

architecture howard architecture means

play02:04

what howard architecture means here we

play02:07

have separate program memory and

play02:10

separate data memory

play02:12

obviously program memory which will be

play02:14

having instructions that we will be

play02:16

having with rom it should be

play02:18

non-volatile

play02:19

while data memory that will be there

play02:22

with ram that could be volatile

play02:24

let me try to explain you why it is like

play02:27

this the reason is

play02:29

see whatever program that we have for

play02:32

this microcontroller that should be

play02:35

fixed right it will never change it will

play02:37

just execute instructions one by one

play02:40

but data may change so in various

play02:43

applications you will be having

play02:45

different data so you may need to change

play02:47

the data with respect to execution of

play02:49

program that's why

play02:50

data will be volatile that will be

play02:53

storing inside ram

play02:55

let me explain you further how things

play02:57

are there with eight zero five one so

play02:59

when we talk about applications then you

play03:01

should know eight zero one that we use

play03:04

it with many embedded applications those

play03:07

applications may be remote control it

play03:09

may be there based on microwave own it

play03:11

may be there with washing machine timing

play03:13

control so likewise there are many

play03:16

embedded applications which is

play03:18

practically available with eight zero

play03:20

five one microcontroller

play03:22

here my dear students

play03:24

when you use eight zero five one in

play03:26

application at a time you should

play03:29

understand few basic things like

play03:31

whatever program that we store inside

play03:34

memory that should be fixed right you

play03:37

cannot change program so that will be

play03:39

there inside rom

play03:41

but data may change with respect to

play03:43

application that will be temporarily

play03:46

stored inside memory that's why it

play03:48

should be there with ram

play03:50

like for example

play03:52

when you store temperature as a data

play03:55

obviously data will change like for

play03:57

example you are having

play03:59

ac in which you are storing one program

play04:03

so your program is based on

play04:05

temperature should not exceeds to

play04:08

25 degree celsius right that is what

play04:10

your program

play04:11

so that program will be there inside rom

play04:14

but

play04:14

temperature data that will change

play04:17

as cooling is happening your temperature

play04:19

will go down

play04:20

right and it should not exit to 25

play04:23

degree celsius so that data of

play04:25

temperature that will there inside ram

play04:28

so harvard architecture is used with

play04:30

8051 in which

play04:32

program will be stored inside rom

play04:35

and data will be stored inside ram

play04:38

here my dear students some fixed data

play04:40

like ascii code

play04:42

right like data of seven segment display

play04:45

that we will be storing inside rom as it

play04:47

should be non-volatile right it will be

play04:50

fixed but the data which we use it in

play04:53

program

play04:54

like temperature data time data so those

play04:56

data will be changing right so that's

play04:58

why we will be storing that inside ram

play05:01

so in short my dear students eight zero

play05:03

five one that is based on howard

play05:04

architecture it will be having ram as

play05:07

well as rom rom will be used for program

play05:09

ram will be used for data here

play05:12

internal ram and rom is available

play05:14

internal ram is having size of 128 byte

play05:17

internal rom is having size of 4 kb but

play05:20

as if programmer is having some high end

play05:21

application then programmer can

play05:23

interface external memory like ram and

play05:26

rom and at max we can interface 64 kb of

play05:29

rom and ram now i'll explain you how

play05:33

rom architecture is there with eight

play05:34

zero five one

play05:36

so here my dear students when

play05:38

only we use internal rom at that time

play05:42

it should be very clear to you first of

play05:44

all you will have to make

play05:46

e a bar terminal is equals to 1.

play05:48

see with 8 0 5 1 this pin is playing

play05:52

essential rule it explains you whether

play05:54

we use internal rom or not

play05:56

as if you use internal rom then you'll

play05:59

have to make sure this pin that should

play06:01

be connected with vcc means it is logic

play06:03

one whenever you make this pin is equals

play06:06

to logic one you are using internal rom

play06:09

here as if programmer is not interfacing

play06:11

external memory then only internal rom

play06:14

will be available and that address will

play06:16

start from zero zero zero zero hex to 0

play06:19

f f f hex

play06:21

that is by default address of this

play06:24

internal rom where programmer can store

play06:26

their program

play06:28

here few more cases are there like as a

play06:31

programmer needs to have some extra

play06:33

memory

play06:34

then obviously programmer will be using

play06:37

internal as well as external rom

play06:39

and

play06:40

in case of programmer is using internal

play06:43

rom then ea bar that must be equals to

play06:45

one what it indicates internal rom is

play06:48

there with size of 4 kb and it will be

play06:50

having address ranging from 0 0 0 0 hash

play06:53

to 0 f f f hex means this address is

play06:57

allocated with internal rom

play07:00

now

play07:01

here as programmer is having need of

play07:04

some more memory external rom is

play07:06

available right but at max you can have

play07:09

64 kb means 60 kb of external rom can be

play07:12

interfaced so from here onwards only you

play07:15

can use addresses so next address after

play07:18

this 0 f x that will be 1 0 0 0

play07:23

hex right

play07:24

here my dear students

play07:26

after that it can go up to maximum

play07:29

ffff hacks right so this will be the

play07:32

available range for external rom

play07:35

and here my dear students ea bar

play07:38

explains whether we use internal rom or

play07:40

not here sometimes

play07:42

you may be having only external rom

play07:45

so in that case you will have to keep ea

play07:47

bar is equals to zero what it means

play07:50

eight zero five one will not use

play07:52

internal rom so in that case external

play07:54

rom that can be having maximum size of

play07:57

64 kb it will be starting from 0 0 0 0

play08:00

hex to up

play08:01

ffff hex

play08:03

address right now few of my students who

play08:06

have been asking me some questions like

play08:08

they have been telling me sir

play08:10

if you use only external rom then what

play08:13

is the use of internal rom so obviously

play08:15

here programmer is deciding this right

play08:18

let me tell you one more thing like for

play08:20

example when you have external rom only

play08:24

at the time you are discarding internal

play08:25

rom why the reason is my dear students

play08:29

when you go in market you don't have

play08:33

external rom with the size of 60 kb

play08:36

right

play08:37

either you

play08:38

buy a rom with size of 32 kb

play08:41

or you can buy a rom with the size of 64

play08:44

kb

play08:45

so you cannot have 60 kb of rom for that

play08:48

you'll have to use multiple roms right

play08:50

so here external rom that we are using

play08:53

with 64 kb

play08:55

or 32 kb you don't have facility of 60

play08:58

kb of rom for that you have to use

play09:00

multiple ics that is why

play09:02

8051 is having this facility in which

play09:05

you can have internal as well as

play09:07

external as well as only external rom

play09:09

facility but here remember when you keep

play09:12

ea bar is equals to 1 your internal rom

play09:15

will be there in use and it will be

play09:17

having fixed address you cannot change

play09:19

this address right

play09:21

only thing is external rom that can be

play09:23

having different address that can be

play09:26

decided by programmer so this is how

play09:29

structure is there in terms of rom i

play09:31

hope it is clear to you still if any

play09:33

confusion is there just post that in

play09:34

comment box i'll be happy to help you

play09:35

thank you so much for watching this

play09:36

video

Rate This
β˜…
β˜…
β˜…
β˜…
β˜…

5.0 / 5 (0 votes)

Related Tags
Microcontroller8051ROM OrganizationHarvard ArchitectureEmbedded SystemsInternal ROMExternal ROMMemory InterfaceEducational VideoEngineeringTechnical Tutorial