01-点亮你的LED灯
一. 单片机的内部资源
- Flash程序存储空间: 在早期单片机中, 主要使用的是OTPROM(只能写入一次程序). 后来出现Flash可重复擦写程序价格低, 且断电依然可保存数据.
- RAM数据存储空间: 用于存储程序运行过程中产生的数据, 断电后数据丢失, 优点是读写速度极快.
- SFR特殊功能寄存器: 单片机有很多功能, 每个功能都对应这一个或多个SFR, 我们就是通过对SFR的读写来实现单片机多种多样的功能.
RAM有不同分支, 例如SRAM和DRAM. SRAM为静态存储但是需要足够的电力来维持状态, 防止数据丢失. DRAM是动态存储通常用于主内存, DRAM数据存储在电容中需要定时刷新数据, 否则电容慢慢漏电数据也会丢失.
二. 单片机最小系统
- 电源: 通常称为VDD, 51单片机需要5V的供电系统
- 晶振: 系统的心脏, 单片机内部所用工作都是以这个时钟型号为步调基准来工作的.
- 复位电路: 复位电路有三种触发方式, 上电复位, 手动复位(当受到意外干扰导致程序跑飞时可以手动复位), 程序自动复位(程序跑飞时可以由看门狗触发)
三. 点亮第一个小灯
两条关键语句
- sfr 特殊功能寄存器和内存一样由许多位空间构成, 每位有8个bit且每个位有单独的地址编号, 例如P0模块8个端口就对应0x80. sfr P0 = 0x80, 就是将这块地址命名为P0
- sbit 用于对个位中的其中一个bit进行命名, sbit LED0 = P0^0;
点灯程序
#include <reg52.h>
sbit LED = P0^0; //位地址声明,注意:sbit 必须小写、P 大写!
void main()
{
LED = 0;
while(1); //让程序停留在我们想要的状态
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)