51单片机——入门
点亮LED程序
#include <reg52.h>
sbit led=p0^0;// 通过这个变量名来代替这个管脚
void main(){
while(1){// 死循环让它一直点亮
led=1;// 输出高电平
}
}
LED闪烁实验
c语言常用的预处理命令、while()循环、delay()延迟函数
(1)#typedef使用
typedef unsigned char u8;(0-255) --》uint8
typedef unsigned int u16;(0-65535) --》iint16
重新定义一些常用的关键词,可以增强程序的可移植性,因为在不同的编译软件上面,c语言的数据类型的关键词的位宽是不一样的。
(2)while()循环:省略
(3)延迟函数(i=1时,延迟大约为10us)
void delay(u16 i){// 大约延时,不精确;精确:计时器
while(i–);
}
(4)循环左移、循环右移函数(均包含在instrins.h库函数里)
crol(a,b); 循环左移函数,a是左移的值,b是左移的位数。
cror(a,b); 循环右移函数,a是右移的值,b是右移的位数。
#include <reg52.h>
typedef unsigned char u8;
typedef unsigned int u16; #include "seg52.h"
sbit led=p0^0;// 通过这个变量名来代替这个管脚
void delay(u16 i){
while(i--);
}
void main(){
while(1){// 死循环让它一直点亮
led=1;// 输出高电平
delay(50000);
led=0;
delay(50000);
}
}
LED流水灯:
今日学习打卡: