首页计算机计算机工程单片机原理及应用 07 回顾review.pptx

07 回顾review.pptx

页数:45页文件大小:632.1 KB来源: 单片机原理及应用ppt课件

本课件按课程主线梳理知识点:从数制转换与原码、反码、补码及溢出判断开始,回顾51单片机的基本组成、存储器结构与复位状态,再串联指令系统与寻址方式、三种程序结构、中断系统、定时器初值计算、串行口波特率与系统扩展。

数与编码要点讲解页,不同数制之间的转换(2,8,10,16进制等)2.原码,反码,补码3.溢出,进位的判断
原码反码补码复习页,给出三种机器数表示法的定义与求法示例
溢出判断要点讲解页,结果超出表示范围
查看本课件的文字版(共 45 页,供检索与复制)

第1页:数与编码

•数与编码1.不同数制之间的转换(2,8,10,16进制等)2.原码,反码,补码3.溢出,进位的判断

第2页:原码、反码与补码

  • 原码设X为n位二进制整数
  • 0≤X<2n-1时,它的原码等于真值X;
  • -2n-1<X≤0时,它的原码等于2n-1+|X|。
  • 反码设X为n位二进制整数
  • 0≤X<2n-1,X的反码是其自身;
  • -2n-1<X≤0时,X的反码为2n-1+X。
  • 补码设X为n位二进制整数
  • 0≤X<2n-1,X的补码是其自身;
  • -2n-1≤X<0时,X的补码为2n+X。8位有符号数:-56原码:|-56|=38H=00111000B-56 = 10111000B反码:-56 = 28-1+(-56)=FFH-38H=C7H补码:-56 = 28+(-56)=100H-38H=C8H

本页含表格或算式图示,原文数字粘连严重,未能安全切分为表格,请对照原课件图片补充

第3页:溢出判断

  • 溢出判断
  • 结果超出表示范围
  • (+)+(+)=(-) (-)+(-)=(+)结果溢出
  • 利用进位判断2个8位有符号数相加:65+87 = 1521.结果超出表示范围,溢出2.65+87=41H+57H=98H (+)+(+)=(-)结果溢出3.01000001第6位向第7位有进位(1)第7位向进位位无进位(0)+ 01010111 1^0=1结果溢出10011000

本页含表格或算式图示,原文数字粘连严重,未能安全切分为表格,请对照原课件图片补充

第4页:51单片机基本组成

•51单片机基本组成振荡与定时电路21字节特殊功能寄存器128字节数据寄存器2个16位定时器/计数器CPU存贮器扩展控制并行端口串行端口外部中断信号控制信号地址/数据总线端口I/O线串行输入串行输出时钟源计数信号内部总线内部程序存储器

第5页:51单片机管脚图

•51单片机管脚图

第6页:单片机最小系统

•单片机最小系统所谓单片机的最小系统,就是指在尽可能少的外部电路的条件下,形成一个可以独立工作的单片机系统。如8051在加上相应的复位和振荡电路后就构成了一个最小系统,而对于8031还需要扩展外部程序存储器才能构成最小系统。

第7页:片内RAM地址分配

寄存器区00H~1FH位地址区20H~2FH通用RAM数据区30H~7FHR0R1R2R3R4R5R6R7寄存器0组寄存器1组寄存器2组寄存器3组00H~07H08H~0FH10H~17H18H~1FH07060504030201000F0E0D0C0B0A090817161514131211101F1E1D1C1B1A191867666564636261606F6E6D6C6B6A696877767574737271707F7E7D7C7B7A7978

第8页:特殊功能寄存器

  • 21个字节的特殊功能寄存器
  • 不连续分布在128字节的SFR空间(80H~FFH)
  • SFR空间包含128个位地址空间(80H~FFH)有效位83个,可以用来对11个特殊功能寄存器(地址能被8整除)的某些位作位寻址操作1)算术运算寄存器[A] [B] [PSW]2)指针寄存器[SP] [DPTR]3)并行I/O口[P0] [P1] [P2] [P3]4)串行I/O口[SCON] [SBUF] [PCON]5)定时器/计数器[TMOD] [TCON] [TH0] [TL0][TH1] [TL1]6)中断系统[IE] [IP]

第9页:复位后21个SFR的初始状态表

单片机完成复位后进入初始化过程,其中PC=0000H,21个SFR复位后的状态如下。

