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

下载本文档

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

文档简介

1、1例子1第二个灯亮#include<reg52.h>void main()Pl=Oxfd;#include<reg52.h>SbitDl=PlAO:Void main()1D1=O'注意:稍微改程序时需重新hex化例了 2第个灯亮#近11<叫522 52单片 机头文件sbit Iedl=PlA():单片机管脚位声明void main() 主函数(led 1=0;将单片机P1.0 口清零whiled);程序停止在这里,在后面会讲到为什么这样写。例子3第个灯亮#include<reg52.h> /52 单片机头文件void main() 主函数Pl

2、=0xfe; 将单片机P1 口的8个口由高到低分别赋值为11111110 whiled);程序停止在这里,在后面会讲到为什么这样写。)2 例 1 第三个灯闪烁 fii 循环 #include<reg52.h> sbit D2=P1A2:unsigned int a;void main()ID2=0;for(a=0;a<= 10000;a+);D2=l;fbr(a=0;a<=10000;a+);)例/ 2第三个闪烁while循环#include<reg52.h>sbit D2=P1A2: unsigned int a;void main()a=5000;D2=

3、0; while(a一); a=5000;D2=l;while(a-);单片机管脚位声2.#include<reg52.h> /52 单片机头文件 sbit ledl=PlA0:明void main() 主函数unsigned int i; 定义个 int 型变量 whiled)i=50000; 变量赋初值为50000 led 1=0; /点亮灯while(i一);/ 延时i=50000;ledl=l;熄灭灯vhile(i);3 例子 1 3 57 灯同时亮 #include<reg52.h> /52 单片机头文件 sbit ledl=PlA0; 单片机管脚位声明 sb

4、it led3=PlA2;单片机管脚位声明sbit led5=PlA4;单片机管脚位声明sbit led7=PlA6;单片机管脚位声明主函数void main()led 1=0:将单片机Pl.o口清零led3=0:将单片机P1.2口清零led5=0:/将单片机P1.4口清零led7=0:将单片机P 1.6口清零while( 1);程疗:停卜在坟里,在后面会讲至1|为什么放样写。例子2 1 3 57同时亮#include<reg52.h> /52 单片机头文件void main() 主函数IPl=0xaa; /将单片机P1 口的8个口由高到低分别赋值为10101010例了 - 3流水

5、灯-个个接着亮不循环#include<reg52.h>52单片机头文件void main() 主函数unsigned int i: 定义个 int 型变量 whiled)1=50000:变量赋初值为500()0Pl=0xfe:点亮第,个灯while(i一); 延时i=50000:变量赋初值为50000Pl=Oxfd;点亮第二个灯while(i一); 延时i=50000:Pl=Oxfb:while(i一); i=50000:Pl=OxP;while(i一); i=50000:Pl=Oxef; while(i一); i=50000:Pl=Oxdf; while(i一); i=50000

6、:Pl=Oxbf;while(i一); i=50000:Pl=0x7f; while(i);变呈赋初值为50000点亮第三个灯延时变量赋初值为50000点亮第四个灯延时变量赋初值为50000点亮第五个灯延时变量赋初值为50000点亮第六个灯延时变量赋初值为50000点亮第七个灯延时变量赋初值为50000点亮第八个灯延时whiled);程序停止在这里,在后面会讲到为什么这样写。彳列 f 4 #include<reg52.h> #include <inlrins.h> #define uint unsigned int #define uchar unsigned char

7、 uchar teinpjnmLnuml:sbit beep=P2A3;void delay(uint);void main() 1temp=Oxfe;while(l)(for(num 1 =O: num 1 <3;num 1 +)(for(num=0:num<8:num+)(Pl=temp;beep=O; delay(lOO); temp=_crol_(temp);PI=Oxff: beep=l;delay(lOO);)for(numl=0: numl<3: numl+)(for(num=0:num<8:nuin+)(Pl=temp; beep=O; delay(lO

8、O); temp=_cror_(temp. 1);Pl=Oxff;beep=l; delay(lOO);)whiled);void delay(uint z) (uinl x.y;for(x=z:x>0;x一)for(y=l 10;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>O:y-);%小括号后的分号衣示该语句是上一条语句的,分号将该句与下句 隔开(或者for

9、(y=600:y>0:y一);)#include<reg52.h>例子 l#includevwg52 - h>#define uint unsigned int#define uchar unsigned charsbit D1=PIAO:void delay();%注意分号不能少void main()while(l)(Dl=0;delay();DI =1;delay();)void delay()Iuint x,y;for(x=100:x>0;x-)for(y=600;y>0:y);)带参数的比不带参数的要方便例r 2无参和有参的对比#include<

10、;reg52.h>#define uint unsigned int#define uchar unsigned charsbit DI二Pio;/void delay();void delay(uint);%带个参数的,参数类型必须要写,参数可不写。比如可以写成uint z<,也可以带多 个参数void main()xvhile(l)(Dl=0:delay(1200);%亮 2 秒 DI = 1;delay(1200);/*void delay()1uint x.y; for(x=100:x>0:x-) for(y=600;y>0:y-);*/void delay(uint z) Iuint x;uchar y;for(x=z:x>0;x-) for(y=20;y>0:y-);份U f 3#include<reg52.h> #define uint unsigned int #define uchar unsigned char sbit D1=P1 AO; void delay(uint);void

温馨提示

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

评论

0/150

提交评论