Presentation is loading. Please wait.

Presentation is loading. Please wait.

第二章 MCS-51单片机程序设计 第一章 8086程序设计 第三章 微机基本系统的设计 第四章 存贮器与接口 第五章 并行接口

Similar presentations


Presentation on theme: "第二章 MCS-51单片机程序设计 第一章 8086程序设计 第三章 微机基本系统的设计 第四章 存贮器与接口 第五章 并行接口"— Presentation transcript:

1

2 第二章 MCS-51单片机程序设计 第一章 8086程序设计 第三章 微机基本系统的设计 第四章 存贮器与接口 第五章 并行接口
第一章 8086程序设计 第二章 MCS-51单片机程序设计 第三章 微机基本系统的设计 第四章 存贮器与接口 第五章 并行接口 第六章 计数器、定时器与接口 第七章 显示器与键盘接口 第八章 串行通信及接口 第九章 数模转换器和模数转换器接口

3 本章知识点 MCS-51 单片机的结构 MCS-51单片机程序设计 MCS-51单片机系统的程序设计

4 本章知识点 MCS-51 单片机的结构 MCS-51单片机程序设计 MCS-51单片机系统的程序设计

5 MCS-51 单片机的结构 MCS-51单片机采用程序存储器和数据存储器分别寻址的方式,程序存储器和外部数据存储器的寻址范围均为64K
如采用外部程序存储器,用信号-PSEN控制读入程序存储器中的程序或数据 访问程序存储器采用的指令: MOVC MOVC

6 MCS-51 单片机的结构 内部数据存储器256个字节, 00-7FH的128个字节为通用数据存储器,
80-FFH的128个字节为特殊寄存器,是MCS-51单片机的累加器A,寄存器B,中断控制,片内外围电路如I/O口、定时器、串行接口所用的寄存器

7 MCS-51 单片机的结构 内部数据存储器00-7FH的结构

8 MCS-51 单片机的结构 外部数据存储器寻址范围为64K,包括外部数据存储器和I/O 通过数据指针指定外部数据存储器的地址
MOVX MOVX @DPTR,A 采用间接地址指定外部数据存储器的地址 MOVX MOVX @R0/R1,A

9 MCS-51 单片机的结构 MCS-51单片机的片内外围电路 4个并行I/O口P1、P2、P3、P4的操作通过对应的寄存器进行。
定时器采用TMOD、TCON、THX、TLX等寄存器。 串行接口采用SCON、SBUF等寄存器。 MCS-51单片机的有5个中断源,分别是2个外部中断、2个定时器中断和1个串行接口中断。

10 本章知识点 MCS-51 单片机的结构 MCS-51单片机程序设计 MCS-51单片机系统的程序设计

11 MCS-51单片机程序设计 程序设计方法 MCS-51单片机程序设计

12 程序设计方法 1.作程序流程图 根据题意,找出最合理、简便的解决方法并作程序流程图。流程图分粗略和详细两种,粗略流程图给出大致步骤,而详细流程图则给出每一步骤细节。对一些大问题,先给出粗略流程图以得出总体概念,再作详细流程图对每一步骤作具体描述;

13 程序设计方法 2.存贮单元分配 根据题意合理地分配程序和数据在存贮器中地址。存贮单元分配合理,可使编程简单和避免程序出错。应避免程序区与数据区相互混合、交叉。

14 程序设计方法 3.源程序编制 将流程图中每步所规定的操作用程序语言实现,可选用不同指令,各人所编程序可能不同。程序质量衡量标准为:程序短,占用存贮单元少,运行时间短,而且程序结构合理。

15 MCS-51单片机程序设计 简单程序 设计MCS-51程序时,需注意内部存储器访问和外部存储器访问
源程序 标号 操作码 操作数 ORG 4000H MOV A,#00H MOV 30H,A INC A MOV DPTR,#4100H INC DPTR MOV A,R2 HE: SJMP HE 把直接数00H送到内部RAM30H单元中,把直接数01H及02H分别送到外部RAM4000H、4001H单元中。

