学习单片机
//实例1:用单片机控制第一个灯亮
#include //包含51 单片机寄存器定义的头文件
void main(void)
{
P1=0xfe; //P1=1111 1110B,即P1.0 输出低电平
}
//实例2:用单片机控制一个灯闪烁:认识单片机的工作频率
#include //包含单片机寄存器的头文件
/
函数功能:延时一段时间
/
void delay(void) //两个void 意思分别为无需返回值,没有参数传递
{
unsigned int i; //定义无符号整数,最大取值范围65535
for(i=0;i<20000;i++) //做20000 次空循环
; //什么也不做,等待一个机器周期
}
/
函数功能:主函数 (C 语言规定必须有也只能有1 个主函数)
/
void main(void)
{
while(1) //无限循环
{
P1=0xfe; //P1=1111 1110B, P1.0 输出低电平
delay(); //延时一段时间
P1=0xff; //P1=1111 1111B, P1.0 输出高电平
delay(); //延时一段时间
}
}
//实例3:将 P1 口状态分别送入P0、P2、P3 口:认识I/O 口
的引脚功能
#include //包含单片机寄存器的头文件
/
函数功能:主函数 (C 语言规定必须有也只能有1 个主函数)
/
void main(void)
{
while(1) //无限循环
{
P1=0xff; // P1=1111 1111B,熄灭LED
P0=P1; // 将 P1 口状态送入P0 口
P2=P1; // 将 P1 口状态送入P2 口
P3=P1; // 将 P1 口状态送入P3 口
}
}
//实例4 :使用P3 口流水点亮8 位LED
#include //包含单片机寄存器的头文件
/
函数功能:延时一段时间
/
void delay(void)
{
unsigned char i,j;
for(i=0;i<250;i++)
for(j=0;j<250;j++)
;
}
/
函数功能:主函数
/
void main(void)
{
while(1)
{
P3=0xfe; //第一个灯亮
delay(); //调用延时函数
P3=0xfd; //第二个灯亮
delay(); //调用延时函数
P3=0xfb; //第三个灯亮
delay(); //调用延时函数