Microcontroller Design Sharing and Customization
Diary of an Electronics Engineer
Specific Function Implementation:
Using DeepSeek to write C language code for the 51 microcontroller to control the LED light on and off with a button.DeepSeek Q&A Screenshot:
Design Introduction
Introduction to the 51 Microcontroller
The 51 microcontroller is a low-power, high-performance CMOS 8-bit microcontroller with 8K of programmable Flash memory, providing a highly flexible and efficient solution for many embedded control applications.
The 51 series microcontroller has the following standard features:
8K bytes of Flash, 512 bytes of RAM,
32 I/O lines, watchdog timer,
Built-in 4KB EEPROM,
MAX810 reset circuit,
Three 16-bit timers/counters,
A 6-vector 2-level interrupt structure,
Full-duplex serial port.
Additionally, in idle mode, the CPU stops working, allowing RAM, timers/counters, serial ports, and interrupts to continue functioning. In power-down protection mode, the RAM content is preserved, the oscillator is frozen, and the microcontroller stops working until the next interrupt or hardware reset.The chip used in this design is compatible with all 51 series microcontrollers (including AT series and STC series).
Design Approach
Literature Research Method: Collect and organize relevant research materials, read literature to prepare for the study;
Survey Research Method: Discover relevant existing problems and solutions through surveys, analysis, and specific experiments;
Comparative Analysis Method: Compare the specific principles of different designs and the performance differences of similar sensors, analyzing the current research status and development prospects of the system;
Software and Hardware Design Method: Implement hardware through software and hardware design, and finally test whether all functions meet the requirements.
Reference template for microcontroller design papers:
Graduation Project Worry-Free | Microcontroller Graduation Project Paper Template
Design Content
Simulation Diagram (Proteus 8.7)
This design uses Proteus 8.7 software for simulation design, as shown in the figure.
Note: Free to share, please draw the simulation according to the figure below!!
Proteus 8.7 software materials and simulation solutions:
Proteus 8.7 installation and cracking tutorial (includes installation package)
Common problems and solutions for Proteus simulation
Simple tutorial for Proteus 8.7
Program (Keil 5)
This design uses KEIL 5 software for program design.
Note: All code is shared for free, please create your own project!!!!
This design is written in C language, and the complete code is as follows:
#include <reg51.h>sbit LED = P2^0; // LED connected to P2.0sbit KEY = P3^0; // Button connected to P3.0// Simple delay function (approximately 10ms, 12MHz crystal)void delay_ms() { unsigned int i, j; for(i = 0; i < 100; i++) for(j = 0; j < 120; j++);}void main() { LED = 1; // Initialize LED off KEY = 1; // Enable internal pull-up for P3.0 while(1) { if(KEY == 0) { // Detect button press delay_ms(); // Debounce handling if(KEY == 0) { // Confirm button press LED = !LED; // Toggle LED state // Wait for button release while(KEY == 0); delay_ms(); // Release debounce } } }}
Running result as shown in the figure:
Keil C51 software materials and usage tutorials:
Keil C51 installation and cracking tutorial (includes installation package)
KEIL 5 usage tips
Simple tutorial for Keil 5
Contact Us
More design content:
Microcontroller Physical Design
Microcontroller Simulation Design Projects
Microcontroller Tutorials
Free Design Materials (C Language)
Free Design Materials (Assembly)
Common Problem Solutions
Welcome to follow the WeChat public account “Diary of an Electronics Engineer“!!
For contact, please reply with the keyword “Customer Service” in the public account!!