单片机:新建第一个工程,点亮LED
单片机新建第一个工程点亮LED1. 准备工作所需材料单片机开发板如STC89C52、STM32F103C8T6等USB数据线电脑安装开发环境LED灯如果开发板没有自带2. 开发环境搭建对于51单片机如STC89C52安装Keil C51安装STC-ISP下载程序对于STM32单片机安装Keil MDK安装STM32芯片包安装ST-Link驱动3. 创建第一个工程以Keil为例步骤1创建新工程打开Keil → Project → New uVision Project选择工程保存位置命名如LED_Project选择芯片型号如STC89C52RC步骤2添加启动文件选择添加标准启动文件STARTUP.A51步骤3创建源文件File → New → 创建新文件输入代码File → Save As → 保存为main.c右键工程中的Source Group → Add Files → 选择main.c4. 示例代码51单片机点亮LED代码#include REG52.H // 包含51单片机寄存器定义头文件 sbit LED P1^0; // 定义LED连接到P1.0引脚 void main() { while(1) { LED 0; // 输出低电平点亮LED共阳接法 // 如果是共阴接法则用 LED 1; } }STM32点亮LED代码标准库#include stm32f10x.h void Delay(uint32_t nCount) { for(; nCount ! 0; nCount--); } int main(void) { // 使能GPIOB时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); // 配置GPIOB Pin0为推挽输出 GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin GPIO_Pin_0; GPIO_InitStructure.GPIO_Mode GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed GPIO_Speed_50MHz; GPIO_Init(GPIOB, GPIO_InitStructure); while(1) { GPIO_ResetBits(GPIOB, GPIO_Pin_0); // 输出低电平点亮LED Delay(0xFFFFF); // 简单延时 GPIO_SetBits(GPIOB, GPIO_Pin_0); // 输出高电平熄灭LED Delay(0xFFFFF); } }5. 工程设置配置输出HEX文件点击魔术棒按钮Options for Target选择Output选项卡勾选Create HEX File6. 编译与下载编译工程点击Build按钮或F7下载程序连接开发板到电脑打开下载软件如STC-ISP选择正确的串口号和单片机型号加载生成的HEX文件点击下载/编程按钮重启开发板部分需要手动重启7. 硬件连接外部LED连接方法单片机引脚 → 220Ω电阻 → LED正极 → LED负极 → GND 共阴接法单片机输出高电平点亮 或 VCC → 220Ω电阻 → LED正极 → LED负极 → 单片机引脚 共阳接法单片机输出低电平点亮8. 常见问题解决程序无法下载检查USB驱动是否正确安装确认串口号选择正确尝试重启单片机再下载LED不亮检查LED极性是否接反检查限流电阻是否合适用万用表测量引脚电压Keil编译错误确认芯片型号选择正确检查头文件路径是否正确9. 下一步学习建议尝试让LED闪烁添加按键控制LED学习使用定时器实现流水灯效果示例闪烁LED51单片机#include REG52.H void Delay(unsigned int t) { while(t--); } void main() { while(1) { P1 0x00; // 所有LED亮 Delay(60000); // 延时 P1 0xFF; // 所有LED灭 Delay(60000); } }恭喜你已经完成了单片机开发的Hello World这是你嵌入式开发之旅的第一步。