修改按键控制LED亮灭的程序

修改按键控制LED亮灭的程序,第1张

led应该是一个变量,是代表led灯 亮或者灭的一个变量。 当你按下开关后,s1==0,就执行 led=!led 这条语句。 led=!led  的意思就是取反的意思,即原来led灯亮的话 执行该条语句后就变成灭;原来灭的话 执行该条语句后 就变成亮。按键按下就打控制灯的io取反就可以了。如:if(key1==1){while(key1==1); // 等待按键放开led1=~led1;}

单片机的话,如端口上电默认高电平,那直接led一头接电源一头接端口,一个led对应一个端口。

一、简单讲:想要灯亮,就将对应端口置0。反之就是灯灭。

二、详细讲:假设用keil编写,新建工程->选择单片机型号->新建源文件->设置output(点魔术棒图标勾选create hex file)。

我们用P2^0端口连接一个led(led另一端连电源)。先给端口起别名sbit led1=P2^0;之后代码中需要灯亮就写led1=0;即可。(头文件自行导入)。

程序写好,编译后将生成的hex(路径在之前的设置中)写入单片机或加载到仿真电路中运行。

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

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

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

纯文本复制

#<reg52h>

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; i<30000; i++); //延时一段时间

LED = 1; //熄灭小灯

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

}

}

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

以上就是关于修改按键控制LED亮灭的程序全部的内容,包括:修改按键控制LED亮灭的程序、写出点亮2盏LED灯的c语言程序、用keil编一个led灯闪烁程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9739072.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存