单片机LED灯闪烁程序
<上一节
下一节>
点亮 LED 小灯的程序我们第二课完成了,就是让 LED = 0。熄灭小灯的程序也很简单,就是 LED = 1。点亮和熄灭都会了,那么如果我们在亮和灭中间加个延时,反复不停的点亮和熄灭小灯,就成了闪烁了。
我们首先复习一下 Keil 写程序的过程,建立工程-->保存工程-->建立文件-->添加文件到工程-->编写程序-->编译-->下载程序。
LED 闪烁程序对于有 C 基础的同学来说很简单,那我先写出来,大家可以先看下。没有C 语言基础的同学也可以跟着抄一遍,下节课我会补充部分 C 语言基础知识,这样你先抄一遍后,再跟着看 C 语言基础知识的时候也比较容易理解透彻。
大家把这个程序编译一下,下载到单片机里,就会发现 LED2 这个小灯会闪烁了。
我们首先复习一下 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 这个小灯会闪烁了。
<上一节
下一节>