logo资料库

马潮《AVR单片机嵌入式系统原理与应用实践》.pdf

第1页 / 共300页
第2页 / 共300页
第3页 / 共300页
第4页 / 共300页
第5页 / 共300页
第6页 / 共300页
第7页 / 共300页
第8页 / 共300页
资料共300页,剩余部分请下载后查看
第1章 单片嵌入式系统概述
第1章 单片嵌入式系统概述
1.1 嵌入式系统简介
1.1.1 嵌入式计算机系统
1.1.2 单片嵌入式系统
1.1.3 单片机的发展历史
1.1.4 单片机的发展趋势
1.2 单片嵌入式系统的结构与应用领域
1.2.1 单片嵌入式系统结构
1.2.2 单片嵌入式系统的应用领域
1.3 AVR单片机简介
1.3.1 ATMEL公司的单片机产品
1.3.2 AVR单片机的主要特点
1.3.3 AVR系列单片机简介
表 1.2 tinyAVR系列单片机(部分)
表 1.3 megaAVR系列单片机(低配置部分)
表 1.4 megaAVR系列单片机(中高部分)
思考与练习
第2章 AVR单片机的基本结构
第2章 AVR单片机的基本结构
2.1 单片机的基本组成
2.1.1 单片机的基本组成结构
2.1.2 单片机基本单元与作用
2.2 ATmega16单片机的组成
2.2.1 AVR单片机的内核结构
2.2.2 典型AVR芯片ATmega16特点
2.2.3 外部引脚与封装
2.3 ATmega16内部结构
2.3.1 AVR中央处理器CPU
2.3.2 系统时钟部件
2.3.3 CPU的工作时序
2.3.4 存储器
2.3.5 I/O端口
2.4 存储器结构和地址空间
2.4.1 支持ISP的Flash程序存储器
2.4.2 数据存储器SRAM空间
2.4.3 内部EEPROM 存储器
2.5 通用寄存器组与I/O寄存器
2.5.1 通用寄存器组
2.5.2 I/O寄存器
2.5.3 状态寄存器和堆栈指针寄存器
2.6 ATmega16单片机的工作状态
2.6.1 AVR单片机最小系统
2.6.2 AVR的复位源和复位方式
2.6.3 对AVR的编程下载
2.6.4 ATmega16的熔丝位
2.6.5 AVR单片机的工作状态
2.6.6 支持ISP编程的最小系统设计
2.7 AVR单片机内部资源的扩展和删减
2.8 思考与练习
第3章 AVR的指令与汇编系统
第3章 AVR的指令与汇编系统
3.1 ATmega16指令综述
3.1.1 指令格式以及三种表示方式
3.1.2 AVR指令系统中使用的符号
3.1.3 AVR指令的寻址方式和寻址空间
3.1.4 AVR指令操作结果对标志位的影响
3.2 算术和逻辑指令
3.2.1 加法指令
3.2.2 减法指令
3.2.3 取反码指令
3.2.4 取补码指令
3.2.5 比较指令
3.2.6 逻辑与指令
3.2.7 逻辑或指令
3.2.8 逻辑异或指令
3.2.9 乘法指令
3.3 跳 转 指 令
3.3.1 无条件跳转指令
3.3.2 条件跳转指令
3.3.3 子程序调用和返回指令
3.4 数据传送指令
3.4.1 直接寻址数据传送指令
3.4.2 间接寻址数据传送指令
3.4.3 从程序存储器中取数装入寄存器指令
3.4.4 写程序存储器指令
3.4.5 I/O口数据传送
3.4.6 堆栈操作指令
3.5 位操作和位测试指令
3.5.1 带进位逻辑操作指令
3.5.2 位变量传送指令
3.5.3 位变量修改指令
3.6 MCU控制指令
3.7 AVR汇编语言系统
3.7.1 汇编语言语句格式
3.7.2 汇编器伪指令
3.7.3 表达式
3.7.4 器件定义头文件“m16def.inc”
第4章 AVR单片机系统设计与开发工具
第4章 AVR单片机系统设计与开发工具
4.1 单片机嵌入式应用系统设计
4.1.1 单片机嵌入式系统开发所需的基础知识和技能
4.1.2 单片机嵌入式系统开发过程
4.2 单片嵌入式系统的开发工具与环境
4.2.1 单片嵌入式系统的程序设计语言
4.2.2 单片嵌入式系统的开发软件平台
4.2.3 单片嵌入式系统的硬件开发工具
4.2.4 AVR单片嵌入式系统的软件开发平台
4.2.5 AVR实验开发板
4.3 自制ISP下载电缆
4.4 AVR开发环境的建立
4.4.1 AVR单片机实验开发环境
4.4.2 本书中采用的AVR单片机实验开发环境的建立
思考与练习
第5章 实战练习一
第5章 实战练习一
5.1秒节拍显示器系统的设计
5.1.1 秒节拍显示器硬件设计
5.1.2 秒节拍显示器软件设计思路
5.1.3 秒节拍显示器汇编源程序代码
5.1.4 通用延时子程序分析
5.2 AVR Studio-汇编语言集成开发环境使用
5.2.1 AVR Studio的安装和其它辅助工具的安装
5.2.2 系统工程文件与AVR汇编源程序文件的建立、编译
5.2.3 使用软件仿真调试程序
5.3 CVAVR + AVR Studio-高级语言集成开发环境使用
5.3.1 秒节拍显示器的高级C语言源程序代码
5.3.2 系统工程文件与源程序文件的建立、编译
5.3.3 在CVAVR中使用AVR Studio进行软件仿真调试程序
5.4 AVR熔丝位的设置和执行代码下载
5.4.1 AVR-51多功能板的硬件连接
5.4.2 AVR熔丝位的配置
5.4.3 执行代码文件的下载
5.5 一个比较复杂的AVR汇编语言实例
5.5.1 系统功能与硬件设计
5.5.2 AVR汇编源代码
第6章 通用IO接口基本结构与输出应用
第6章 通用I/O接口基本结构与输出应用
6.1 通用I/O口的基本结构与特性
6.1.1 I/O口的基本结构
6.1.2 I/O端口寄存器
6.1.3 通用数字I/O口的设置与编程
6.2 通用I/O口的输出应用
6.2.1 通用I/O输出设计要点
6.2.2 LED发光二极管的控制
6.2.3 继电器控制
6.2.4 步进电机控制
6.3 LED数码显示器的应用
6.3.1 单个LED数码管控制
6.3.2 多位LED数码管的显示
6.3.3 点阵LED显示控制
6.4 LCD液晶显示器的应用
6.4.1 LCD的特点与分类
6.4.2 通用点阵字符LCD显示器应用
思考与练习
第7章 中断与中断系统
第7章 中断系统与基本应用
7.1 中断的基本概念
7.1.1 中断处理过程
7.1.2 中断源、中断信号、中断向量
7.1.3 中断优先级和中断嵌套
7.1.4 中断响应条件与中断控制
7.2 ATmega16的中断系统
7.2.1 ATmega16的中断源和中断向量
7.2.2 ATmega16的中断控制
7.2.3 AVR的中断响应过程
7.3 中断服务程序的编写
7.3.1汇编语言AVR中断程序的编写
7.3.2 CodeVision 中断程序的编写
7.4 ATmega16的外部中断
7.4.1 外部中断触发方式和特点
7.4.2 与外部中断相关的寄存器和标志位
7.5 外部中断应用实例
第8章 定时计数器的结构与应用
第8章 定时计数器的结构与应用
8.1 定时计数器的结构
8.1.1 8位定时计数器T/C0的结构
8.1.2 8位T/C0的工作模式
8.1.3 8位T/C0的计数工作时序
8.2 8位定时计数器T/C0的应用
8.2.1 外部事件计数器
8.2.2 定时器应用设计
8.3 PWM脉宽调制波的产生和应用
8.3.1 PWM脉宽调制波
8.3.2 基于比较匹配输出的脉冲宽度调制PWM
8.4 16位定时计数器T/C1的应用
8.4.1 16位T/C1增强功能介绍
8.4.2 16位T/C1应用示例
第9章 键盘输入接口与状态机编程
第9章 键盘输入接口与状态机编程
9.1 通用I/O数字输入接口设计
9.1.1 I/O输入接口硬件设计要点
9.1.2 I/O输入接口软件设计要点
9.2 按键输入接口设计
9.2.1 简单的按键输入硬件接口与分析
9.2.2 基于状态机的按键输入软件接口设计
9.3 键盘输入接口设计
9.3.1 矩阵键盘的工作原理和扫描确认方式
9.3.2 定时扫描方式的键盘接口程序
思考与练习
第10章 模拟比较器和ADC接口
第10章 模拟比较器和ADC接口
10.1 模拟比较器
10.1.1 与模拟比较器相关的寄存器和标志位
10.1.2 模拟比较器的应用设计
10.2 模数转换器ADC
10.2.1 10位ADC结构
10.2.2 ADC相关的I/O寄存器
10.2.3 ADC应用设计要点
10.2.4 ADC的应用设计
10.2.5 ADC的应用设计的深入讨论
思考与练习
第11章 实战练习二
第11章 综合实践(二)
11.1频率测量和简单频率计的设计
11.1.1 频率测量原理
11.1.2 测频法测量频率
11.1.3 测周法测量频率
11.1.4 频率测量小结
11.2 基于T/C1捕捉功能实现高精度的周期测量
11.3 带校时和音乐报时功能实时时钟的设计与实现
基于 AVR 的单片嵌入式系统原理与实践应用 第1章 单片嵌入式系统概述 在各种不同类型的嵌入式系统中,以单片微控制器(Microcontroller)作为系统的主要 控制核心所构成的单片嵌入式系统(国内通常称为单片机系统)占据着非常重要的地位。本 书将介绍以 AVR 系列单片微控制器为核心的单片嵌入式系统的原理、硬软件设计、调试等应 用方法。 单片嵌入式系统的硬件基本构成可分成两大部分:单片微控制器芯片和外围的接口与控 制电路。其中单片微控制器是构成单片嵌入式系统的核心。 单片微控制器又被称为单片微型计算机(Single-Chip Microcomputre 或 One-Chip Microcomputre),或者嵌入式微控制器(Embedded Microcontroller)。而在国内普遍采用 的名字为“单片机”。尽管单片机的“机”的含义并不十分恰当,比较模糊,但考虑到多年 来国内习惯了单片机的叫法,为了符合我国的实际情况,本书仍采用单片机的名称。 所谓的单片微控制器-即单片机,它的外表通常只是一片大规模集成电路芯片。但在芯 片的内部却集成了中央处理器单元(CPU),各种存储器(RAM、ROM、EPROM、E2PROM 和 FlashROM 等),各种输入/输出接口(定时器/计数器、并行 I/O、串行 I/O 以及 A/D 转换接口等),等 众多的功能部件。因此,一片芯片就构成了一个基本的微型计算机系统。 由于单片机芯片的微小体积,极低的成本和面向控制的设计,使的它作为智能控制的核 心器件被广泛地应用于嵌入到工业控制、智能仪器仪表、家用电器、电子通信产品等各个领 域中的电子设备和电子产品中。可以说,由单片机为核心构成的单片嵌入式系统已成为现代 电子系统中最重要的组成部分。 1.1 嵌入式系统简介 1.1.1 嵌入式计算机系统 计算机的出现首先是应用于数值计算。随着计算机技术的不断发展,计算机的处理速 度越来越快,存储容量越来越大,外围设备的性能越来越好,满足了高速数值计算和海量数 据处理的需要,形成了高性能的通用计算机系统。 1. 什么是嵌入式系统 以往我们按照计算机的体系结构、运算速度、结构规模、适用领域,将其分为大型计 算机、中型机、小型机和微型计算机,并以此来组织学科和产业分工,这种分类沿袭了约 40 年。近 20 年来,随着计算机技术的迅速发展,以及计算机技术和产品对其它行业的广泛 渗透,使得以应用为中心的分类方法变得更为切合实际。具体的说,就是按计算机的非嵌入 式应用和嵌入式应用将其分为通用计算机系统和嵌入式计算机系统。 通用计算机具有计算机的标准形态,通过装配不同的应用软件,以类同面目出现,并 应用在社会的各个方面。现在我们在办公室里、家庭中,最广泛普及使用的 PC 机就是通用 计算机其最典型的代表。 而嵌入式计算机则是以嵌入式系统的形式隐藏在各种装置、产品和系统中的。在许多 的应用领域中,如工业控制、智能仪器仪表、家用电器、电子通信设备等电子系统和电子产 品中,对计算机的应用有着不同的要求。这些要求的主要特征为: (1) 面对控制对象。面对物理量传感器变换的信号输入;面对人机交互的操作控制;面 对对象的伺服驱动和控制。 华东师范大学 电子科学技术系 马潮 1-1
第 1 章 单片嵌入式系统概述 (2) 嵌入到应用系统。体积小、低功耗、价格低廉,可方便地嵌入到应用系统和电子产 品中。 (3) 能在工业现场环境中可靠运行。 (4) 优良的控制功能。对外部的各种模拟和数字信号能及时地捕捉,对多种不同的控制 对象能灵活地进行实时控制。 可以看出,满足上述要求的计算机系统与通用计算机系统是不同的。换句话讲,能够 满足和适合以上这些应用的计算机系统与通用计算机系统在应用目标上有巨大的差异。 我们将具备高速计算能力和海量存储,用于高速数值计算和海量数据处理的计算机称 为通用计算机系统。而将面对工控领域对象,嵌入到各种控制应用系统、各类电子系统和电 子产品中,实现嵌入式应用的计算机系统称之为嵌入式计算机系统,简称嵌入式系统 (Embedded System)。 特定的环境、特定的功能,要求计算机系统与所嵌入的应用环境成为一个统一的整体, 并且往往要满足紧凑、高可靠性、实时性好、低功耗等技术要求。对于这样一种面向具体专 用应用目标的计算机系统的应用,以及系统的设计方法和开发技术,构成了今天嵌入式系统 的重要内涵,也是嵌入式系统发展成为一个相对独立的计算机研究和学习领域的原因。 2. 嵌入式系统的特点与应用 因此,嵌入式系统就是指用于实现独立功能的专用计算机系统。它由包括微处理器、 微控制器、定时器、传感器等一系列微电子芯片与器件,以及嵌入在存储器中的微型操作系 统或控制系统软件组成,完成诸如实时控制、监测管理、移动计算、数据处理等各种自动化 处理任务。 嵌入式系统是以应用为核心、以计算机技术为基础、软件硬件可裁剪、适应应用系统 对功能、可靠性、安全性、成本、体积、重量、功耗、环境等方面有严格要求的专用计算机 系统。嵌入式系统将应用程序和操作系统与计算机硬件集成在一起,简单讲就是系统的应用 软件与系统的硬件一体化。这种系统具有软件代码小,高度自动化,响应速度快等特点,特 别适应与面向对象的要求实时的和多任务的应用。 嵌入式计算机系统在应用数量上远远超过了各种通用计算机系统,一台通用计算机系 统,如 PC 机的外部设备中就包含了 5-10 个嵌入式系统:键盘、鼠标、软驱、硬盘、显示卡、 显示器、Modem、网卡、声卡、打印机、扫描仪、数字相机、USB 集线器等均是由嵌入式处 理器控制的。在制造工业、过程控制、通讯、仪器、仪表、汽车、船舶、航空、航天、军事 装备、消费类产品等方面均是嵌入式计算机的应用领域。 通用计算机系统和嵌入式计算机系统形成了计算机技术的两大分支。与通用计算机系 统相比,嵌入式系统最显著的特性是面对工控领域的测控对象。工控领域的测量对象都是一 些物理量,如压力、温度、速度、位移等;控制对象则包括马达、电磁开关等。嵌入式计算 机系统对这些参量的采集、处理、控制速度是有限的,而对控制方式和能力的要求则是多种 多样的。显然,这一特性形成并决定了嵌入式计算机系统和通用计算机系统在系统结构、技 术、学习、开发和应用等诸方面的差别,也使得嵌入式系统成为计算机技术发展中的一个重 要分支。 嵌入式计算机系统以其独特的结构和性能,越来越多地应用的国民经济的各个领域。 1.1.2 单片嵌入式系统 嵌入式计算机系统的构成,根据其核心控制部分的不同可分为几种不同的类型: a. 各种类型的工控机 华东师范大学 电子科学技术系 马潮 1-2
基于 AVR 的单片嵌入式系统原理与实践应用 b. 可编程逻辑控制器 PLC c. 以通用微处理器或数字信号处理器构成的嵌入式系统 d. 单片嵌入式系统 采用上述不同类型的核心控制部件所构成的系统都实现了嵌入式系统的应用,成为嵌入 式系统应用的庞大家族。 以单片机作为控制核心的单片嵌入式系统大部分应用于专业性极强的工业控制系统中。 其主要特点是:结构和功能相对单一、存储容量较小、计算能力和效率比较低,简单的用户 接口。由于这种嵌入式系统功能专一可靠、价格便宜,因此在工业控制、电子智能仪器设备 等领域有着广泛的应用。 作为单片嵌入式系统的核心控制部件单片机,它从体系结构到指令系统都是按照嵌入 式系统的应用特点专门设计的,它能最好地满足面对控制对象、应用系统的嵌入、现场的可 靠运行和优良的控制功能要求。因此,单片嵌入式应用是发展最快、品种最多、数量最大的 嵌入式系统,也有着广泛的应用前景。由于单片机具有嵌入式系统应用的专用体系结构和指 令系统,因此在其基本体系结构上,可衍生出能满足各种不同应用系统要求的系统和产品。 用户可根据应用系统的各种不同要求和功能,选择最佳型号的单片机。 作为一个典型的嵌入式系统――单片嵌入式系统,在我国大规模应用已有几十年的历 史。它不但是在中、小型工控领域、智能仪器仪表、家用电器、电子通信设备和电子系统中 最重要的工具和最普遍的应用手段,同时正是由于单片嵌入式系统的广泛应用和不断发展, 也大大推动了嵌入式系统技术的快速发展。因此对于电子、通信、工业控制、智能仪器仪表 等相关专业的学生来讲,深入学习和掌握单片嵌入式系统的原理与应用,不仅能对自己所学 的基础知识进行检验,而且能够培养和锻炼自己的问题分析、综合应用、和动手实践的能力, 掌握真正的专业技能和应用技术。同时,深入学习和掌握单片嵌入式系统的原理与应用,也 为更好的掌握其它嵌入式系统的打下重要的基础,这个特点尤其表现在硬件设计方面。 1.1.3 单片机的发展历史 1970 年微型计算机研制成功后,随后就出现了单片机。美国 Inter 公司在 1971 年推 出了 4 位单片机 4004;1972 年推出了雏形 8 位单片机 8008。特别是在 1976 年推出 MCS-48 单片机以后的三十年中,单片机的发展和其相关的技术经历了数次的更新换代。其发展速度 大约每三四年要更新一代、集成度增加一倍、功能翻一番。 尽管单片机出现的历史并不长,但以 8 位单片机的推出为起点,那么,单片机的发展 大致可分为四个阶段。 第一阶段(1976 年-1978 年):初级单片机阶段。以 Inter 公司 MCS-48 为代表。这个 系列的单片机内集成有 8 位 CPU、I/O 接口、8 位定时器/计数器,寻址范围不大于 4K 字节, 简单的中断功能,无串行接口。 第二阶段(1978 年-1982 年):单片机完善阶段。在这一阶段推出的单片机其功能有较 大的加强,能够应用于更多的场合。这个阶段的单片机普遍带有串行 I/O 口、有多级中断处 理系统、16 位定时器/计数器,片内集成的 RAM、ROM 容量加大,寻址范围可达 64K 字节。 一些单片机片内还集成了 A/D 转换接口。这类单片机的典型代表有 Inter 公司的 MCS-51、 Motorola 公司的 6801 和 Zilog 公司的 Z8 等。 第三阶段(1982 年-1992 年):8 位单片机巩固发展及 16 位高级单片机发展阶段。在 此阶段,尽管 8 位单片机的应用已广泛普及,但为了更好满足测控系统的嵌入式应用的要求, 单片机集成的外围接口电路有了更大的扩充。这个阶段单片机的代表为 8051 系列。许多半 导体公司和生产厂以 MCS-51 的 8051 为内核,推出了满足各种嵌入式应用的多种类型和型号 华东师范大学 电子科学技术系 马潮 1-3
第 1 章 单片嵌入式系统概述 的单片机。其主要技术发展有: (1) 外围功能集成。满足模拟量直接输入的 ADC 接口;满足伺服驱动输出的 PWM;保证 程序可靠运行的程序监控定时器 WDT(俗称看门狗电路)。 (2) 出现了为满足串行外围扩展要求的串行扩展总线和接口,如 SPI、I2C Bus、单总线 (1-Wire)等。 (3) 出现了为满足分布式系统,突出控制功能的现场总线接口,如 CAN Bus 等。 (4) 在程序存储器方面广泛使用了片内程序存储器技术,出现了片内集成 EPROM、 EEPROM、FlashROM 以及 MaskROM、OTPROM 等各种类型的单片机,以满足不同产品的开发和 生产的需要,也为最终取消外部程序存储器扩展奠定了良好的基础。 与此同时,一些公司面向更高层次的应用,发展推出了 16 位的单片机,典型代表有 Inter 公司的 MCS-96 系列的单片机。 第四阶段(1993 年-现在):百花齐放阶段。现阶段单片机发展的显著特点是百花齐放、 技术创新,以满足日益增长的广泛需求。其主要方面有: (1)单片嵌入式系统的应用是面对最底层的电子技术应用,从简单的玩具、小家电;到 复杂的工业控制系统、智能仪表、电器控制;以及发展到机器人、个人通信信息终端、机顶 盒等。因此,面对不同的应用对象,不断推出适合不同领域要求的,从简易性能到多全功能 的单片机系列。 (2)大力发展专用型单片机。早期的单片机是以通用型为主的。由于单片机设计生产技 术的提高、周期缩短、成本下降,以及许多特定类型电子产品,如家电类产品的巨大的市场 需求能力,推动了专用单片机的发展。在这类产品中采用专用单片机,具有低成本、资源有 效利用、系统外围电路少、可靠性高的优点。因此专用单片机也是单片机发展的一个主要方 向。 (3)致力于提高单片机的综合品质。采用更先进的技术来提高单片机的综合品质,如提 高 I/O 口的驱动能力;增加抗静电和抗干扰措施;宽(低)电压低功耗等。 1.1.4 单片机的发展趋势 综观三十年的发展过程,作为单片嵌入式系统的核心――单片机,正朝着多功能、多 选择、高速度、低功耗、低价格、扩大存储容量和加强 I/O 功能等方向发展。其进一步的发 展趋势是多方面的。 (1) 全盘 CMOS 化。CMOS 电路具有许多优点,如极宽的工作电压范围;极佳的低功耗及 功耗管理特性等。CMOS 化已成为目前单片机及其外围器件流行的半导体工艺。 (2) 采用 RISC 体系结构。早期的单片机大多采用 CISC 结构体系,指令复杂,指令代码、 周期数不统一;指令运行很难实现流水线操作,大大阻碍了运行速度的提高。如 MCS-51 系 列单片机,当外部时钟为 12MHz 时,其单周期指令运行速度也仅为 1MIPS。采用 RISC 体系 结构和精简指令后,单片机的指令绝大部分成为单周期指令,而通过增加程序存储器的宽度 (如从 8 位增加到 16 位),实现了一个地址单元存放一条指令。在这种体系结构中,很容易 实现并行流水线操作,大大提高了指令运行速度。目前一些 RISC 结构的单片机,如美国 ATMEL 公司的 AVR 系列单片机已实现了一个时钟周期执行一条指令。与 MCS-51 相比,在相同的 12MHz 外部时钟下,单周期指令运行速度可达 12MIPS。一方面可获得很高的指令运行速度, 另一方面,在相同的运行速度下,可大大降低时钟频率,有利于获得良好的电磁兼容效果。 (3) 多功能集成化。单片机在内部已集成了越来越多的部件,这些部件不仅包括一般常 用的电路,如:定时/计数器,模拟比较器,A/D 转换器,D/A 转换器,串行通信接口,WDT 电路,LCD 控制器等,还有的单片机为了构成控制网络或形成局部网,内部含有局部网络控 华东师范大学 电子科学技术系 马潮 1-4
基于 AVR 的单片嵌入式系统原理与实践应用 制模块 CAN 总线,以方便地构成一个控制网络。为了能在变频控制中方便使用单片机,形成 最具经济效益的嵌入式控制系统。有的单片机内部设置了专门用于变频控制的脉宽调制控制 电路 PWM。 (4) 片内存储器的改进与发展。目前新型的单片机一般在片内集成两种类型的存储器: 随机读写存储器 SRAM,做为临时数据存储器存放工作数据用;只读存储器 ROM,做为程序存 储器存放系统控制程序和固定不变的数据。片内存储器的改进与发展的方向是扩大容量、ROM 数据的易写和保密等。 片内存储容量的增加。新型的单片机一般在片内集成的 SRAM 在 128 字节至 1K 字节, ROM 的容量一般为 4K 字节至 8K 字节。为了适应网络、音视频等高端产品的需要,高挡的单 片机在片内集成了更大容量的 RAM 和 ROM 存储器。如 ATMEL 公司的 ATmega16,片内的 SRAM 为 1K 字节,FlashROM 为 16K 字节。而该系列的高端产品 ATmega256,片内集成了 8K 字节的 SRAM,256K 字节的 FlashROM 和 4K 字节的 EEPROM。 片内程序存储器由 EPROM 型向 FlashROM 发展。早期的单片机在片内往往没有程序 存储器或片内集成 EPROM 型的程序存储器。将程序存储器集成在单片机内可以大大提高单片 机的抗干扰性能、提高程序的保密性、减少硬件的设计的复杂性和空间等许多优点,因此片 内集成程序存储器已成为新型单片机的标准方式。但由于 EPROM 需要使用 12v 高电压编程写 入、紫外线光照擦除、重写入次数有限等缺点,这给使用带来了不便。新型的单片机则采用 FlashROM 以及 MaskROM、OTPROM 做为片内的程序存储器。FlashROM 在通常电压(如 5v/3v) 下就可以实现编程写入和擦除操作,重写次数在 10000 次以上,并可实现在线编程写入 ISP 技术的优点,为使用带来了及大的方便。采用 MaskROM 的微控制器称为掩模芯片,它是在芯 片制造过程中就将程序“写入”了,并永远不能改写。采用 OTPROM 的微控制器,其芯片出 厂时片内的程序存储器是“空的”,它允许用户将自己编写好的程序一次性的编程写入,之 后便再也无法修改了。后两种类型的单片机适合于大批量产品生产的使用,而前两种类型的 微控制器则适合产品的设计开发、批量生产以及学习培训的应用。 程序保密化。一个单片嵌入式系统的系统程序是系统的最重要的部分,是知识产权 保护的核心。为了片内的程序防止被非法读出复制,新型的单片机往往采用对片内的程序存 储器采用加锁保密。系统程序编程写入片内的程序存储器后,可以再对加密保护单元编程, 使芯片加锁。加锁加密后,从芯片的外部则无法读取片内的系统程序代码,若将加密单元擦 除,则片内的程序也同时擦除掉,这样便达到了程序保密的目的。 (5) ISP、IAP 及基于 ISP、IAP 技术的开发和应用。ISP(In System Programmable)称 为在线系统可编程技术。随着微控制器在片内集成 EEPROM、FlashROM 的发展,导致了 ISP 技术在单片机中的应用。首先实现了系统程序的串行编程写入(下载),使得不必将焊接在 PCB 印刷电路板上的芯片取下,就可直接将程序下载到单片机的程序存储器中,淘汰了专用 的程序下载写入设备。其次,基于 ISP 技术的实现,使模拟仿真开发技术重新兴起。在单时 钟、单指令运行的 RISC 结构的单片机中,可实现 PC 机通过串行电缆对目标系统的在线仿真 调试。在 ISP 技术应用的基础上,又发展了 IAP(In Application Programmable)技术,也 称在应用可编程技术。利用 IAP 技术,实现了用户可随时根据需要对原有的系统方便的在线 更新软件、修改软件,还能实现对系统软件的远程诊断、远程调试和远程更新。 (6) 实现全面功耗管理。采用 CMOS 工艺后,单片机具有极佳的低功耗和功耗管理功能。 它包括: 传统的 CMOS 单片机的低功耗运行方式,既闲置方式(Idle Mode)、掉电方式(Power Down Mode)。 双时钟技术。配置有高速(主)和低速(子)两个时钟系统。在不需要高速运行时, 则转入子时钟控制下,以节省功耗。 华东师范大学 电子科学技术系 马潮 1-5
第 1 章 单片嵌入式系统概述 片内外围电路的电源管理。对集成在片内的外围接口电路实行供电管理,当该外围电 路不运行时,关闭其供电。 低电压节能技术。CMOS 电路的功耗与电源电压有关,降低系统的供电电压,能大幅 度减少器件的功耗。新型的单片机往往具有宽电压(3V-5V)或低电压(3V)运行的特点。 低电压低功耗是手持便携式系统重要的追求目标,也是绿色电子的发展方向。 (7) 以串行总线方式为主的外围扩展。目前,单片机与外围器件接口技术发展的一个重 要方面是由并行外围总线接口向串行外围总线接口的发展。采用串行总线方式为主的外围扩 展技术具有方便、灵活、电路系统简单、占用 I/O 资源少等特点。采用串行接口虽然比采用 并行接口数据传输速度慢,但随着半导体集成电路技术的发展,大批采用标准串行总线通信 协议(如:SPI、I2C、1-Wire 等)的外围芯片器件的出现,串行传输速度也在不断提高(可 达到 1M-10M 的速率),片内集成程序存储器而不必外部并行扩展程序存储器,加之单片嵌 入式系统有限速度的要求,使得以串行总线方式为主的外围扩展方式能够满足大多数系统的 需求,成为流行的扩展方式,而采用并行接口的扩展技术则成为辅助方式。 (8) 单片机向片上系统 SOC 的发展。SOC(System On Chip)是一种高度集成化、固件化 的芯片级集成技术,其核心思想是把除了无法集成的某些外部电路和机械部分之外的所有电 子系统电路全部集成在一片芯片中。现在一些新型的单片机(如 AVR 系列单片机)已经是 SOC 的雏形,在一片芯片中集成了各种类型和更大容量的存储器,更多性能更加完善和强大 的功能电路接口,这使得原来需要几片甚至十几片芯片组成的系统,现在只用一片就可以实 现。其优点不仅是减小了系统的体积和成本,而且也大大提高了系统硬件的可靠性和稳定性。 1.2 单片嵌入式系统的结构与应用领域 1.2.1 单片嵌入式系统结构 仅由一片单片机芯片是不能构成一个应用系统的。系统的核心控制芯片,往往还需要与 一些外围芯片、器件和控制电路机构有机的连接在一起,才构成了一个实际的单片机系统, 进而再嵌入到应用对象的环境体系中,作为其中的核心智能化控制单元而构成典型的单片嵌 入式应用系统,如洗衣机、电视机、空调、智能仪器、智能仪表等等。 单片嵌入式系统的结构如图 1-1 所示,通常包括三大部分:既能实现嵌入式对象各种应 用要求的单片机、全部系统的硬件电路和应用软件。 1.单片机:单片机是单片嵌入式系统的核心控制芯片,由它实现对控制对象的测控、 系统运行管理控制和数据运算处理等功能。 2.系统硬件电路:根据系统采用单片机的特性以及嵌入对象要实现的功能要求而配备 的外围芯片、器件所构成的全部硬件电路。通常包括以下几部分: 基本系统电路。提供和满足单片机系统运行所需要的时钟电路、复位电路、系统供电 电路、驱动电路、扩展的存储器等。 前向通道接口电路。这是应用系统面向对象的输入接口,通常是各种物理量的测量传 感器、变换器输入通道。根据现实世界物理量转换成电量输出信号的类型,如模拟电压电流、 开关信号、数字脉冲信号等的不同,接口电路也不同。常见的有传感器、信号调理器、模/ 数转换器 ADC、开关输入、频率测量接口等。 后向通道接口电路。这是应用系统面向对象的输出控制电路接口。根据应用对象伺服 和控制要求,通常有数/模转换器 DAC、开关量输出、功率驱动接口、PWM 输出控制等。 人机交互通道接口电路。人机交互通道接口是满足应用系统人机交互需要的电路,有 键盘、拨动开关、LED 发光二极管、数码管、LCD 液晶显示器、打印机等多种输入输出接口 华东师范大学 电子科学技术系 马潮 1-6
基于 AVR 的单片嵌入式系统原理与实践应用 电路。 数据通信接口电路。数据通信接口电路是满足远程数据通信或构成多机网络应用系统 的接口。通常有 RS232、PSI、I2C、CAN 总线、USB 总线等通信接口电路。 单片嵌入式系统 系 统 硬 件 电 路 基 本 系 统 电 路 前 向 通 道 接 口 电 路 后 向 通 道 接 口 电 路 人 机 交 互 通 道 接 口 数 据 通 信 接 口 电 路 单片机 系统软件 图 1-1 单片嵌入式系统结构 3.系统的应用软件:系统应用软件的核心就是下载到单片机中的系统运行程序。整个 嵌入式系统全部硬件的相互协调工作、智能管理和控制都由系统运行程序决定。它可认为是 单片嵌入式系统核心的核心。一个系统应用软件设计的好坏,往往也决定了整个系统性能的 好坏。 系统软件是根据系统功能要求设计的,一个嵌入式系统的运行程序实际上就是该系统的 监控与管理程序。对于小型系统的应用程序,一般采用汇编语言编写。而对于中型和大型系 统的应用程序,往往采用高级程序设计语言如 C 语言、Basic 语言来编写。 编写嵌入式系统应用程序与编写其它类型的软件程序(如基于 PC 的应用软件设计开发) 有很大的不同,嵌入式系统应用程序更加面向硬件低层和控制,而且还要面对有限的资源(如 有限的 RAM)。因为嵌入式系统的应用软件不仅要直接面对单片机和与它连接的各种不同种 类和设计的外围硬件电路编程,还要面对系统的具体应用和功能编程。整个运行程序常常是 输入、输出接口设计,存储器,外围芯片,中断处理等多项功能交织在一起。因此,除了硬 件系统的设计,系统应用软件的设计也是嵌入式系统开发研制过程中重要和困难的任务。 需要强调说明的是,针对单片嵌入式系统的硬件设计和软件设计两者之间的关系是十分 紧密,互相依赖和制约的。因此,通常要求嵌入式系统的开发人员即要具备扎实的硬件设计 华东师范大学 电子科学技术系 马潮 1-7
第 1 章 单片嵌入式系统概述 能力,同时也要具备相当优秀的软件程序设计能力。 1.2.2 单片嵌入式系统的应用领域 以单片机为核心构成的单片嵌入式系统已成为现代电子系统中最重要的组成部分。在现 代的数字化世界中,单片嵌入式系统已经大量地渗透到我们生活的各个领域,几乎很难找到 哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通信 与数据传输,工业自动化过程的时实控制和数据处理,生产流水线上的机器人,医院里先进 的医疗器械和仪器,广泛使用的各种智能 IC 卡,小朋友的程控玩具和电子宠物都是典型的 单片嵌入式系统应用。 由于单片机芯片的微小体积,极低的成本和面向控制的设计,使的它作为智能控制的核 心器件被广泛地用于嵌入到工业控制、智能仪器仪表、家用电器、电子通信产品等各个领域 中的电子设备和电子产品中,主要的应用领域有以下几个方面。 (1) 智能家用电器。俗程带“电脑”的家用电器,如电冰箱、空调、微波炉、电饭锅、 电视机、洗衣机等。传统的家用电器中嵌入了单片机系统后使产品性能特点都得到很大的改 善,实现了运行智能化、温度的自动控制和调节、节约电能等。 (2) 智能机电一体化产品。单片机嵌入式系统与传统的机械产品相结合,使传统的机械 产品结构简化,控制智能化,构成新一代的机电一体化产品。这些产品已在纺织、机械、化 工、食品等工业生产中发挥出巨大的作用。 (3) 智能仪表仪器。用单片机嵌入式系统改造原有的测量、控制仪表和仪器,能促使仪 表仪器向数字化、智能化、多功能化、综合化、柔性化发展。由单片机系统构成的智能仪器 仪表可以集测量、处理、控制功能与一体,赋予传统的仪器仪表以崭新的面貌。 (4) 测控系统。用单片机嵌入式系统可以构成各种工业控制系统、适应控制系统、数据 采集系统等。例如,温室人工气候控制、汽车数据采集与自动控制系统。 1.3 AVR单片机简介 1.3.1 ATMEL公司的单片机产品 ATMEL 公司是世界上著名的生产高性能、低功耗、非易失性存储器和各种数字模拟 IC 芯片的半导体制造公司。在单片微控制器方面,ATMEL 公司有基于 8051 内核、基于 AVR 内 核和基于 ARM 内核的三大系列单片机产品(确切的讲,最后一款应称为嵌入式微处理器)。 ATMEL 公司在它的单片机产品中,融入了先进的 EEPROM 电可擦除和 Flash ROM 闪速存储器 技术,使得该公司的单片机具备了优秀的品质,在结构、性能和功能等方面都有明显的优势。 ATMEL 公司把 8051 内核与其擅长的 Flash 存储器技术相结合,是国际上最早推出片内 集成可重复擦写 1000 次以上 Flash 程序存储器、采用低功耗 CMOS 工艺的 8051 兼容单片机 的生产商之一。市场上家喻户晓的 AT89C51、AT89C52、AT89C1051、AT89C2051 就是 ATMEL 公司生产的基于 8051 内核系列单片机中的典型产品(现在已升级换代为 AT89Sxx 系列,采 用 ISP 在线编程技术)。该系列单片机一直在我国的单片机市场上占有相当大的份额。 8051 结构的单片机采用复杂指令系统 CISC(Complex Instruction Set Computer)体系。 由于 CISC 结构存在指令系统不等长,指令数多,CPU 利用效率低,执行速度慢等缺陷,已 不能满足和适应设计中高档电子产品和嵌入式系统应用的需要。ATMEL 公司发挥其 Flash 存 储 器 技 术 的 特 长 , 于 1997 年 研 发 和 推 出 了 全 新 配 置 采 用 精 简 指 令 集 RISC(Reduced Instruction Set CPU)结构的新型单片机,简称 AVR 单片机。 华东师范大学 电子科学技术系 马潮 1-8
分享到:
收藏