Presentation is loading. Please wait.

Presentation is loading. Please wait.

第三章 IAP15W4K58S4单片机的硬件结构.

Similar presentations


Presentation on theme: "第三章 IAP15W4K58S4单片机的硬件结构."— Presentation transcript:

1 第三章 IAP15W4K58S4单片机的硬件结构

2 任课教师:刘忠国 山东大学课程中心网站: http://course.sdu.edu.cn/G2S/stcmcu.cc
网站: STC15系列单片机器件手册 页 (2015/6/29更新)

3 第三章 IAP15W4K58S4单片机的硬件结构 本章学习目标 3.1 理解模型机的结构及工作过程
3.4 掌握单片机的引脚(I/O口的使用) 3.5 掌握单片机应用系统的典型构成 05:32

4 §3.1模型机的结构及工作过程 3.1.1模型机的结构简介 微型计算机的结构模型(简称模型机)。 模型机的主要构成:
三总线(地址总线、数据总线和控制总线) 中央处理器(CPU) 存储器 I/O接口 05:32

5 3.1.1模型机的结构简介 I/O接口 机器码 8086汇编语言 MOV A, #07H B0H 07H 运算器 控制器
运算器 控制器 图3-1 模型机的结构 05:32

6 3.1.1模型机的结构简介 1、中央处理器的组成 中央处理器(CPU)由运算器和控制器组成。 (1)运算器 定义: 运算器是计算机中加工和处理数据的功能 部件。 功能: 对数据进行加工处理,主要包括算术和逻辑 运算,如加、减、乘、与、或、非运算等。 还暂时存放参与运算的数据和中间结果。 05:32

7 1、中央处理器的组成 运算器组成部分 算数逻辑单元ALU(Arithmetic Logical Unit):主 要完成算术、逻辑运算。
累加寄存器(简称累加器)A(Accumulator):用 于存放操作数或运算结果。 寄存器组:由其它寄存器组成,主要用于存放操 作数或运算结果。 标志寄存器F(Flag):存放运算结果的标志(零、 正负、进位、溢出等)。 05:32

8 (2)控制器 1、中央处理器的组成 功能:控制器用于控制和指挥计算机内各功能部件协 调动作,完成计算机程序功能。 控制器组成
程序计数器PC(Program Counter):用于存放将要取出的 指令地址, 指令取出后, 其内容自动加1。 指令寄存器IR(Instruction Register): 存放指令操作码。 指令译码器ID(Instruction Decode):用于将指令的操作码 翻译成机器能识别的命令信号。 微操作信号发生器MOSG(Microoperation Signal Generator ): 用于产生一系列微操作控制信号。 地址寄存器AR(Address Register):存放操作数(结果)单元地 址 数据寄存器DR(Data Register):用于存放操作数。 05:32

9 3.1.1模型机的结构简介 2、存储器的结构 功能:主要用于保存程序和数据。 组成部分:包含地址译码器、存储单元和控制逻辑。 存储器访问过程
(1)读操作 CPU首先将地址寄存器AR的内容放到地址总线AB上, 地址总线上的内容进入地址译码器,由地址译码器进 行译码,选通相应的存储单元。 被选通的存储单元的内容就出现数据总线上,在控 制信号的作用下,CPU从数据总线上读取数据到数据寄 存器DR,从而完成存储器的读操作。 05:32

10 存储器访问过程 (2)写操作 CPU将地址寄存器AR的内容送到地址总线AB上,地 址总线上的内容进入地址译码器,由地址译码器进行 译码,以选通相应的存储单元。 在控制信号的作用下,CPU将要写入的数据通过数据 总线写入到被选通的存储单元,完成存储器的写操作。 05:32

11 执行过程:读取指令分析指令执行指令保存结果 在让计算机进行计算之前,应做如下工作: 用助记符号指令(汇编语言)编写源程序);
3.1.2模型机的工作过程 :通过执行指令完成计算控制功能 执行过程:读取指令分析指令执行指令保存结果 在让计算机进行计算之前,应做如下工作: 用助记符号指令(汇编语言)编写源程序); 用汇编软件(汇编程序)将源程序汇编成计算机能 识别的机器语言程序; 将数据和程序通过输入设备送入存储器中存放。 例如,计算7+10=?,结果在A中。 微机8086汇编语言 汇编语言语句 注释 MOV A, #07H ;07送入累加器A ADD A, #0AH ;10与A中内容相加, 结果在A中 HLT ;暂停 机器码 B0H 07H 04H 0AH F4H 05:32

12 例如, 计算7+10=?, 结果在A中。 假设程序在存储器中的存储格式 (设程序从00H开始存放)如图示。 读取指令阶段的执行过程如下:
地址 存储内容 00H B0H 01H 07H 02H 04H 03H 0AH F4H 机器码 B0H 07H 04H 0AH F4H 假设程序在存储器中的存储格式 (设程序从00H开始存放)如图示。 读取指令阶段的执行过程如下: ①CPU将程序计数器PC的内容00H送地址寄存器AR。 ②程序计数器PC的内容自动加1变为01H,为取下一条指 令作好准备。 ③地址寄存器AR将00H通过地址总线AB送至存储器地址 译码器译码,选中00H单元。 ④CPU发出“读”命令。 ⑤所选中00单元的内容B0H由存储器送至数据总线DB上。 ⑥经数据总线DB, CPU将读出内容B0H送数据寄存器DR。 05:32 地址译码

13 工作过程:读取指令分析指令执行指令保存结果
⑦数据寄存器DR将其内容送指令寄存器IR中, 经过译 码, CPU“识别”出此操作码为两字节指令的第一个字节, 再取出下一个字节(机器码)后得知是“MOV A, #07H” 指令, 于是控制器发出执行这条指令的控制命令。 读立即数(下个机器码)到A 加1 需重复上述取指译码过程 译码产生微控制命令 地址译码 图3-4 读取第一条指令第一个字节的示意图 “MOV A, #07H” 机器码:B0H 07H 05:32

14 读第一条指令第二个字节(即执行该指令)的示意图
“MOV A, #07H” (机器码:B0H 07H), 再取出下一个字节 即取机器码07H的过程: 加1 地址译码 图3-5 执行第一条指令示意图 05:32

15 执行第二条指令 “ADD A, 0AH”(机器码: 04H 0AH)
执行第二条指令的取指过程与第一条相同, 只是指令码 地址不同。 经过对第二条指令操作码(第1字节04H)的分析(译码)得 知该指令为加法指令,执行第2字节过程如下: ①程序计数器PC的内容(03H)送AR。 ②程序计数器PC的内容自动加1并回送PC。 ③地址寄存器AR的内容经地址总线AB送到存储器地址 译码器。 00H B0H 01H 07H 02H 04H 03H 0AH F4H ④CPU发出“读”命令。 ⑤所选中的03H单元的内容0AH送到数据总线DB。 ⑥数据总线DB上的内容送数据寄存器DR。 05:32 地址译码

16 执行第二条指令 “ADD A, 0AH”(机器码: 04H 0AH)
⑦数据寄存器DR内容送B寄存器,再送算术逻辑单元ALU一端。 ⑧累加器A的内容送ALU的另一端, 完成加法运算。 ⑨ALU相加的结果输出到A。 图3-6 执行第二条指令操作示意图 05:32

17 §3.2 IAP15W4K58S4单片机的内部结构 单片微型计算机(简称单片机)在一片芯片上集 成了前述微型计算机的功能结构,
有些单片机不仅集成了CPU、存储程序和数 据的存储器、I/O接口、定时/计数器等常规资 源,而且还集成了工业测控系统中常用的模 拟量采集模块。 05:32

18 §3.2 单片机的内部结构 ——单片机产品 8051内核是Intel 8051系列单片机的基本标准,许多参 考书上将这种单片机称为MCS-51系列单片机。 MCS-51系列单片机典型产品为8051,它有4K×8ROM, 128字节RAM, 2个16位定时/计数器, 4个8位I/O口,一 个串行口。 上世纪80年代,Intel将8051内核出售给几家著名的IC厂 商,如Philips,Atmel等。这样,8051单片机就成为众 多厂家支持,发展成为上百个产品的大家族。 最常用有宏晶STC系列单片机,Atmel公司AT89系列 等51系列。只要是8051内核单片机,它们基本结构是 相同的,并且,指令系统完全兼容标准8051单片机。 05:32

