我靠,终于要开始点灯了!
现在就让我们开始点灯......
点亮第一个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单片机,吸收吸收