《单片机原理》 讲稿 生物医学工程
1 《单片机原理》 讲稿 生物医学工程
第一章 基础知识 1.1单片机的历史及发展概况 单片机--一-单片微型计算机简称为单片机,它是把组成微型计 算机的各种功能部件:中央处理器CPU、随机存储器RAM、只读存储 器ROM,I/0接口电路、定时器/计数器以及串行通讯接口等部件制作 在一块集成芯片上而构成的一个完整的微型计算机。由于它的结构与 指令功能都是按照工业控制要求设计的,故有称为单片微控制器(或 单片微型计算机)。 单片机发展的三个阶段:单片机作为微型计算机的一个分支,其 产生与发展主要分为三个阶段: 1.初级单片机,代表芯片MCS-48。单片机内部集成有8位CPU、 并行I/0口、8位定时器/计数器、RAM等,无串行口,寻址范围不大 于4K。 2.高性能单片机,典型芯片MCS-51。片内继承有串行I/0口, 具有多级中断系统,定时器/计数器为16位,片内RAM和ROM容量相 对增大,寻址范围可达64K。该类单片机在我国大量使用。 3.8位单片机巩固、完善及16位单片机推出阶段,典型芯片 MCS-96。CPU为16位,片内RAM/ROM容量进一步增大,集成有高速 输入/输出部件、多级中断、多通道A/D等。 4.32位单片机阶段(嵌入系统)。32位单片机已进入实用阶段 (ARM系统)。 2
2 第一章 基础知识 1.1 单片机的历史及发展概况 单片机-----单片微型计算机简称为单片机,它是把组成微型计 算机的各种功能部件:中央处理器 CPU、随机存储器 RAM、只读存储 器 ROM,I/O 接口电路、定时器/计数器以及串行通讯接口等部件制作 在一块集成芯片上而构成的一个完整的微型计算机。由于它的结构与 指令功能都是按照工业控制要求设计的,故有称为单片微控制器(或 单片微型计算机)。 单片机发展的三个阶段:单片机作为微型计算机的一个分支,其 产生与发展主要分为三个阶段: 1. 初级单片机,代表芯片 MCS-48。单片机内部集成有 8 位 CPU、 并行 I/O 口、8 位定时器/计数器、RAM 等,无串行口,寻址范围不大 于 4K。 2. 高性能单片机,典型芯片 MCS-51。片内继承有串行 I/O 口, 具有多级中断系统,定时器/计数器为 16 位,片内 RAM 和 ROM 容量相 对增大,寻址范围可达 64K。该类单片机在我国大量使用。 3. 8 位单片机巩固、完善及 16 位单片机推出阶段,典型芯片 MCS-96。CPU 为 16 位,片内 RAM/ROM 容量进一步增大,集成有高速 输入/输出部件、多级中断、多通道 A/D 等。 4. 32 位单片机阶段(嵌入系统)。32 位单片机已进入实用阶段 (ARM 系统)
1.2单片机的应用 单片机是为了实现控制功能而设计的一种微型计算机,其应用首 先是控制功能。实现手段为嵌入方式,即嵌入到对象环境中作为一种 智能控制单元。其应用已深入到我们生活的各个方面。 1.仪器仪表中的应用 温度、湿度、流量、流速、压力、厚度、电压、电流、频率等的 测量仪表。 优点:数字化、智能化、微型化,功能提高。 2.网络通讯。 3.测控系统。 4.日用家电。 1.3具体应用实例 测控线路 测控处理 GPRS模 及传感器 器(CPU) 块 数据服务 NTERNET网络 电讯网络 器 电力线 3 耦合线路 耦合线路
3 1.2 单片机的应用 单片机是为了实现控制功能而设计的一种微型计算机,其应用首 先是控制功能。实现手段为嵌入方式,即嵌入到对象环境中作为一种 智能控制单元。其应用已深入到我们生活的各个方面。 1. 仪器仪表中的应用 温度、湿度、流量、流速、压力、厚度、电压、电流、频率等的 测量仪表。 优点:数字化、智能化、微型化,功能提高。 2. 网络通讯。 3. 测控系统。 4. 日用家电。 1.3 具体应用实例 测控线路 及传感器 测控处理 器(CPU) GPRS 模 块 数据服务 INTERNET 网络 电讯网络 器 耦合线路 耦合线路 电力线
第二章单片机的结构原理与简单应用 提要:MCS-51单片机的硬件结构与工作原理。熟悉、理解单片 机硬件结构对于应用设计者是十分重要的,因为它是单片机应用系统 设计的基础。本章,我们要全面了解MCS-51单片机的硬件功能、系 统结构、存储器结构、I/0口、复位电路、CPU时序、CPU引脚功能 和单片机的工作方式等。 MCS-51系列单片机是Intel公司生产的一系列单片机的总称, 这一系列的单片机包含有很多品种,如8031、8051、8751、8032、 8052、8752等。功能有增有减,指令兼容。 2.1MCS-51单片机结构原理与简单应用 介绍MCS-51单片机的硬件结构,特别是面向用户的一些硬件结 构,并将从硬件设计和程序设计的角度来分析MCS-51单片机的硬件 结构,重点介绍其应用特性和外部特性,即从用户的角度来分析:单 片机向我们提供了哪些资源及如何使用这些资源。 2.1.1MCS-51单片机硬件结构的特点 1.ROM和RAM 存储器类型 掩模ROM EPROM RAM 单片机系列 8031 128B 8051 4KB 128B 8751 4KB 128B 8032 256B 5
5 第二章 单片机的结构原理与简单应用 提要:MCS-51 单片机的硬件结构与工作原理。熟悉、理解单片 机硬件结构对于应用设计者是十分重要的,因为它是单片机应用系统 设计的基础。本章,我们要全面了解 MCS-51 单片机的硬件功能、系 统结构、存储器结构、I/O 口、复位电路、CPU 时序、CPU 引脚功能 和单片机的工作方式等。 MCS-51 系列单片机是 Intel 公司生产的一系列单片机的总称, 这一系列的单片机包含有很多品种,如 8031、8051、8751、8032、 8052、8752 等。功能有增有减,指令兼容。 2.1 MCS-51 单片机结构原理与简单应用 介绍 MCS-51 单片机的硬件结构,特别是面向用户的一些硬件结 构,并将从硬件设计和程序设计的角度来分析 MCS-51 单片机的硬件 结构,重点介绍其应用特性和外部特性,即从用户的角度来分析:单 片机向我们提供了哪些资源及如何使用这些资源。 2.1.1 MCS-51 单片机硬件结构的特点 1. ROM 和 RAM 存储器类型 单片机系列 掩模 ROM EPROM RAM 8031 / / 128B 8051 4KB / 128B 8751 / 4KB 128B 8032 / / 256B
8052 8KB 256B 2.1/0口 MCS-51有32根I/0线,形成4个端口:P0、P1、P2和P3口, 有的口线是多功能I/0线。 3.中断与堆栈 MCS-51有5个中断源:内部3个,外部2个,分为2个中断优 先级。 堆栈位置是可以编程的,堆栈深度可以达128B。 4.定时器/计数器、寄存器区 MCS-51有2个16位的定时器/计数器,通过编程实现4种工作 模式,4个通用工作寄存器区,共32个通用寄存器,以适应多种中 断或子程序嵌套。 5.指令系统 +、-、X、/、逻辑、数据传送、堆栈操作。 6.外部程序存储器和数据存储器寻址空间 MCS-51:DATA,64K:CODE,64K. 7.布尔处理器 8.串行通讯口. 1个全双工串行异步通讯口。 2.1.2MCS-51单片机引脚及片外总线结构 1.引脚功能 40--VCC,外部电源,接+5V电源电压: 6
6 8052 8KB / 256B 2. I/O 口 MCS-51 有 32 根 I/O 线,形成 4 个端口:P0、P1、P2 和 P3 口, 有的口线是多功能 I/O 线。 3. 中断与堆栈 MCS-51 有 5 个中断源:内部 3 个,外部 2 个,分为 2 个中断优 先级。 堆栈位置是可以编程的,堆栈深度可以达 128B。 4. 定时器/计数器、寄存器区 MCS-51 有 2 个 16 位的定时器/计数器,通过编程实现 4 种工作 模式,4 个通用工作寄存器区,共 32 个通用寄存器,以适应多种中 断或子程序嵌套。 5. 指令系统 +、-、X、/、逻辑、数据传送、堆栈操作。 6. 外部程序存储器和数据存储器寻址空间 MCS-51: DATA,64K;CODE,64K。 7. 布尔处理器 8. 串行通讯口. 1 个全双工串行异步通讯口。 2.1.2 MCS-51 单片机引脚及片外总线结构 1. 引脚功能 40---VCC,外部电源,接+5V 电源电压;
20一VSS,接地引脚: 18、19-----XTAL1、XTAL2外部晶体接入脚; 9-----RST/VPD,复位引脚和备用电源接入脚。VCC掉电期间,9 脚接入电源,以保持片内的RAM数据。VCC加电期间为复位信号接入 端。 30----ALE/PROG,访问外部存储器时,ALE的输出用于锁存地址 的低位字节。对于EPROM型的单片机,在EPROM编程期间,此引脚用 于输入编程脉冲。 29---PSEN,外部程序存储器的选通信号。从外部程序存储器取 指令期间,每个机器周期PSEN两次有效。 31---EA/VPP,EA为高电平,访问内部存储器,当PC(程序计数 器)值超过0FFFH后(8051/8751/80C51)或1FFFH(对8052)时, 将自动转向执行外部程序存储器内的程序。EA为低电平,则只访问 外部程序存储器。 对EPROM型的单片机(8751),在EPROM编程期间,该引脚加编 程电压。 3239----P0口,双向8位三态I/0口,在外接存储器时,与 地址总线的低8位及数据总线分时复用,能以吸收电流的方式驱动8 个LSTTS负载。 18-----P1口,8位准双向I/0口。P1口能驱动(吸收或输出) 4个LSTTS负载。对EPROM编程和校验期间,接收低8位地址。 2128-P2口,8位准双向I/0口。访问外部存储器时,作为 1
7 20—VSS,接地引脚; 18、19-----XTAL1、XTAL2 外部晶体接入脚; 9-----RST/VPD,复位引脚和备用电源接入脚。VCC 掉电期间,9 脚接入电源,以保持片内的 RAM 数据。VCC 加电期间为复位信号接入 端。 30----ALE/PROG,访问外部存储器时,ALE 的输出用于锁存地址 的低位字节。对于 EPROM 型的单片机,在 EPROM 编程期间,此引脚用 于输入编程脉冲。 29----PSEN,外部程序存储器的选通信号。从外部程序存储器取 指令期间,每个机器周期 PSEN 两次有效。 31---EA/VPP,EA 为高电平,访问内部存储器,当 PC(程序计数 器)值超过 0FFFH 后(8051/8751/80C51)或 1FFFH(对 8052)时, 将自动转向执行外部程序存储器内的程序。EA 为低电平,则只访问 外部程序存储器。 对 EPROM 型的单片机(8751),在 EPROM 编程期间,该引脚加编 程电压。 32~39-----P0 口,双向 8 位三态 I/O 口,在外接存储器时,与 地址总线的低 8 位及数据总线分时复用,能以吸收电流的方式驱动 8 个 LSTTS 负载。 1~8------P1 口,8 位准双向 I/O 口。P1 口能驱动(吸收或输出) 4 个 LSTTS 负载。对 EPROM 编程和校验期间,接收低 8 位地址。 21~28----P2 口,8 位准双向 I/O 口。访问外部存储器时,作为
扩展电路的高8位地址总线送出高8位地址。在对EPROM编程和校验 期间,P2口接收高8位地址。P2口可以驱动(吸收或输出电流)4 个LSTTL负载。 1017--P3口,8位准双向I/0口,为复用多功能口。P3能驱 动(吸收或输出电流)4个LSTTL负载。 10----RXD,11—TXD: 12--INT0,13--INT1,14---T0,15---T1,16---WR,17--RD 恩 思 g 2.MCS-51单片机的片外总线结构 AB--地址总线,宽度为16位,可直接寻址64K字节。16位地 址总线的构成:P0口提供低8位地址,P2口提供高8位地址。 DB一数据总线,宽8位,有P0口提供。 CB一控制总线,由P3口的第二功能和状态,RESET,EA,ALE, PSEN等。 8
8 扩展电路的高 8 位地址总线送出高 8 位地址。在对 EPROM 编程和校验 期间,P2 口接收高 8 位地址。P2 口可以驱动(吸收或输出电流)4 个 LSTTL 负载。 10~17---P3 口,8 位准双向 I/O 口,为复用多功能口。P3 能驱 动(吸收或输出电流)4 个 LSTTL 负载。 10----RXD,11—TXD; 12---INT0,13----INT1,14----T0,15---T1,16---WR,17---RD 2. MCS-51 单片机的片外总线结构 AB---地址总线,宽度为 16 位,可直接寻址 64K 字节。16 位地 址总线的构成:P0 口提供低 8 位地址,P2 口提供高 8 位地址。 DB—数据总线,宽 8 位,有 P0 口提供。 CB—控制总线,由 P3 口的第二功能和状态,RESET,EA,ALE, PSEN 等
2.1.3MCS-51单片机片内总体结构 RAM P0口 P2口 程序存储器 CPU 控 P1▣ 串行口 定时器 中断 特殊功能 制部 计数器 系统 积存器 件 P3口 CB 图1MCS-51内部结构图 2.1.4存储器、特殊功能寄存器及位地址空间 1.程序存储器 功能:存放程序和表格常数,以程序计数器PC为地址指针。PC 为16位,程序存储器的操作完全由P℃控制。(程序运行的开始地址 为0H)。 FFFFH 外部 程序 存储 器 1000H OFFFH 内部 外部 EA=1 EA=0 0000H 图2MCS-51程序存储器 9
9 2.1.3 MCS-51 单片机片内总体结构 图 1 MCS-51 内部结构图 2.1.4 存储器、特殊功能寄存器及位地址空间 1.程序存储器 功能:存放程序和表格常数,以程序计数器 PC 为地址指针。PC 为 16 位,程序存储器的操作完全由 PC 控制。(程序运行的开始地址 为 0H)。 图 2 MCS-51 程序存储器 CPU 控 制 部 件 RAM P0 口 P2 口 程序存储器 P1 口 串行口 定时器 计数器 中 断 系统 特殊功能 积存器 P3 口 CB 外部 程序 存储 器 1000H FFFFH 内部 EA=1 外部 EA=0 0FFFH 0000H
2.内部数据存储器 编址:OH7FH。 工作寄存器,00H1FH,共分4个区,每区有8个工作积存器R0R7。 程序当前使用的工作寄存器可通过编程选择。 FFH RAM 特殊功 (8032 能寄存 或 8052) 器 80H 7FH 数据缓冲 区 30H 2FH 位寻 址区 20H 1FH 工作 寄存 器 00H 图3MCS-51内部存储器 位寻址区,20H20奶奶们,和H,共16个单元,16个单元的每 一个位均有一个8位的地址。比如20H单元的D0位的位地址为0;./H, 20H单元的D7位的位地址为07H,而21H单元的D0位的位地址为08H, 以此类推。 数据缓冲区:30H7FH单元。 特殊功能寄存器,其主要的功能为对片内的个功能模块进行管 理、控制、监视。 PC-程序计数器,ACC--累加器,PSW-程序状态字寄存器, o
10 2. 内部数据存储器 编址: 0H~7FH。 工作寄存器,00H~1FH,共分 4个区,每区有 8个工作积存器 R0~R7。 程序当前使用的工作寄存器可通过编程选择。 图 3 MCS-51 内部存储器 位寻址区,20H~20 奶奶们,和 H,共 16 个单元,16 个单元的每 一个位均有一个 8 位的地址。比如 20H 单元的 D0 位的位地址为 0;./H, 20H 单元的 D7 位的位地址为 07H,而 21H 单元的 D0 位的位地址为 08H, 以此类推。 数据缓冲区:30H~7FH 单元。 特殊功能寄存器,其主要的功能为对片内的个功能模块进行管 理、控制、监视。 PC---程序计数器,ACC---累加器,PSW---程序状态字寄存器, 工作 寄存 器 00H 1FH 位寻 址区 20H 2FH 数据缓冲 区 30H 7FH 特殊功 能寄存 器 RAM ( 8032 或 8052) 80H FFH
SP---堆栈指针,DPTR一数据指针(DPH,DPL),16位, PO,P1,P2,P3,IP,IE,TMOD,THO,TLO,TH1,TL1 SCON一串行口控制寄存器, SBUF--串行口数据寄存器, PC0N--电源管理及波特率选择寄存器。 PSW各位的意义: D7 D6 D5 D4 D3 D2 DI DO CY AC FO RS1 RSO ov P CY---进位标志位,在执行加法或减法运算指令时,如果运算结 果的最高位(D7)有进位或借位,CY位由硬件置“1”,否则,由硬 件置“0”。 AC---辅助进位或借位。 F0--用户标志位。 RS1,RS0--工作寄存器选择位, 0,0----00H07H: 0,1--- 08H-OFH; 1,0----10H17H: 1,1----18h1FH. 0V---溢出标志位。当进行补码运算时,如有溢出,即当运算结 果超出8位数所能够表示的-128+127范围时,0V位由硬件自动置1, 否则,置0V位为0。 P-----奇偶校验标志位。每条指令执行完成后,该位始终跟踪
11 SP----堆栈指针,DPTR—数据指针(DPH,DPL),16 位, P0,P1,P2,P3,IP,IE,TMOD,THO,TL0,TH1,TL1 SCON—串行口控制寄存器, SBUF---串行口数据寄存器, PCON---电源管理及波特率选择寄存器。 PSW 各位的意义: D7 D6 D5 D4 D3 D2 D1 D0 CY AC F0 RS1 RS0 OV / P CY----进位标志位,在执行加法或减法运算指令时,如果运算结 果的最高位(D7)有进位或借位,CY 位由硬件置“1”,否则,由硬 件置“0”。 AC---辅助进位或借位。 F0---用户标志位。 RS1,RS0----工作寄存器选择位, 0,0-----00H~07H; 0,1---- 08H~-0FH; 1,0-----10H~17H; 1, 1-----18h~1FH. OV----溢出标志位。当进行补码运算时,如有溢出,即当运算结 果超出 8 位数所能够表示的-128~+127 范围时,OV 位由硬件自动置 1, 否则,置 OV 位为 0。 P------奇偶校验标志位。每条指令执行完成后,该位始终跟踪