21个特殊功能寄存器复位后的初始状态
SFR初始状态
P0~P3FFH
SP07H
DPL00H
DPH00H
PSW00H
A00H
B00H
IP***00000B
IE0**00000B
TMOD00H
TCON00H
SCON00H
SBUF不定
PCON0*******B
TH000H
TL000H
TH100H
TL100H

注:原课件为三列排版被线性化提取,此处按“寄存器—初始状态”对应关系整理还原,请对照原图核对。

第10页:

第11页:

第12页:操作助记符

操作助记符[目的操作数] [源操作数]助记符中的常用符号:Rn:工作寄存器中的寄存器R0、R1…R7之一;Ri:工作寄存器中的寄存器R0或R1;#data:8位立即数;#data16:16位立即数;direct:片内RAM或SFR的地址(8位);@:寄存器间接寻址;Bit:片内RAM或SFR的位地址;addr11:11位目的地址;addr16:16位目的地址;rel:8位地址偏移量,偏移范围为-128~127;/:该位求反后参与操作,不影响该位;(X):地址单元中的内容→:箭头左边的内容送入箭头右边的单元内

第13页:寻址方式

•寻址方式立即寻址 MOV TMOD,#20H直接寻址 MOV10H,20H寄存器寻址 MOVA, P0寄存器间接寻址 MOVX A,@DPTR变址寻址 MOVC A,@A+DPTR相对寻址 SJMPABC位寻址 MOV C,20H

第14页:指令系统

•指令系统 MOV、 MOVX、 MOVC、 XCH、 XCHD、 SWAP、 PUSH、 POPADD、 ADDC、 INC、 SUBB、 DEC、DA、 MUL、 ADDANL、 ORL、 XRL、 CPL、 RR、 RL、 RRC、 RLCSETB、 CLR、JB、JNB、 JC、 JNC、JBCAJMP、 LJMP、 SJMP、 JMP、 ACALL、 LCALL、 JZ、 JNZ、 CJNE、 DJNZRET、 RETI、 NOP

第15页:转移类指令

短转移类指令: AJMP addr11长转移类指令: LJMP addr16相对转移指令: SJMP rel间接转移指令: JMP @A+DPTR转移范围:2KB64KB-128~+127绝对调用指令: ACALL addr11长调用类指令: LJMP addr16调用范围:2KB64KB

第16页:常用伪指令

•常用伪指令ORG,END,EQU,DB,DW,BIT

第17页:程序设计基本技术

•程序设计的基本技术顺序结构分支结构循环结构子程序

第18页:子程序设计要点

  • 子程序是具有完整功能的程序段。子程序在结构上应具有通用性和独立性,在编写子程序应注意以下几点:
  • 子程序的第一条指令地址称为子程序的入口地址。该指令必须有标号,标号应以子程序的任务定名,以便一看就一目了然;
  • 主程序调用子程序是通过安排在主程序的调用指令实现的,子程序返回主程序必须执行安排在子程序末尾的一条RET返回指令;
  • 主程序调用子程序和子程序返回主程,计算机能自动保护和恢复主程序的断点地址(PC值)。但对于各工作寄存器、特殊功能寄存器和内存单元中的内容,如果需要保护和恢复必须在子程序开头和末尾(RET指令前)安排一些能够保护和恢复它们的指令。利用堆栈进行保护,调用是将PC压入堆栈,返回时,从堆栈弹出断点地址到PC

第19页:接口电路

  • 接口电路是一组电路,是中央处理器与存储器、输入输出设备之间协调动作的控制电路。简单的说,接口电路是在两个电路或设备之间,使两者动作相配合的连接电路。接口电路的作用就是将来自外部设备的数据信号传送给微处理器,微处理器对数据进行适当加工,再通过接口电路传回外部设备。
  • 地址译码
  • 数据缓存
  • 信息转换
  • 提供命令译码和状态信息
  • 定时和控制

第20页:数据传送方式

  • 1.数据传送方式
  • 并行数据传送
  • 串行数据传送2.传送控制方式
  • 查询方式
  • 中断方式
  • DMA方式

第21页:中断的概念

中断的概念CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生);CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务);待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断。

第22页:8051中断特点与入口地址表

  • 5个中断源,3个在片内,2个在片外
  • 固定的中断入口地址
  • 两级中断优先级,可以形成嵌套
  • 通过SFR进行中断控制和设置编程
