单片机C语言LED灯点亮程序完全版_第1页
单片机C语言LED灯点亮程序完全版_第2页
单片机C语言LED灯点亮程序完全版_第3页
单片机C语言LED灯点亮程序完全版_第4页
单片机C语言LED灯点亮程序完全版_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机C语言LED灯点亮程序完全版单片机C语言LED灯点亮程序完全版单片机C语言LED灯点亮程序完全版资料仅供参考文件编号:2022年4月单片机C语言LED灯点亮程序完全版版本号:A修改号:1页次:1.0审核:批准:发布日期:1例子1第二个灯亮#include<>voidmain(){ P1=0xfd;}#include<>SbitD1=P1^0;Voidmain(){D1=0}注意:稍微改程序时需重新hex化例子2第一个灯亮#include<>include<>//52单片机头文件sbitled1=P1^0;//单片机管脚位声明voidmain() //主函数{ unsignedinti;//定义一个int型变量 while(1) { i=50000;//变量赋初值为50000 led1=0; //点亮灯 while(i--);//延时 i=50000; led1=1;//熄灭灯 while(i--); }}3例子1357灯同时亮#include<>//52单片机头文件sbitled1=P1^0;//单片机管脚位声明sbitled3=P1^2;//单片机管脚位声明sbitled5=P1^4;//单片机管脚位声明sbitled7=P1^6;//单片机管脚位声明voidmain() //主函数{ led1=0; //将单片机口清零 led3=0; //将单片机口清零 led5=0; //将单片机口清零 led7=0; //将单片机口清零 while(1);//程序停止在这里,在后面会讲到为什么这样写。}例子21357同时亮#include<>//52单片机头文件voidmain() //主函数{ P1=0xaa; //将单片机P1口的8个口由高到低分别赋值为 while(1);//程序停止在这里,在后面会讲到为什么这样写。}例子3流水灯一个一个接着亮不循环#include<>//52单片机头文件voidmain() //主函数{ unsignedinti;//定义一个int型变量 while(1) { i=50000; //变量赋初值为50000 P1=0xfe; //点亮第一个灯 while(i--); //延时 i=50000; //变量赋初值为50000 P1=0xfd; //点亮第二个灯 while(i--); //延时 i=50000; //变量赋初值为50000 P1=0xfb; //点亮第三个灯 while(i--); //延时 i=50000; //变量赋初值为50000 P1=0xf7; //点亮第四个灯 while(i--); //延时 i=50000; //变量赋初值为50000 P1=0xef; //点亮第五个灯 while(i--); //延时 i=50000; //变量赋初值为50000 P1=0xdf; //点亮第六个灯 while(i--); //延时 i=50000; //变量赋初值为50000 P1=0xbf; //点亮第七个灯 while(i--); //延时 i=50000; //变量赋初值为50000 P1=0x7f; //点亮第八个灯 while(i--); //延时 }}例子4#include<>#include<>#defineuintunsignedint#defineucharunsignedcharuchartemp,num,num1;sbitbeep=P2^3;voiddelay(uint);voidmain(){ temp=0xfe; while(1) { for(num1=0;num1<3;num1++) { for(num=0;num<8;num++) { P1=temp; beep=0; delay(100); temp=_crol_(temp,1); P1=0xff; beep=1; delay(100); } }for(num1=0;num1<3;num1++) { for(num=0;num<8;num++) { P1=temp; beep=0; delay(100); temp=_cror_(temp,1); P1=0xff; beep=1; delay(100); } } while(1); }}voiddelay(uintz){ uintx,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }4延时子程序voiddelay(){ uintx; for(x=100;x>0;x--){};}For的嵌套voiddelay(){ uintx,y; %局部变量 for(x=100;x>0;x--) %小括号后不加分号 for(y=600;y>0;y--); %小括号后的分号表示该语句是上一条语句的,分号将该句与下句隔开(或者{for(y=600;y>0;y--);})#include<>例子1#include<>#defineuintunsignedint#defineucharunsignedcharsbitD1=P1^0;voiddelay(); %注意分号不能少voidmain(){ while(1) { D1=0; delay(); D1=1; delay(); }}voiddelay() { uintx,y; for(x=100;x>0;x--) for(y=600;y>0;y--); }带参数的比不带参数的要方便例子2无参和有参的对比#include<>#defineuintunsignedint#defineucharunsignedcharsbitD1=P1^0;//voiddelay();voiddelay(uint);%带一个参数的,参数类型必须要写,参数可不写。比如可以写成uintz。也可以带多个参数voidmain(){ while(1) { D1=0; delay(1200);%亮2秒 D1=1; delay(1200); }}/*voiddelay(){ uintx,y; for(x=100;x>0;x--) for(y=600;y>0;y--); }*/voiddelay(uintz){ uintx; uchary; for(x=z;x>0;x--) for(y=20;y>0;y--); }例子3#include<>#defineuintunsignedint#defineucharunsignedcharsbitD1=P1^0;voiddelay(uint);v

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论