51单片机,给P0.7~P0.0赋值1110 0001,如何编写使得1110中的0和0001中的1
51单片机,给P0.7~P0.0赋值11100001,如何编写使得1110中的0和0001中的1如何编写使得1110中的0和0001中的1分别在P0.7~P0.4和P0....
51单片机,给P0.7~P0.0赋值1110 0001,如何编写使得1110中的0和0001中的1如何编写使得1110中的0和0001中的1分别在P0.7~P0.4和P0.3~P0.0之间不断左移,达到循环滚动的效果?(即1110 0001到1101 0010到1011 0100到0111 1000到1110 0001的情况)最好运用位移的方法实现
展开
2个回答
展开全部
希望采纳,参考代码:
#include<reg51.h>
void main()
{
unsigned char i;
while(1)
{
for(i=0;i<4;i++)
{
P0=(1<<i)|(~(1<<i)<<4);
//延时n秒
}
}
}
更简练的
while(1)
{
P0=(1<<i)|(~(1<<i)<<4);
//延时n秒
i=++i%4;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
STM32F103是一款高性能的嵌入式芯片,由意法半导体(STMicroelectronics)公司生产。它是STM32系列芯片之一,具有紧凑、低功耗、高性能等特点,被广泛应用于嵌入式系统中。STM32F103的主要特点包括:1. 集成了A...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV A,#11100001B
LOOP:
MOV P0,A
RLC A
PUSH ACC
MOV ACC.4,C
MOV B,A
POP ACC
MOV C,ACC.4
MOV A,B
MOV ACC.0,C
LCALL DELAY
SJMP LOOP
DELAY:
MOV R2,#200
DLY:
MOV R3,#250
DJNZ R3,$
DJNZ R2,DLY
RET
END
LJMP MAIN
ORG 0030H
MAIN:
MOV A,#11100001B
LOOP:
MOV P0,A
RLC A
PUSH ACC
MOV ACC.4,C
MOV B,A
POP ACC
MOV C,ACC.4
MOV A,B
MOV ACC.0,C
LCALL DELAY
SJMP LOOP
DELAY:
MOV R2,#200
DLY:
MOV R3,#250
DJNZ R3,$
DJNZ R2,DLY
RET
END
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询