【51单片机】点亮一个LED灯(看开发板原理图十分重要)

您所在的位置:网站首页 普中51单片机开发板原理图 【51单片机】点亮一个LED灯(看开发板原理图十分重要)

【51单片机】点亮一个LED灯(看开发板原理图十分重要)

2024-04-03 14:03| 来源: 网络整理| 查看: 265

🎊专栏【51单片机】

🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。

🎆音乐分享【The Right Path】

🥰大一同学小吉,欢迎并且感谢大家指出我的问题🥰

目录

 

🍔基础内容

🏳️‍🌈sbit:特殊功能位声明

🏳️‍🌈注意

🎆方法一 

🍔现象&&代码

🎊点亮一个

🎈现象

🎈代码

🎊点亮两个

🎈现象

🎈代码

🎊点亮三个 

 🎈现象

🎈代码

🎆方法二 

🍔现象&&代码

🎊点亮一个

🎈现象

🎈代码

🎊点亮两个

🎈现象

🎈代码 

 🏳️‍🌈总结(非常重要)

 

🍔基础内容 🏳️‍🌈sbit:特殊功能位声明

sbit 变量名=地址值;在给某个引脚取名的时候经常会用到。如上面对LED管脚的定义sbit led=P2^0。

 如下图,就可以声明为

P2^0        P2^1        P2^2        P2^3等

🏳️‍🌈注意

⭐声明引脚必须要按照电路原理图上面给的引脚来声明,比如P0^1就是错的

e3ba2bca58884c9697a5cd23ee6a9fd2.png

🎆方法一 

使用sbit

🍔现象&&代码 🎊点亮一个 🎈现象

44ccf0dd828d4e0d8e3fea49009a4bfa.jpeg

🎈代码 #include sbit led=P2^0; //将单片机的P2.0端口定义为led(当然也可以定义其他端口) void main() { while(1) { led=0; //低电平 } }

⭐可以看到LED模块是共阳极的,所以引脚(P2^0)要为0(低电平) 

🎊点亮两个 🎈现象

8d34435509a54efcba663e9a49adce13.jpeg

🎈代码 #include sbit led1=P2^0; //将单片机的P2.0端口定义为led(当然也可以定义其他端口) sbit led2=P2^1; void main() { while(1) { led1=0; //低电平 led2=0; } } 🎊点亮三个   🎈现象

9a3cdf96be3744ef8c5269d47046cb2b.jpeg

🎈代码 #include sbit led1=P2^0; //将单片机的P2.0端口定义为led(当然也可以定义其他端口) sbit led2=P2^1; sbit led3=P2^2; void main() { while(1) { led1=0; //低电平 led2=0; led3=0; } }

可以发现,声明不同的引脚,可以点亮不同的灯

🎆方法二 

使用二进制

🍔现象&&代码 🎊点亮一个 🎈现象

44ccf0dd828d4e0d8e3fea49009a4bfa.jpeg

🎈代码 #include void main() { while(1) { P2=0xFE; } }

0xEF对应二进制1111 1110,最低位为0,所以P2.0 的输出被设置为低电平,其他位的输出都是高电平

🎊点亮两个 🎈现象

 8d34435509a54efcba663e9a49adce13.jpeg

🎈代码  #include void main() { while(1) { P2=0xFE; //1111 1110 P2=0xFD; //1111 1101 } }  🏳️‍🌈总结(非常重要)

上面介绍了两种方式点亮LED灯,下面来说说一些注意事项

1.要看原理图,因为原理图上面的LED是P2的,所以如果写为P3=0xFE,就不能亮

2.sbit和使用二进制其实有一定的关联

比如P2=0xFE,对应二进制1111 1110,就是P2.0,和sbit led=P2^0是一样的

adc503e087c348fdabd035f80c078fe7.png 

 🥰如果大家有不明白的地方,或者文章有问题,欢迎大家在评论区讨论,指正🥰

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3