第一讲 点亮LED

二进制与十六进制的转换

逻辑运算

与 或 非

新建工程

芯片选择

添加文件

电阻阻值的计算

电阻的分类 上拉电阻 下拉电阻 限值电阻

真值表 

OE :out enable —低电

低电平使能

Z高阻态 介于高电平和低电平之间的

LH  :高低电平

LE :所存寄存器的所存端

Q0:上一次的值

锁存器的作用?

点亮二极管

位操作 

寄存器操作

库函数操作

关键字: sbit

用于定义和操作单片机的特定位(bit)。它是 Keil C51 编译器中定义特殊功能寄存器(SFR,Special Function Register)中特定位的一个关键字。

所有IO口默认都是高电平。

#include <reg52.h>

sbit D1 = P2^0;

void main()
{
	D1 = 0;
	
}
// 位操作 点亮第一个LED D1定义可查看reg52.h
#include <reg52.h>

void main()
{
	//P2 = 1111 1110; 在C语言中 不可直接使用二进制赋值
	P2 = 0xfc ;				// 需转换成十六进制  不区分大小写     十六进制前缀 0x
	//P2 = fcH;        H 为十六进制后缀 但为汇编语言格式 不可使用
}

/* P2端口的名称定义在头文件中  P2 区分大小写
不同的编译器可能对语法有一定的区别 */

让LED循环闪烁 

为什么会循环闪烁?


#include <reg52.h>

unsigned int A;
void main()
{

	A = 50000;
  P2 = 0xFE ;	
	while(A--);	
	P2 = 0xFD ;
  A = 50000;		
	while(A--);

}

// LED灯会循环闪烁 但这种代码方式是不标准的,可以通过添加 while(1); 来实现循环闪烁 循环体内的代码会一直重复运行知道被强制终止或重启
  • 12
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值