Presentation is loading. Please wait.

Presentation is loading. Please wait.

第1章 微型计算机基础.

Similar presentations


Presentation on theme: "第1章 微型计算机基础."— Presentation transcript:

1 第1章 微型计算机基础

2 1.1 数制与编码 在计算机中,任何命令和信息都是以二进制数据的形式存储的。计算机所执行的全部操作都归结为对数据的处理和加工。

3 1. 二进制数 二进制数只有两个数字符号:0和1。计数时按“逢二进一”的原则进行计数。也称其基数为二。 根据位权表示法,每一位二进制数在其不同位置表示不同的值。 对于任何二进制数,可按位权求和展开。

4 2. 十六进制数 计算机在输入输出或书写时,可采用十六进制数表示相应的二进制数。 十六进制数有十六个数字符号,其中0~9与十进制相同,剩余六个为A~F分别表示十进制数的10~15,计数原则是逢“十六进一”,也称其基数为十六。

5 3. 不同数制之间的转换 计算机中的数只能用二进制表示,十六进制数适合读写方便的需要,日常生活中使用的是十进制数,计算机根据需要对各种进制数据进行转换。

6 4. 编码 计算机内部所有数据均用二进制代码的形式表示。 计算机通过输入设备(如键盘)输入信息和通过输出设备输出信息也是多种形式的,即有数字、字母,也有各种控制符号及汉字等。为此,需要对常用的数据及符号等进行编码,以表示不同形式的信息。这种以编码形式所表示的信息既便于存储,也便于由输入设备输入信息、输出设备输出相应的信息。

7 1.2 单片机与嵌入式系统组成 1. 什么是单片机 单片机(Single-chip-Microcomputer)又称单片微控制器,其基本结构是将微型计算机的基本功能部件:中央处理机(CPU)、存储器、输入、输出接口、定时器/计数器、中断系统等全部集成在一个半导体芯片上。

8 2. 单片机的应用特点 (1) 具有较高的性能价格比 (2) 体积小,可靠性高 (3) 控制功能强 (4) 使用方便、容易产品化 3. 单片机的应用领域 (1) 智能仪器 (2) 工业控制 (3) 机电一体化 (4) 家用电器

9 1.3 嵌入式系统 从使用的角度来说,计算机应用可分为两类: 一类是应用广泛的独立使用的计算机系统 (如个人计算机、工作站等)。 一类是嵌入式计算机系统。 所谓嵌入式系统,就是以嵌入式应用为目的计算机系统。单片机应用系统是典型的嵌入式系统。

10 1.4 单片机应用系统的结构

11 由单片机组成的控制应用系统较之一般计算机来说不仅简单、方便,而且价格低廉。单片机以其自身的魅力赢得了市场,成为嵌入式计算机系统中的核心控制部件。

12 第2章 MCS-51单片微型计算机的结构

13 2.1 MCS-51单片机总体结构 MCS-51系列单片机的典型产品有8051、8751、8031、80C51、80C31等。它们的结构基本相同,其主要差别反映在片内存储器的配置上有所不同。8051是ROM型单片机,内含4KB的掩模ROM程序存储器;8751内含4KB的可编程EPROM程序存储器;而8031则为无ROM型单片机,使用时需外接程序存储器。

14 1. MCS-51单片机总体构框图

15 2. MCS-51引脚功能

16 3. MCS-51存储器的特点 物理结构上有四个存储空间: 片内程序存储器; 片外程序存储器; 片内数据存储器; 片外数据存储器。

17 从用户使用的角度,即从逻辑上划分3个存储器地址空间:
片内外统一偏址的64KB的程序存储器地址空间; 片内256B数据存储器地址空间; 片外64KB的数据存储器地址空间;

18 MCS-51(8051)存储结构如图所示。

19 内部数据存储器分为高、低128B两大部分如图所示 :

20 2.2 位处理器 单片机具有较强的位处理能力。 对于许多控制系统,开关量控制是控制系统的主要对象之一。作为传统的CPU,对于简单的个别开关量进行控制却显得不那么方便,而让MCS-51值得骄傲的正是它有效地解决了单一位的控制。

