正在加载图片...
五、程序输入格式规范: 汇编语言的指令一般形式为: [标号 操作码[操作数[:注释] 其中:标号和操作码之间用“:”隔开,操作码和操作数之间用空格隔开,多个操 作数之间用“,”隔开。“:”后是注释。方括号[]中的内容如不需要。可以省略。 程序输入时,各行的标号、操作码和操作数应保证对齐,可用键盘的“Tb”键来 控制。伪指令输入应与一般指令的操作码对齐。在输入时要特别注意 一指令中的标 点符号都应是在英文状态下。 六、延时子程序的延时计算说明: 对于子程序DELAY:MOVR1,#200 ① DLY LP1:MOV R0.±249 ② DLY LP2:DINZ RO.DLY LP2 DJNZ R1,DLY_LPI ④ RET 在系统晶振为12z时,一个机器周期时间长度为12/12M2-1μS 查指令表可知MOV指令需用一个机器周期,DJNZ指令需用两个机器周期,所以该段程 序执行时间为: 从②到③共用1+2*249=499个机器周期,即499μS 从①到④共用1+200*[(1+2*249)+2100201个机器周期,即100201μS,也即约0.1S 七、练习范例程序: ORG O000H MAIN: PO,#0FOH LCALL DELAY MOV PO,#0FH LCALL DELAY L00P: SIMP LOOP DELAY M0VR2,#10 DLY LPO:MOV R1.#200 DLY_LP1:MOV RO,#250 DLY LP2:DINZ RO.DLY LP2 DINZ RI DIY IPI DJNZ R2,DLY_LPO RET END 实验前读懂范例程序,作出注释,并画出流程图。 思考:1)0RG0000H含义? 2)延时子程序的延时时间为多少? 3)“L0OP:SMPL0OP”起何作用? 五、 程序输入格式规范: 汇编语言的指令一般形式为: [标号:] 操作码 [操作数] [;注释] 其中:标号和操作码之间用“:”隔开,操作码和操作数之间用空格隔开,多个操 作数之间用“,”隔开。“;”后是注释。方括号[ ]中的内容如不需要。可以省略。 程序输入时,各行的标号、操作码和操作数应保证对齐,可用键盘的“Tab”键来 控制。伪指令输入应与一般指令的操作码对齐。在输入时要特别注意——指令中的标 点符号都应是在英文状态下。 六、 延时子程序的延时计算说明: 对于子程序 DELAY: MOV R1,#200 ① DLY_LP1:MOV R0,#249 ② DLY_LP2:DJNZ R0,DLY_LP2 ③ DJNZ R1,DLY_LP1 ④ RET 在系统晶振为 12MHz 时,一个机器周期时间长度为 12/12MHZ=1μS 查指令表可知 MOV 指令需用一个机器周期,DJNZ 指令需用两个机器周期,所以该段程 序执行时间为: 从②到③共用 1+2*249=499 个机器周期,即 499μS; 从①到④共用 1+200*[(1+2*249)+2]=100201 个机器周期,即 100201μS,也即约 0.1S。 七、 练习范例程序: ORG 0000H MAIN: MOV P0,#0F0H LCALL DELAY MOV P0,#0FH LCALL DELAY LOOP: SJMP LOOP DELAY: MOV R2,#10 DLY_LP0:MOV R1,#200 DLY_LP1:MOV R0,#250 DLY_LP2:DJNZ R0,DLY_LP2 DJNZ R1,DLY_LP1 DJNZ R2,DLY_LP0 RET END 实验前读懂范例程序,作出注释,并画出流程图。 思考:1)ORG 0000H 含义? 2)延时子程序的延时时间为多少? 3)“LOOP:SJMP LOOP”起何作用? 3
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有