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

下载本文档

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

文档简介

1、1例子1第二个灯亮 #in clude<reg52.h> void mai n()P仁 Oxfd;#in clude<reg52.h>Sbit D仁P1A0 ;Void mai n()D1=0注意:稍微改程序时需重新hex化例子2第一个灯亮#in clude<reg52.h>52单片机头文件sbit led 仁P1A。;/单片机管脚位声明/主函数void mai n()led仁0;将单片机P1.0 口清零while(1);/程序停止在这里,在后面会讲到为什么这样写。例子3第一个灯亮#include<reg52.h>1152 单片机头文件void

2、ma in ()/ 主函数P仁Oxfe;/将单片机P1 口的8个口由高到低分别赋值为11111110while(1);/程序停止在这里,在后面会讲到为什么这样写。2例子1第三个灯闪烁fir循环#in clude<reg52.h>sbit D2=P1A2;un sig ned int a;void mai n()D2=0;for(a=0;a<=10000;a+);D2=1;for(a=0;a<=10000;a+);例子2第三个闪烁while循环#in clude<reg52.h>sbit D2=P1A2;un sig ned int a;void mai n(

3、)a=5000;D2=0;while(a-);a=5000;D2=1;while(a-);2.#include<reg52.h>52 单片机头文件sbit led仁P1A0;/单片机管脚位声明void ma in ()/ 主函数unsigned int i; / 定义一个 int 型变量 while(1)i=50000;变量赋初值为50000led仁0;点亮灯while(i-); 延时i=50000;led1=1;/熄灭灯 while(i-);3例子1 3 5 7灯同时亮#in clude<reg52.h>52单片机头文件sbit led 仁PUO;/单片机管脚位声明s

4、bit led3=P1A2;/单片机管脚位声明sbit led5=P1A4;/单片机管脚位声明sbit led7=P1A6;/单片机管脚位声明void mai n()/主函数led 仁0;/将单片机P1.0 口清零led3=0;/将单片机P1.2 口清零led5=0;/将单片机P1.4 口清零led7=0;/将单片机P1.6 口清零while(1);/程序停止在这里,在后面会讲到为什么这样写。例子21 3 5 7同时亮#in clude<reg52.h>52单片机头文件void mai n()/主函数P仁0xaa;/将单片机P1 口的8个口由高到低分别赋值为10101010whil

5、e(1);/程序停止在这里,在后面会讲到为什么这样写。例子3流水灯一个一个接着亮不循环#in clude<reg52.h>/52单片机头文件void mai n()/主函数un sig ned int i; /定义一个int型变量while(1)i=50000;变量赋初值为50000P仁 Oxfe;点亮第一个灯while(i-);延时i=50000;变量赋初值为50000P仁 Oxfd;点亮第二个灯while(i-);延时i=50000;变量赋初值为50000P仁 Oxfb;点亮第三个灯while(i-);延时i=50000;变量赋初值为50000P仁 0xf7;点亮第四个灯whi

6、le(i-);延时i=50000;变量赋初值为50000P1=0xef;点亮第五个灯while(i-);延时i=50000;变量赋初值为50000P1=0xdf;点亮第六个灯while(i-);延时i=50000;变量赋初值为50000P1=0xbf;点亮第七个灯while(i-);延时i=50000;变量赋初值为50000P1=0x7f;点亮第八个灯while(i-);延时例子4#in clude<reg52.h>#in elude vintrin s.h>#defi ne uint un sig ned int#defi ne uchar un sig ned char

7、uchar temp ,num,nu ml;sbit beep=P2A3;void delay( uin t);void mai n()temp=0xfe;while(1)for(nu m仁 0;nu m1<3 ;nu m1+)for(num=0;num<8;nu m+)P仁temp;beep=0;delay(100);temp=_crol_(temp,1);P仁 Oxff;beep=1;delay(100);for(nu m仁 0;nu m1<3 ;nu m1+)for(num=0; num <8; nu m+) P仁temp;beep=0;delay(100);te

8、mp=_cror_(temp,1);P仁 0xff;beep=1;delay(100);while(1); void delay( uint z)ui nt x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);4延时子程序 void delay()uint x;for(x=100;x>0;x-);For的嵌套void delay()uint x,y;%局部变量for(x=100;x>0;x-)%小括号后不加分号分号将for(y=600;y>0;y-);%小括号后的分号表示该语句是上一条语句的,该句与下句 隔开(或者for(y=600;y>

9、;0;y-);)#include<reg52.h>例子 1#in clude<reg52.h>#defi ne uint un sig ned int#defi ne uchar un sig ned charsbit D仁 P1A0;void delay();%注意分号不能少void mai n()while(1)D1=0;delay();D仁1;delay();void delay()ui nt x,y;for(x=100;x>0;x-)for(y=600;y>0;y-);带参数的比不带参数的要方便例子2无参和有参的对比#include<reg52

10、.h>#defi ne uint un sig ned int#defi ne uchar un sig ned charsbit D仁 P1A0;/void delay();uint z 。void delay(uint);% 带一个参数的,参数类型必须要写,参数可不写。比如可以写成也可以带多个参数void mai n()while(1)D仁0; delay(1200);% 亮 2 秒 D仁1;delay(1200);/*void delay()ui nt x,y;for(x=100;x>0;x-) for(y=600;y>0;y-);*/void delay( uint z)uint x;uchary;for(x=z;x>0;x-)for(y=20;y>0;y-);例子 3#include<reg52.h> #defi ne uint un sig ned int #defi ne uchar un sig ned char sbit D仁 P1A0;void delay

温馨提示

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

评论

0/150

提交评论