21 复位方式、程序执行方式、节电方式和EPROM的编程和校验方式,在不同的情况下,其工作方式也不相同。
2.3 MCS-51工作方式和时序 1. MCS-51单片机的工作方式包括: 复位方式、程序执行方式、节电方式和EPROM的编程和校验方式,在不同的情况下,其工作方式也不相同。

22 2.MCS-51单片机的时序 MCS-51单片机的时序就是计算机指令执行时各种微操作在时间上的顺序关系。 计算机所执行的每一操作都是在时钟信号的控制下进行的。每执行一条指令,CPU都要发出一系列特定的控制信号,这些控制信号(即CPU总线信号)在时间上的相互关系就是CPU的时序。

23 第3章 MCS-51单片机指令系统

24 对于任何一台计算机,必须有软件(程序)的支持,才能工作。计算机所进行的全部操作都是执行程序的结果,而程序是计算机所能识别的命令的集合。
指令系统是一种CPU所能直接执行的所有命令的集合,CPU的主要功能是由它的指令系统来体现的。任何计算机语言编写的任何程序,都必须转换为指令系统中相应指令代码的有序集合,CPU才能执行 。

25 3.1.指令系统简介 每一种CPU都有其独立的指令系统。 1 . MCS-51系列单片机的指令系统 MCS-51系列单片机的指令系统共有111条指令,其中有49条单字节指令,45条双字节指令和17条三字节指令。 MCS-51指令系统的功能十分强大,它把体现单片机的各种功能的寄存器组织在统一的地址空间中,MCS-51指令系统在其存储空间、时间的利用率及工作效率方面都是较高的。

26 2. 指令格式 MCS-51指令系统中的每一条指令都有两级指令格式: CPU可直接识别并执行的机器语言指令。 汇编语言指令(简称汇编指令)。 MCS-51汇编语言指令格式,由以下几个部分组成: [标号:] 操作码 [目的操作数] [,源操作数] [;注释]

27 3.2 寻址方式 所谓寻址方式就是寻找或获得操作数的方式。 指令的一个重要组成部分是操作数。由寻址方式指定参与运算的操作数或操作数所在单元的地址。

28 MCS-51指令系统的寻址方式有以下7种: 1. 立即寻址 2. 直接寻址 3. 寄存器寻址 4. 寄存器间接寻址 5. 变址寻址 6. 相对寻址 7. 位寻址

29 3.3 指令系统 1. 数据传送类指令 2. 算术运算类指令 3. 逻辑运算类指令 4. 控制转移类指令 5. 位操作类指令

30 例如: MOV A, #26H ;A←26H MOV DPTR, #2000H ;DPTR←2000H MOV TCON, A ;指令执行结果:A的内容传送给寄存器TCON。 MOV A, P ; 指令执行结果:P1的内容传送给A。 其中TCON、P1是特殊功能寄存器SFR,其对应的直接地址是88H和90H。

31 例如: 将数据00H~0FH写入RAM的30H~3FH单元。可执行以下指令: MOV A, # 00H MOV R0, #30H LOOP: MOV @R0, A INC A INC R0 CJNE R0, #40H, LOOP STOP: SJMP STOP

32 第4章 汇编语言程序设计

33 4.1 伪指令及汇编语言源程序汇编 1.汇编语言的概念
4.1 伪指令及汇编语言源程序汇编 1.汇编语言的概念    汇编语言是一种采用助记符表示的机器语言,即用助记符号来代表指令的操作码和操作数,用标号或符号代表地址、常数或变量。而助记符一般都是英文单词的缩写,因此使用方便。这种用助记符编写的程序称为源程序,汇编语言源程序必须翻译成机器语言的目标代码,亦称目标程序,计算机才能执行。其翻译工作可由汇编程序自动完成,汇编程序的功能就是将用助记符号编写的源程序翻译成用机器语言表示的目标程序。

