
把这段C语言程序变成C51单片机汇编语言
#include<reg52.h>voidmain(){unsignedintj,k;while(1){for(j=0;j<20;j++){P0=0xf0;delay()...
#include<reg52.h>
void main()
{
unsigned int j,k;
while(1)
{
for(j=0;j<20;j++)
{
P0=0xf0;
delay();
P0=0xff;
delay();
}
for(k=0;k<20;k++)
{
P0=0x0f;
delay();
P0=0xff;
delay();
}
} 展开
void main()
{
unsigned int j,k;
while(1)
{
for(j=0;j<20;j++)
{
P0=0xf0;
delay();
P0=0xff;
delay();
}
for(k=0;k<20;k++)
{
P0=0x0f;
delay();
P0=0xff;
delay();
}
} 展开
1个回答
展开全部
ORG 0000H
LOOP:
MOV B,#20
LOOP1:
P0=0F0H;
LCALL delay
P0=0FFH
LCALL delay
DJNZ B,LOOP1
MOV B,#20
LOOP2:
P0=0FH;
LCALL delay
P0=0FFH
LCALL delay
DJNZ B,LOOP2
LJMP LOOP
delay:
MOV R7,#0
MOV R6,#0
LOOP3:
DJNZ R6,$
DNJZ R7,LOOP3
RET
END
LOOP:
MOV B,#20
LOOP1:
P0=0F0H;
LCALL delay
P0=0FFH
LCALL delay
DJNZ B,LOOP1
MOV B,#20
LOOP2:
P0=0FH;
LCALL delay
P0=0FFH
LCALL delay
DJNZ B,LOOP2
LJMP LOOP
delay:
MOV R7,#0
MOV R6,#0
LOOP3:
DJNZ R6,$
DNJZ R7,LOOP3
RET
END
追问
好厉害,这个程序是不是能让灯亮2秒灭1秒?
追答
亮多久灭多久要看晶振频率,调整delay子程序循环参数和调用次数能达到你的要求。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询