导航:首页 > 操作系统 > 51单片机灯全灭

51单片机灯全灭

发布时间:2023-02-15 08:05:35

1. 51单片机按键控制按下K1四个led灯循环亮,再按一下全灭,c程序怎么写

在四个灯循环点亮的状态下,每点亮一个灯需要延时,如果调用延时子程序,按键就显示不灵敏了,所以,采用定时器中断的方式控制延时,就不影响按键了。

#include<reg51.h>

#include<intrins.h>

仿真图效果。

2. 51单片机,通电8个led逐个点亮,然后右到左按一次健灭一个灯,然后8个灯全灭,过一会再逐个点亮

是这样大哥,通电片p0,p1,口流水从左到右自动循环点亮,当按下一次p27独立一个按键,高电平变低电平,led从右到左依次逐个熄灭,按下熄灭一个,然后全灭,停10秒自动从启动循环点亮。要求汇编程序,中断,计数,延时,循环,p26,p25按健能控制循环速度,感谢你了大哥哥。也感谢大家兄弟姐妹。

3. 51单片机用汇编语言实现八个LED的全亮全灭

;以89c51单片机为例,假定用P1控制LED:
IO_LED EQU P1;
led_0 BIT P1.0;
led_1 BIT P1.1;
led_2 BIT P1.2;
led_3 BIT P1.3;
led_4 BIT P1.4;
led_5 BIT P1.5;
led_6 BIT P1.6;
led_7 BIT P1.7;

;定义开关LED的数据,假定LED正极一端接电源,另一端通过限流电阻接I/O端口:
DATA_CloseLED EQU 11111111B;
DATA_OpenLED EQU 00000000B;

ORG 0000H
AJMP MAIN
ORG 0030H

;-----------------------
;延时0.5秒程序(注:此延时函数摘自STC-ISP)
DELAY500MS: ;@12.000MHz
PUSH 30H
PUSH 31H
PUSH 32H
MOV 30H,#4
MOV 31H,#205
MOV 32H,#180
NEXT:
DJNZ 32H,NEXT
DJNZ 31H,NEXT
DJNZ 30H,NEXT
POP 32H
POP 31H
POP 30H
RET

;-----------------------
;下面是主程序
MAIN:
MOV IO_LED,#DATA_CloseLED;同时关闭8个LED
LCALL DELAY500MS;延时0.5秒
MOV IO_LED,#DATA_OpenLED;同时打开8个LED
LCALL DELAY500MS;延时0.5秒
LJMP MAIN;循环

END;
上面程序演示了8个LED间隔0.5秒同时亮和灭的变化。

4. 51单片机第一个开关控制八个流水灯全亮,第二个开关控制八个流水灯全灭

#include<reg51.h>
#define uchar unsigned char
uchar led[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uchar num;
sbit key1=P1^0;
sbit key2=P1^1;
void t0isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
P0=led[num];
num++;
num%=8;
}
main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
ET0=1;
EA=1;
while(1)
{
while(key1==0)
{
TR0=0;
P0=0x00;
}
while(key2==0)
{
TR0=0;
P0=0xff;
}
TR0=1;
}
}

5. 51单片机的按键控制小灯亮灭的问题(程序类型:c语言)怎么解决

#include
#define uint unsigned int
sbit LED = P1^0;
sbit KEY1 = P1^2;
void delay(uint);
void main(void)
{
LED = 1; //初始化LED熄灭
KEY1 = 1; //赋值KEY1高电平
while(1)
{
if(!KEY1) //检测到按键按下
{
LED = ~LED; /*LED取反,此时LED = 0,灯亮。当松手时,KEY1 = 1,不满足if语句不
进入循环,LED继续保持当前状态即LED = 0,如果再次按下按键,此时检测到KEY1 = 0,进入循
环,LED取反得到LED = 0,灯亮。*/
delay(500); /*此处延迟,保证连续两次按键动作处在程序的延时过程中,不进行其他程序从而不会影响小灯。*/
}
}

}
void delay(uint z) //延时函数
{
uint x, y;
for(x=85; x>0; x--)
for(y=z; y>0; y--);
}

可下载到单片机验证。

6. 单片机。小灯全亮1S全灭1S左移

单片机控制led是非常的,通过控制单片机的电平,即可控制led的亮暗。如果是51单片机的话,你的灯的负极接在单片机上,正经接个电阻,再接5V电源,硬件电路就搭建好了。软件方面,只需要简单的延迟和控制就OK了,比如你的灯在P2.0口,你就定义一个管脚,然后让他为0,就亮了,为1时,就暗了(1为高电平,0为低电平)。全亮和全暗都是这个道理。左移也是一样的。

7. 利用51单片机,做一个按键控制流水灯程序。 默认8个LED灯全灭。 按

你看到独立键盘就可以写了,有c基础的话用不了多久就会了

8. 51单片机设置p0到p3口的所有灯同时亮同时灭

设PIO输出低电平点亮灯,输出高电平熄灯;
while(1){
P0=0; P1=0; P2=0; P3=0; //所有灯同时亮
delay();
P0=0xff; P1=0xff; P2=0xff; P3=0xff; //所有灯同时灭
delay();
}

阅读全文

与51单片机灯全灭相关的资料

热点内容
华为amd云服务器 浏览:495
汉化编程卡是什么意思 浏览:126
python学习pdf 浏览:313
祝绪丹程序员那么可爱拍吻戏 浏览:198
asp源码会员消费系统 浏览:113
java反射设置 浏览:152
python一行文 浏览:439
排序算法优缺点 浏览:563
恶搞加密文件pdf 浏览:674
gif怎么压缩图片大小 浏览:217
命令选择当前不可用 浏览:158
欧几里得算法如何求逆元 浏览:506
男中学生上课解压神器 浏览:373
加密狗拔掉之后怎么办 浏览:27
云储存平台源码 浏览:847
解压文件苹果手机rar 浏览:149
centos开机命令行模式 浏览:697
遍历所有listpython 浏览:660
力控加密文件夹 浏览:517
如何更改移动服务器密码 浏览:686