34 2.汇编语言程序的组成: 汇编语言源程序是由汇编语句组成的,一般情况下,汇编语言语句可分为:指令性语句(即汇编指令)和指示性语句(即伪指令)。

35 指令性语句(可简称指令)是进行汇编语言程序设计的可执行语句,每条指令都产生相应的机器语言的目标代码。源程序的主要功能是由指令性语句去完成的。
指示性语句(伪指令)又称汇编控制指令。它是控制汇编(翻译)过程的一些命令,程序员通过伪指令通知汇编程序在进行汇编时的一些指示。因此,伪指令不产生机器语言的目标代码,是进行汇编语言程序设计的不可执行语句。

36 4 .2 汇编语言程序设计举例 4.2.1汇编语言程序结构 编写一个应用系统的汇编语言源程序,其程序结构一般有顺序结构、分支结构、循环结构、子程序结构等,如图所示。

37 4.2.2 顺序程序设计 例:将片内RAM的30H和31H的内容相加,结果存入32H。 ORG 8000H
顺序程序:各类结构化程序块中最简单的一种。它按程序执行的顺序依次编写,在执行程序过程中不使用转移指令,只是顺序执行。 例:将片内RAM的30H和31H的内容相加,结果存入32H。 ORG H MOV R0, #30H ; R0←30H MOV A, @R ; R0←(30H) INC R ; 指向下一个单元 ADD A, @R ; 两个操作数相加 MOV @R0, A ; 存放结果 END

38 4.2.3 分支程序设计 分支程序主要是根据判断条件的成立与否来确定程序的走向。因此在分支程序中需要使用控制转移类指令。可组成简单分支结构和多分支结构。 1、单分支选择结构 当程序的判断仅有两个出口,两者选一,称为单分支结构。通常用条件判断指令来选择并确定程序的分支出口。这类单分支选择结构有三种典型的形式,见图。 (1)图a,当条件满足时执行分支程序2,否则执行分支程序1。 (2)图b,当条件满足时跳过程序段1,从程序段2执行,否则顺序执行程序段1,再执行程序段2。 (3)图c,这是分支结构的一种特殊形式。当条件满足时,停止执行程序段1。

39

40 例 : 设内部RAM 40H和41H单元中存放2个8位无符号二进制数,试编程找出其中的大数存人30H单元中。
MOV A,40H CJNE A,41H,LOOP ;取2个数进行比较 LOOP: JNC LOOP1 ; 根据CY值,判断单分支出口 MOV A,41H ;41H单元中是大数 LOOPl:MOV 30H,A ;40H单元中是大数

41 2、多分支选择结构 当程序的判别部分有两个以上的出口流向时,称为多分支选择结构。一般有两种形式,见图。

42 例 设变量X的值存放在内部RAM的30H单元中,编程求解下列函数式,将求得的函数值Y存人40H单元。
X+1 (X≥100) Y= (10≤X<100) X一1 (X<10) 分析:自变量X的值在三个不同的区间所得到的函数值Y不同,编程时要注意区间的划分。程序流程图如图4一4所示。程序如下:

43 MOV A,30H ;取自变量X值 CJNE A,#10,LOOP;与10比较,A中值不改变 LOOP: JC LOOP2 ;若X< 10,转LOOP2 CJNE A,#100,LOOP1 ;与100比较 LOOP1:JNC LOOP3 ;若X>100,转LOOP3 MOV 40H,#00H ;因10≤X<100,故Y=0 SJMP EXIT LOOP2:DEC A ;因X<10,故Y=X一1 MOV 40H,A LOOP3:INC A ;若X>100,故Y=X+1 MOV 40H, A EXET:RET

44

45 第4章 汇编语言程序设计 循环程序

46 4.2.4 循环程序 一、循环程序的结构(如图4-6所示) 1. 循环程序一般包括如下四个部分: (1)初始化 (2)循环体
循环程序 一、循环程序的结构(如图4-6所示) 1. 循环程序一般包括如下四个部分: (1)初始化 (2)循环体 (3)循环控制 (4)结束 2. 循环程序按结构形式,有单重循环与多重循环。 3. 在多重循环中,只允许外重循环嵌套内重循环。 4. 不允许循环相互交叉,也不允许从循环程序的外部 跳入循环程序的内部(如图4-7所示)。

