导航:首页 > 操作系统 > 单片机l0到l7闪灯

单片机l0到l7闪灯

发布时间:2022-07-27 19:06:10

单片机的P1端口输出控制8个指示灯LED0~LED7,写出指示灯LED0到LED7依次流水灯显示的程序。

与你LED接法有关,输出1 LED亮 还是输出0 LED亮
假设输出1 LED亮,程序如下:
#include<REG51.H>
#define uchar unsigned char
#define uint unsigned int
void delay1ms(uint i) //1ms延时程序
{

uint j;
for(;i>0;i--)
{
for(j=0;j<125;j++)
{;}
}
}
void main(void)//主程序

{
uchar i;
while(1)
{

for(i=0;i<8;i++)
{
P1=0x01<<i;
delay1ms(500);

}
}
}

❷ 汇编语言,利用AT89C51单片机结合8个发光二极管L0~L7,要求每间隔0.5秒依次点亮一盏灯,

ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV R2,#3
MOV A,#0FEH
LOOP:
MOV P1,A
LCALL DELAY
RL A
DJNZ R2,LOOP
MOV P1,#0FFH
SJMP $
DELAY:
MOV R3,#10
DLY1:
MOV R4,#100
DLY2:
MOV R5,#250
DJNZ R5,$
DJNZ R4,DLY2
DJNZ R3,DLY1
RET
END

❸ 用汇编语言,利用AT89C51单片机结合8个发光二极管L0~L7,要求每间隔0.5秒

ORG 0000H
LJMP MAIN
ORG 000BH
LJMP T0ISR
ORG 0030H
MAIN:
MOV TMOD,#01H
MOV TH0,#HIGH(65536-50000)
MOV TL0,#LOW(65536-50000)
SETB TR0
SETB ET0
SETB EA
MOV A,#0FEH
MOV P1,A
MOV R2,#24
MOV R3,#10
SJMP $
T0ISR:
CLR TR0
MOV TH0,#HIGH(65536-50000)
MOV TL0,#LOW(65536-50000)
SETB TR0
DJNZ R3,T0E
MOV R3,#10
RL A
MOV P1,A
DJNZ R2,T0E
MOV P1,#0FFH
CLR TR0
T0E:
RETI
END

❹ 利用AT89C51单片机结合8个发光二极管L0~L7,要求每间隔0.5秒依次点亮一盏

假设高电平点亮LED,LED接在P0口,主要程序语句如下:
uchar c=0;
uchar i;
while(c<3)
{
for(i=0;i<8;i++}
{
P0=1<<i;
DELAY_MS(500);
}
c++;
}
P0=0X00;

❺ 单片机编程:P1口P1.1-P1.7接八个LED灯L0-L7。分别用查询方式,中断方式编写一程序,使八个LED灯轮流点亮

点亮子函数:
#include"reg51.h"
#include"intrins.h"
#define uchar unsigned char
void dd()
{
uchar temp=0xfe,i;
for(i=0;i<8;i++)
{
P1=temp;
temp=_crol_(temp,1);//左移函数
delay();
}
}

然后你要什么中断你就在中断函数里面调用这个函数就可以

❻ 发光二极管L0-L7分别连接在单片机的输出口P1.0-P1.7,一个按钮开关连接在P2.0口,要求每按动一次按钮,

假设使用51系列单片机
简单程序如下:
DAT1 equ 02eH
ORG 0000
JMP SHART
..................
START: MOV P1,#00H(CLR P1.0-1.7)
MOV DAT1,#00h
...................
START1: MOVE A,P2
JNB ACC.0,STP1
INC DAT1
STP1: MOV A,DAT1
MOV P1,A
JMP START1
........................
END

❼ 单片机如下电路,让显示灯从上往下依次点亮,不断循环。

/* 实验目的:初步了解单片机I/O口的工作原理,进一步掌握51单片机的汇编指令。 * 实验内容:用汇编指令对单片机I/O口进行编程,控制8个发光二极管的流水亮灭。 */ /* 程序详细功能介绍: *做单一灯的左移右移,八个发光二极管L0-L7分别接在单片机的P0.0-P0.7接口上, *输出“0”时,发光二极管亮,开始时P0.0→P0.1→P0.2→P0.3→┅→P0.7→P0.6→┅→P0.0亮,重复循环。 */ ORG 0000H LJMP START ORG 0030H START: MOV R2,#8 ;左移次数 MOV A,#0FEH ;A的初始值,即 P0.0的L0 点亮 SETB C LOOP: MOV P0,A LCALL DELAY RLC A ;左移流水灯(带进位的左移),即亮点向P0口的高位移动 DJNZ R2,LOOP MOV R2,#8 ;右移次数 LOOP1: RRC A ;右移流水灯 MOV P0,A LCALL DELAY DJNZ R2,LOOP1 LJMP START DELAY: MOV R5,#10 ;延时子程序,改变R5,R6,R7 的值,可以改变延时的时间,从而改变流水灯移动速度 D1: MOV R6,#20 D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET END

❽ 编写一段程序,用单片机控制八支发光二极管L1L2L3L4L5L6L7L8循环点亮

#include<reg51.h>
#include<intrins.h>
#defineucharunsignedchar
ucharcnt;
voidt0isr()interrupt1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
cnt++;
if(cnt>=20)
{
cnt=0;
P1=_corl_(P1,1);
}
}
main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
ET0=1;
EA=1;
P1=0xfe;
while(1);
}

阅读全文

与单片机l0到l7闪灯相关的资料

热点内容
程序员放弃后会怎样 浏览:182
河北模具编程 浏览:187
adb查找命令 浏览:321
安卓手机视频文件夹怎么打开 浏览:309
平板加密手机后怎么关闭 浏览:567
流媒体服务器应该注意什么 浏览:536
d8命令编译 浏览:964
压缩包解压需要多少空间 浏览:145
如何查找app属性 浏览:388
android人脸识别技术 浏览:321
pc104编程 浏览:335
二维码反编译破解推广 浏览:682
修改服务器的mac地址 浏览:528
好玩的编程软件 浏览:899
编程语言创始人有钱吗 浏览:804
短视频app怎么获客 浏览:15
查看云服务器的应用 浏览:436
javadump工具 浏览:565
程序员16g 浏览:445
程序员没有办法成为top怎么办 浏览:218