福建船政交通职业学院:《单片机原理及应用》课程教学课件(PPT讲稿)第4章 MCS-51程序设计

第4章MCS一51程序设计 4.1汇编语言的格式与伪指令 4.2汇编语言程序设计步骤 4.3查表程序设计 4.4循环程序设计 4.5分支程序设计 4.6散转程序设计 4.7数制转换程序设计
第4章 MCS-51程序设计 4.1 汇编语言的格式与伪指令 4.2 汇编语言程序设计步骤 4.3 查表程序设计 4.4 循环程序设计 4.5 分支程序设计 4.6 散转程序设计 4.7 数制转换程序设计

4.1汇编语言的格式与伪指令 一.指令的格式 LOOP:MOV A, RO ;将R0的内容送A [标号]操作码 第一操作数 第二操作数 [注释] (目的操作数) (源操作数) 注:白色的内容不是必须的
4.1 汇编语言的格式与伪指令 一. 指令的格式 LOOP: MOV A, R0 ;将R0的内容送A [标号] 操作码 第一操作数 第二操作数 [注释] (目的操作数) (源操作数) 注:白色的内容不是必须的

二、汇编语言格式: 地址 机器码 源程序 注释 ORG 0000H ;整个程序起始地址 0000 200030 LJMP MAIN 跳向主程序 ORG 0030H 主程序起始地址 0030 C3 MAIN:CLR C MAIN为程序标号 0031 E6 LOOP:MOV A,@RO 0032 37 ADDC A, @R1 0033 08 INC RO 0034 DA FB DJNZ R1,LOOP;相对转移 0036 80 03 SJMP NEXT 0038 7803 MOV RO,#03H 003A18 NEXT:DEC RO 003B 80FE SJMP S ;HERE:SJMP HERE END ;结束标记
二、汇编语言格式: 地址 机器码 源程序 注释 ORG 0000H ; 整个程序起始地址 0000 20 00 30 LJMP MAIN ; 跳向主程序 ORG 0030H ; 主程序起始地址 0030 C3 MAIN: CLR C ; MAIN为程序标号 0031 E6 LOOP: MOV A , @R0 0032 37 ADDC A, @R1 0033 08 INC R0 0034 DA FB DJNZ R1, LOOP ;相对转移 0036 80 03 SJMP NEXT 0038 78 03 MOV R0, #03H 003A 18 NEXT: DEC R0 003B 80FE SJMP $ ;HERE: SJMP HERE END ; 结束标记

三.伪操作指令 1、 ORG(Origin)定义程序的起始地址 2、 END 程序结束标志 3、DB (Define Byte) 定义字节 4、 DW(Define Word)定义字 5、 EQU (Equate) 表达式赋值
三. 伪操作指令 1、 ORG(Origin) 定义程序的起始地址 2、 END 程序结束标志 3、 DB (Define Byte) 定义字节 4、 DW (Define Word)定义字 5、 EQU(Equate) 表达式赋值

四、伪操作指令例子 MATH EQU 03H ORG 0000H MAIN: CLR C LOOP:MOV A,@RO MOV R1,#MATH ;相当于MOVR1,03H NEXT:SJMP S ORG 1100H ROM中 地址数据 DB01H,04H,09H,05H 1100 01 END 1101 04 1102 09 1103 05
四、伪操作指令例子 MATH EQU 03H ORG 0000H MAIN: CLR C LOOP: MOV A , @R0 MOV R1, #MATH ;相当于 MOV R1, #03H NEXT: SJMP $ ORG 1100H DB 01H , 04H, 09H , 05H ; END ROM中 地址 数据 1100 01 1101 04 1102 09 1103 05

4.2汇编语言程序没计步骤 1.确定方案和计算方法 2.了解应用系统的硬件配置、性能指 开始 标。 3.建立系统数学模型,确定控制算法 和操作步骤。 4.画程序流程图,确定程序的流向 5.编制源程序 (1)合理分配存储器单元和了解I/O接 口地址。 (2) 按功能设计程序,明确各程序之 间的相互关系。 (3)用注释行说明程序,便于阅读和 修改调试和修改
4.2 汇编语言程序设计步骤 1.确定方案和计算方法 2.了解应用系统的硬件配置、性能指 标。 3.建立系统数学模型,确定控制算法 和操作步骤。 4.画程序流程图, 确定程序的流向 5. 编制源程序 (1)合理分配存储器单元和了解I/O接 口地址。 (2)按功能设计程序,明确各程序之 间的相互关系。 (3)用注释行说明程序,便于阅读和 修改调试和修改。 开始 1 Y N ?

