点亮LED灯

前言

俗话说得好:良好的开端是成功的一半!我十分认同这句话,这算是最最简单基础的一个程序了,但是想要完成这个程序就要了解编程的流程,需要看哪些资料、程序的框架啊等等等等。解决了这个问题,后面的编程之路可以顺畅太多太多。我也是查了不少资料才解决,就留点经验给后面的学者吧。

这些电路和芯片的信息都能在某某通学习网站找到

编程的流程
1.首先肯定要看芯片引脚名称,还要分析LED的电路。
在这里插入图片描述
大致看一下引脚的分布和名称,之后会用得到。
在这里插入图片描述
这里是LED和数码管的电路图,这里我们先不看数码管,只研究发光二极管:

可以看到8个二极管共阴极,如果要点亮它们,阴极要提供低电平。P2.3处通过一个反相器(使高低电平互换 连接到二极管的阴极,所以说点亮的一个条件是P2.3处提供高电平。
P0的0到7哪一个为1控制的相应的二极管就会发光。

电路分析好了就能写程序了。先把代码放下面再一步步分析。

#include <STC15F2K60S2.H>
sbit led_sel=P2^3;
void Init(){
	P0M0=0xff;
	P0M1=0x00;
	
	P2M0=0x08;
	P2M1=0x00;
	
	led_sel=1;
}

void main(){
	Init();
	while(1){
	P0=0xf0; 
	}

}

这个程序就是让二极管的高四位亮,低四位不亮。

下载后效果
在这里插入图片描述
下面分析一下代码:
1.首先一定要包含芯片的头文件
在这里插入图片描述
2.下面这两行是控制电路图P2.3处为高电平
芯片的资料里规定了写法固定是这样的,如果把这两行改成sbit P2^3=1;就会报错

sbit led_sel=P2^3;
led_sel=1;

3.Init()函数初始化了P2.3并且设置了推挽输出
在这里插入图片描述
资料介绍了四种输出设定,推挽输出为强上拉。这里要么是5v要么是0v为强上拉,故设定为推挽输出。
推挽输出的写法如下:
在这里插入图片描述
因为P2只用到了P2.3所以设置推挽输出的时候P2M0为0x08(0000 1111)。而P0,8个引脚都用到了,设置推挽输出的时候P0M0为0xff(1111 1111)。M1结尾的都是0x00没有差别。

4.main函数里面调用初始化函数。
这里要使用while循环让程序一直刷新,P0设置LED灯的亮灭情况,改变P0的值就能改变LED的情况。

后记

有问题欢迎交流
喜欢可以留个赞再走,嘿嘿。

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值