问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

51单片机点亮LED入门教程(超详细)

创作时间:
作者:
@小白创作中心

51单片机点亮LED入门教程(超详细)

引用
CSDN
1.
https://m.blog.csdn.net/dengxiahei11/article/details/141975718

51单片机(Microcontroller Unit,简称MCU)是一种广泛应用于各种电子设备中的嵌入式控制器。它具有体积小、功耗低、控制功能强等特点,被广泛应用于工业控制、消费电子、医疗设备等领域。本文将通过一个简单的LED点亮实验,帮助初学者快速入门51单片机开发。

1. Keil建立工程

选择peoject,新建工程 new uvision project,新建文件夹保存,直接保存在选择目录下会显得文件杂乱,给文件夹起名为点亮LED,文件名也起为点亮LED(与文件夹同名即可)。

芯片类型选择,这里我们用到的开发板上芯片型号为stc89c52rc,keil中没有该芯片,但与Atmel公司的at89c52芯片完全兼容,于是我们这里选择AT89C52即可。

点击OK会弹出该对话框,意思是是否需要我们将51的启动文件添加到工程,这里我们选择否。

2. 新建C文件

点击target1,右键单击Source Group 1,向工作组添加新项目

选择C文件(后缀为.c,汇编文件后缀为.asm),起名为点亮LED。

这是我们的C文件就添加好了(展开工作组文件也能看到C文件),就可以开始在窗口进行代码的编写。窗口字体太小按住ctrl后滚动鼠标滚轮可调节字体大小。

3. 代码展示

#include <reg52.h>    //51头文件
void main()           //主函数
{
    while(1)          //主循环
    {
        P2=0xfe;      //第一颗LED灯点亮
    }
}

0x是十六进制的表示,0x作为标识不参与进制计算。LED点亮需要使LED处于电路通路中,板子上LED接高电平,只需要将对应输出口电平设置为低电平(0)即可点亮,高电平(1)即熄灭。单片机中用二进制数表示即将P2输出设置为二进制数11111110(从左往右依次为第一位-第八位),则第一个LED点亮,我们可以用计算机自带的计算器进行转换,二进制11111110用十六进制表示为FE。

hex(十六进制);dec(十进制);otc(八进制);bin(二进制)。

4. 编译烧录

点击build进行编译,无警告无错误

点击导航栏魔术棒工具进行配置,将单片机主频改为12Mhz,再点击output,勾选生成hex文件(十六进制的文件用于单片机读取,存储MCU的程序的代码)

点击rebuild生成hex文件

烧录:打开stc-isp软件选择对应芯片型号

打开程序文件,选择刚才目录下生成的hex文件(在object目录下)

点击下载/编程按键后立马对单片机重新上电,显示操作成功则烧录成功

可以看到板子上第一颗LED灯已经被点亮

5. Proteus仿真

打开Proteus软件,新建工程,在元件模式下选择芯片

输入关键字at89c52,右边显示元件封装样子和pcb图,点击确定放置在原理图上

相同操作从元件模式中找到LED,任何颜色都可,放置在原理图上。

终端模式选择power电源VCC

按住鼠标左键拖动将P2.0口与LED相连,与电源相连(注意LED的正负极不要接反,否则不导通)

双击单片机,添加程序文件,选择刚才的hex文件,点击确定

点击左下角蓝色三角形运行

可以看到LED灯成功点亮

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号