The first experiment - lighting a LED

Publisher:人妙果华Latest update time:2011-02-25 Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

1. External structure of single chip microcomputer

If you get a chip and want to use it, you must first know how to connect it. The chip we use is called 89C51. Let's take a look at how to connect it.

1. Power supply: This is of course essential. The microcontroller uses a 5V power supply, with the positive pole connected to pin 40 and the negative pole (ground) connected to pin 20.

2. Oscillator circuit: The microcontroller is a sequential circuit that must provide a pulse signal to work properly. An oscillator has been integrated inside the microcontroller. Use a crystal oscillator and connect it to pins 18 and 19. Just buy a crystal oscillator and a capacitor and connect them. Just connect them as shown in Figure 1.

3. Reset pin: Connect it as shown in Figure 1. As for what reset means and why it is necessary to reset, it is introduced in the microcontroller function.

4. EA pin: The EA pin is connected to the positive power supply terminal. At this point, a single-chip microcomputer is connected, and when the power is turned on, the single-chip microcomputer starts to work.

Of course, you don't necessarily need an 89c51. In fact, any chip in the 8051 series can be used. For example, 89s51, 89c52

etc.

Figure 1

2. Task Analysis

Our first task is to use the microcontroller to light up a light-emitting diode (LED). Obviously, this LED must be connected to a pin of the microcontroller, otherwise the microcontroller cannot control it. So which pin should it be connected to? In addition to the 5 pins just used, there are 35 pins on the microcontroller. We connect this LED to pin 1. (See Figure 1, where R1 is the current limiting resistor)

According to the connection method in this diagram, when pin 1 is at a high level, the LED will not light up, and only when pin 1 is at a low level, the LED will light up. Therefore, we need to be able to control pin 1, that is, we need to be able to make pin 1 change to a high or low level as required. Since we want to control pin 1, we have to give it a name. We can't just call it pin 1, right? What name should we call it? INTEL, the company that designed the 51 chip, has already named it P1.0. This is a rule and cannot be changed by us.

Now that we have a name, how do we make it 'high' or 'low'? To tell someone to do something, we just need to say it, which is called issuing a command. To tell a computer to do something, we also need to send a command to the computer. The command that the computer can understand is called a computer instruction. The instruction to make a pin output a high level is SETB, and the instruction to make a pin output a low level is CLR. Therefore, if we want P1.0 to output a high level, we just need to write SETB P1.0, and if we want P1.0 to output a low level, we just need to write CLR P1.0.

Now we have a way to make the computer output high or low level of P1.0, but how can we make the computer execute this instruction? We can't just tell the computer and leave it at that. To solve this problem, there are still several steps to go. First, the computer cannot understand instructions such as SETB CLR. We have to translate the instructions into a way that the computer can understand, and then let the computer read it. What can the computer understand? It only understands one thing - numbers. Therefore, we have to change SETB P1.0 to (D2H, 90H) and CLR P1.0 to (C2H, 90H). As for why these two numbers are used, this is also stipulated by the designer of the 51 chip - INTEL, and we will not study it. The second step is, after obtaining these two numbers, how to let these two numbers enter the internal of the microcontroller? This requires the help of a hardware tool "programmer". Of course, if you use our Yitian version development kit or XP development kit, then you have both the programmer and the test board, and you only need to program.

This is our first step in microcontroller programming. It may seem simple, but it is of great significance to you. Yes, you are programming: (

Open the Chinese version of uvw51e we introduced earlier; refer to its usage instructions; write the program,

We set its name to: 001led. Finally, burn the generated 001led.hex into the 89s51 of our Yitian version kit

Then change the chip into the test socket, and we can see that the p1.0 light is on.

Look at this picture, it shows the 8 lights of our Yitian version development kit P1.0-P1.7

Note that he can switch the port externally through the row of switches next to it.

At this point, some friends may ask: Why do we need to use a single chip microcomputer to make such a simple problem so complicated? If we connect a battery, won’t the light turn on?

That's right, but this is programming. If we don't want p1.0 to light up, but want p2.0 to light up, then just write clr p2.0, and you don't need to use a soldering iron to change the line. In this way, we can see that the connection of the hardware circuit has not been changed. As long as the content written into the microcontroller is changed, the output effect of the circuit can be changed.

It can be seen that problems that are very difficult to implement with hardware can be easily solved with a single-chip microcomputer. Therefore, it is necessary for every hardware engineer to master the single-chip microcomputer technology.

3. Analysis of the internal structure of the MCU

Let's think about a question. When we write an instruction into the microcontroller in the programmer, and then remove the microcontroller, the microcontroller can execute the instruction. Then the instruction must be saved somewhere in the microcontroller, and this place can still keep the instruction from being lost after the microcontroller loses power. What is this place? This place is the read-only memory inside the microcontroller, namely ROM (READ ONLY MEMORY). Why is it called read-only memory? Didn't we just write two numbers in it? It turns out that the ROM in 89C51 is an electrically erasable ROM, called FLASH ROM. We just used a programmer to write to the ROM under special conditions by an external device. Under normal working conditions of the microcontroller, it can only be read from that side, and data cannot be written in, so we still call it ROM.

Reference address:The first experiment - lighting a LED

Previous article:From the world of radio to the world of microcontrollers
Next article:The second experiment - using a single chip microcomputer to light up a flashing LED

Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
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号