19 §3.2 IAP15W4K58S4单片机的内部结构 以增强型8051内核单片机 IAP15W4K58S4为例,说明单片机的内 部结构。见图3-6 IAP15W4K58S4几乎包含了数据采集和 控制中所需的所有单元模块, ——可称得上一个片上系统(SOC)

20 图3-6 IAP15W4K58S4单片机的内部结构框图 图3-6 IAP15W4K58S4单片机内部结构框图

21 IAP15W4K58S4单片机集成了以下典型资源:  增强型8051内核,单时钟机器周期,速度比传统8051 内核单片机快8~12倍。  58KB Flash程序存储器,可用于存储用户程序。对于 IAP型的单片机,没有用于程序存储器的Flash可以用 作数据Flash,用于保存掉电后不丢失的参数。Flash 存储器的擦写次数可达10万次以上。  4096B的SRAM,相当于计算机的内存,可用于保存 程序中所用的变量。  5个16位可自动重装载的定时/计数器(T0、T1、T2、 T3和T4),具有可编程时钟输出功能。

22 IAP15W4K58S4单片机集成了以下典型资源:  至多62根 (64引脚封装) I/O(输入/输出)口线,以实 现数据的并行输入输出。
  4个全双工异步串行口(UART),可以实现单片 机和其他设备之间的串行数据传送。   1个高速同步通信端口(SPI),可以与具有SPI的 设备进行通信。  中断控制系统。具有5路外部中断,下降沿中断或双 边沿(上升沿和下降沿)触发电路,掉电模式下可 由外部中断低电平触发中断方式唤醒。

23 中央处理器(CPU)由运算器和控制器组成
以8位算术/逻辑运算部件 ALU为核心,加上通过内部总 线而挂在其周围的暂存器 TMP1、TMP2、累加器ACC、寄 存器B、程序状态标志寄存器 PSW以及布尔处理机组成了整 个运算器的逻辑电路。 05:32

24 1 运算器 算术逻辑单元ALU:用来完成二进制数的四则运算和 布尔代数的逻辑运算。
1 运算器 算术逻辑单元ALU:用来完成二进制数的四则运算和 布尔代数的逻辑运算。 累加器ACC又记作A:是一个具有特殊用途的8位寄存 器,在CPU中工作最频繁,用来存放操作数和运算结 果。 寄存器B:是专门为乘、除法设置的寄存器,也是一 个8位寄存器,用来存放乘法和除法中的操作数及运 算结果,对于其他指令,它只作暂存器用。 程序状态字(PSW):又称为标志寄存器,一个8位 寄存器,用来存放执行指令后的有关状态信息,供 程序查询和判别之用。 05:32

25 程序状态标志寄存器PSW (8位) PSW中有些位的状态是在指令执行过程中自动形成 的,有些位可以由用户采用指令加以改变。
位号 D7 D6 D5 D4 D3 D2 D1 D0 符号 CY AC F0 RS1 RS0 OV F1 P CY CY(PSW.7):进位标志位 当执行加/减法指令时,如果操作结果的最高位D7出 现进/借位,则CY置“1”,否则清“0”。 执行乘除运算后,CY清零。此外,CPU在进行移位操 作时也会影响这个标志位。 05:32

26 程序状态标志寄存器PSW (8位) 位号 D7 D6 D5 D4 D3 D2 D1 D0 符号 CY AC F0 RS1 RS0 OV F1
AC(PSW.6):辅助进位标志位(Auxiliary Carry) 当执行加/减法指令时,如果低四位数向高四位数产生 进/借位,则AC置“1”,否则清零。 F0(PSW.5):用户标志位(F0)。 是由用户定义的一个状态标志。可用软件来使它置“1” 或清“0” ,也可以由软件测试F0控制程序的流向。 F1(PSW.1):用户标志1 (F1) 。 是由用户定义的一个状态标志。可用软件来使它置“1” 或清“0” ,也可以由软件测试F1控制程序的流向。 05:32

27 程序状态标志寄存器PSW (8位) 位号 D7 D6 D5 D4 D3 D2 D1 D0 符号 CY AC F0 RS1 RS0 OV F1
RS1,RS0(PSW.4~PSW.3):工作寄存器组选择控 制位,其详细介绍见后续内容。 OV(PSW.2):溢出标志位。指示运算过程中是否 发生了溢出,在执行指令过程中自动形成。 P(PSW.0):奇偶标志位 累加器ACC中1的个数为偶数,P=0;否则P=1。每个指 令周期都由硬件来置“1”或清“0”。 在有奇偶校验的串行通信中,可根据P设置奇偶校验位。 05:32

28 SETB C; CPL bit; J(N)C rel; J(N)B bit, rel; MOV bit, C
布尔处理机 是单片机CPU中运算器的一个重要组成部分。 功能: 为用户提供丰富的位操作功能, 有相应指令系 统, 硬件有自己的“累加器” (进位标志位C,即CY),有 自己的位寻址RAM和I/O空间, 是一个独立的位处理机。 大部分位操作均围绕着其累加器——进位位C完成。 对任何可直接寻址的位,布尔处理机可执行置位、取 反、等于1(0)转移、位的读写等操作。(见附录E-5) 在任何可寻址的位(或该位内容取反)和进位标志C之 间,可执行逻辑与、或操作, 其结果送回到进位标志C。 SETB C; CPL bit; J(N)C rel; J(N)B bit, rel; MOV bit, C 05:32

29 2. 控制器 控制器是CPU的大脑中枢, 包括定时控制逻辑、指令寄存 器、译码器、(数据)地址指针DPTR及程序计数器PC 、 堆栈指针SP 、 RAM地址寄存器、 16位(程序)地址缓冲 器等。 程序计数器PC 是一个16位的程序地址寄存器,专门用来存放下一条 需要执行的指令的内存地址,能自动加1。 CPU执行指令时,根据程序计数器PC中地址从存储器中 取出当前需执行的指令码,并把它送给控制器分析执行, 随后程序计数器中的地址自动加1,为CPU取下一个需要 执行的指令码做准备。 当下一个指令码取出执行后,PC又自动加1。这样,程 序计数器PC一次次加1,指令就被一条条执行。 05:32

30 2. 控制器——堆栈 主要用于保存临时数据、局部变量、中断或子程序的 返回地址。
2. 控制器——堆栈 主要用于保存临时数据、局部变量、中断或子程序的 返回地址。 IAP15W4K58S4单片机的堆栈设在内部RAM中,是一个按 照“先进后出”规律存放数据的区域。 堆栈指针SP是一个8位寄存器,能自动加1或减1。 SP指向堆栈栈顶:当数据压入堆栈时,SP先自动加1,数 据再入栈;出栈时,数据先从堆栈中弹出,SP再自动减1。 复位后, 寄存器SP默认值为07H, 这样堆栈区在08H开 始的区域。 用户通常可用指令将堆栈区域设置在内部 RAM的8 30H ~ F 7FH之间(单片机手册上写错了)。 05:32

31 2. 控制器——数据指针DPTR(也称地址指针)
是16位专用寄存器,由DPL (低8位)和DPH (高8位)组成。 DPTR可直接进行16位操作, 也可分别对DPL和DPH 按字节进行操作。 IAP15W4K58S4单片机有两个16位数据指针DPTR0和 DPTR1, 这两个数据指针共用同一个地址(82H, 83H)。 可通过设置辅助寄存器AUXR1中的DPS(AUXR1.0)位 来选择具体使用哪一个数据指针(DPS=0, 选择DPTR0; DPS=1,选择DPTR1)。 见47页表3-2 辅助寄存器AUXR1 位号 D7 D6 D5 D4 D3 D2 D1 D0 位名称 S1_S1 S1_S0 CCP_S1 CCP_S0 SPI_S1 SPI_S0 DPS 05:32

32 §3.3 IAP15W4K58S4单片机的存储器 结构特点: 程序存储器和数据存储器的寻址空间分开。
结构特点: 程序存储器和数据存储器的寻址空间分开。 结构划分: 片内集成3个物理上相互独立的存储器空间: 程序Flash存储器(没用作程序存储器的Flash存储器可作 EEPROM使用)、内部数据存储器和扩展数据存储器。 数据用MOVC指令访问 用MOV指令访问 物理上内部, 逻辑上属于外部, 用MOVX访问 图3-7 IAP15W4K58S4单片机存储器配置示意图

