OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » LED灯闪烁程序

共5条 1/1 1 跳转至

LED灯闪烁程序

高工
2014-10-21 14:45:32    评分

  点亮 LED 小灯的程序我们第二课完成了,就是让 LED = 0。熄灭小灯的程序也很简单,就是 LED = 1。点亮和熄灭都会了,那么如果我们在亮和灭中间加个延时,反复不停的点亮和熄灭小灯,就成了闪烁了。

  我们首先复习一下 Keil 写程序的过程,建立工程-->保存工程-->建立文件-->添加文件到工程-->编写程序-->编译-->下载程序。


  LED 闪烁程序对于有 C 基础的同学来说很简单,那我先写出来,大家可以先看下。没有C 语言基础的同学也可以跟着抄一遍,下节课我会补充部分 C 语言基础知识,这样你先抄一遍后,再跟着看 C 语言基础知识的时候也比较容易理解透彻。



#include<reg52.h>
sbit LED = P0^0;
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;

void main(){   //void 即函数类型
    //以下为声明语句部分
    unsigned int i = 0;  //定义一个无符号整型变量 i,并赋初值 0
   
    //以下为执行语句部分
    ENLED = 0;  //U3、U4 两片 74HC138 总使能
    ADDR3 = 1;  //使能 U3 使之正常输出
    ADDR2 = 1;  //经 U3 的 Y6 输出开启三极管 Q16
    ADDR1 = 1;
    ADDR0 = 0;
    while (1){
        LED = 0;  //点亮小灯
        for (i=0; i<30000; i++);    //延时一段时间
        LED = 1;  //熄灭小灯
        for (i=0; i<30000; i++);  //延时一段时间
    }
}

 


  大家把这个程序编译一下,下载到单片机里,就会发现 LED2 这个小灯会闪烁了。




菜鸟
2015-06-27 00:23:39    评分
2楼
  1. sbit LED = P0^0;  
  2. sbit ADDR0 = P1^0;  
  3. sbit ADDR1 = P1^1;  
  4. sbit ADDR2 = P1^2;  
  5. sbit ADDR3 = P1^3;  
  6. sbit ENLED = P1^4; 
  7. 前面这几句表示什么意思???

高工
2015-06-28 09:04:51    评分
3楼

ADDR0应该跟楼主的开发板标注的信号名有关


主要是定义P1口


专家
2015-07-01 18:57:08    评分
4楼
是的。原理一样,但是端口定义每个板子不一样,需要修

菜鸟
2015-07-22 22:03:17    评分
5楼
继续学习

共5条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]