中断服务程序入口地址表
入口地址中断源
0003H外部中断0
000BH定时器0
0013H外部中断1
001BH定时器1
0023H串行口

第23页:

第24页:中断响应条件

  • 没有正在响应的同级或高优先级的中断;
  • 当前的机器周期还不是正在执行指令的最后一个机器周期(换言之,正在执行的指令完成前,任何中断请求都得不到响应);
  • 正在执行的不是RETI或者访问特殊功能寄存器IE或IP的指令(换言之,在RETI或读写IE或IP之后,不会马上响应中断请求,而至少执行一条其它指令之后才会响应)。(1)中断响应的条件

第25页:中断响应的处理过程

  • 单片机一旦响应中断请求,就由硬件完成以下功能:
  • 根据响应的中断源的中断优先级,使相应的优先级状态触发器置1;
  • 执行硬件中断服务子程序调用,并把当前程序计数器PC的内容压入堆栈;
  • 清除相应的中断请求标志位(串行口中断请求标志RI和TI除外);
  • 把被响应的中断源所对应的中断服务程序的入口地址(中断矢量)送入PC,从而转入相应的中断服务程序。(2)中断响应过程

第26页:中断服务程序的编写

中断服务程序的编写: ORG 0000HLJMP MAINORG 0013H LJMP EX_INT1MAIN:;主程序INT1:;中断的处理 RETI

第27页:定时/计数器的概念

定时/计数器的概念主要作用包括产生各种时标间隔,记录外部事件的数量等等。8051有两个16位的定时器/计数器。作定时器时,每个机器周期定时寄存器自动加1,因此定时器也可以看作是计量机器周期的计数器。作计数器时,计量单片机外部引脚从1到0的负跳变,每个跳变计数器自动加1。

第28页:定时器的四种工作方式

  • T0和T1无论是用作定时器或者计数器都有4种工作方式:
  • 方式0 (13位)
  • 方式1 (16位)
  • 方式2 (8位自动重装)
  • 方式3 (2个8位)最大定时长度?

第29页:

第30页:定时器初始化步骤

  • 51内部定时器/计数器是可编程序的,通过程序设置寄存器对它进行设定和控制。因此需要进行初始化操作,初始化步骤为:
  • 设定TMOD寄存器,确定工作方式。
  • 根据需要设定时/计数器初值或计数器初值。
  • 根据需要开放中断,设定中断优先级。
  • 设置TCON寄存器,以启动或禁止定时/计数器。

第31页:初始值计算

•初始值计算(1)计数器方式D=M-C(2)定时器方式D=M-TC*(fosc/12)T0如需定时1.5ms,振荡频率12M振荡周期12/12M = 1us需要计数次数:1500/1 = 1500方式2不满足,能用方式0和1选择方式1:初值为:216-1500 = 64036 = FA24H初始化代码:MOV TMOD, #01HMOV TH0,#FAHMOV TL0,#24HSETB ET0SETB EASETB TR0

本页含表格或算式图示,原文数字粘连严重,未能安全切分为表格,请对照原课件图片补充

第32页:串行口与工作方式

  • 一个串行I/O端口,通过引脚RXD(P3.0)和TXD(P3.1)与外设进行全双工的串行异步通信。
  • 4种工作方式
  • 两个控制寄存器,用来设置工作方式、发送接收状态、特征位、波特率等等。
  • 一个数据寄存器SBUF作为接收发送的数据缓冲。

第33页:串行口工作方式与位数对照表

串行口工作方式对照表
工作方式位数主要作用
方式08位用于外接移位寄存器,扩展I/O电路
方式110位双机通信或者与外设电路的通信
方式211位除方式1的功能外,还可用于多机通信,以构成多微机系统
方式311位同方式2,波特率可变

注:原课件文本中方式2、方式3的说明文字被压缩在一起,此处按MCS-51标准串行口工作方式整理,请对照原图核对。

第34页:波特率计算

•波特率计算波特率计算公式得到T1溢出率T1溢出率得到溢出周期溢出周期/振荡周期->需要计数值28-需要计数值->初值 MOV SCON, #50H;设置工作方式 MOV TMOD, #20H;定时器初始化 MOV TH1, #253MOV TL1, #253; MOV PCON, #80H;是否加倍 SETB TR1;打开定时器1SETB ESSETB EA

