㈠ 单片机中DB "MAIN"代表什么意思
单片机汇编语言中,db是以字节为单位,定义的一组数据,你可以理解为c语言中的数组。比如
tab:
db
0c0h,60h,6fh,0dbh.....
相当于c语言中:
unsigned
char
tab[]={0xc0,0x60,0x6f,0xdb......};
㈡ 单片机:请问这些都是什么意思
是51系列单片机汇编语言的几个源程序句子。
MAIN:MOV A,#03H ;定义单元程序,将3送入累加器A中。
MOV DPTR,#0FF20H ;将十六进制数,#0FF20H送入地址指针。
MOVX @DPTR,A ;这一句应该是将累加器里的数储存到外部储存器指定的地址里。
MOV A,#00H ;清除累加器里的数据。
MOV DPTR,#0FF21H ;地址指针加1。用INC @DPTR 这一句更合适。
MOVX @DPTR,A ;在将累加器里的数据存到外部储存器指定的地址里。
㈢ 单片机中的main 是什么意思,还有acall和lcall分别是什么意思
main是C语言主程序,在汇编中可能是一标号,ACALL汇编中是2KB范围内子程序的绝对调用指令,LCALL是64KB内长调用.
㈣ 单片机里的程序是从main函数开始执行的吗请高手进。
那得看你的程序是怎么写的,可以配置让单片机先执行别的程序再执行main
如果你没有任何控制的话,执行完全部的程序,会从main()开始,如果要控制的话,也很简单
分为两类:
一类是不执行下面的指令,返回main()第一句指令,那直接使用return;就可以了
另一类是不范围main()第一句指令,而从中间某一句开始执行,有两种方法
1.对于循环层数较少的循环,可以使用break;
2.对于循环层数较多,不建议每层都使用break那就利用标签也可以做到,你只要在程序需要的位置设个标签,在程序最后返回标签,就可以了
例如:
main()
{
k=1;
start:
P0=0x00;
//后面程序省略
//程序最后书写如下这里可以加个你需要的条件,满足条件后,跳转从main{}的第一句开始再次执行
goto
start;
}
我经常这样做,实践证明,真的很好用,你可以试试