8051 MCU Tutorial Lesson 3: Several Basic Concepts

Publisher:alpha11Latest update time:2021-01-17 Source: eefocus Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

The nature of numbers and physical phenomena.


We know that computers can perform mathematical operations, which is very difficult for us to understand. Computers, although we don't understand their composition, are just some electronic components. How can they perform mathematical operations? We do math problems like 37+45 like this: first write 37 on paper, then write 45 below, then calculate in the brain, and finally write the result. The raw materials of the calculation: 37, 45 and the result: 82 are all written on paper, so where are they placed in the computer? In order to solve this problem, let's do an experiment first: There is a lamp here. We know that the lamp is either on or off, and there are two states. We can use '0' and '1' to replace these two states, and stipulate that on is '1' and off is '0'. Now put two lamps, how many states are there in total? Let's take a look at the list:

Please write down the situation of the three lights by yourself 000001010011100101110111


Let's take a look. Aren't 000, 001, and 101 the binary numbers we have learned? Originally, the on and off of the light is just a physical phenomenon, but when we arrange them in a better order, the on and off of the light represents a number. Let's abstract it a step further. Why does the light turn on? Looking at circuit 1, it is because the output circuit outputs a high level and powers the light. Therefore, the on and off of the light can be replaced by whether the output of the circuit is a high level or a low level. In this way, the number is connected to the high and low levels. (Please think about it. What other similar examples have we seen? (Navy) light language, flag language, telegraph, and even red and green lights)


Meaning of the bits:


Through the above experiment, we already know that the light of a light or the level of a line can represent two states: 0 and 1. In fact, this is a binary bit, so we call a line a "bit" and represent it with BIT.


Meaning of the bytes:


One wire can represent 0 and 1, two wires can represent 00, 01, 10, 11, that is, 0 to 3, and three wires can represent 0-7. In computers, 8 wires are usually put together and counted at the same time, which can represent 256 states from 0 to 255. These 8 wires or 8 bits are called a byte. Don't ask me why it is 8 instead of other numbers, because I don't know either. (The computer world is a man-made world, not a natural world. You can't ask why for many things. You can only say: it is a rule. Everyone should pay attention to this issue in the future learning process)


How memory works:


1. Memory structure


The memory is used to store data. It uses the level of electrical level to store data, that is, it actually stores the high and low levels of electrical level, rather than the numbers like 1234 that we are used to thinking of. In this way, one of our mysteries is solved. Is there nothing mysterious about computers?

Let's look at Figure 2. This is a schematic diagram of a memory: a memory is like a small drawer, and a small drawer has eight small grids. Each small grid is used to store "charges". The charge is transmitted or released through the wires connected to it. As for how the charge is stored in the small grid, we don't need to worry about it. You can imagine the wires as water pipes, and the charge in the small grid is like water, which is easy to understand. Each small drawer in the memory is a place to store data, which we call a "unit".


With such a structure, we can start to store data. If we want to put in a data 12, that is, 00001100, we just need to fill the second and third small grids with charge, and release the charge in other small grids (see Figure 3). But there is a problem. See Figure 2. A memory has many units, and the lines are connected in parallel. When the charge is put in, the charge will be put into all units, and when the charge is released, the charge in each unit will be released. In this way, no matter how many units the memory has, it can only store the same number, which is certainly not what we want. Therefore, we need to make a slight change in the structure. See Figure 2. There is a control line on each unit. If I want to put data into a certain unit, I will give a signal to the control line of this unit, and this control line will turn on the switch, so that the charge can flow freely, and there is no signal on the control line of other units, so the switch is not turned on and will not be affected. In this way, as long as the control lines of different units are controlled, different data can be written to each unit. Similarly, if you want to retrieve data from a certain unit, you only need to turn on the corresponding control switch.


2. Memory decoding


So, how do we control the control lines of each unit? This is not simple. Isn't it enough to lead the control lines of each unit to the outside of the integrated circuit? Things are not that simple. There are 65536 units in a 27512 memory. If each line is led out, the integrated circuit must have more than 60,000 pins? No, what should we do? We need to find a way to reduce the number of lines. We have a method called decoding. Let me briefly introduce it: one line can represent 2 states, 2 lines can represent 4 states, 3 lines can represent several states, and how many lines are needed to represent 256 states? 8 states, 8 lines, so we only need 16 lines to represent 65536 states.


3. The concept of memory chip selection and bus


At this point, the decoding problem has been solved. Let's focus on another problem. Where do the eight wires sent to each unit come from? They are connected from the computer. Generally, these eight wires are connected to other devices in addition to a memory, as shown in Figure 4. So the problem comes out. Since these eight wires are not dedicated between the memory and the computer, it is not good if a certain unit is always connected to these eight wires. For example, the value in this memory unit is 0FFH and the value in another memory unit is 00H, then is this line at a high level or a low level? Isn't it necessary to fight to see who is more powerful? So we have to separate them. The method is of course very simple. When the external wires are connected to the pins of the integrated circuit, they are not directly connected to each unit. Just add a set of switches in the middle (refer to Figure 4). Usually we keep the switch open. If we really want to write data to this memory or read data from the memory, we just need to turn on the switch. This set of switches is selected by three leads: read control terminal, write control terminal and chip select terminal. To write data into a chip, first select the chip, then send a write signal, the switch is closed, and the transmitted data (charge) is written into the chip. If you want to read, first select the chip, then send a read signal, the switch is closed, and the data is sent out. Note Figure 4, the read and write signals are also connected to another memory at the same time, but because the chip select ends are different, although there are read or write signals, there is no chip select signal, so the other memory will not "misunderstand" and open the door, causing a conflict. So will the two chips not be selected at the same time? As long as it is a well-designed system, it will not, because it is controlled by calculation, not by us. If two chips are really selected at the same time, then there is a circuit failure, which is not within the scope of our discussion.


From the above introduction, we have seen that the eight wires used to transmit data are not dedicated, but are shared by many devices, so we call it a data bus. The English name of the bus is BUS, which means bus lane, and anyone can use it. The sixteen address lines are also connected together, which is called an address bus.


Classification of semiconductor memory


According to the function, it can be divided into two categories: read-only memory and random access memory. The so-called read-only, literally means that you can only read from it, not write into it. It is similar to our books. After it is sent to us, we can only read the contents inside, and cannot change the contents of the book at will. The abbreviation of read-only memory is ROM (READONLYMEMORY)


The so-called random access memory can be rewritten at any time, and the data inside can also be read out. It is similar to our blackboard. I can write things on it at any time, and I can also erase it with an eraser and rewrite it. The English abbreviation of random access memory is RAM (READ RANDOM MEMORY). The English abbreviations of these two memories must be remembered.


Note: The so-called read-only and random access refer to normal working conditions, that is, when the memory is in use, not when the chip is manufactured. Otherwise, how did the data in the read-only memory come from? In fact, this principle is also easy to understand. Books cannot be changed after we get them. When they are still raw materials - white paper, of course they can be printed by the printing factory.


By the way, let me explain a few other common concepts.


PROM is called programmable memory. It is like our exercise book, which is blank when we buy it. We can write something on it, but once written, it cannot be erased, so it can only be written once. If you write something wrong, it will be scrapped.


EPROM is called UV-erasable programmable read-only memory. After writing the contents, if you are not satisfied with them, you can use a special method to erase them and rewrite them. That is, use ultraviolet light to irradiate them. Ultraviolet light is like an eraser, which can erase the words and then rewrite them. Of course, if you erase them too many times, they will not work, so the number of times this chip can be erased is limited - a few hundred times.


FLASH, called flash memory, is similar to EPROM. What is written on it can also be erased and rewritten, but it is more convenient and does not require light. It can be erased by electrical methods, so it is much more convenient and has a long lifespan (ranging from tens of thousands to hundreds of thousands of times).

[1] [2]
Reference address:8051 MCU Tutorial Lesson 3: Several Basic Concepts

Previous article:Introduction to the internal structure of MCS-51 single chip microcomputer
Next article:Production of the minimum system based on AT89S51 single chip microcomputer

Latest Microcontroller Articles
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号