#include // 引用52包文件 可以理解为命名空间
sbit P1_0 = P1^0; // 定义P1管脚0
void main() // 主程序 C语言所必需要有的
{
P1_0 = 0; // 点亮P1第0管脚连接的LED
}
===============以下非程序代码===================
上面的程序,首先引用reg52.h,这里有对操作单片机相关数据的封装,方便用户使用
接着,用P1_0这个sbit类型的变量,引用P1口的第1个引脚(P1^0)
接着,主程序开始
将P1口的第1个引脚置为低电平(亮)
结束程序
在reg52.h上右键菜单(Keil中)open document可以打开reg52单元,发现P1的定义:sfr P1 = 0x90;什么意思呢?
sfr 是用于定义特殊寄存器(Special Function Register)的关键字,是单片计算机中的一组特殊的临时存储区域,用于动态存放计算机运行过程的一些状态信息、并依此做相应的控制。51系列单片机中,通常每个寄存器也就一个字节,这个字节是P1(通用寄存器1)P1有8个位,但0x91~0x97与P1毫无关系,同理其他3个寄存器P0, P2, P3也是这个道理。MCS-51单片机就设有18个专用寄存器,P0-P3端口,定时/计数器T0、T1,TMOD、TCON、PCON、SCON 、PSW、IE、A、B、IP等等。SFR越多,编和控制功能越强、越灵活,但需要硬资源,所以系统设计时会根据需要来确定。
sbit(Set Bit)与sfr用法类似,只是sbit是位操作,用于将某个sfr中具体位赋值给一个变量,这样后面程序就可用通过该变量为该位清0或置1。
要点:
1.sfr和sbit的含意,特殊功能寄存器的含意
2.如何用位控制引脚
关键字:程序点亮 LED灯
引用地址:
第一个程序点亮一个LED灯
推荐阅读最新更新时间:2024-03-16 15:30
第四节:累计定时中断次数使LED灯闪烁
开场白: 上一节提到在累计主循环次数来实现计时,随着主函数里任务量的增加,为了保证延时时间的准确性,要不断修正设定上限阀值const_time_level 。我们该怎么解决这个问题呢?本节教大家利用累计定时中断次数的方法来解决这个问题。这一节要教会大家四个知识点: 第一点:利用累计定时中断次数的方法实现时间延时 第二点:展现鸿哥最完整的实战程序框架。在主函数循环里用switch语句实现状态机的切换,在定时中断里累计中断次数,这两个的结合就是我写代码最本质的框架思想。 第三点:提醒大家C语言中的int ,long变量是由几个字节构成的数据,凡是在main函数和中断函数里有可能同时改变的变量,这个变量应该在主函数中被更改之前,先关
[单片机]
W5500通过上位机控制实现调节LED灯带的亮度
该实验采用W5500开发板通过上位机向开发板发送命令来控制外接灯带的亮度;主要的过程如下: 1 实验目的 上位机通过串口发送格式为:“redbrightness,greenbrightness,bluebrightness”的字符串到MCU。MCU将数字转化成相应的亮度。 2 实验总体设计 实验主要分两个部分:PWM配置以及串口通信配置。整个实验的难点在于ASCII码转换为数字的过程。 3 PWM产生原理 通用定时器可以利用GPIO引脚进行脉冲输出。要使STM32的通用定时器TIMx产生PWM输出,需要用到3个寄存器。分别是:捕获/比较模式寄存器(TIMx_CCMR1/2)、捕获/比较使能寄存器(TIMx_CCER)、捕获/比较寄
[单片机]
【技术视点】LED灯罩如何选择?
led 灯罩的选择相信是很多厂家都比较看重质量,但是如何才能选择好的LED灯罩和好的生产厂家或理加工厂呢?其实我们可以看一个企业的知名度和口碑,再结合产品,相信LED灯罩的质量肯定是没有问题,在这里推荐东莞适质塑料有限公司。 LED灯罩的更新换代比较快,而且灯具大部分都是设计师精心设计,对于灯来说,不用将灯整个都换掉,只需要把灯具的外部灯罩进行替换。因此想换换环境去更换LED灯罩是个不错的选择。 首先,先了解一下LED灯罩的不同材质带来的装饰效果有哪些,布面的LED灯罩给人简洁典雅的印象,纸面的灯罩可以营造出朦胧又梦幻的氛围,金属材质的灯罩有种冷调的气质和现代感,而鼓形的灯罩则带给人怀旧的情怀。 其次,根据灯座的形状
[电源管理]
影响LED灯具光衰的几大因素
LED 灯具作为新型的绿色照明灯具,节能、环保、长寿命,受到广大客户的追崇。但是LED 光衰 的问题,又是一个LED灯具不得不面对的问题。不间断的光衰,严重影响了LED灯具的使用情况。 就目前来看,市场上的白光LED其光衰可能是向民用照明进军的首要问题之一。什么原因导致了LED的光衰现象?一般来说,针对LED的光衰主要有二大因素: LED产品本身品质问题: 1、采用的LED芯片体质不好,亮度衰减较快。 2、生产工艺存在缺陷,LED芯片散热不能良好的从PIN脚导出,导致LED芯片温度过高使芯片衰减加剧。 使用条件问题: 1、 LED 为恒流驱动,有部分LED采用电压驱动原因使LED衰减过来。 2、驱动电流大于额定驱动条件。
[电源管理]
选择性运算方式可改善LED灯具散热的问题分析
时至今日,白色 LED 的热分析仍旧是一门未完成的科学。大多数 LED 灯具和照明器制造商只能依赖于不充分、不准确或模糊的数据来确定LED设备在相关应用领域的性能,这往往可能导致其散热片设计过度工程化。 图1.LED的定义 目前业内通常使用功率转换效率(WPE)方法来计算LED转换为光辐射所需的功率,以及 LED 实际所产生的热量。WPE的缺陷在于,同一产品类别中各个LED设备之间得出的结果差异甚大,使得灯具和照明器制造商很难对LED产品进行比较。而且,WPE通常也与操作环境有很大关系。我们将介绍一种简单明了、基于辐射发光效率(LER)的LED发热量计算方法。最先进、荧光转换型白色LED的LER一般都保持恒定,因此照明器设
[电源管理]
卤素灯/氙气灯/LED灯/激光大灯,汽车大灯渐变史
汽车的普及程度已经越来越高,人们对汽车的要求也不仅仅只存在于四个轮子能够跑,现在的汽车,对于软性需求的卖点越来越看重,包括内饰、中控、外观等等,动力的需求已经成为比较边缘化的需求。而这些软性需求里面,排第一位的就是外观了,绝大部分人买车第一要求就是看得顺眼,从领克、蔚等为代表的新国产的热卖不难看出,时尚科技前沿的外观可以让人们忽略很多硬件方面的需求,当然,这也不是说国产的车已经配备不好,其核心与现在用车群体的青年化不无关系。而汽车外观上,影响“颜值”很大的部分来自于车灯。 车灯的发展在我们不知不觉之中进步飞快,从最初的卤素灯到氙气灯,再到现在主流的LED灯,其实也不过只用了十年不到的时间,更不谈已经开始试用的激光大灯。LED大
[嵌入式]
LED灯具智能驱动系统设计
0 引言 LED照明是全球节能的主流,而大功率LED 照明更是今后世界的照明发光系统的主流趋势。大功率LED具有亮度高、节能环保、安全性和稳定性高等特点,比传统光源节电60% ~ 70%. 传统的声光控延时控制器能很好地实现对灯的控制,在光线黑暗时或晚上来临时,能有效地实现"人来灯亮,人去灯熄" , 但由于其开关用的是继电器之类的机械控制器,所以在人流量多的地方由于频繁的开关,较容易损坏。 根据市场上的现有的大功率LED射灯产品,设计了可应用于走廊、楼梯、教室等场所的智能照明系统。 该系统采用24 V /3 A 开关电源供电,下级可分布多路LED智能照明模块(见图1)。控制器采用AT89C2051,恒流
[电源管理]
T8 LED灯管耐压测试死灯珠机理分析和对策探讨
T8 LED灯 管在制造完成准备老化前要不要加入耐压测试环节?有些厂家跳过这环节,直接老化出货了。为什么?答案就是耐压测试会死灯珠。再把概念扩大,整个 LED 行业有相当数量人员认为,耐压测试会把灯珠打死,因此目前市面上的相当部分 灯具 没有经过耐压测试环节,使用安全存在一定隐患。这些灯具大多无法通过出口商检或是CE测试,产品品质下了一个档次。还有一个问题:耐压3.75KV的驱动电源组装的灯具打耐压时甚至3KV都过不了。这又是怎么回事呢?本文试图通过分析谈谈个人看法。 下面剖析T8耐压测试死灯珠的机理。 LED的损坏有两个原因。一是电压超出,二是电流超出。耐压测试的漏电流都设在10mA左右,一般不会超出LED允许的电流
[电源管理]