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

下载本文档

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

文档简介

1例子1第二个灯亮#iiiclude<reg52.h>voidmain(){Pl=0xfd;}#iiiclude<reg52.h>SbitDl=PlAO;Voidmam(){Dl=0)注意:稍微改程序时需重新hex化例子2第一个灯亮#include<reg52.h>〃52单片机头文件sbitledl=Plz0; 〃单片机管脚位声明voidmain() 〃主函数(led1=0; //将单片机PL0口清零wlnle(l);〃程序停止在这里,在后面会讲到为什么这样写。}例子3第一个灯亮#include<reg52.h>〃52单片机头文件voidmain() 〃主函数(Pl=0xfe;〃将单片机Pl口的8个口由高到低分别赋值为11111110wlnle(l);〃程序停止在这里,在后面会讲到为什么这样写。}2例子1第三个灯闪烁fir循环#iiiclude<reg52.h>sbitD2=P1八2;unsignedmta;voidmain(){D2=0;fbr(a=0;a<=10000;a++){};D2=l;fbr(a=0;a<=10000;a++){};}例子2第三个闪烁while循环#iiiclude<reg52.h>sbitD2=P1八2;unsignedmta;voidmain()a=5000;D2=0;while(a");a=5000;D2=l;while(a");}2.#include<reg52.h>//52单片机头文件sbitledl=PlzO;〃单片机管脚位声明voidmain() 〃主函数(unsignedmti;〃定义一个mt型变量wlule(l)1=50000; 〃变量赋初值为50000ledl=O; 〃点亮灯while(i—); 〃延时1=50000;ledl=l; 〃熄灭灯while。--);))3例子1357灯同时亮#iiiclude<reg52.h>//52单片机头文件sbitledl=Plz0; 〃单片机管脚位声明sbitled3=PlA2; 〃单片机管脚位声明sbitled5=PlA4; 〃单片机管脚位声明sbitled7=PlA6; 〃单片机管脚位声明voidmain() 〃主函数(led1=0; 〃将单片机PL0 口清零led3=0; 〃将单片机P1.2 口清零led5=0; 〃将单片机P1.4 口清零led7=0; 〃将单片机P1.6 口清零wlule(l); 〃程序停止在这里,在后面会讲到为什么这样写。}例子2 1357同时亮#iiiclude<reg52.h>//52单片机头文件voidmain() 〃主函数Pl=0xaa;〃将单片机Pl口的8个【】由高到低分别赋值为10101010

while(l);〃程序停止在这里,在后面会讲到为什么这样写。while(l);〃程序停止在这里,在后面会讲到为什么这样写。)例子3流水灯一个一个接着亮不循环#iiiclude<reg52.h>〃52单片机头文件voidmain() 〃主函数{unsignedmti;〃定义一个mt型变量wlule(l)1=50000;//变量赋初值为50000Pl=0xfe;〃点亮第一个灯while(i");〃延时1=50000;//变量赋初值为50000Pl=0xfd;〃点亮第二个灯while(i");〃延时1=50000;//变量赋初值为50000Pl=0xfb;〃点亮第三个灯while(i");〃延时1=50000;//变量赋初值为50000Pl=0xf7;〃点亮第四个灯while(i");〃延时1=50000;//变量赋初值为50000Pl=0xef;〃点亮第五个灯while(i");〃延时1=50000;//变量赋初值为50000Pl=0xdf;〃点亮第六个灯while(i");〃延时1=50000;//变量赋初值为50000Pl=0xbf;〃点亮第七个灯while(i");〃延时1=50000;//变量赋初值为50000Pl=0x7f;〃点亮第八个灯while(i");〃延时)}例子4#iiiclude<reg52.h>#iiiclude<intrms.h>#defineumtunsignedmt#defineuchaiunsignedcharuchaitemp.numjiuml;sbitbeep=P2A3;voiddelay(uint);voidmain()(temp=0xfe;wlule(l)fbr(num1=0;num1<3;num1++){fbr(num=0;num<8;num++){Pl=temp;beep=O;delay(lOO);temp=_crol_(tempJ);Pl=Oxff:beep=l;delay(lOO);))fbi(num1=0;num1<3;num1++){fbr(num=0;num<8;num++){Pl=temp;beep=O;delay(lOO);temp=_croi_(temp51);Pl=Oxff:beep=l;delay(lOO);))while(l);)}voiddelay(uintz)(uiiitx,y;fbi(x=z;x>0;x")for(y=110;y>0;y-);4延时子程序voiddelay()uiiitx;fbr(x=100;x>0;x-){};}For的嵌套voiddelay(){umtx,y; %局部变量for(x=l00;x>0;x-) %小括号后不加分号for(y=600;y>0;y-); %小括号后的分号表示该语句是上一条语句的,分号将该句与下句隔开(或者{fbt(y=600;y>0;y--);})#includeVieg52.h>例子l#include〈ieg52・h>#defineumtunsignedmt#defineucharunsignedcharsbitDl=PlAO;voiddelayO; %注意分号不能少voidmain(){wlule(l)Dl=0;delay();Dl=l;delay。;}}voiddelay(){uiiitx,y;fbr(x=100;x>0;x-)for(y=600;y>0;y~);}带参数的比不带参数的要方便例子2无参和有参的对比#includevieg52.h>#defineumtunsignedmt#defineucharunsignedcharsbitDl=PlAO;//voiddelayO;voiddelay(umt);%带一•个参数的,参数类型必须要写,参数可不写。比如可以写成unitz。也可以带多个参数voidmain()while(l)D1=O;delay。200);%亮2秒Dl=l;delay(1200);}}/*voiddelay(){uiiitx,y;fbr(x=100;x>0;x-)foi(y=600;y>0;y~);}*/voiddelay(uintz){uiiitx;uchary;fdr(x=z;x>0;x")for(y=20;y>0;y-);}例子3#include<reg52.h>#defineumtunsignedmt#defineucharunsignedcharsbitDl=PlAO;voiddelay(uint);

温馨提示

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

评论

0/150

提交评论