33 1、程序Flash存储器 功能:存放用户程序、数据和表格等信息。
空间大小: IAP15W4K58S4单片机片内集成了58KB 的程序Flash存储器,地址为0000H~E7FFH。单片机 复位后,程序计数器PC的内容为0000H,从0000H单 元开始执行程序。 IAP15W4K58S4不能访问外部程序存 储器,因无访问外部程序存储器的总线。 没用作程序存储器的Flash存储器可作 EEPROM使用。程序Flash的擦写次数 为10万次以上, 大大提高了芯片利用率, 降低了开发成本。

34 1、程序Flash存储器——中断服务程序的入口地址
000BH 定时/计数器0中断服务程序的入口地址 0013H 外部中断1中断服务程序的入口地址 001BH 定时/计数器1中断服务程序的入口地址 0023H 串行通信口1中断服务程序的入口地址 002BH ADC中断服务程序的入口地址 0033H 低电压检测中断服务程序的入口地址 003BH PCA中断服务程序的入口地址 0043H 串行通信口2中断服务程序的入口地址 004BH SPI中断服务程序的入口地址 中断向量表 单片机复位后, 程序计数器PC内容为0000H, 从0000H 单元开始执行程序。 ORG 0000H LJMP MAIN

35 1、程序Flash存储器——中断服务程序的入口地址
中断服务程序的入口地址(续) 0053H 外部中断2中断服务程序的入口地址 005BH 外部中断3中断服务程序的入口地址 0063H 定时/计数器2中断服务程序的入口地址 0083H 外部中断4中断服务程序的入口地址 008BH:串行通信口3中断服务程序的入口地址 0093H:串行通信口4中断服务程序的入口地址 009BH:定时/计数器3中断服务程序的入口地址 00A3H:定时/计数器4中断服务程序的入口地址 00ABH:比较器中断服务程序的入口地址 00B3H:PWM中断服务程序的入口地址 00BBH:PWM异常检测中断服务程序的入口地址 中断向量表

36 1、程序Flash存储器——中断服务程序的入口地址
响应中断时,单片机自动转到相应的中断入口地址 去执行程序。 因相邻中断入口地址间只有8个地址单元,无法保存 完整中断服务程序,一般在中断入口地址区存放一条 无条件转移指令,指向真正存放中断服务程序空间。 中断响应后,CPU执行这条转移指令,转去执行中断 服务程序。 使用指令:读取程序存储器中保存的表格常数等内容 时,使用MOVC指令。 05:32

37 2、数据存储器—IAP15W4K58S4 数据存储器也称为随机存取数据存储器(RAM)。 空间划分
在物理上和逻辑上都分为两个地址空间:内部数据存储 区和扩展数据存储区 。 (1)内部数据存储区(又称为内部RAM) 256字节内部RAM,存放中间结果和过程数据。内部RAM 地址范围是00H~FFH,共256个单元,分三部分: ①低128字节RAM(00H~7FH) 地址重叠, 用寻址方式区别 ②高128字节RAM(80H~FFH) ③特殊功能寄存器(SFR)区: 地址范围为80H~FFH 05:32

38 2、数据存储器—IAP15W4K58S4 (1) 内部数据存储区(又称为内部RAM)三部分详细介绍:
①低128字节RAM(00H~7FH):也称为基本RAM区。 基本RAM区又分为工作寄存器区、位寻址区、用户 RAM和堆栈区。 可直接寻址, 也可寄存器间接寻址。用“MOV direct” 形式的指令访问。 ②高128字节RAM(80H~FFH):只能间接寻址。 ③特殊功能寄存器(SFR)区:地址范围为80H~FFH, 只可直接寻址,用“MOV direct”形式的指令访问。 05:32

39 (1) 内部数据存储区 地址空间分配 80H~FFH 只能间接寻址访问 通用用户RAM和堆栈区 ~ 可直接寻址或间接寻址
(1) 内部数据存储区 地址空间分配 80H~FFH 只能间接寻址访问 FFH ~ 80H 特殊功能寄存器区(80H~FFH) 只能直接寻址访问 通用用户RAM和堆栈区 可直接寻址或间接寻址 7FH ~ 30H 工作寄存器区 位寻址区 用户RAM和堆栈区 高128字节RAM 特殊功能寄存器区 位寻址区(16字节,共128位)也可字节寻址 2FH ~ 20H 3区(R7~R0) 2区(R7~R0) 1区(R7~R0) 0区(R7~R0) 18H~1FH 10H~17H 4个工作寄存器区也可做RAM单元使用 08H~0FH 00H~07H 图3-8内部数据存储器地址空间 05:32

40 工作寄存器区 地址分配:00H~1FH共32个单元。分为四组(每一组称 为一个寄存器组), 每一组包括8个8位的工作寄存器, 分别是R0~R7。 功能:通过使用工作寄存器,可提高运算速度,也可用 其中R0或R1存放八位地址值,访问一个256字节(可在逻 辑上的外部)RAM块中单元。 另外,R0~R7也可用作计数器,在指令作用下加1或减1。 间接寻址 方式 “ MOV(X) @Ri ” 3区(R7~R0) 2区(R7~R0) 1区(R7~R0) 0区(R7~R0) 18H~1FH 10H~17H 08H~0FH 00H~07H 转移指令“ DJNZ Rn, rel” 05:32

41 工作寄存器组的选择: 例 “ MOV A, @R0 ” PSW寄存器中的RS1和RS0两位组合决定当前使用的工作寄存器组。可通过位操作指令修改RS1和RS0的内容,选择不同的工作寄存器组。 3区(R7~R0) 2区(R7~R0) 1区(R7~R0) 0区(R7~R0) 18H~1FH 10H~17H 08H~0FH 00H~07H 09H 08H 07H 数据压栈前SP+1→ 默认SP指针→ 表3-1 工作寄存器组选择 RS1 (PSW.4) RS0 (PSW.3) 工作寄存器组 工作寄存器地址 R7~R0对应的地址为07H~00H 1 R7~R0对应的地址为0FH~08H 2 R7~R0对应的地址为17H~10H 3 R7~R0对应的地址为1FH~18H R0 复位值 05:32

42 位寻址区 20H~2FH之间单元既可按字节存取, 也可按位存取,共128位, 位地址范围: 00H~7FH。
位寻址 : MOV C, 20H 直接寻址 : MOV A, 20H 字节地址: 20H 图3-9 内部RAM中的位地址 05:32

43 位寻址区--图3-10特殊功能寄存器SFR中位地址
特殊功能寄存器SFR中位地址范围: 80H~0FFH。 图3-10 可位寻址的特殊功能寄存器中的位地址 05:32

44 用户RAM和堆栈区 内部RAM中的30H~7FH单元是用户RAM和堆栈区。
有一个8位的堆栈指针SP,并且堆栈区只能设置在内 部数据存储区。当有子程序调用和中断请求时,返回 地址等信息被自动保存在堆栈内。 IAP15W4K58S4单片机复位后,SP为07H,使堆栈事 实上由08H单元开始(数据进栈前SP先加1,再进栈), 考虑08H~1FH单元分别属于工作寄存器组1~3, 若在 程序中用到这些工作寄存器, 则在用户初始化程序中, 最好把SP的值改变为80H或更大 30H~7FH中的值。 IAP15W4K58S4单片机的堆栈是朝地址增大的方向生 成, 即数据压栈操作后, SP的值增大(先SP+1, 再入栈)。 05:32

45 高128字节RAM和特殊功能寄存器 对于IAP15W4K58S4单片机,80H~FFH既为高128字节 RAM区的地址范围,又为特殊功能寄存器区(SFR)的地 址范围,地址空间重叠,但物理上是独立的。 使用时,通过不同的寻址方式加以区分:高128字节 的RAM区使用间接寻址访问,特殊功能寄存器使用直 接寻址访问。 因堆栈操作也是间直接寻址方式,所以,高128位数据 RAM亦可作为堆栈区使用特殊功能寄存器可进出堆栈。 除了程序计数器PC和4个工作寄存器组外,其余的寄 存器都在SFR区中。(见教材表3-2) 05:32

46 特殊功能寄存器 特殊功能寄存器大体分为两类
①一类与芯片的引脚有关。如P0~P5,它们实际上 是6个锁存器,每个锁存器附加上相应的输出驱动器 和输入缓冲器就构成了一个并行口。(见表3-2) ②另一类为芯片内部功能的控制或者内部寄存器。 如与中断屏蔽及优先级控制、定时器、串行口、SPI 接口等相关的寄存器。(见表3-2) IAP15W4K58S4单片机的特殊功能寄存器及其复位值 如表3-2所列。 05:32

47 (2) 扩展数据存储区on-chip expanded RAM(XRAM)
外部数据存储区也称为扩展RAM区(简称, XRAM)。 IAP15W4K58S4单片机一共可以访问64KB的扩展数 据存储空间。 IAP15W4K58S4单片机片内集成了 3840B的XRAM,地址范围为0000H~0EFFH,可用 于存放数据。 注意,这里的“内部”和“外部”是针对8051内核的 逻辑上的概念,不是指芯片内部和外部。 在汇编语言中,XRAM使用“MOVX @DPTR” 或者“MOVX @Ri”指令访问。 在C语言中,可使用xdata声明存储类型即可。 如:unsigned char xdata i= 0; 05:32

48 (2) 扩展数据存储区 (XRAM) 访问片内集成的外部RAM时,不影响P0口、P2口、 P4.2(WR)、P4.4(RD)和ALE (P4.5)。 IAP15W4K58S4单片机还可以访问片外扩展的 64KB外部数据存储器。 IAP15W4K58S4单片机的外部扩展I/O端口与扩展 数据存储器统一编址,因此外部I/O端口的地址占 用扩展数据存储器的地址单元,外部扩展I/O端口 也用MOVX指令访问。 05:32

49 (2) 扩展数据存储区 (XRAM) 单片机内部扩展RAM是否可访问受辅助寄存器AUXR (地址为8EH, 复位值为01H)中的EXTRAM位控制。 位号 D7 D6 D5 D4 D3 D2 D1 D0 名称 T0x12 T1x12 UART_M0x6 T2R T2_C/ T2x12 EXTRAM S1ST2 EXTRAM: 0: 内部扩展RAM可以存取; 地址小于0F00H时, 访问内 部扩展RAM; 地址大于或等于0F00H时, 则访问单片机 外部扩展的RAM或I/O空间。 1: 禁止访问内部扩展RAM。

50 §3.4 单片机的引脚 3.4.1 单片机的引脚及功能 封装 (a)LQFP-44 封装 图3-11 IAP15W4K58S4单片机的引脚图

51 3.4.1 单片机的引脚及功能 封装 (b) DIP– 40 封装 图3-11 IAP15W4K58S4单片机的引脚图

52 3.4.1 单片机的引脚及功能 图3-12 IAP15W4K58S4单片机的逻辑符号图

53 3.4.1 单片机的引脚及功能 DIP-40封装的IAP15W4K58S4单片机和LQFP-44封装相比,除了没有P4.0、P4.3、P4.6、P4.7引脚外,其他资源和的单片机完全相同。 由于DIP封装的单片机焊接比较容易,因此,对于初学者,最好选用DIP封装的单片机进行学习。 注意:在实际应用中,设计单片机应用系统的原理图时,一般应使用逻辑符号图,以便进行电路分析,而设计应用系统的印刷电路板图时,必须使用单片机的引脚图。 05:32

54 3.4.1 单片机的引脚及功能 电源引脚 外接晶体引脚 控制和复位引脚 输入/输出(I/O)引脚 引脚 1. 电源引脚
Vcc:一般接电源的+5V。具体的电压幅度应参考 单片机的手册。 GND:接电源地。 05:32

55 3.4.1 单片机的引脚及功能 2. 外接晶体引脚 XTAL1和XATL2 芯片内部一个反相放大器的输入端和输出端。常用于连接晶体振荡器。
2. 外接晶体引脚 XTAL1和XATL2 /P1.6 芯片内部一个反相放大器的输入端和输出端。常用于连接晶体振荡器。 /P1.7 晶振频率可在4MHz~48MHz间选择,典型值是 MHz(因设计单片机通信应用系统时,用这个频率的晶振可准确地得到9600bits/s和19200bits/s的波特率)。 电容C1、C2对时钟频率有微调作用,可在5~100pF之间选择,典型值是47pF。 05:32

56 2. 外接晶体引脚 IAP15W4K58S4单片机内部集成高精度R/C时钟,工作时钟可用内部振荡器或外部晶振产生的时钟。
2. 外接晶体引脚 IAP15W4K58S4单片机内部集成高精度R/C时钟,工作时钟可用内部振荡器或外部晶振产生的时钟。 40引脚和44引脚封装的IAP15W4K58S4单片机出厂标准配置是用外部时钟。 内部集成的高精度R/C时钟工业环境下温漂为±1%,常温下温飘5‰,频率范围为5MHz~35MHz,可在编程时设置。 对时钟频率要求不太敏感的场合,内部R/C振荡器完全能够满足要求 用内部R/C振荡器时钟时, XTAL1和XTAL2引脚悬空。 用在系统编程(In-System Programming,ISP)工具对IAP15W4K58S4单片机下载用户程序时,可在选项中设置选用外部晶振时钟或者选用内部R/C振荡器时钟。 宏晶官网可下载最新版本stc-isp-15xx-v6.86.exe 05:32

57 3. 控制和复位引脚 (1) ALE(与P4.5复用) 功能:当访问外部存储器或外部扩展的并行I/O口时, ALE(地址锁存使能)输出用于锁存地址的低位字节。 标准8051单片机的ALE 脚对系统时钟进行6分频输出, 可对外提供时钟。 当8051单片机时钟频率较高时,ALE脚是一干扰源。 IAP15W4K58S4单片机直接禁止ALE脚对系统时钟进行6分 频输出,彻底清除此干扰源,有利于系统抗干扰设计。 若设计中需单片机输出时钟,可用IAP15W4K58S4单片机 的可编程时钟输出脚(P5.4/SYSCLKO, T2CLKO/P3.0, T1CLKO/P3.4和T0CLKO/P3.5等,见7.2节)对外输出时钟。 IAP15W4K58S4单片机的ALE引脚在用MOVX指令访问片外 扩展器件时输出地址锁存信号。 05:32

58 3. 控制和复位引脚 (2) RST(与P5.4复用) 当振荡器运行时,在此引脚上出现两个机器周期的高 电平将使单片机复位。
3. 控制和复位引脚 (2) RST(与P5.4复用) 当振荡器运行时,在此引脚上出现两个机器周期的高 电平将使单片机复位。 如果需要单片机接上电源就可以复位,则需要使用上 电复位电路。 VPD: 传统C51单片机备用电源引脚 SS_3 /SYSCLKO /RST /P5.4 图3-14 上电复位电路图 05:32

59 (2) RST(与P5.4复用) 引脚 P5.4/RST/MCLKO SYSCLKO脚出厂时默认为I/O口,可 在STC-ISP编程软件下载程序时,将其设置为RST复位 脚。 IAP15W4K58S4单片机内 部集成了MAX810专用复位 电路,时钟频率在12MHZ 以下时,复位脚可接1K电 阻再接地,也可用图3-14所 示的传统复位电路。 图3-14 上电复位电路图 05:32

60 3.4.2 单片机的输入/输出(I/O)引脚 LQFP-44封装格式的IAP15W4K58S4单片机最多可有42根I/O口线:
P0口(8根):P0.0~P0.7 P1口(8根):P1.0~P1.7 P2口(8根):P2.0~P2.7 P3口(8根):P3.0~P3.7 P4口(8根):P4.0~P4.7 P5口(2根):P5.4、P5.5。 1. I/O口的工作模式 4种模式:准双向口/弱上拉,推挽/强上拉,输入/高阻 和开漏模式。复位后为准双向口/弱上拉模式。 每个口的工作模式由2个控制寄存器中的相应位控制 (PnM0和PnM1,n=0、1、2、3、4、5、6、7 )。 05:32

