单片机C语言LED灯点亮程序完全版_第1页
单片机C语言LED灯点亮程序完全版_第2页
单片机C语言LED灯点亮程序完全版_第3页
免费预览已结束,剩余9页可下载查看

下载本文档

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

文档简介

1、1例子1第二个灯亮时间:2021.03.01创作:欧阳语#include<reg52.h>void main()Pl=0xfd;#include<reg52.h>Sbit D1=P1AO ;Void main()Dl=0注意:稍微改程序时需重新hex化例子2第一个灯亮#include<reg52.h> /52 单片机头文件sbit ledl = PlA0;单片机管脚位声明void main() 主函数ledl二0;/将单片机P1.0 口清零while(l);程序停止在这里,在后面会讲到为什么这样写。例子3第一个灯亮#include<reg52.h>

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

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

4、edl = PlAO; sbit led3 = PlA2; sbit led5=PlA4; sbit led7=PlA6;/52单片机头文件 单片机管脚位声明 单片机管脚位声明 单片机管脚位声明 单片机管脚位声明void main()主函数ledl二0;/将单片机P1.0 口清零Ied3二0;/将单片机P1.2 口清零1命5=0;将单片机P1.4 口清零Ied7二0;/将单片机P1.6 口清零while(l);程序停止在这里,在后面会讲到为什么这 样写。例子21 3 5 7同时亮#include<reg52.h> /52 单片机头文件void main()主函数Pl=0xaa; 将

5、单片机P1 口的8个口由高到低分别赋值为10101010while(l);程序停止在这里,在后面会讲到为什么这样写。例子3流水灯一个一个接着亮不循环#include<reg52.h> /52 单片机头文件void main()主函数unsigned int i; 定义一个int型变量while(l)i = 50000;变量赋初值为50000Pl=0xfe;/£亮第一个灯while(i);延时i = 50000;变量赋初值为50000P1二Oxfd;/点亮第二个灯while(i);55 时i = 50000;变量赋初值为50000Pl二Oxfb;/点亮第三个灯 while(

6、i);延时i = 50000;变量赋初值为50000Pl=0xf7;/点亮第四个灯 while(i);延时i = 50000;变量赋初值为50000P1二Oxef;/点亮第五个灯 while(i);延时i = 50000;变量赋初值为50000P1二Oxdf;/点亮第六个灯 while(i);延时i = 50000;变量赋初值为50000P1二Oxbf;/点亮第七个灯 while(i);55 时i = 50000;变量赋初值为50000P1二0x7f;点亮第八个灯while(i);延时例子4#in clude<reg52.h>#include vintrins.h>#defi

7、ne uint unsigned int #define uchar unsigned char uchar tempumuml; sbit beep = P2A3; void delay(uint);void main()temp=0xfe;while(l)for(nu ml=0;numl<3;numl+)for( num=0; numv&n um + +)Pl=temp;beep=0; delay(lOO); temp=_crol_(tempzl);Pl=Oxff; beep = l; delay(lOO);for(nu ml=O;nu ml<3; nu ml+) fo

8、r( num 二 0;num<8;num + +)Pl=temp; beep=O; delay(lOO);temp=_cror_(temp/l);Pl=Oxff;beep=l; delay(lOO);while(l);void delay(uint z)uint 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;%局咅B变量for(x=100;x>0;x-)%小括号后不加分号for(y=600;y>0

9、;y-); %小括号后的分号表示该语句是上一 条语句的,分号将该句与下句 隔开(或者for(y=600;y>0;y);)#include<reg52.h>例子 l#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit D1=P1AO;void delay();%注意分号不能少void main()while(l)D1=O;delay();Dl = l;delay();void delay()uint x,y;for(x=100;x>0;x)for(y=600;y>

10、;0;y);带参数的比不带参数的要方便例子2无参和有参的对比#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit D1=P1AO;/void delay();void delay(uint);%带一个参数的,参数类型必须要写,参数可不写。比如可以写成uint ze也可以带多个参数void main() while(l)Dl=0;delay(1200);%亮 2 秒Dl = l;delay(1200);/*void delay()uint x,y;for(x=100;x>0;x)for(y=600;y>0;y);*/void delay(uint z) uint x;uchar y;for(x=乙 x>0;x) for(y=20;y>0;y-);例子 3#include<reg52.h>#define uint unsigned int#define uchar unsigned char sbit D1 = P1AO;void delay(uint);void main()while(l

温馨提示

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

评论

0/150

提交评论