单片机编程实例大全.docxVIP

  • 19
  • 0
  • 约1.51万字
  • 约 50页
  • 2021-11-03 发布于天津
  • 举报
专业.专注 专业.专注 专业.专注 专业.专注 /专业.专注 / 专业.专注 学习单片机 //实例1:用单片机控制第一个灯亮 #includereg51.h //包含51单片机寄存器定义的头文件 void main(void) P1=0xfe; //P1=1111 1110B ,即 P1.0 输出低电平 //实例2 :用单片机控制一个灯闪烁:认识单片机的工作频率 #includereg51.h //包含单片机寄存器的头文件 函数功能:延时一段时间 void delay(void)//两个void意思分别为无需返回值,没有参数传递 void delay(void) unsigned int i; 〃定义无符号整数,最大取值范围65535 for(i=0;i20000;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 口 的引脚功能 #includereg51.h //包含单片机寄存器的头文件 / 函数功能:主函数(C语言规定必须有也只能有1个主函数) / void main(void) ( while(1)〃无限循环 while(1) P1=0xff; // P1=1111 1111B,熄灭 LED P0=P1; //将P1 口状态送入P0 口 P2=P1; //将P1 口状态送入P2 口 P3=P1; //将P1 口状态送入P3 口 } } 8 位 LED//实例4 :使用P3 口流水点亮 8 位 LED #includereg51.h //包含单片机寄存器的头文件 / 函数功能:延时一段时间 / void delay(void) ( unsigned char i,j; for(i=0;i250;i++) for(j=0;j250;j++) ; 函数功能:主函数 / void main(void) ( while(1) ( P3=0xfe; //第一个灯亮 delay(); 〃调用延时函数 P3=0xfd; //第二个灯亮 delay(); 〃调用延时函数 P3=0xfb; //第三个灯亮 delay(); 〃调用延时函数 P3=0xf7; 〃第四个灯亮 delay(); 〃调用延时函数 P3=0xef; //第五个灯亮 delay(); 〃调用延时函数 P3=0xdf; //第六个灯亮 delay(); 〃调用延时函数 P3=0xbf; //第七个灯亮 delay(); 〃调用延时函数 P3=0x7f; //第八个灯亮 . 专业.专注 ^ 专业.专注 专业.专注 函数功能:主函数 函数功能:主函数 专业.专注 专业.专注 delay(); 〃调用延时函数 } 〃实例7:通过对P3 口地址的操作流水点亮8位LED #includereg51.h //包含单片机寄存器的头文件 sfr x=0xb0; //P3 口在存储器中的地址是 b0H , 通过sfr可定义8051内核单 片机 〃的所有内部8位特殊功能寄存器,对地址x的操作也就是对P1 口的 操作 / 函数功能:延时一段时间 / void delay(void) ( unsigned char i,j; for(i=0;i250;i++) for(j=0;j250;j++) ;〃利用循环等待若干机器周期,从而延时一段时间 } void main(void) ( while(1) ( x=0xfe; //第一个灯亮 delay(); 〃调用延时函数 x=0xfd; 〃第二个灯亮 delay(); 〃调用延时函数 x=0xfb; //第三个灯亮 delay(); 〃调用延时函数 x=0xf7; 〃第四个灯亮 delay(); 〃调用延时函数 x=0xef; //第五个灯亮 delay(); 〃调用延时函数 x=0xdf; //第六个灯亮 delay(); 〃调用延时函数 x=0xbf; //第七个灯亮 delay(); 〃调用延时函数 x=0x7f; //第八个灯亮 delay(); 〃调用延时函数 } 〃实例8:用不同数据类型控制灯闪烁时间 #includereg51.h //包含单片机寄存器的头文件 / 函数功能:用整形数据延时一段时间 / void int_delay(void) // 延时一段较长的时间 ( unsigned int

文档评论(0)

1亿VIP精品文档

相关文档