61 1. I/O口的工作模式 4种工作模式:准双向口/弱上拉,推挽/强上拉,输 入/高阻和开漏模式。
每个口的工作模式由2个控制寄存器中的相应位控制 (PnM0和PnM1,n=0,1,2,3,4,5、6、7 )。 例如: P0M0和P0M1用于设定P0口的工作模式: 位号 D7 D6 D5 D4 D3 D2 D1 D0 P0M0 P0M1 寄存器 设置P0.7 设置P0.6 设置P0.5 设置P0.4 设置P0.3 设置P0.2 设置P0.1 设置P0.0 P0M0 1 P0.3 P0.2 P0.1 P0.0 P0M1 工作 模式 准双 向口 推挽 输入/高阻 开漏 以此类推 05:32

62 1. I/O口的工作模式 表3-3 I/O口工作模式设置 PnM1 [7:0] PnM0 I/O口工作模式
准双向口 (传统8051单片机I/O口模式), 灌电流可达20mA,拉电流为270μA,由于制造误差,实际为150uA~270uA 1 推挽输入输出(强上拉输出, 可达20mA, 要加限流电阻, 尽量少用) 仅为输入 (高阻) 开漏(Open Drain), 内部上拉电阻断开, 要外加上拉电阻 05:32

63 1. I/O口的工作模式 例, 若设置P1.7为开漏模式, P1.6为强推挽输入输出模 式, P1.5为高阻输入模式, P1.4, P1.3, P1.2, P1.1和P1.0 为弱上拉(准双向口 )模式, 则P1M0和P1M1设置如下: P1口 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 P1M0 1 P1M1 工作 模式 开漏 推挽 输入/高阻 准双 向口 则可用下面代码设置: MOV P1M0, # B; MOV P1M1, # B; 或MOV P1M0, #C0H 或MOV P1M1, #A0H 05:32

64 2. IAP15W4K58S4单片机I/O口的结构 (1)准双向口(弱上拉)工作模式的结构
IAP15W4K58S4单片机的每个I/O口在弱上拉时能承受 20mA的灌电流(最好使用限流电阻,如1KΩ)。 整个芯片的工作电流推荐不要超过90mA。即从MCU- Vcc流入的电流不超过90mA,从MCU-GND流出的电流不 超过90mA,整体流入/流出电流都不能超过90mA。 30μA 20mA 200μA 极弱 P0~P5 输出低时,灌电流最大可达20mA 图3-15 准双向口工作模式的I/O位结构 05:32

65 0输入 (1)准双向口(弱上拉)工作模式的结构 I/O口可用作输出和输入功能而不需重新配置口线输出 状态。
当口线输出锁存器为“1”时I/O口高电平驱动能 力很弱,允许外部装置将其拉低(即允许输入低电平, 此 时T3与施密特管形成正反馈, 引脚钳位在0电平,输入低)。 引脚输出为低时, 其驱动能力很强, 可吸收20mA大电 流。 1 1 30μA 20mA 200μA 1 极弱 P0~P5 1 截止 截止 1 0输入 1 1 输出低时,灌电流最大可达20mA 05:32

66 (1)准双向口(弱上拉)工作模式的结构 每个端口都包含一个锁存器,即特殊功能寄存器 P0~P7。这种结构在数据输出时,具有锁存功能, 即在重新输出新的数据之前,口线上的数据一直保 持不变。 但对输入信号是不锁存的,所以外设输入的数据必 须保持到取数指令执行为止。 为了便于叙述,以后将6 8个端口及其锁存器都表示 为P0~P7。 05:32

67 (1)准双向口(弱上拉)工作模式的结构 当口线寄存器为1且引脚本身也为1时, T3导通。T3 提供基本驱动电流使准双向口输出为1。
30μA 20mA 200μA 1 极弱 P0~P5 截止 截止 1 1 05:32

68 (1)准双向口(弱上拉)工作模式的结构 当口线锁存为1时,T2导通。当引脚悬空时, 这个极 弱上拉源产生很弱的上拉电流将引脚上拉为高电平。
当口线锁存为0时,T1、T2和T3均截止,T4导通,引 脚输出为低电平。 1 1 30μA 20mA 200μA 1 极弱 P0~P5 1 截止 截止 1 悬空 1 1 输出低时,灌电流最大可达20mA 05:32

69 (1)准双向口(弱上拉)工作模式的结构 当口线锁存器由0到1跳变时,T1用来加快准双向口由逻辑0到逻辑1的转换。发生这种情况时,T1导通约2个时钟使引脚能迅速地上拉到高电平。 准双向口带有一个施密特触发输入及干扰抑制电路。 延迟2时钟1 1 30μA 20mA 200μA 1 1 极弱 P0~P5 1 截止 为0 2个时钟 1 导通 2个时钟 1 1 05:32

70 (1)准双向口(弱上拉)工作模式的结构 当从端口引脚上输入数据时,T4应一直处于截止状态。
30μA 20mA 200μA 极弱 P0~P5 截止 截止 1 1 1 外部 输入0 截止 1 05:32

71 (2)推挽输出(强上拉输出)工作模式的结构
推挽输出工作模式的结构 1 导通 截止 1 截止 1 导通 图3-16 推挽输出工作模式的I/O位结构 05:32

72 (2)推挽输出(强上拉输出)工作模式的结构
推挽输出工作模式的下拉结构与准双向口的下拉结构 相同, 但当锁存器为“1”时可提供持续的强上拉。推挽 工作模式一般用于需更大驱动电流的情况。 此时,若输出高电平,拉电流最大可达20mA;若输出低电 平,灌电流也可达20mA。 推挽输出模式,也带有施密特触发输入及干扰抑制电路。 输出高时,拉电流最大可达20mA 输出低时,灌电流最大可达20mA 05:32

73 2. IAP15W4K58S4单片机I/O口的结构 (3)仅为输入(高阻)工作模式的结构 输入口带有一个施密特触发输入以及一个干扰抑制电路。
注意,仅为输入(高阻)工作模式下, I/O口不提供20mA灌电流的能力。 图3-17 仅为输入(高阻)工作模式的I/O位结构 05:32

74 2. IAP15W4K58S4单片机I/O口的结构 (4)开漏输出工作模式的结构 图3-18 开漏输出工作模式的I/O位结构 Vcc
外接上拉电阻 无此类上拉配置 图3-18 开漏输出工作模式的I/O位结构 05:32

75 (4)开漏输出工作模式的结构 当口线锁存器为0时,(开漏输出关断所有上拉场效应管),T2开启。当作为一个逻辑输出时,这种配置方式必须有外部上拉电阻,即通过电阻外接到Vcc。 这种方式的下拉结构与准双向口模式下拉结构相同。 这种工作模式下,输出低电平时,灌电流可达20mA。 开漏端口带有一个施密特触发输入及干扰抑制电路。 Vcc 1 1 截止 1 输出低时,灌电流最大可达20mA 开启 05:32

76 3. I/O口的复用功能 ---通过设置相关寄存器选择功能
P0口可复用为数据总线(D7~D0)、地址总线低8位 (A7~A0)、串口3、串口4、T3时钟输出、T3脉冲 输入、T4时钟输出、T4脉冲输入、PWM输出控制。 (1) P0口 表3-4 P0口的复用功能 引脚 复 用 功 能 P0.0 AD0/RXD3(串口3数据接收端) P0.1 AD1/TXD3(串口3数据发送端) P0.2 AD2/RXD4(串口4数据接收端) P0.3 AD3/TXD4(串口4数据发送端) P0.4 AD4/T3CLKO(T3时钟输出) P0.5 AD5/T3(T3的外部输入)/PWMFLT_2(PWM异常停机控制第二切换引脚) P0.6 AD6/T4CLKO(T4时钟输出)/PWM7_2(PWM输出通道7第二切换引脚,上电后默认为高阻输入) P0.7 AD7/T4(T4外部输入)/ PWM6_2(PWM输出通道6第二切换引脚,上电后默认为高阻输入)

