c语⾔点亮⼀个led灯程序,第⼀个程序点亮⼀个LED灯
#include // 引⽤52包⽂件 可以理解为命名空间
一个完整的c语言程序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.如何⽤位控制引脚

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。