首页 > 软件 > 利用按键实现点灯功能:单片机复位后,按下按键小灯亮1秒,灭1秒。再次按下按键实现呼吸灯效果

利用按键实现点灯功能:单片机复位后,按下按键小灯亮1秒,灭1秒。再次按下按键实现呼吸灯效果

软件 2022-08-17

单片机如何实现按下按键灯1亮3秒熄灭,灯2亮一秒灭一秒循环 c语言

啥单片机啊?好久没写过51的了,写一下,可能有错的地方,不过思路是这样子的。那个S=4和后面那里写错了,不过我觉得你会改对的

按键点灯程序,按一下按键灯亮(一直亮),再按一下灭,51单片机。

1、首先打开编程软件Keil uVision4,新建一个工程文件,在菜单栏中Project—— New uVision Project..。

2、然后选择单片机型号是 Atmel 公司的 AT89c52,单击OK。

3、再单击工具栏上新建按钮,新建一个文档,然后再点击保存,输入保存的路径,输入名字。

4、右键单击将这个文件添加到到工程文件夹中。

5、打开新建的文档,在文档中进行写程序。

6、点击下面方框中的图标,在Target项晶振的上写上:12.0代表晶振是12M,然后跳到Output项在生成HEX文件上打勾,点击OK。

7、然后点击三个编译按钮意思分别为:单个文件编译、编译已修改的文件、产生HEX文件,HEX文件用来下载到单片机上的,也可用来做仿真。

8、我们打开ISIS 7 Professional 软件,将程序添加到该电路中,然后按下启动按钮。

用一个按键控制一个LED灯用中断方式实现按一下亮0.5秒然后灭0.5,再按一下亮1秒然后灭1秒

while(1) /* 主循环 */ { if( Key ==0) { for( i = 0; i < 1; i++ ) { LED= 0; /* 端口送高电平,LED熄亮 */ DelayMs(500); /* 延时大概0.5S */ LED = 1; /* 端口送低电平,LED点灭 */ DelayMs(500); /* 延时大概0.5S */ } /* 延时10ms,消抖 */ { if( Key == 0) LED = ~LED;/* 再次检测按键是否按下,如果有,将LED状态取反 */ for( i = 0; i <1; i++ ) { LED= 0; /* 端口送高电平,LED熄亮

求51单片机按键点灯汇编程序,按一下按键灯亮(一直亮),再按一下灭

;以下为一个按键控制一个灯的程序!!! ORG 0000H SETB P1.0 START: JB P1.0,NEXT ;设按键为低电平有效。 JNB P1.0,$ CPL P3.0 NEXT: SJMP START END

求实现51单片机按下按钮LED灯亮1秒后熄灭?

外部中断的优先级是高于定时器中断的。首先是触发外部中断嘛,在外部中断程序里面开定时器中断,定时器设置为50ms,这个直接装初值大概46000(晶振12m)的样子,具体你自己算一下。然后在调用定时器中断程序里面肯定是要有个标志位的,这个标志位会累加n个定时器时间直到8s,然后在这个定时器中断程序里面不断检测3.2口电平就行了,如果变回高电平就把灯在点亮(比如在这句直接将flag赋到设定的技术最大值)就行了。最好用下降沿触发,低电平触发容易出问题总感觉,可能你程序逻辑是完全正确的,但是仿真或者实物的时候会出问题。

标签:信息技术 单片机 按键 编程语言 硬件

大明白知识网 Copyright © 2020-2022 www.wangpan131.com. Some Rights Reserved. 京ICP备11019930号-18