Pre-study requirements:
(1) Have a certain foundation in C language,
(2) preferably have some knowledge of digital circuits
Preface: (1) As long as you are a student of the Department of Electronics or Computer Science. C language is the minimum threshold for you to get professional knowledge. Therefore, students who do not have a solid foundation in C language should focus on it and master the basic knowledge of C language before getting started with microcontrollers. Don't rush for success. I have also tasted the "bitter melon" of rushing for success, and the detours I took were many circles around Huizhou School. When learning C language, I hope that students can focus on arrays, pointers, and structures. Be able to understand the relationship between arrays and pointers and the combination of these three. I personally think that the combination of these three is really powerful, outstanding, and invincible. It seems a bit exaggerated, but it is very powerful anyway. Another point is that when writing code, you should pay attention to your own programming style. It is best to refer to the specifications given by some large companies or large projects. Don't do whatever you want, thinking that the program can work when it runs, and ignore the programming style. Developing good programming habits is a basic requirement for becoming a programmer, so you should pay more attention to it.
(2) In terms of digital electronics, because the microcontroller is a combination of logic sequential circuits, and the logic sequential circuit is a digital circuit, some knowledge of digital electronics can make you more comfortable learning microcontrollers. Of course, you can also get started with microcontrollers directly. You have to learn it sooner or later, so why not learn the basics of digital electronics now? When learning digital electronics, you can choose to watch video tutorials. I recommend "Basics of Digital Electronic Circuits" by Liu Runhua, a teacher at the Petroleum University. It's okay as long as you can understand it. There are many online searches. If you can't understand it, ask your senior for it. Reading books is also okay, but it's too slow. It may be difficult for students without circuit foundation to understand.
In terms of single-chip microcomputers: There are 7 experiments that must be done for beginners of single-chip microcomputers:
$1__VE_ITEM__(1) Marquee
$1__VE_ITEM__(2) Buzzer
$1__VE_ITEM__(3) Static and dynamic display of digital tubes
$1__VE_ITEM__(4) Matrix keyboard
The above 4 mainly involve the operation of the input and output (IO) ports of single-chip microcomputers. The following are 3 very important and commonly used contents of single-chip microcomputers
$1__VE_ITEM__(5) External interrupt
$1__VE_ITEM__(6) Timer interrupt
$1__VE_ITEM__(7) Serial communication
Because most of you are at the beginning of school, I suggest that you spend two days on each experiment (if you don’t need to study, you can spend one day on each experiment). One day to watch the video, and one day to write code on the computer by yourself, until the burning test is successful.
The following are just some of the things that need to be paid attention to when learning single-chip microcomputers:
(1) When watching the video, pay attention to: how to control the chip by viewing the chip datasheet, especially the timing diagram in it. You should know that the video tutorial is not just to let you realize the above functions. That would not be considered as getting started. What is more important is to teach you how to use the manual of the microcontroller to program and use the various functions provided by the microcontroller to control external devices. In fact, the C51 microcontroller is not difficult, but the external devices are difficult.
Speaking of external devices, I think it is necessary to mention the bus protocol. Because the microcontroller must follow various bus protocols to communicate with many external devices, so understanding various bus protocols can help you learn some external device drivers. I hope that when you see a bus, you can master it through Baidu.
(2) Note when operating on the computer: Try to read the datasheet and the timing diagram to write the code yourself. If you don’t understand, look back and refer to the routine. Make sure you can understand every line of code. When writing code, pay attention to the modular programming of the project to facilitate the porting of the code in the future. Of course, you can't really appreciate the importance of modular programming at the beginning, but when you write some larger projects, you will clearly feel the effect of modular programming. How to achieve modular programming depends on your own exploration.
After 2 weeks of hard work, if you can pass the above experiments, you have mastered the most commonly used functions in the C51 microcontroller, and you will often use these functions in the future. It can be said that you have already got started, but getting started alone is not enough. The microcontroller provides more than these functions, such as PWM, ADC (analog-to-digital conversion), DAC (digital-to-analog conversion), PCA, etc. These functions need to be learned by yourself. Each external device on the development board can basically correspond to a function on the microcontroller, and each external device may correspond to a bus. So in the future, you have to find the datasheet corresponding to the chip, read the manual of the microcontroller, and write the code yourself in combination with some routines provided. The supporting development board may provide more external equipment video tutorials, but I personally think that if you can try to complete it yourself, just complete it yourself. You must know that university is to exercise your self-study ability. The master introduces you to the door, and the practice depends on the individual. This saying is vulgar, but it is enduring.
Finally, I will say it again. Interest is really important in learning this thing. You must have perseverance and patience. Sometimes the failure of a small experiment is because a small problem drags you for a week, or even longer. Don't be discouraged or complain. I dare say that everyone who learns these things will experience such things, and there are even more people who are worse off than you. Don't rely too much on others for learning. Others can only guide you to learn, but don't even think about teaching you hand in hand, of course, with the exception of paying. University is supposed to cultivate your own self-study ability. It is too naive to wait for others to teach you every day. Finally, a word to the students who are just starting to learn 8-bit microcontrollers: Don't study for competition, you should compete for learning. (Applicable to students only) Winning a place in a competition is important, but it is more important to discover your own shortcomings and make up for them in time.
Reference address:Some suggestions for beginners of 8-bit microcontrollers
(1) Have a certain foundation in C language,
(2) preferably have some knowledge of digital circuits
Preface: (1) As long as you are a student of the Department of Electronics or Computer Science. C language is the minimum threshold for you to get professional knowledge. Therefore, students who do not have a solid foundation in C language should focus on it and master the basic knowledge of C language before getting started with microcontrollers. Don't rush for success. I have also tasted the "bitter melon" of rushing for success, and the detours I took were many circles around Huizhou School. When learning C language, I hope that students can focus on arrays, pointers, and structures. Be able to understand the relationship between arrays and pointers and the combination of these three. I personally think that the combination of these three is really powerful, outstanding, and invincible. It seems a bit exaggerated, but it is very powerful anyway. Another point is that when writing code, you should pay attention to your own programming style. It is best to refer to the specifications given by some large companies or large projects. Don't do whatever you want, thinking that the program can work when it runs, and ignore the programming style. Developing good programming habits is a basic requirement for becoming a programmer, so you should pay more attention to it.
(2) In terms of digital electronics, because the microcontroller is a combination of logic sequential circuits, and the logic sequential circuit is a digital circuit, some knowledge of digital electronics can make you more comfortable learning microcontrollers. Of course, you can also get started with microcontrollers directly. You have to learn it sooner or later, so why not learn the basics of digital electronics now? When learning digital electronics, you can choose to watch video tutorials. I recommend "Basics of Digital Electronic Circuits" by Liu Runhua, a teacher at the Petroleum University. It's okay as long as you can understand it. There are many online searches. If you can't understand it, ask your senior for it. Reading books is also okay, but it's too slow. It may be difficult for students without circuit foundation to understand.
In terms of single-chip microcomputers: There are 7 experiments that must be done for beginners of single-chip microcomputers:
$1__VE_ITEM__(1) Marquee
$1__VE_ITEM__(2) Buzzer
$1__VE_ITEM__(3) Static and dynamic display of digital tubes
$1__VE_ITEM__(4) Matrix keyboard
The above 4 mainly involve the operation of the input and output (IO) ports of single-chip microcomputers. The following are 3 very important and commonly used contents of single-chip microcomputers
$1__VE_ITEM__(5) External interrupt
$1__VE_ITEM__(6) Timer interrupt
$1__VE_ITEM__(7) Serial communication
Because most of you are at the beginning of school, I suggest that you spend two days on each experiment (if you don’t need to study, you can spend one day on each experiment). One day to watch the video, and one day to write code on the computer by yourself, until the burning test is successful.
The following are just some of the things that need to be paid attention to when learning single-chip microcomputers:
(1) When watching the video, pay attention to: how to control the chip by viewing the chip datasheet, especially the timing diagram in it. You should know that the video tutorial is not just to let you realize the above functions. That would not be considered as getting started. What is more important is to teach you how to use the manual of the microcontroller to program and use the various functions provided by the microcontroller to control external devices. In fact, the C51 microcontroller is not difficult, but the external devices are difficult.
Speaking of external devices, I think it is necessary to mention the bus protocol. Because the microcontroller must follow various bus protocols to communicate with many external devices, so understanding various bus protocols can help you learn some external device drivers. I hope that when you see a bus, you can master it through Baidu.
(2) Note when operating on the computer: Try to read the datasheet and the timing diagram to write the code yourself. If you don’t understand, look back and refer to the routine. Make sure you can understand every line of code. When writing code, pay attention to the modular programming of the project to facilitate the porting of the code in the future. Of course, you can't really appreciate the importance of modular programming at the beginning, but when you write some larger projects, you will clearly feel the effect of modular programming. How to achieve modular programming depends on your own exploration.
After 2 weeks of hard work, if you can pass the above experiments, you have mastered the most commonly used functions in the C51 microcontroller, and you will often use these functions in the future. It can be said that you have already got started, but getting started alone is not enough. The microcontroller provides more than these functions, such as PWM, ADC (analog-to-digital conversion), DAC (digital-to-analog conversion), PCA, etc. These functions need to be learned by yourself. Each external device on the development board can basically correspond to a function on the microcontroller, and each external device may correspond to a bus. So in the future, you have to find the datasheet corresponding to the chip, read the manual of the microcontroller, and write the code yourself in combination with some routines provided. The supporting development board may provide more external equipment video tutorials, but I personally think that if you can try to complete it yourself, just complete it yourself. You must know that university is to exercise your self-study ability. The master introduces you to the door, and the practice depends on the individual. This saying is vulgar, but it is enduring.
Finally, I will say it again. Interest is really important in learning this thing. You must have perseverance and patience. Sometimes the failure of a small experiment is because a small problem drags you for a week, or even longer. Don't be discouraged or complain. I dare say that everyone who learns these things will experience such things, and there are even more people who are worse off than you. Don't rely too much on others for learning. Others can only guide you to learn, but don't even think about teaching you hand in hand, of course, with the exception of paying. University is supposed to cultivate your own self-study ability. It is too naive to wait for others to teach you every day. Finally, a word to the students who are just starting to learn 8-bit microcontrollers: Don't study for competition, you should compete for learning. (Applicable to students only) Winning a place in a competition is important, but it is more important to discover your own shortcomings and make up for them in time.
Previous article:Some common sense of single chip microcomputer
Next article:MCU expansion I/O port
- Popular Resources
- Popular amplifiers
Recommended Content
Latest Microcontroller Articles
- Learn ARM development(16)
- Learn ARM development(17)
- Learn ARM development(18)
- Embedded system debugging simulation tool
- A small question that has been bothering me recently has finally been solved~~
- Learn ARM development (1)
- Learn ARM development (2)
- Learn ARM development (4)
- Learn ARM development (6)
He Limin Column
Microcontroller and Embedded Systems Bible
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
MoreSelected Circuit Diagrams
MorePopular Articles
- LED chemical incompatibility test to see which chemicals LEDs can be used with
- Application of ARM9 hardware coprocessor on WinCE embedded motherboard
- What are the key points for selecting rotor flowmeter?
- LM317 high power charger circuit
- A brief analysis of Embest's application and development of embedded medical devices
- Single-phase RC protection circuit
- stm32 PVD programmable voltage monitor
- Introduction and measurement of edge trigger and level trigger of 51 single chip microcomputer
- Improved design of Linux system software shell protection technology
- What to do if the ABB robot protection device stops
MoreDaily News
- Detailed explanation of intelligent car body perception system
- How to solve the problem that the servo drive is not enabled
- Why does the servo drive not power on?
- What point should I connect to when the servo is turned on?
- How to turn on the internal enable of Panasonic servo drive?
- What is the rigidity setting of Panasonic servo drive?
- How to change the inertia ratio of Panasonic servo drive
- What is the inertia ratio of the servo motor?
- Is it better for the motor to have a large or small moment of inertia?
- What is the difference between low inertia and high inertia of servo motors?
Guess you like
- 6657Statically configure serial port general interrupt in sys/bios
- Understanding Nginx Architecture in One Article
- Highly recommended! ADI's latest Chinese information is here
- Urgently looking for expert advice AD15 can not open the PCB after cracking
- Difference between LPS22HH and LPS22HB
- How to collect multiple sensor signals through one RS485 interface of industrial computer?
- Altera SoC Architecture Excerpt - What is a SoC FPGA
- How to use common mode chokes in signal lines to eliminate common mode noise
- EEWORLD University ---- Python 3 video tutorial
- [Rivet RVB2601 Creative Application Development Competition] Participation Award Prizes