用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、接着输入对输出取反,最后调用延迟函数,如下图所示就完成了。