16 MCS-51单片机程序设计 分支程序常用的指令

17 MCS-51单片机程序设计 分支程序 在寄存器R2中存有数码0~F,要求将其转换为ASCII码,并存于外部存贮器 4100H单元中

18 MCS-51单片机程序设计 利用散转指令实现多分支程序的方法

19 MCS-51单片机程序设计 利用地址偏移量表实现多分支程序,适用于各个处理程序的目的地址均在同一页的情形
先将处理程序的目时地址减去表的首地址(应在同一页内,不大于256字节)构成一偏移量表,将表的首地址装入数据指针DPTR,利用查表指令MOVC

20 MCS-51单片机程序设计 利用目的地址表实现多分支程序

21 MCS-51单片机程序设计 循环程序 将内部RAM的40H ~4FH单元置为00H~0FH, 以R2作为循环计数器

22 MCS-51单片机程序设计 循环程序 把内部RAM40H ~4FH的内容传送到外部数据存储器的4100H ~410FH单元内。

23 MCS-51单片机程序设计 循环程序 将外部数据存储器中4100H ~410FH单元置为00H~0FH 以内部RAM 32H作为循环计数器

24 MCS-51单片机程序设计 循环程序 将4100H ~410FH单元的内容传送到4200H开始的单元中。
以内部RAM 32H作为循环计数器, 用30H、31H作为4200H的地址计数器

25 MCS-51单片机程序设计 查表程序 在R2寄存器存有数0~9的BCD码,利用查表程序求其平方值,并存于4100H单元中。
先将0~9平方值的BCD码存于程序存贮器中,标号为TABLE。

26 本章知识点 MCS-51 单片机的结构 MCS-51单片机程序设计 MCS-51单片机系统的程序设计

27 MCS-51单片机系统的程序设计 专用系统的程序构成 MCS-51单片机专用系统程序的设计

28 专用系统的程序构成 一个完整的系统程序的结构
专用系统的程序构成 一个完整的系统程序的结构 专用系统的系统程序必须具备一个完整的结构,保证在系统上电时能自动启动,并根据系统硬件的要求执行一定功能

29 MCS-51单片机专用系统程序的设计 MCS-51单片机具有64K程序存储器和64K数据存储器的寻址能力。
数据存储器和I/O设备统一编址均在64K的范围内。 复位后的程序指针为0000H,因此在设计系统硬件时必须将程序存储器的地址安排在0000H开始的存储器,使其与系统复位后的程序指针保持一致。同时在设计系统程序时,也必须将程序的起始地址安排在0000H开始的单元中。

30 MCS-51单片机专用系统程序的设计 MCS-51单片机的堆栈安排在内部RAM的00H~7FH单元。
由于00H~1FH为寄存器组,20H~2FH为位操作单元,此外还需在30H以后的地址安排部分工作单元,因此堆栈通常只能安排在大于30H的内部RAM中。 MCS-51单片机的堆栈操作采用了在数据压入堆栈时,堆栈指针加大,而数据弹出堆栈时,堆栈指针减小的方法,因此可将堆栈指针设置为在内部RAM中堆栈的最小地址减1。 应估计子程序和中断程序使用的数量和数据压入弹出堆栈的数量,以确定堆栈大小。如堆栈估计不足将导致程序无法执行,形成死机。

31 MCS-51单片机专用系统程序的设计 MCS-51单片机采用5个中断:即外部中断0、定时器T0中断、外部中断1、定时器T1中断和串行口中断,
中断服务程序入口地址分别为 0003H、000BH、0013H、001BH和0023H。 如程序中使用上述中断,就在上述地址内存放相应的转移指令,在执行中断程序时,通过这5个地址的转移指令跳转到相应的中断服务程序中。 地址0000H到0003H之间只有3个字节,因此启动地址通常只能安排转移指令,使程序在启动后转移到主程序 。


Download ppt "第二章 MCS-51单片机程序设计 第一章 8086程序设计 第三章 微机基本系统的设计 第四章 存贮器与接口 第五章 并行接口"

Similar presentations


Ads by Google