77 3. I/O口的复用功能 (2)P1口 P1口可复用为ADC转换输入(ADC7~ADC0)、捕获/比较/脉 宽调制(CCP)、SPI通信线、第二串口、第三串口、系统时 钟输出、外接晶体引脚、PWM输出、比较器的结果输出等。 表3-5 P1口的复用功能 引脚 复 用 功 能 P1.0 ADC0/CCP1(捕获/比较/脉宽调制通道1) /RXD2(串口2数据接收端) P1.1 ADC1/CCP0(捕获/比较/脉宽调制通道0) /TXD2(串口2数据发送端) P1.2 ADC2/ECI(可编程计数器阵列定时器的外部时钟输入)/SS(SPI从器件选择)/CMPO(比较器的比较结果输出) P1.3 ADC3/ MOSI(SPI主机输出从机输入) P1.4 ADC4/ MISO(SPI主机输入从机输出) P1.5 ADC5/ SCLK(SPI时钟) P1.6 ADC6/ XTAL2(外接晶体引脚)/RXD_3(串口1数据接收端第三切换引脚)/SYSCLKO_2(系统时钟输出第二切换引脚)/PWM6(PWM输出通道6,上电后默认为高阻输入) P1.7 ADC7/ XTAL1(外接晶体引脚)/TXD_3(串口1数据发送端第三切换引脚)/PWM7(PWM输出通道7,上电后默认为高阻输入)

78 3. I/O口的复用功能: (3) P2口 P2口可作为地址总线的高8位输出(A15~A8)。另外,P2口还用于SPI和捕获/比较/脉宽调制的备用切换端口以及PWM输出。 表3-6 P2口的复用功能 引脚 复 用 功 能 P2.0 A8/RSTOUT_LOW(复位后输出低电平引脚,可以使用ISP工具设置复位后的输出电平) P2.1 A9/ SCLK_2(SPI时钟第二切换引脚)/PWM3(PWM输出通道3,上电后默认为高阻输入) P2.2 A10/ MISO_2(SPI主机输入从机输出第二切换引脚)/PWM4(PWM输出通道4,上电后默认为高阻输入) P2.3 A11/ MOSI_2(SPI主机输出从机输入第二切换引脚)/PWM5(PWM输出通道5,上电后默认为高阻输入) P2.4 A12/ECI_3(可编程计数器阵列定时器的外部时钟输入第三切换引脚) /SS_2(SPI从器件选择第二切换引脚)/PWMFLT(PWM异常停机控制) P2.5 A13/CCP0_3(捕获/比较/脉宽调制通道0第三切换引脚) P2.6 A14/ CCP1_3(捕获/比较/脉宽调制通道1第三切换引脚) P2.7 A15/ PWM2_2(PWM输出通道2第二切换引脚, 上电后默认为高阻输入)

79 3. I/O口的复用功能: (4) P3口 P3口可复用为外部中断输入、计数器输入、时钟输出、串口1、PWM输出等功能。
引脚 复 用 功 能 P3.0 RXD(串口1数据接收端) / (外部中断4) /T2CLKO(T2的时钟输出) P3.1 TXD(串口1数据发送端)/T2(T2的外部输入) P3.2 /INT0(外部中断0输入) P3.3 /INT1(外部中断1输入) P3.4 T0(T0的外部输入)/ T1CLKO(T1时钟输出)/ECI_2(可编程计数器阵列定时器的外部时钟输入第二切换引脚) P3.5 T1(T1的外部输入)/ T0CLKO(T0时钟输出)/ CCP0_2(捕获/比较/脉宽调制通道0第二切换引脚) P3.6 /INT2(外部中断2输入)/RXD_2(串口1数据接收端第二切换引脚)/CCP1_2(捕获/比较/脉宽调制通道1第二切换引脚) P3.7 /INT3(外部中断3输入)/TXD_2(串口1数据发送端第二切换引脚)/PWM2(PWM输出通道2,上电后默认为高阻输入)

80 3. I/O口的复用功能: (5) P4口 P4口的复用功能可配置为SPI通信、读写控制信号、串口2、地址锁存信号、PWM输出等。
引脚 复 用 功 能 P4.0 MOSI_3(SPI主输出从输入第三切换引脚) P4.1 MISO_3(SPI主输入从输出第三切换引脚) P4.2 /WR(外部总线写控制信号)/PWM5_2(PWM输出通道5第二切换引脚,上电后默认为高阻输入) P4.3 SCLK_3(SPI时钟第三切换引脚) P4.4 /RD(外部总线读控制信号)/PWM4_2(PWM输出通道4第二切换引脚,上电后默认为高阻输入) P4.5 ALE(地址锁存控制信号,主要用于外部总线扩展)/PWM3_2(PWM输出通道3第二切换引脚,上电后默认为高阻输入) P4.6 RXD2_2(串口2数据接收端第二切换引脚) P4.7 TXD2_2(串口2数据发送端第二切换引脚)

81 3. I/O口的复用功能: (6) P5口 P5.0可复用为RxD3_2, P5.1可复用为TxD3_2, P5.2 可复用为RxD4_2, P5.3可复用为TxD4_2(只在48引脚 和64引脚封装的芯片上才有)。 P5.4可复用为RST(复位脚)/ SYSCLKO(系统时钟 输出引脚)/SS_3(SPI接口的从机选择信号第三切 换引脚)/CMP-(比较器负极输入端,用于该功能时, 该端口需要设置为高阻输入)。 P5.5可复用为CMP+(比较器正极输入端,用于该功 能时,该端口需要设置为高阻输入)。 P6和P7口没有复用功能(只在64引脚封装的芯片上才 有)。

82 3. I/O口的复用功能 各个I/O口的复用功能是通过设置下面的特殊功能寄 存器实现的:
(1)辅助寄存器AUXR1(也称为P_SW1,地址为A2H, 复位值为 B) (2)端口配置寄存器P_SW2(地址为BAH,复位值为 xxxx x000B) (3)时钟分频控制寄存器CLK_DIV(地址为97H,复 位值为 B) (4)外部中断使能和时钟输出寄存器INT_CLKO(地 址为8FH,复位值为x B)

83 3. I/O口的复用功能 各个I/O口的复用功能是通过设置下面的特殊功能寄 存器实现的: 表3-9 特殊功能寄存器的各位定义 位号 寄存器
D7 D6 D5 D4 D3 D2 D1 D0 AUXR1 S1_S1 S1_S0 CCP_S1 CCP_S0 SPI_S1 SPI_S0 DPS P_SW2 EAXSFR DBLPWR P31PU P30PU S4_S S3_S S2_S CLK_DIV SYSCKO_S1 SYSCKO_S0 ADRJ Tx_Rx SYSCLKO_2 CLKS2 CLKS1 CLKS0 INT_CLKO EX4 EX3 EX2 SYSCKO_S2 T2CLKO T1CLKO T0CLKO

84 表3-10 捕获/比较/脉宽调制(CCP)通道的切换
3. I/O口的复用功能 捕获/比较/脉宽调制(CCP)通道可以在三个地方切 换,由CCP_S1和CCP_S0两个控制位选择,其选择 方法如表3-10所示。 表3-10 捕获/比较/脉宽调制(CCP)通道的切换 CCP_S1 CCP_S0 切 换 引 脚 CCP在[P1.1/CCP0,P1.0/CCP1] 1 CCP在[P3.5/CCP0_2,P3.6/CCP1_2] CCP在[P2.5/CCP0_3,P2.6/CCP1_3] 无效

85 3. I/O口的复用功能 SPI可以在三个地方切换,由SPI_S1和SPI_S0两 个控制位选择,其选择方法如表3-11所示。
切 换 引 脚 SPI在[P1.2/SS,P1.3/MOSI,P1.4/MISO,P1.5/SCLK] 1 SPI在[P2.4/SS_2,P2.3/MOSI_2,P2.2/MISO_2,P2.1/SCLK_2] SPI在[P5.4/SS_3,P4.0/MOSI_3,P4.1/MISO_3,P4.3/SCLK_3] 无效

86 3. I/O口的复用功能 串口1可以在三个地方切换,由S1_S1和S1_S0两个控 制位选择,其选择方法如表3-12示。
表3-12 串口1的引脚切换 S1_S1 S1_S0 切 换 引 脚 串口1在[P3.0/RXD,P3.1/TXD] 1 串口1在[P3.6/RXD_2/XTAL2,P3.7/TxDX2/XTAL1] 串口1在[P1.6/RxD_3,P1.7/TxD_3],串口1在P1口时要使用内部时钟 无效

