
你的这一段“MAIN:
MOV
P1,A
LCALL
DELAY
LOOP1:
RL
A
INC
R1
AJMP
MAIN”有点问题,这一段实际上已经构成了循环,运行到INC
R1处时,程序回到MAIN处,累加器内数据已经左移了一位,而R1内数据加1,当再次运行到RL
A
处,再次左移一位,R1内数据加1,程序又回到MAIN后面的程序就没有运行。改成下面的试试,我在单片机实验板上已经实现,是来回滚动的。
ORG
00H
START:
MOV
R1,#0
MOV
A,#00H
MOV
P2,A
MOV
A,#01H
LOOP1:
RL
A
INC
R1
MOV
P2,A
LCALL
DELAY
CJNE
R1,#7,
LOOP1
LOOP2:
RR
A
DEC
R1
MOV
P2,A
LCALL
DELAY
CJNE
R1,#0,LOOP2
AJMP
START
DELAY:
MOV
R2,#0FFH
D1:
MOV
R3,#0FFH
D2:
DJNZ
R3,D2
DJNZ
R2,D1
RET
END
C语言,数据结构和算法分析。C语言是最基础的程序设计语言,理解面向过程这个思想,才能学好高级语言的面向对象的思想。数据结构和算法分析主要是程序的设计,学好了这门课才能合理利用内存,设计出好的程序。
1、基础工程分部所含分项工程检验批验收全部合格。
2、有关安全和功能检验(检测)的资料齐全、完整。
由建设单位组织设计单位、监理单位、施工单位(技术负责人)、勘察单位共同对地基与基础验收。
第一题:
==,当比较的两个参数为基础数据类型时,比较两个变量值是否相等(此时 b1==b2为true),
当比较的两个为引用类型时,则比较两个变量的引用是否相等(b3,b4是分别new出来的,所以引用不一样,故 b3==b4为false)
所以,如果要比较两个引用类型的变量值是否相等的话,用equals比较
if(null != b3 && b3equals(b4)) {
Sysoutourprint("b3 equals b4");
} else {
Sysoutourprint("b3 don't equals b4");
}
第二题:我刚试了,结果是 1和3吧
这个就是 ++运算符的问题了,
a++这个也是一个表达式,这个表达式的返回值是先对a *** 作完之后再增加a的值,
及先输出a(此时a为1),再进行++自增
++b,这个表达式的返回值是,先对a进行++自增 *** 作,故为3;
另外,为什么+(a++),左边的括号是干啥的呢?还请指教咯
while(str[i]='o')
{
i++;
}
这个语句有问题
判断是否相等应该用==
while(str[i]==‘o')
你所有的判断都写错了
以上就是关于51单片机,怎么用最基础的程序实现八个LED等的聚拢全部的内容,包括:51单片机,怎么用最基础的程序实现八个LED等的聚拢、学程序的基础是什么、地基与基础的验收程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)