学习STC51单片机04(芯片为STC89C52RC)

我靠,终于要开始点灯了!

现在就让我们开始点灯......

点亮第一个LED

首先我们要做准备工作,直接复制之前的文件夹,拷贝后改名为点亮第一个LED到时候回来好复习代码;

然后打开原理图看LED灯的结构(每个人的开发板不一样,但是原理是一样的)

先看灯,再看是哪里的

这边显示的是p3组的6口  以及p3组的7口,这决定了我们该怎么写代码,每次都看着原理图去编码,这个跟硬件设计师有关,再说一点大家的板子都不一样,但是原理是一样的

我这块板子的话是长这样的

        上面也标注了很多的字母,都是各个电子器件的名字、标号,根据原理图就更看得出来有什么作用了

        比如我这个原理图上面的D5是一个LED那么这个板子上面找到D5的地方,那个就表示是一个LED,等一会我就把他点亮

点亮第一个LED

解释一下代码

#include 是 C 语言中的预处理指令,用于将指定的头文件内容包含到当前源文件中。reg52.h 是针对 STC89C52 等 51 系列单片机的头文件,它定义了单片机内部特殊功能寄存器(SFR)的地址以及相关的位定义等信息。通过包含这个头文件,后续代码才能正确访问和操作单片机的寄存器。

sbit 是 C51 语言中特有的关键字,用于定义可位寻址的变量。这里将 ledOne 定义为单片机 P3 口的第 7 位(P3.7 ) 。这样在后续代码中就可以通过 ledOne 这个名字来单独操作 P3.7 引脚,比如对其进行置 1(高电平)或置 0(低电平)操作 。

  •  main 函数内部,ledOne=0; 这行代码将之前定义的 ledOne 引脚(即 P3.7 ) 置为低电平。如果硬件电路中,LED 的阴极连接到 P3.7 引脚,阳极通过限流电阻连接到电源正极,那么当 P3.7 输出低电平时,LED 就会导通点亮 。由于程序中没有其他循环或后续操作,在实际运行时,LED 会一直保持点亮状态 。
  • 代码:

    反正我们就这样想 0代表低电平,灯亮 ,1代表高电平,灯灭

    很明显D5亮起来了

    红色的灯只是个电源指示

    开发板接入电源后,红色灯亮起表示电源正常接通,开发板已上电 。比如电源指示灯 0805 贴片 LED,能直观显示电源状态。

延时点亮灯泡500ms

也就是0.5秒,效果的话可以看作是闪烁,一闪一闪的

没有学习定时器之前我们用这个进行延时

这个延时的话STCISP有个功能可以计算延时时间,我们只需要生成复制就好了

我们这个stc89c52的要选择对应的指令集,在右边都有写适用系列

展示代码

这个是代码

点亮两个灯泡

很明显哈 D5、D6都亮起来了

这个是两个灯泡分开闪烁

今天就到这吧,刚学51单片机,吸收吸收

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

热爱嵌入式的涛涛同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值