导航:首页 > 操作系统 > 单片机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闪灯相关的资料

热点内容
c语言常用算法pdf 浏览:960
编程如何让画面动起来 浏览:865
大龄女程序员未来发展 浏览:976
数学书籍pdf 浏览:506
加密门禁卡写入成功无法开门 浏览:464
齿轮传动pdf 浏览:52
alpinelinux 浏览:150
手机端app的扫码功能在哪里 浏览:227
少儿编程中小班英语教案 浏览:452
锁屏密码加密手机怎么解除 浏览:205
linuxlostfound 浏览:134
征途服务器ip地址 浏览:330
git提交代码命令行 浏览:165
什么叫浏览器服务器结构 浏览:157
于谦聊天哪个app 浏览:449
小鹏汽车nlp算法工程师薪资 浏览:881
代码加密与隐藏 浏览:649
fordfulkerson算法 浏览:352
京东热app在哪里可以下载 浏览:877
彩报图书app哪个好 浏览:303