举例 ORG 0000H 整个程序起始地址 AJMP MAIN 跳向主程序 ORG 0030H 主程序起始地址 MAIN: CLR C MAN为程序标号 LOOP: MOV A,@R0 ADDC A @R1 INC RO DJINZ R1,LOOP ;相对转移 SJMP NEXT MOV R1,#03H NEXT: DEC RO SJMP ;相当于LOOP1:SJMP LOOP1 END 结束标记
举例 ORG 0000H ; 整个程序起始地址 AJMP MAIN ; 跳向主程序 ORG 0030H ; 主程序起始地址 MAIN: CLR C ; MAIN为程序标号 LOOP: MOV A , @R0 ADDC A, @R1 INC R0 DJNZ R1, LOOP ;相对转移 SJMP NEXT MOV R1, #03H NEXT: DEC R0 SJMP $ ;相当于 LOOP1: SJMP LOOP1 END ; 结束标记

4.3查表程序设计 一,用DPTR查表(查0~9平方表) 1000 C083 TA: PUSH DPH 1002 C082 PUSH DPL 1004 902000 MOV DPTR.#TAB 1007 93 MOVC A, @A+DPTR 1008 D082 POP DPL 100A D083 POP DPH 100C 22 RET ORG 2000H TAB:DB 00H.01H,04H,09H 2000 00 2001 01 2002 04 2003 09
4.3 查表程序设计 一. 用DPTR查表(查0~9平方表) 1000 C083 TA: PUSH DPH 1002 C082 PUSH DPL 1004 902000 MOV DPTR, #TAB 1007 93 MOVC A, @A+DPTR 1008 D082 POP DPL 100A D083 POP DPH 100C 22 RET ORG 2000H TAB: DB 00H, 01H, 04H, 09H 2000 00 2001 01 2002 04 2003 09

二.用PC查表(查0平方表) ORG 1000H 1000 C083 TA: ADDA,#01H,#01日为偏移量 1002 83 MOVC A,@A+PC 1003 22 RET 1004 00 DB00H,01H,04H,09H 1005 01 END 1006 04 1007 09 偏移量=表首地址一(查表指令下一条指令地址) =10041H-1003H =01H
二. 用PC查表(查0~9平方表) ORG 1000H 1000 C083 TA: ADD A, #01H ; # 01H 为偏移量 1002 83 MOVC A, @A+PC 1003 22 RET 1004 00 DB 00H, 01H, 04H, 09H 1005 01 END 1006 04 1007 09 偏移量=表首地址-(查表指令下一条指令地址) =1004H - 1003H =01H

