用keil编一个led灯交替闪烁程序(keil控制led灯)

用Keil软件编写一个程序,要求:利用T0的工作方式0 ,实现一个LED的闪烁,时间间隔为1s

毕业设计 (论文)任务书

机电系电气自动化专业 班级08电气 姓名学号

毕业设计名称:单片机点阵式LED显示屏设计

毕业设计主要研究内容及研究意义:

研究内容:1、用8051单片机显示字体 2、PROTEUS软件和KEIL软件的使用3、单片机的控制程序 4、点阵屏幕的使用

研究意义:利用51单片机和C语言程序的控制制定的汉字在点阵屏幕上的显示,了解51单片机的性质和使用,提高对PROTEUS软件和KEIL软件的使用。

毕业设计研究思路及方法: 通过介绍51单片机和所用到的元件,用KEIL软件写C程序并仿真对错与修改,还在PROTEUS软件里面画仿真电路图,把正确的C程序烧入51单片机的芯片里面,运行。在点阵屏幕上显示“单片机”三个字样。

求大神用KEIL软件设计一个控制LED闪烁的程序 简单一些的 谢谢大神

#include reg51.h

sbit L1=P1^0;

void delay02s(void) //延时0.2秒子程序

{

unsigned char i,j,k;

for(i=20;i0;i--)

for(j=20;j0;j--)

for(k=248;k0;k--);

}

void main(void)

{

while(1)

{

L1=0;

delay02s();

L1=1;

delay02s();

}

}

用keil编一个led灯闪烁程序

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

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

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

纯文本复制

#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;

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;

(1){

LED = 0; //点亮小灯

for (i=0; i30000; i++); //延时一段时间

LED = 1; //熄灭小灯

for (i=0; i30000; i++); //延时一段时间

}

}

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

求教Keil编程,使LED灯从中间向两边闪烁

用了两个 P 口?

应该是 16 个灯?

每八个,移位?

#includereg52.h

typedef unsigned int unit16;

typedef unsigned char unit8;

unit16 j;

unit8 i, c, d;

main()

{

while(1) {

c = 0x80;

d = 0x01;

for(i = 0; i 8; i++) {

P0 = ~(c i);

P1 = ~(d i);

for(j = 0; i 5000; j++);

}

}

}

keil软件用单片机控制8个LED流水灯来回点亮(C语言程序)

#include "reg51.h"

main()

{

unsigned int i,j;

while(1)

{

P1=0xfe; //点亮第一个LED

for(i=200;i0;i--)

for(j=500;j0;j--);

P1=0xfd; //点亮第二个LED

for(i=200;i0;i--)

for(j=500;j0;j--);

P1=0xfb; //点亮第三个LED

for(i=200;i0;i--)

for(j=500;j0;j--);

P1=0xf7; //点亮第四个LED

for(i=200;i0;i--)

for(j=500;j0;j--);

P1=0xef; //点亮第五个LED

for(i=200;i0;i--)

for(j=500;j0;j--);

P1=0xdf; //点亮第六个LED

for(i=200;i0;i--)

for(j=500;j0;j--);

P1=0xbf; //点亮第七个LED

for(i=200;i0;i--)

for(j=500;j0;j--);

P1=0x7f; //点亮第八个LED

for(i=200;i0;i--)

for(j=500;j0;j--);

}

}

或:

#include "reg51.h"

void delay(unsigned int t)

{

unsigned inti,j;

for(i=t;i0;i--)

for(j=110;j0;j--);

}

main()

{

unsigned char w,i;

while(1)

{

w=0xfe;

for (i=0;i8;i++)

{

P1=w; //循环点亮LED

w=1; //点亮灯的位置移动,最低位补0

w=w|0x01; //将最低位置1

delay(500); //延时

}

}

}

或:

#include "reg51.h"

//程序中使用_crol_函数,所以要包含头文件"intrins.h"

#include "intrins.h"

void delay(unsigned int t)

{

unsigned int i,j;

for(i=t;i0;i--)

for(j=110;j0;j--);

}

main()

{

unsigned char temp;

temp=0xfe;

while(1)

{

P1=temp;

delay(500); //延时

temp=_crol_(temp,1); //点亮LED的位置循环左移一位

}

}

keil软件控制四位数码管闪烁

1、首先在电脑中新建项目:Keil uVision4 51单片机LED闪烁编程,如下图所示。

2、然后设计单片机端口与LED灯相连,如下图所示,输入代码。

3、接着创建延迟函数,如下图所示,输入以下代码。

4、然后创建C语言主函数,如下图所示,输入以下代码。

5、接着输入对输出取反,最后调用延迟函数,如下图所示就完成了。

361知讯网

本文链接:http://pdidw.com/keil/55668.html

发表评论

评论列表

还没有评论,快来说点什么吧~