87 3. I/O口的复用功能 串口2可以在两个地方切换,由S2_S控制位选择: 0:串口2在[P1.0/RxD2,P1.1/TxD2]

88 3. I/O口的复用功能 SYSCKO_S2 ~ SYSCKO_S0用于设定系统时钟对外分 频输出控制:
表3-13 系统时钟分频及对外时钟输出控制 SYSCKO_S2 SYSCKO_S1 SYSCKO_S0 系统时钟分频及对外输出控制 系统时钟不对外输出时钟 1 系统时钟对外输出时钟,输出时钟频率=系统时钟频率 系统时钟对外输出时钟,输出时钟频率=系统时钟频率/2 系统时钟对外输出时钟,输出时钟频率=系统时钟频率/4 系统时钟对外输出时钟,输出时钟频率=系统时钟频率/16 系统时钟是指对主时钟进行分频后供给CPU、定时器、串行口、SPI、CCP/PWM/PCA、A/D转换的实际工作时钟;主时钟可以是内部R/C时钟,也可以是外部输入的时钟 或外部晶体振荡产生的时钟。SYSCLK是指系统时钟频率,SYSCLKO是指系统时钟输出。

89 3. I/O口的复用功能 系统时钟和主时钟的分频关系由CLKS2~CLKS0控制位选择 表3-14 系统时钟和主时钟的分频关系选择 CLKS2 CLKS1 CLKS0 系统时钟和主时钟的分频关系 系统时钟频率=主时钟频率,不分频 1 系统时钟频率=主时钟频率/2 系统时钟频率=主时钟频率/4 系统时钟频率=主时钟频率/8 系统时钟频率=主时钟频率/16 系统时钟频率=主时钟频率/32 系统时钟频率=主时钟频率/64 系统时钟频率=主时钟频率/128 系统时钟是指对主时钟进行分频后供给CPU、定时器、串行口、SPI、CCP/PWM/PCA、A/D转换的实际工作时钟;主时钟可以是内部R/C时钟,也可以是外部输入的时钟 或外部晶体振荡产生的时钟。SYSCLK是指系统时钟频率,SYSCLKO是指系统时钟输出。

90 3. I/O口的复用功能 系统时钟对外输出位置的选择由SYSCLKO_2控制位 选择: 0:在P5.4/SYSCLKO对外输出时钟;
DPS为数据指针选择位: 0:使用默认数据指针DPTR0; 1:使用另一个数据指针DPTR1。

91 4. IAP15W4K58S4单片机的I/O口的使用 (1) P4口和P5口的使用
对IAP15W4K58S4单片机P4口和P5口的访问,如同 访问常规的P0/P1/P2/P3口一样,并且均可按位寻址, P4的地址C0H,P5口的地址在C8H。 (2) 上拉电阻的连接 虽然作为准双向口使用时,单片机内 部已集成了上拉场效应管,但在实际 应用时,一般情况下,最好还是外接上 拉电阻。例如,当外接的是SPI/I2C等 漏极开漏的电路时。 以P0.0为例,电路连接如图所示。典型上拉电阻阻值为5.1K或者10K。 05:32

92 (3) 拉电流方式和灌电流方式 IAP15W4K58S4单片机I/O口线作为输出可提供20mA 的驱动能力, 使用时, 可采用拉电流或灌电流方式。 以P0.0控制发光二极管电路为例,电路连接如图所示。 发光二极管驱动电流大约数mA ~20mA。 特别注意 图中限流电阻不能省略,否则,会毁坏I/O口。 图3-20 拉电流方式和灌电流方式 05:32

93 (3) 拉电流方式和灌电流方式 采用灌电流方式时,应将单片机的I/O口设置为弱上拉/准双向口工作模式;
(3) 拉电流方式和灌电流方式 采用灌电流方式时,应将单片机的I/O口设置为弱上拉/准双向口工作模式; 采用拉电流方式时,应将单片机的I/O口设置为推挽输出/强上拉工作模式。 在实际使用时,应尽量采用灌电流方式,这样可以提高系统的负载能力和可靠性。 使用时应该特别注意 做行列矩阵按键扫描电路时,也需要在按键扫描电 路中的两侧各加300的限流电阻,否则,会毁坏I/O 口。 05:32

94 (3) 拉电流方式和灌电流方式 之所以做行列矩阵按键扫描电路时也需加限流电阻, 因 为实际工作时可能出现2个I/O口均输出低电平的情况, 并且在按键按下时,就短接在一起, 而按要求一个CMOS 电路的2个输出脚是不应该直接短接在一起的, Why? 其原因是在按键扫描电路中,一个口为了读另外一个口 的状态,必须先置高才能读另外一个口的状态, 而8051单片机的弱上拉口在由0变为1时,会有2个时钟的 强推挽高输出电流输出到另外一个输出为低的I/O口,就 有可能造成I/O口损坏。 05:32

95 (4) 典型的三极管控制电路 单片机I/O引脚本身驱动能力有限,如果需要驱动功率较大的器件,如小型继电器或者固态继电器,可用单片机I/O引脚控制三极管进行输出。以P0.0为例。 若用弱上拉控制,建议加上拉电阻R1(3.3K~10K);若不加上拉电阻R1, 建议R2值在15K以上, 或用强推挽输出。 IAP15W4K58S4 三极管基极电流IB是数十μA级别的 图3-21 典型的三极管控制电路 05:32

96 4、典型的三极管控制电路 当需要驱动的功率器件较多时,建议采用ULN2803(18引 脚,或16脚ULN2003;TI, ST等公司产),其内部采用达林 顿结构,是专门用来驱动继电器的芯片,甚至在芯片内 部做了一个消去线圈反电动势的二极管。 ULN2803输出端允许通过IC电流600mA,耐压BVCEO约50V。 ULN2003输出端允许通过IC电流200mA(最大500mA),饱 和压降VCE约为1V左右(200mA时),耐压BVCEO约为50V。 输出口的外接负载可根据以上参数估算。采用集电极 开路输出,输出电流大,可以直接驱动继电器或固体 继电器(SSR)。 ULN2003(ULN2803)可以驱动7(8)个继电器。 05:32

97 4. IAP15W4K58S4单片机的I/O口的使用 (5) I/O外部状态的输入
存在的问题: 当I/O口工作于准双向口时, 由于 IAP15W4K58S4单片机是1个时钟周期(1T)的8051 单片机,速度很快, 如果通过指令执行由低变高指令后立即读外部状 态,此时由于实际输出还没有变高,有时可能读 入的状态不对。 解决方法:在软件设置由低变高后加1到2个空操 作指令 (NOP) 延时,然后再读I/O口的状态。 05:32

98 (6) 管脚 P1.7/XTAL1与P1.6/XTAL2的特别说明
IAP15W4K58S4系列单片机的所有I/O口上电复位后 均为准双向口/弱上拉模式。 但是由于P1.7和P1.6口还可以分别作外部晶体或时钟 电路的引脚XTAL1和XTAL2,所以P1.7/XTAL1和 P1.6/XTAL2上电复位后的模式不一定就是准双向口/ 弱上拉模式。 当P1.7和P1.6口作为外部晶体或时钟电路引脚XTAL1 和XTAL2使用时,P1.7/XTAL1和P1.6/XTAL2上电复 位后的模式是高阻输入。 05:32

99 (7) 管脚P5.4/RST的特别说明 P5.4/RST即可作普通I/O使用,也可作复位管脚。当用 户用ISP烧录程序将P5.4/RST设置成普通I/O口用时, 其 上电后为准双向口/弱上拉模式。 每次上电时, 单片机会自动判断上次用户用ISP烧录程 序是将P5.4/RST设置成普通I/O口还是复位脚。 若上一次用户是将P5.4/RST设置成普通I/O口,则单片 机会将P5.4/RST上电后的模式设置成准双向口/弱上拉。 若上次是将P5.4/RST设成复位脚, 则上电后, P5.4/RST 仍为复位脚。 ISP烧录程序只在调试时用, 设置项: 05:32

