安装AT89C51单片机的开发工具软件,如 Keil UV2。
在Keil中创建51单片机的工程,并编写相应的控制代码,之后生成HEX文件。打开51单片机专用的串口烧写工具软件,如 STC_ISP,并设置型号以及其它参数第四步、用STC_ISP调入Keil 生成的HEX文件,准备下载程序第五步、使用电脑的9针串口,并利用串口数据线连接至51单片机开发板,并将开发板通电第六步、先点击STC_ISP的下载按钮,之后再将开发板复位,开发板都有复位按键的哦至此,便可完成AT89C51单片机的程序烧写步骤了。
无条件转移指令(共4条)LJMPaddr16;PC〈——addr16AJMPaddr11;PC〈——PC+2,PC10-0〈——addr11SJMPrel;PC〈——PC+2,PC〈——PC+relJMP@A+DPTR;PC〈——A+DPTR第一条指令称为长转移指令(LongJump);第二条指令叫作绝对转移指令(AbsoluteJump);第三条指令称作短转移指令(ShortJump);第四条指令是变址寻址转移指令(散转指令)。显然,每条指令均以改变程序计数器PC(ProgramCounter)中的内容为宗旨。(1)长转移指令(64KB范围内转移指令)长转移指令的功能是:把指令码中的目标地址addr16装入程序计数器PC,使机器执行下一条指令时无条件转移到addr16处执行程序,不影响任何标志。由于addr16是一个16位二进制地址(地址范围为0000H—FFFFH),因此长转移指令一条可以在64KB范围内转移的指令。为了使程序设计方便易编,addr16常采用标号地址(如:LOOP、LOOP1、MAIN、START、DONE、NEXT1……)表示,只有在上机执行前才被汇编(或代真)为16位二进制地址。长转移指令为三字节,双周期指令。(2)绝对转移指令(2KB范围内的转移指令)绝对转移指令是一条双字节双周期指令,11位地址addr11(a10—a0)在指令中的分布是:a10a9a80001|a7a6a5a4a3a2a1a0,其中,00001B是 *** 作码。在程序设计中,11位地址也可以用符号表示,但在上机执行前必须按照上述指令格式加以代真。绝对转移指令执行时分为两步:第一步是取指令 *** 作,程序计数器PC中内容被加1两次;第二步是把PC加2后的高5为地址PC15—PC11和指令代码中低11位构成目标转移地址:PC15—PC11a10a9a8a7a6a5a4a3a2a1a0其中,a10—a0的地址范围是全“0”——全“1”。因此,绝对转移指令可以在2KB范围内向前或向后跳转。如果把单片机64KB寻址区分成32页(每页2KB),则PC15—PC11(00000B—11111B)称为页面地址(即:0页—31页),a10—a0称为页内地址,但应注意:AJMP指令的目标转移地址不是和AJMP指令地址在同一个2KB区域,而是应和AJMP指令取出后的PC地址(即:PC+2)在同一个2KB区域。例如:若AJMP指令地址为2FFEH,则PC+2=3000H,故目标转移地址必在3000H—37FFH这2KB区域中。(3)短转移指令(-126—+129范围内的转移指令)短转移指令的功能是先使程序计数器PC加1两次(即:取出指令码),然后把加2后的地址和rel相加作为目标转移地址。因此,短转移指令是一条相对转移指令,是一条双字节双周期指令,指令码格式为:80Hrel( *** 作码地址偏移量),这里,80H是SJMP指令的 *** 作码;rel是地址偏移量,在程序中也常采用符号地址,上机运行前才被代真成二进制形式。遇到具体问题时,头脑中一定要清楚一个关系式:目标转移地址=源地址+2+rel(4)变址寻址转移指令(只能在256个存储器单元内转移)这是一条单字节双周期无条件转移指令。在指令执行之前,用户应预先把目标转移地址的基地址送入DPTR,目标转移地址对基地址的偏移量放在累加器A中。在指令执行时,MCS-51单片机把DPTR中基地址和累加器A中地址偏移量相加,以形成目标转移地址送入程序计数器PC中。通常,DPTR中基地址是一个确定的值,常常是一张转移指令表的起始地址,累加器A中之值为表的偏移量地址,机器通过变址寻址转移指令便可实现程序的分支转移
以上就是关于c8051f020主程序怎样写到64k空间里全部的内容,包括:c8051f020主程序怎样写到64k空间里、MCS-ⅤⅠ在64K存储空间实现程序转移的助记符是( ) A、AJMP B、SJMP C、LJ、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)