I remember that I first came into contact with microcontrollers in 2002. At that time, the only microcontrollers I knew and used were AT98C8051 and AT98C8052. I had only heard of the 51-type microcontrollers from Winbond, Philips, and SST. At that time, you had to write the program first, then use a compiler under DOS to compile the program, and then burn it into the chip through a programmer. At that time, I was eager to have an "emulator". But the company was reluctant to buy it. I learned programming from an old master (about 40 years old), mainly assembly programs. Only then did I know how to make a standard program flow chart. Because it is difficult to understand assembly programs without flow charts. To draw PCBs, I used a software called "TANGO". At that time, an engineer from the Chinese Academy of Sciences knew how to use it. It seemed very complicated, but my IQ was not enough to understand it. In 2004, the company transferred me from Beijing to Shijiazhuang. After I arrived in Shijiazhuang, I came into contact with engineers from other companies. They used C for programming and Protel 99 for drawing PCBs. I was really shocked when I saw these software! The company's development model is: software is a team (my master and I), hardware is a team (three people). But since I saw these software, I seemed to have become a "master" all of a sudden, as if I could "take ten people by myself" and take down all the hardware and software of the entire company! So I bought a universal board from the market, purchased a programmer, a multimeter, an electric soldering iron, a desoldering machine... and started to improve every day. The excitement has not yet subsided, but the result is a bucket of cold water! After the circuit is soldered, the chip is taken out and the program is burned with the programmer. After the power is turned on, the board will not light up. The voltage of the chip is measured with a multimeter and it is exactly the same as what is said in the information. There is no error in the circuit and the schematic diagram. But the LED is not lit. I was depressed and stared at the board in a daze. I thought that this week's work has become like this? I didn't feel like cooking, so I just made a bowl of noodles. Just as I was eating noodles, I suddenly found that the LED on the board was flashing slowly. God really has eyes! I almost gave up, it seems that there is hope. I turned off the power supply and turned it on again, but the board still didn't work! I suspected that I had not soldered it firmly enough and there was a cold solder joint. So I knocked the board on the table to check, and it seemed that it was not a cold solder joint. I soldered another board and the result was the same. The board mostly didn't work and only worked occasionally. I didn't give up. I found a friend who taught at a university and wanted to use his company's oscilloscope to see if it was a problem with the crystal oscillator. I made an appointment with my friend to go to their company to use the oscilloscope to test the board problem. At that time, oscilloscopes were very expensive instruments and were generally operated by special people. I gave the board to my friend's colleague for testing. He looked at the board and said, "Why is your 31st pin not connected to a high level!" I used the soldering iron of my friend's company to connect the 31st pin of the chip to a high level, and repeatedly measured the waveform with an oscilloscope and found that there was nothing abnormal. And the board worked very stably. Later I found out that the 31st pin of the 8051 is used to set the program to start from the internal flash or from the external storage.
Without the help of this friend, I might not have been engaged in single-chip microcomputer development! ! ! Thanks again to my friend Mr. Zhang.
This is an 8031 board in my collection. You can see that there are several RAM and ROM chips.