47 图4-6 循环结构程序流程图 开始 开始 初始化 初始化 修改循环参数 循环体 循环结束? Y 修改循环参数 N 循环体 循环结束? N Y
结束部分 结束部分 结束 结束 (b)循环结构2(直到型循环) (a)循环结构1(当型循环) 图4-6 循环结构程序流程图 返回

48 外循环 中循环 内循环 外循环 内循环 外循环 内循环 (a)嵌套正确 (b)嵌套正确 (c)交叉不正确 图4-7 多重循环示意图 返回

49 二、计数循环程序 MCS-51指令系统中提供的两条减1条件转移指令最适合于计数循环控制,现介绍如下: 1. 寄存器减1条件转移指令
DJNZ Rn,rel 其功能为:寄存器内容减1,如所得结果为0,则程序顺序执行,如没有减到0,则程序转移。具体表示如下: Rn (Rn)-1 若(Rn)≠0,则PC (PC)+2+rel 若(Rn)=0,则PC (PC)十2 2. 直接寻址单元减1条件转移指令 DJNZ direct,rel 其功能为:直接寻址单元内容减1,如所得结果为0,则程序顺序执行;如没有减到0,则程序转移。具体表示如下: direct (direct)-1 若(direct)≠0,则PC (PC)+3+rel 若(direct)=0,则PC (PC)+3 要点分析:这两条指令主要用于控制程序循环。如预先把寄存器或内部RAM单元赋值循环次数,则利用减1条件转移指令,以减1后是否为0作为转移条件,即可实现按次数控制循环。

50 【例4.5】有一数据块从片内RAM的30H单元开始存入,设数据块长度为10个单元。根据下式:
三、循环程序设计举例 【例4.5】有一数据块从片内RAM的30H单元开始存入,设数据块长度为10个单元。根据下式: X+2 X>0 Y= X=0 ∣X∣ X<0 求出Y值,并将Y值放回原处。 解:设置一个计数器控制循环次数,每处理完一个数据,计数器减1。程序流程如图4-8所示。 下一页

51 初始化 循环体 循环控制 A=0? Y N A为负数? 取数,A←((R1)) 开始 结束 A←∣(A)∣ A←64H A←(A)+2
存数,(R1)←A(30H) 设置地址指针R1、计数器R0初值 R1←R1+1;R0←R0-1 R0=0? 初始化 循环体 循环控制 图4-8 例4.5的程序流程图 返回

52 ORG 0100H MOV R0,# ;初始化 MOV R1,#30H ;初始化 START:MOV ;取数 JB ACC.7,NEG ;若为负数,转NEG JZ ZER ;若为零,转ZER0 ADD A,#02H ;若为正数,求X+2 AJMP SAVE ;转到SAVE,保存数据 ZER0: MOV A,# 64H ;数据为零,Y=100 AJMP SAVE ;转到SAVE,保存数据 NEG:DEC A CPL A ;求∣X∣ SAVE:MOV @R1,A ;保存数据 INC R ;地址指针指向下一个地址 DJNZ R0,START ;数据未处理完,继续处理 SJMP $ ;暂停

53 第5章 MCS-51单片微型计算机中断系统

54 5.1 中断的概念 中断是指在CPU正在处理某项事务的时候,如果外界或内部发生了紧急事件,要求CPU暂停正在运行的工作转而去处理这个紧急事件,待处理完后再回到原来被中断的地方,继续原来被打断了的工作的过程。中断是计算机中一个很重要的概念,中断技术的引入使计算机的发展和应用都大大地推进了一步。可以说:没有中断技术,就没有目前计算机的广泛应用。

55 MCS-51系列单片机有5个中断源和其相应的控制寄存器。 1. 中断源
中断系统结构及中断控制 MCS-51系列单片机有5个中断源和其相应的控制寄存器。 1. 中断源 MSC-51系列单片机的5个中断源,包括2个外部中断源和3个内部中断源。 2个外部中断源是外部中断0和外部中断1,相应的中断请求信号输入端是INT0和INT1。 3个内部中断源是定时器/计数器0溢出中断,定时器/计数器1溢出中断,串行口的发送和接收中断(TI和RI)。

56 2. TCON寄存器 TCON是定时器/计数器0和1(T0、T1)的控制寄存器,同时也用来锁存T0、T1的溢出中断申请标志和外部中断请求标志。 3. SCON寄存器 SCON为串行口控制寄存器,其中的低2位用作串行口中断请求标志 。

57 4 . 在MCS-51单片机中断系统中,中断的允许或禁止是由片内的中断允许寄存器IE控制的。
5 . MCS-51系列单片机的中断优先级是由中断优先级寄存器IP控制的。

58 5.3 中断响应时间 在不同的情况下CPU响应中断的时间是不同的。以外部中断为例,INT0(————)和INT1(————)引脚的电平在每个机器周期的S5P2时刻经反相锁存到TCON的IE0和IE1标志位,CPU在下一个机器周期才会查询到新置入的IE0和IE1,如果满足响应条件,CPU响应中断时要用两个机器周期执行一条硬件长调用指令“LCALL”,由硬件完成将中断矢量地址装入程序指针PC中,使程序转入中断矢量入口。因此,从产生外部中断到开始执行中断程序至少需要三个完整的机器周期。

59 5 .4 中断响应后中断请求的撤除 中断源提出中断申请,在CPU响应此中断请求后,该中断源之中断请求在中断返回之前应当撤除,以免引起重复中断,被再次响应。 对于边沿触发的外部中断,CPU在响应中断后由硬件自动清除相应的中断请求标志IE0和IE1。 对于定时器溢出中断,CPU在响应中断后就由硬件消除了相应的中断请求标志TF0、TF1。 对于串行口中断,CPU在响应中断后并不自动清除中断请求标志RI或TI,因此必须在中断服务程序中用软件来清除。

60 5.5 中断响应过程 CPU在每个机器周期的S5P2时刻采样各中断源的中断请求信号,并将它锁存在TCON或SCON中的相应位。在下一个机器周期对采样到的中断请求标志进行查询。如果查询到中断请求标志,则按优先级高低进行中断处理,中断系统将通过硬件自动将相应的中断矢量地址装入PC,以便进入相应的中断服务程序。

61 第6章 MCS-51单片微型计算机定时器/计数器

62 6.1 定时器/计数器概述 定时器/计数器实际上是加1计数器,当它对外部事件进行计数时,由于频率不固定,此时称之为计数器;当它对内部固定频率的机器周期进行计数时称之为定时器。

63 定时器/计数器的基本结构如图所示。

64 6.2 定时器/计数器的控制字 定时器/计数器有4种工作模式,由TMOD设置并由TCON控制。 特殊功能寄存器TMOD的地址为89H,它不能位寻址,在设置时一次写入。 定时器控制寄存器TCON除可字节寻址外,各位还可以位寻址。

65 6.3 定时器/计数器工作模式 51系列单片机的定时器/计数器T0和T1可由软件对特殊功能寄存器TMOD中控制位C/T(—)进行设置,以选择定时功能或计数功能。对M1和M0位的设置对应于四种工作模式,即模式0、模式1、模式2、模式3。在模式0、模式1和模式2时,T0和T1的工作情况相同。

66 1. 工作模式0 模式0是选择定时/计数器(T0或T1)的高8位和低5位组成的一个13位定时器/计数器。 2.工作模式1 该模式对应的是一个16位的定时器/计数器。

67 3. 工作模式2 模式2把TL0(或TL1)设置成一个可以自动重装载的8位定时器/计数器 。 4. 工作模式3 工作模式3对T0和T1大不相同。 若将T0设置为模式3,TL0和TH0被分成为两个相互独立的8位计数器 。