4.4循环程序设计 一.延时50ms程序 DEL:MOV R7.#200 DEL1:MOV R6,#125 DEL2:DJNZ R6,DEL2;125*2=250uS DINZ R7,DEL1;0.25ms*200=50ms RET 使用12MHz晶振时,一个机器周期为1us,执行 DNZ指令为2us,加其他指令的时间(250十1+2) *200+1=50.301ms 精确计算见P327
4.4 循环程序设计 一. 延时50ms程序 DEL: MOV R7, #200 DEL1: MOV R6, #125 DEL2: DJNZ R6, DEL2 ;125*2=250us DJNZ R7, DEL1 ; 0.25ms*200=50ms RET 使用12MHz晶振时,一个机器周期为1us, 执行 DJNZ指令为2us,加其他指令的时间(250+1+2) *200+1=50.301ms 精确计算见 P327
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 福建船政交通职业学院:《单片机原理及应用》课程教学课件(PPT讲稿)第3章 单片机指令系统.ppt
- 福建船政交通职业学院:《单片机原理及应用》课程教学课件(PPT讲稿)第2章 单片机系统组成原理.ppt
- 福建船政交通职业学院:《单片机原理及应用》课程教学课件(PPT讲稿)第1章 计算机基础知识(讲授:吴赓).ppt
- 《单片机原理及应用》课程教学资源(芯片资料)LM7805.pdf
- 《单片机原理及应用》课程教学资源(芯片资料)HS0038B.pdf
- 《单片机原理及应用》课程教学资源(芯片资料)HCF4094BE.pdf
- 《单片机原理及应用》课程教学资源(芯片资料)DS1302中文.pdf
- 《单片机原理及应用》课程教学资源(芯片资料)DS12887.pdf
- 《单片机原理及应用》课程教学资源(芯片资料)CMS164.pdf
- 《单片机原理及应用》课程教学资源(芯片资料)74165.pdf
- 《单片机原理及应用》课程教学资源(芯片资料)18b20.pdf
- 福建船政交通职业学院:《单片机原理及应用》课程实验指导书(负责人:吴庚).doc
- 海南大学:《电子技术基础》课程教学课件(数字电子技术基础)09 数模与模数转换器 D/A and A/D Converter.pdf
- 海南大学:《电子技术基础》课程教学课件(数字电子技术基础)08 脉冲波形的变换与产生 Generating and Converter of Pulse Waveform.pdf
- 海南大学:《电子技术基础》课程教学课件(数字电子技术基础)06 时序逻辑电路 Sequence Logic Circuits Analysis & Design.pdf
- 海南大学:《电子技术基础》课程教学课件(数字电子技术基础)05 锁存器和触发器(Latch & Flip-Flops).pdf
- 海南大学:《电子技术基础》课程教学课件(数字电子技术基础)04 组合逻辑电路 Combinational Logic Circuits.pdf
- 海南大学:《电子技术基础》课程教学课件(数字电子技术基础)03 逻辑门电路(Logic gate Circuits).pdf
- 海南大学:《电子技术基础》课程教学课件(数字电子技术基础)02 逻辑代数基础 Boolean algebra(Logic algebra).pdf
- 海南大学:《电子技术基础》课程教学课件(数字电子技术基础)01 数字逻辑概论 Fundamentals of Digital Electronics.pdf
- 福建船政交通职业学院:《单片机原理及应用》课程教学课件(PPT讲稿)第5章 单片机应用系统的扩展.ppt
- 福建船政交通职业学院:《单片机原理及应用》课程教学课件(PPT讲稿)第6章 键盘、显示接口技术.ppt
- 福建船政交通职业学院:《单片机原理及应用》课程教学课件(PPT讲稿)第7章 A/D和D/A转换接口技术.ppt
- 福建船政交通职业学院:《单片机原理及应用》课程教学课件(PPT讲稿)第8章 MCS-51串行口.ppt
- 福州大学:《电子线路》课程教学资源(教学大纲)数字电路教学大纲 Digital Circuits.pdf
- 福州大学:《电子线路》课程教学资源(实验指导)数字电路实验书(负责人:杨秀芝).doc
- 福州大学:《电子线路》课程教学资源(试卷习题)数字电子技术综合试题(无答案).doc
- 福州大学:《电子线路》课程教学资源(试卷习题)数字电路试题及答案.docx
- 《电子线路》课程教学资源(书籍文献)数字电路习题全解(高等教育出版社,阎石第五版,共十一章).pdf
- 《电子线路》课程教学资源(书籍文献)数字电子技术基础(高等教育出版社,阎石第五版,共十一章).pdf
- 福州大学:《电子线路》课程教学资源(PPT课件)数字电路总复习1.ppt
- 福州大学:《电子线路》课程教学资源(PPT课件)数字电路总复习2.ppt
- 福州大学:《电子线路》课程教学资源(PPT课件)第一章 数字电路(主讲:杨秀芝).ppt
- 福州大学:《电子线路》课程教学资源(PPT课件)第三章 门电路.ppt
- 福州大学:《电子线路》课程教学资源(PPT课件)第五章 触发器.ppt
- 福州大学:《电子线路》课程教学资源(PPT课件)第八章 可编程逻辑器件.ppt
- 福州大学:《电子线路》课程教学资源(PPT课件)第六章 时序逻辑电路.ppt
- 福州大学:《电子线路》课程教学资源(PPT课件)第十一章 数模和模数转换.ppt
- 福州大学:《电子线路》课程教学资源(PPT课件)第十章 脉冲波形的产生和整形.ppt
- 福州大学:《电子线路》课程教学资源(PPT课件)第四章 组合逻辑电路的设计.ppt