100 4. IAP15W4K58S4单片机的I/O口的使用 (8)专用PWM模块相关I/O引脚 专用PWM模块相关引脚有:P1.6、P1.7、 P2.1、P2.2、P2.3、P3.7,单片机复位后, 这些引脚为高阻状态,使用时需将其设置 为用户所需的工作模式。

101 §3.5 单片机应用系统的典型构成 1、单片机最小系统构成 在实际工程应用中,由于应用条件及控制要求的不同, 单片机外围电路的组成各不相同。
§3.5 单片机应用系统的典型构成 1、单片机最小系统构成 在实际工程应用中,由于应用条件及控制要求的不同, 单片机外围电路的组成各不相同。 单片机最小系统是指在尽可能少的外部电路条件下,能 使单片机独立工作的系统。 IAP15W4K58S4集成了58KB程序存储器、4096字节RAM、高可靠复位电路和高精度R/C振荡器,一般不需外部复位电路和外部晶振。 只需要接上电源, 并在Vcc和GND之间接上滤波电容C1和C2。 05:32

102 1、单片机最小系统构成 为了能够给单片机下载程序,可在RXD和TXD引脚上连接RS232和TTL的转换电路,以连接计算机,通过下载工具将用户程序下载到单片机中。 RS232和TTL的转换电路: STC15W系列支持USB接口直接下载程序 计算机串口是RS232电平 单片机串口是TTL电平 MAX232, MAX3232 图3-23 RS232和TTL转换电路 05:32

103 §3.5单片机应用系统的典型构成 3、总线扩展方式的单片机应用系统构成 应用背景
3、总线扩展方式的单片机应用系统构成 应用背景 组成单片机应用系统时,如果存储器容量不够,或 需要扩展并行I/O,则可使用端口进行系统的扩展。 05:32

104 一个带有数据存储器和并行I/O扩展的单片机应用系统图
74LS138等产生多个扩展芯片的片选线 图3-24 带总线扩展的IAP15W4K58S4单片机应用系统的连接示意图 05:32

105 一个带有数据存储器和并行I/O扩展的单片机应用系统图
05:32

106 3、总线扩展方式的单片机应用系统构成 宏晶公司的实验箱中用IS62C256扩展了32KB的SRAM。
只扩展一个芯片IS62C256,其地址A15(P2.7)~A0范围: 0000H~7FFFH 图 KB SRAM的扩展电路连接

107 3、总线扩展方式的单片机应用系统构成 为了说明IAP15W4K58S4单片机访问外部RAM的过程, 首先介绍标准8051单片机时序中的相关概念。 (1)时钟周期 (T状态):CPU的基本时间计量单位, 与晶振频率有关。 (2)机器周期:单片机的基本操作周期为机器周期。 标准8051单片机的一个机器周期分为6个状态(S1~ S6),每个状态由两个脉冲组成(称为两相),前一 个周期叫P1,后一个周期叫P2。 05:32

108 /PSEN: Program Store Enable
3、总线扩展方式的单片机应用系统构成 一个机器周期由12个时钟周期(也称为振荡周期)组成,如图所示。 单字单周期指令 图3-26 标准8051的时序 /PSEN: Program Store Enable 外部程序存储器读选通信号 05:32

109 3、总线扩展方式的单片机应用系统构成 IAP15W4K58S4单片机是1时钟周期/机器周期(简称1T, 即最短的机器周期是1时钟周期)的8051单片机,在同 样的外部时钟频率下执行同样的代码,其指令执行速 度要比标准8051单片机快8~12倍。 当用户在较低的外部时钟频率下运行时,与标准8051 内核相比,不仅降低了系统噪声和电源功耗,而且提 高了处理能力。 IAP15W4K58S4单片机的总线速度是可以设置的。通过 设置总线速度控制寄存器BUS_SPEED寄存器相关的位, 可以达到设置总线速度的目的。 05:32

110 3、总线扩展方式的单片机应用系统构成 BUS_SPEED寄存器(地址:A1H,复位值:XXXXXX10B)定义: 位号 D7 D6 D5
位名称 - EXRTS1 EXRTS0 EXRTS1和EXRTS0设置外部RAM定时选择(Extand RAM Time Selector)。 执行MOVX指令时读写控制信号的脉冲宽度可设置,设置关系表: 表3-15 EXRTS1和EXRTS0的设置 EXRTS1 EXRTS0 建立/保持/读写时间 1个时钟周期 1 2个时钟周期 4个时钟周期 8个时钟周期 图3-27中的 EXRAC时钟周期数 利用MOVX指令访问外部RAM所需的时钟如表3-16所示。 05:32

111 3、总线扩展方式的单片机应用系统构成 表3-16 利用MOVX指令访问外部RAM所需的时钟
BUS_SPEED寄存器(地址:A1H,复位值:XXXXXX10B)定义: 片内扩展 位号 D7 D6 D5 D4 D3 D2 D1 D0 位名称 - EXRTS1 EXRTS0 与EXRTS1,0无关 EXRTS1和EXRTS0设置外部RAM定时选择(Extand RAM Time Selector)。 执行MOVX指令时读写控制信号的脉冲宽度,设置关系表: 表3-13 EXRTS1和EXRTS0的设置 EXRST1 EXRTS0 建立/保持/读写时间 1个时钟周期 1 2个时钟周期 4个时钟周期 8个时钟周期 利用MOVX指令访问外部RAM所需的时钟如表3-14所示。 05:32

112 3、总线扩展方式的单片机应用系统构成 访问物理上片外扩展RAM指令所需时钟, 可用下面计算 公式: MOVX @R0/R1
write(写操作):5×N+3 read(读操作):5×N+2 MOVX @DPTR write(写操作):5×N+2 read(读操作):5×N+1 当EXRTS[1:0] = [0,0]时,上式中N=1; 当EXRTS[1:0] = [0,1]时,上式中N=2; 当EXRTS[1:0] = [1,0]时,上式中N=4; 当EXRTS[1:0] = [1,1]时,上式中N=8. N是图3-27中的EXRAC时钟周期数 BUS_SPEED寄存器: 位号 D7 D6 D5 D4 D3 D2 D1 D0 位名称 - EXRTS1 EXRTS0 05:32

113 3、总线扩展方式的单片机应用系统构成 IAP15W4K58S4单片机访问片外扩展RAM指令速度是可调的。
写操作:5×N+2 读操作:5×N+1 图3-27 访问单片机外部RAM时的时序图 05:32

114 3、总线扩展方式的单片机应用系统构成 需要特别注意
当IAP15W4K58S4应用于总线扩展方式时,用于总线 方式的P0、P2和P4口的P4.2和P4.4不可再用于普通 I/O口功能,即使在地址空间较宽裕时P2口没有用于 高8位地址线的I/O口线也不可用于普通I/O功能。 因在总线扩展方式下, P0口作地址/数据总线口用时, 由于访问外部存储器的操作不断,P0口不断出现低8 位地址或数据,故此时P0口不能再作通用I/O口使用。 此时P2口已当作地址总线口使用,由于访问外部存储 器的操作不断,P2口不断送出高8位地址,故此时P2口 也不能再作通用I/O口使用。 05:32

115 3、总线扩展方式的单片机应用系统构成 以上介绍了IAP15W4K58S4单片机的应用系统 构成方式。由于IAP15W4K58S4单片机内部已 经有58KB程序存储器和4096字节RAM,这对 于一般应用的存储器需求已经足够。 因此,非总线扩展方式的应用最常见。 05:32

116 第3章 作业 3-2 IAP15W4K58S4单片机的存储器分为哪几个 空间?中断服务程序的入口地址分别是什么? 32个通用(工作)寄存器各对应哪些RAM单元? 3-3 位地址29H, 61H, 7FH, 90H, E0H, F1H, 各对 应哪些单元的哪些位? 3-4 简述 IAP15W4K58S4单片机的各个输入/输出 端口(I/O口)的工作模式及结构。 3-5 如何设置IAP15W4K58S4单片机I/O口的工作 模式?若设置P1.7为强推挽输出, P1.6为开漏, P1.5为弱上拉, P1.4、P1.3、P1.2、P1.1及P1.0 为高阻输入, 应如何设置相关寄存器? 05:32


Download ppt "第三章 IAP15W4K58S4单片机的硬件结构."

Similar presentations


Ads by Google