It is not enough to read books to learn MCU. Practice must also start from reality. The current technology is too modular. Everything can be modular. In the end, technicians can only use it. The knowledge left by our ancestors and the basic knowledge should be known. After all, the ultimate goal of learning MCU is development, which is to reflect one's own value by creating physical objects with intelligent control.
There are two ways to practice. You can choose one: buy a 51 single-chip microcomputer experimental board. It does not require too many functions. For beginners, the kind of board with many functions has many things you will never need in your life. In order to increase functions and reduce costs, the experimental board is full of patch components and double-sided wiring. The more complex the more advanced it is, it seems that when they were designing, they thought that learning single-chip microcomputers only requires downloading programs according to my prompts. What's more, the downloader is integrated on the experimental board. Many beginners still think that the original single-chip microcomputer is not a chip, but a single-board computer that is often mentioned in old textbooks and is no longer used. I think these modules are enough for beginners to learn single-chip microcomputers, and the rest have to be developed by themselves. Flowing lights, digital tubes, keyboards, buzzers, serial communication, AD, etc. are almost the same. If you can skillfully apply the above-mentioned ones, it can be said that you have already entered the hardware of single-chip microcomputers. The rest is to practice designing circuits by yourself and constantly accumulate experience. When designing a circuit, you must learn PCB board design software. After all, computer-aided design is still required for product mass production. Manual work is too inefficient. However, it is recommended to solder by yourself during the learning process. You must understand the circuit connection before soldering. You can find many circuit schematics by searching on the Internet, but they may not all be usable. Therefore, it is recommended to prepare a breadboard. With it, you can test it before soldering the circuit. If the test on the breadboard is successful, you will be determined to solder later. If it fails, you can just find another one. As long as you pass the first level, the road ahead will be easy. Everything is difficult at the beginning.
Method 2: If there is a microcontroller beginner around you who has strong hands-on ability, ask him to help build a simple microcontroller circuit, even if it is a circuit to control the operation of an LED. For them, it is easy to make a minimum system board for a microcontroller, but it is much more difficult for beginners. Once the layer of window paper in the middle is broken, everything will be simple. Because only when you understand the hardware can you use it skillfully.
Only when you know that the program is downloaded to the microcontroller, you will know why you need to write a microcontroller program, where the motivation comes from, and you will have a clear mind. Microcontroller programming is to talk to the microcontroller. If you don't know who the other party is and whether they are listening, will you still have the passion to talk? Of course, if there is no such person, the same thing applies. Just find a few minimum circuit schematics on the Internet and solder them on the breadboard. Of course, if you don't know this, I suggest you buy a test board, which will be used for the microcontroller learning experiments and project tests in the future.
With a microcontroller test board, you have to practice more. It is best to have a computer of your own, download fewer movies, play fewer online games, connect the test board and the computer, install the necessary software, download the reference program, and modify the reference program. Start with the simplest traffic light experiment. When you find that you can control the traffic light and understand the soft and hard design of traffic, you have already entered the door. You will find how fascinating the microcontroller is. This is not learning knowledge, but improving your own value. The design of traffic with such a wide range of uses is no problem. Do you still feel that you have not learned anything? Do you still feel that you know nothing? All the professional knowledge of computer programming and electronic technology is used. When the program you wrote is implemented according to your wishes, you are happier than doing anything else. The sense of achievement and fulfillment of learning is very rare. Then let the digital tube light up to show the number you need. After these two parts, you can't help yourself, and you have begun to consider which career you want to take in this life. Just learn like this. When writing programs, you will definitely encounter many problems. At this time, you will look for books. Among them, you will find the programming books you have learned before, as well as digital electronics and analog electronics books. You will find that the knowledge you learned before is still useful.
If you don’t understand, go to the books you have learned before to check. This is the great truth of "reviewing the old and learning the new, you can be a teacher". Knowledge must be used in real life to solve practical problems. You can use a single-chip microcomputer to design a simple home appliance timer, infrared remote control, etc., so that it can play its role. Think about it carefully. After so many years of college, exploring for so long, hesitating and wandering, and attending classes every day, what have you learned in class? Are you busy for the final exam of 60 points? You are lucky to get 90 points, and you are very happy. You brag about how well you have learned professional knowledge in front of others. Little do you know that college exams are not like high school exams. What does it matter if you get a scholarship? But when you come back to school next semester, you think about it and forget all the knowledge you have learned. What have you learned?
Why do you recommend learning single-chip microcomputers? Because single-chip microcomputers are learned by engineering students. They are a subject that integrates computer programming, electronic technology, and multiple control languages. It is better to say that learning is learning a large subject than learning single-chip microcomputers. 5. Is learning single-chip microcomputers assembly programming or C language programming? About the problem of programming in assembly and C language. This problem bothers many people. It may be mainly caused by the teaching of schools and the educational guidance of some textbooks. C language programming was introduced in the freshman year. Before students knew what the practical use of C language was, other languages came along. Even if they started a special microcontroller course, the content of the course was very similar to the technical documentation. There were many instructions, but not many complete ones. So after learning it, they didn’t know why they had to learn programming.
Many students took C language courses in their freshman year. I also took it, but at that time, I just multiplied and added a few every day, and calculated factorials. I used C language to solve elementary school math problems. I went to the computer twice a week and kept typing on the books. After class, I didn’t know what I had mastered and what the use of mastering it was. What’s the use of learning it? If the boss asks you during the interview, have you learned programming? What will immediately come to your mind? "C language, VC, VB. Many things, what C language is basic and engineering-oriented, what VC is advanced object-oriented", but the boss asks again, can you apply the C language you have learned to practice, such as designing a timer alarm in C language. I was confused now, I didn't learn it in school. You can use C language or assembly language to program microcontrollers, but I suggest C language is better, modular management programming is convenient, portability is strong, and it is suitable for writing large programs. If you have a foundation in C language, it will be easier to learn. If not, you can also learn C language while learning microcontrollers.
Although many people start to learn microcontrollers with assembly language, it is still simple to write small programs in assembly language. If you want to implement some algorithms, then assembly language is not simple. Although the amount of code after C language compilation is obviously longer than assembly language, and the execution efficiency is not as high as assembly language, in the past microcontroller development, due to the limitations of chip technology and the limitations of microcontroller main frequency, many microcontrollers have very small internal memory and very small main frequency. But now it is different, the internal memory of the chip does not care about this difference at all.
So should we not learn assembly language? No, we must learn it. There are two aspects. First, when getting started with microcontrollers, we should use assembly language, and its syntax is simple. Secondly, if you want to be a senior designer of microcontroller programs, you must master assembly language. Many advanced microcontrollers like ARM use assembly language as the boot code. In addition, many newly released microcontrollers first have assembly language compilers and then C language compilers. Therefore, I think for microcontrollers, you should learn assembly language for beginners, master C language, and then assembly language. Finally, for the study of microcontrollers, getting started is the first step. After getting started, you should pay attention to the market, the company, and what kind of talents the company needs. I think after having a foundation, you can understand the type of microcontrollers needed by the company before the interview, and you will get started quickly. After all, learning is the same. I wish beginners who are still hesitating or have been exposed to microcontrollers before to get started in advance.
Previous article:What are the differences and connections between microcontrollers and embedded systems?
Next article:Electromagnetic compatibility design of single chip microcomputer printed circuit board (PCB)
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- EEWORLD University Hall----Electromagnetic Compatibility Principles and Design
- MSP430 realizes access card function (RFID) through RC522
- Please recommend a DC-DC chip with 12V-3.3V wide voltage input and 3.3V2A output
- Zigbee3.0 ZCL_ALARMS usage
- 【BearPi-HM Micro】Development of smart street light module based on E53 interface
- Using Ultra-Wideband Technology to Display the Bible
- How is "u8 Dat2:7;" written in the structure? What does it mean?
- Modeling and Optimization Design of Finite State Machines
- Help! Can micropython do image processing or video processing?
- Pin-regulated 8mA output amplifier