第35页:MCS-51控制寄存器位定义汇总表

MCS-51常用控制寄存器位定义汇总
寄存器各位定义(D7~D0)
TCONTF1、TR1、TF0、TR0、IE1、IT1、IE0、IT0
SCONSM0、SM1、SM2、REN、TB8、RB8、TI、RI
IEEA、NA、NA、ES、ET1、EX1、ET0、EX0
IPNA、NA、NA、PS、PT1、PX1、PT0、PX0
TMODGATE、C/T、M1、M0(T1);GATE、C/T、M1、M0(T0)
PCONSMOD、NA、NA、NA、NA、NA、NA、NA

第36页:片外三总线结构

  • 单片机的引脚除了电源,复位,时钟输入、用户I/O外,其余管脚是为实现系统扩展而设置的。这些引脚构成MCS-51单片机片外三总线结构,即:
  • 地址总线(AB):地址总线宽为16位,因此,其外部存储器直接寻址为64K字节,16位地址总线由P0口经地址锁存器提供低8位地址(A0至A7);P2口直接提供高8位地址(A8至A15)。②数据总线(DB):数据总线宽度为8位,由P0提供。③控制总线(CB):由P3口的第二功能状态和4根独立控制线RESET、EA、ALE、PSEN组成。

第37页:系统扩展的基本方法

系统扩展的基本方法一般来讲,所有与计算机扩展连接芯片的外部引脚线都可以归属为三总线结构。扩展连接的一般方法实际上是三总线对接。要保证单片机和扩展芯片协调一致地工作,即要共同满足其工作时序。1)地址总线连接(地址编码:统一和独立)2)数据总线连接3)控制总线连接

第38页:芯片的片选线与地址总线连接

芯片的片选线与地址总线连接一般来说,存储器芯片的地址线数目总是少于单片机地址总线的数目,单片机的高位地址线总有剩余。剩余地址线可以用来产生片选信号,选中相应的芯片。片选信号线与单片机系统的译码输出相接后,就决定了存储器芯片的地址范围。单片机的剩余高位地址线与存储器芯片的片选信号线的连接,是存储器扩展连接的关键问题。

第39页:线选法与译码法

存储器芯片的选择有两种方法
线选法和译码法。1.线选法所谓线选法,就是直接以系统的地址线作为存储器芯片的片选信号,为此只需把用到的地址线与存储器芯片的片选端直接相连即可。2.译码法所谓译码法就是使用地址译码器对系统的片外地址进行译码,以其译码输出作为存储器芯片的片选信号。

第40页:用锁存器扩展输出口

用锁存器扩展输出口MOV DPTR, #7FFFHMOV A, #dataMOVX @DPTR, A

第41页:用三态门扩展输入口

用三态门扩展输入口MOV DPTR,#BFFFHMOVX A, @DPTR

第42页:用锁存器扩展输入口

用锁存器扩展输入口

第43页:中断系统初始化程序

中断系统初始化程序:PINT: SETB IT0;外部中断0选择为下降沿触发方式 SETB EX0;外部中断0中断允许 SETB EA;开全局中断 MOV R0, #50H;R0作地址指针,指向数据区首址中断服务程序: ORG 0003HPINT0: AJMP INT0INT0: MOV DPTR, #0BFFFH;使DPTR指向74LS373扩展输入口 MOVX A, @DPTR;从74LS373扩展输入口输入数据 MOV @R0, A;输入数据送数据区 INC R0RETI

第44页:译码法扩展存储器例题

例:用译码法扩展64K*8外部数据存储器,若用8K*8的存储芯片,共需多少片?共需多少根地址线?其中几根做字选线?几根做片选线?试用74LS138画出译码电路,并标出其输出线的选址范围。若改用线选法能够扩展多大空间的存储器?试写出各线选线的选址范围。共需8片8K*8的存储芯片,共需16根地址线,其中13根做字选线,3根做片选线。

第45页:扩展电路连接说明

电路连接
数据总线:存储器数据总线连接到P0口。地址总线:存储器低8位地址连接到锁存器输出,单片机低8位连接到锁存器输入。剩余高位地址线和P2口相应位相连,片选根据芯片的选中方式连接。控制总线:RAM存储器的WE OE控制信号分别连接到单片WR,RD,ROM存储器的OE控制信号连接到单片机的PSEN。
顶部目录