68 6.4 定时器/计数器应用实例 利用定时器0产生25Hz的方波,由P1.0输出。假设CPU不做其它工作,则可采用查询方式进行控制,设晶振频率为12MHz。 25Hz方波,周期为1/25=40ms,可以采用定时器定时20ms,每隔20ms改变一下P1.0的电平,即可得到25Hz的方波信号。若采用定时器工作模式0,则最长定时时间为t=213×1×10-6=8.192ms。显然定时一次不能满足要求,可以采用模式1工作。

69 设初值为X,则有: t=(216-X)×1×10-6=20×10-3 求得X=45536=B1E0H 程序如下: ORG 0100H MOV TMOD, #01H MOV TH0, #0B1H MOV TL0, #0E0H SETB TR0

70 LOOP: JNB TF0, $ $为当前指令指针地址
CLR TF0 MOV TH0, #0B1H MOV TL0, #0E0H CPL P1.0 SJMP LOOP END

71 第7章 单片机的系统扩展

72 单片机内部集成了计算机的基本功能部件,因而一块单片机(如8051/8751)往往就是一个最小微机系统。MCS-51系列单片机具有很强的系统扩展能力,可以扩展64KB的程序存储器和64KB的数据存储器或输入输出口。.

73 7.1 MCS-51单片机最小系统 单片机是集CPU、RAM、ROM、定时器/计数器和I/O接口电路于一片集成电路的微型计算机。对于简单的应用场合,可以在MCS-51系列单片机中选择一个合适的产品构成一个具有最简单配置的系统,即最小系统。MCS-51系列中含有片内程序存储器的单片机如8051/8751仅一块芯片就可构成最小系统,而无片内存储器的单片机如8031必须外部扩展程序存储器才能构成最小系统。

74 /8751单片机最小系统 用8051/8751单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,如图所示。

75 7.2 扩展总线的产生 当单片机最小应用系统不能满足实际应用系统要求时,需要在单片机外部连接相应的外围芯片以满足应用系统要求。MCS-51系列单片机有很强的外部扩展功能,大部分常规芯片可用于其外围扩展电路中。扩展的内容主要有总线、程序存储器、数据存储器、I/O口扩展等。

76 一般微机的CPU外部都有单独的地址总线、数据总线和控制总线,而MCS-51系列单片机由于受管脚数量的限制,数据总线和地址总线是复用P0口,为了将它们分离开,以便同外围芯片正确地连接,需要在单片机外部增加地址锁存器(如74LS373、8282等),从而构成与一般CPU类似的片外三总线,如下图所示。

77 MCS-51系列单片机扩展三总线

78 1. 地址总线(AB) MCS-51系列单片机地址总线宽为16位,所以可寻址范围为216=64KB。 16位地址总线由P0口提供低8位A0-A7,P2口提供高8位A8-A15。由于P0口还要作数据总线,只能分时用作低8位地址线,所以P0输出的低8位地址必须用锁存器锁存。锁存器的锁存控制信号为ALE输出信号。P2口具有输出锁存功能,所以不需外加锁存器。

79 2. 数据总线(DB) 数据总线由P0口提供,其宽度为8位,用于单片机与外部存储器和I/O设备之间传送数据。P0口为三态双向口,可以进行两个方向的数据传送。 3 .控制总线(CB) 由P3口提供。

80 7.3 扩展举例 扩展4KB EPROM的8031系统。 外部存储器的扩展可通过线选方式或译码方式实现片选。图7-8是采用线选方式对8031扩展一片2732 EPROM的连线图。图中锁存器采用74LS373,8031的P2.0~P2.3用作2732的地址线,其余P2.4~P2.7中的任一根都可作为2732的片选信号线,片选信号决定了2732的4KB存储器在整个8031扩展程序存储器64KB空间中的位置。图中选用P2.7作为2732的片选信号线,则2732 EPROM的地址范围为:0000H~0FFFH。

81 扩展4KBEPROM的8031系统


Download ppt "第1章 微型计算机基础."

Similar presentations


Ads by Google