ATmega8



Similar documents
《C语言基础入门》课程教学大纲

Microsoft Word - 第7章 图表反转形态.doc

第2章 数据类型、常量与变量

修改版-操作手册.doc

I

何 秋 琳 张 立 春 视 觉 学 习 研 究 进 展 视 觉 注 意 视 觉 感 知

说 明 为 了 反 映 教 运 行 的 基 本 状 态, 为 校 和 院 制 定 相 关 政 策 和 进 行 教 建 设 与 改 革 提 供 据 依 据, 校 从 程 资 源 ( 开 类 别 开 量 规 模 ) 教 师 结 构 程 考 核 等 维 度, 对 2015 年 春 季 期 教 运 行 基

<433A5C446F63756D656E E E67735C41646D696E F725CD7C0C3E65CC2DBCEC4CFB5CDB3CAB9D3C3D6B8C4CFA3A8BCF2BBAFA3A95CCAB9D3C3D6B8C4CF31302D31392E646F63>

Template BR_Rec_2005.dot

国债回购交易业务指引

 编号:


0 年 上 半 年 评 价 与 考 核 细 则 序 号 部 门 要 素 值 考 核 内 容 考 核 方 式 考 核 标 准 考 核 ( 扣 原 因 ) 考 评 得 3 安 全 生 产 目 30 无 同 等 责 任 以 上 道 路 交 通 亡 人 事 故 无 轻 伤 责 任 事 故 无 重 大 质 量

黄 金 原 油 总 持 仓 增 长, 同 比 增 幅 分 别 为 4.2% 和 4.1% 而 铜 白 银 以 及 玉 米 则 出 现 减 持, 减 持 同 比 减 少 分 别 为 9.4%,9.4% 以 及 6.5% 大 豆, 豆 粕 结 束 连 续 4 周 总 持 仓 量 增 长, 出 现 小 幅

金 不 少 于 800 万 元, 净 资 产 不 少 于 960 万 元 ; (3) 近 五 年 独 立 承 担 过 单 项 合 同 额 不 少 于 1000 万 元 的 智 能 化 工 程 ( 设 计 或 施 工 或 设 计 施 工 一 体 ) 不 少 于 2 项 ; (4) 近 三 年 每 年


,,,,, :,, (.,, );, (, : ), (.., ;. &., ;.. &.., ;, ;, ),,,,,,, ( ) ( ),,,,.,,,,,, : ;, ;,.,,,,, (., : - ),,,, ( ),,,, (, : ),, :,

<4D F736F F D D323630D6D0B9FAD3A6B6D4C6F8BAF2B1E4BBAFB5C4D5FEB2DFD3EBD0D0B6AF C4EAB6C8B1A8B8E6>

龚 亚 夫 在 重 新 思 考 基 础 教 育 英 语 教 学 的 理 念 一 文 中 援 引 的 观 点 认 为 当 跳 出 本 族 语 主 义 的 思 维 定 式 后 需 要 重 新 思 考 许 多 相 连 带 的 问 题 比 如 许 多 发 音 的 细 微 区 别 并 不 影 响 理 解 和

登录、注册功能的测试用例设计.doc

( ) 信 号 与 系 统 Ⅰ 学 科 基 础 必 修 课 教 周 2016 年 06 月 13 日 (08:00-09:35) ( )

正 规 培 训 达 规 定 标 准 学 时 数, 并 取 得 结 业 证 书 二 级 可 编 程 师 ( 具 备 以 下 条 件 之 一 者 ) (1) 连 续 从 事 本 职 业 工 作 13 年 以 上 (2) 取 得 本 职 业 三 级 职 业 资 格 证 书 后, 连 续 从 事 本 职 业

采 取 行 动 的 机 会 90% 开 拓 成 功 的 道 路 2

评 委 : 李 炎 斌 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单

i 1) 系 统 运 作 前 设 定 *1. [2.1 网 页 主 机 名 称 设 定 ] -- 设 定 校 务 系 统 的 主 机 IP 地 址, 以 供 其 他 个 人 电 脑 连 接 及 使 用 该 系 统 *2. [2.3.1 输 入 / 修 改 学 校 资 料 ] -- 输 入 系 统 使


一、资质申请

<4D F736F F D20BFC9B1E0B3CCD0F2BFD8D6C6CFB5CDB3C9E8BCC6CAA6B9FABCD2D6B0D2B5B1EAD7BC2E646F63>

生产支援功能 使用说明书(IP-110 篇)

目 录 关 于 图 标... 3 登 陆 主 界 面... 3 工 单 管 理... 5 工 单 列 表... 5 搜 索 工 单... 5 工 单 详 情... 6 创 建 工 单... 9 设 备 管 理 巡 检 计 划 查 询 详 情 销 售 管

Microsoft Word - 文件汇编.doc

教师上报成绩流程图

全国建筑市场注册执业人员不良行为记录认定标准(试行).doc

抗 战 时 期 国 民 政 府 的 银 行 监 理 体 制 探 析 % # % % % ) % % # # + #, ) +, % % % % % % % %

Microsoft Word - GT21L16S2W简要说明V3.7.doc

HSK( 一 级 ) 考 查 考 生 的 日 常 汉 语 应 用 能 力, 它 对 应 于 国 际 汉 语 能 力 标 准 一 级 欧 洲 语 言 共 同 参 考 框 架 (CEF) A1 级 通 过 HSK( 一 级 ) 的 考 生 可 以 理 解 并 使 用 一 些 非 常 简 单 的 汉 语

3 复 试 如 何 准 备 4 复 试 成 绩 计 算 5 复 试 比 例 6 复 试 类 型 7 怎 么 样 面 对 各 种 复 试 04 05

类 似 地, 又 可 定 义 变 下 限 的 定 积 分 : ( ). 与 ψ 统 称 为 变 限 积 分. f ( ) d f ( t) dt,, 注 在 变 限 积 分 (1) 与 () 中, 不 可 再 把 积 分 变 量 写 成 的 形 式 ( 例 如 ) 以 免 与 积 分 上 下 限 的

世华财讯模拟操作手册

富士通将军空调机 诺可力®X系列 样本

深圳市新亚电子制程股份有限公司

一 从 分 封 制 到 郡 县 制 一 从 打 虎 亭 汉 墓 说 起

自 服 务 按 钮 无 法 访 问 新 系 统 的 自 服 务 页 面 因 此 建 议 用 户 从 信 网 中 心 ( 主 页, 右 下 角 位 置 的 常 用 下 载, 或 校 园 网 用 户 自 服 务 ( 首 页

18 上 报 该 学 期 新 生 数 据 至 阳 光 平 台 第 一 学 期 第 四 周 至 第 六 周 19 督 促 学 习 中 心 提 交 新 增 专 业 申 请 第 一 学 期 第 四 周 至 第 八 周 20 编 制 全 国 网 络 统 考 十 二 月 批 次 考 前 模 拟 题 第 一 学

Microsoft Word - 第3章.doc

2006年顺德区高中阶段学校招生录取分数线

上海证券交易所会议纪要

评 委 : 徐 岩 宇 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单

GB

( 二 ) 现 行 统 一 高 考 制 度 不 利 于 培 养 人 的 创 新 精 神,,,,,,,,,,,,, [ ],,,,,,,,,,, :, ;,,,,,,? ( 三 ) 现 行 统 一 高 考 制 度 不 利 于 全 体 学 生 都 获 得 全 面 发 展,, [ ],,,,,,,,,,,

证监会行政审批事项目录

定 位 和 描 述 : 程 序 设 计 / 办 公 软 件 高 级 应 用 级 考 核 内 容 包 括 计 算 机 语 言 与 基 础 程 序 设 计 能 力, 要 求 参 试 者 掌 握 一 门 计 算 机 语 言, 可 选 类 别 有 高 级 语 言 程 序 设 计 类 数 据 库 编 程 类

工 程 勘 察 资 质 标 准 根 据 建 设 工 程 勘 察 设 计 管 理 条 例 和 建 设 工 程 勘 察 设 计 资 质 管 理 规 定, 制 定 本 标 准 一 总 则 ( 一 ) 本 标 准 包 括 工 程 勘 察 相 应 专 业 类 型 主 要 专 业 技 术 人 员 配 备 技 术

操作手册

第二讲 数列

名 称 生 命 科 学 学 院 环 境 科 学 1 生 物 学 仅 接 收 院 内 调 剂, 初 试 分 数 满 足 我 院 生 物 学 复 试 最 低 分 数 线 生 命 科 学 学 院 生 态 学 5 生 态 学 或 生 物 学 生 命 科 学 学 院

云信Linux SSH认证代理用户手册

<4D F736F F D20B3D6B2D6CFDEB6EEB1EDB8F1D7EED6D52E646F63>


·岗位设置管理流程

<4D F736F F D C4EAB9A4B3CCCBB6CABFCAFDD1A7D7A8D2B5BFCEBFBCCAD4B4F3B8D9D3EBD2AAC7F3>

导 数 和 微 分 的 概 念 导 数 的 几 何 意 义 和 物 理 意 义 函 数 的 可 导 性 与 连 续 性 之 间 的 关 系 平 面 曲 线 的 切 线 和 法 线 导 数 和 微 分 的 四 则 运 算 基 本 初 等 函 数 的 导 数 复 合 函 数 反 函 数 隐 函 数 以

B-002 行 政 处 罚 在 气 象 探 测 环 境 保 护 范 围 内 从 事 危 害 气 象 探 测 环 境 活 动 的 处 罚 中 华 人 民 共 和 国 气 象 法 第 三 十 五 条 第 一 款 第 二 项 B-003 行 政 处 罚 在

目 录 一 系 统 访 问... 1 二 门 户 首 页 申 报 用 户 审 核 用 户... 2 三 系 统 登 录 用 户 名 密 码 登 录 新 用 户 注 册 用 户 登 录 已 注 册 用

2 熟 悉 Visual Basic 的 集 成 开 发 环 境 3 了 解 可 视 化 面 向 对 象 编 程 事 件 驱 动 交 互 式 开 发 等 基 本 概 念 4 了 解 Visual Basic 的 特 点 环 境 要 求 与 安 装 方 法 1 Visual Basic 开 发 应 用

第 一 部 分 MagiCAD for Revit 安 装 流 程

一 公 共 卫 生 硕 士 专 业 学 位 论 文 的 概 述 学 位 论 文 是 对 研 究 生 进 行 科 学 研 究 或 承 担 专 门 技 术 工 作 的 全 面 训 练, 是 培 养 研 究 生 创 新 能 力, 综 合 运 用 所 学 知 识 发 现 问 题, 分 析 问 题 和 解 决

第三章 作业

三门峡市质量技术监督局清单公示

附 件 : 上 海 市 建 筑 施 工 企 业 施 工 现 场 项 目 管 理 机 构 关 键 岗 位 人 员 配 备 指 南 二 一 四 年 九 月 十 一 日 2

随着执业中医师资格考试制度的不断完善,本着为我校中医学专业认证服务的目的,本文通过对我校中医类毕业生参加2012年和2013年的中医执业医师考试成绩及通过率、掌握率进行分析,并与全国的平均水平进行差异比较分析,以此了解我校执业中医师考试的现状,进而反映我校中医类课程总体教学水平,发现考核知识模块教学中存在的不足,反馈给相关学院和教学管理部门,以此提高教学和管理水平。

一 开 放 性 的 政 策 与 法 规 二 两 岸 共 同 的 文 化 传 承 三 两 岸 高 校 各 自 具 有 专 业 优 势 远 见 杂 志 年 月 日

中 国 软 科 学 年 第 期!!!

第 四 条 建 设 单 位 对 可 能 产 生 职 业 病 危 害 的 建 设 项 目, 应 当 依 照 本 办 法 向 安 全 生 产 监 督 管 理 部 门 申 请 职 业 卫 生 三 同 时 的 备 案 审 核 审 查 和 竣 工 验 收 建 设 项 目 职 业 卫 生 三 同 时 工 作 可

2 任 务 目 标 任 务 实 施 学 一 学 安 全 用 电 1. 安 全 用 电 的 意 义 2. 人 体 触 电 的 基 本 知 识 1 2 1mA 10 30mA 50mA 100mA 750ms Hz

第 六 章 债 券 股 票 价 值 评 估 1 考 点 一 : 债 券 价 值 的 影 响 因 素 2

¹ º ¹ º 农 业 流 动 人 口 是 指 户 口 性 质 为 农 业 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个 月 及 以 上 的 流 动 人 口 非 农 流 动 人 口 是 指 户 口 性 质 为 非 农 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个

上证指数

工 程 造 价 咨 询 企 业 管 理 系 统 操 作 手 册 目 录 1 造 价 企 业 登 录 企 业 基 本 信 息 查 看 企 业 人 员 信 息 查 看 企 业 基 本 信 息 操 作 企 业 简 介 企 业 章

(Microsoft Word - NCRE\314\345\317\265\265\367\325\37313\324\27221\272\3051.doc)

<4D F736F F D20B9D8D3DA BDECB1CFD2B5C9FAC5C9C7B2B1A8B5BDB5C8D3D0B9D8B9A4D7F7B5C4CDA8D6AAA3A E362E38A3A92E646F63>

北京信息科技大学本科学生成绩管理办法

2. 本 次 修 改 后, 投 资 者 申 购 新 股 的 持 有 市 值 要 求 市 值 计 算 规 则 及 证 券 账 户 使 用 的 相 关 规 定 是 否 发 生 了 变 化? 答 : 未 发 生 变 化 投 资 者 申 购 新 股 的 持 有 市 值 是 指, 以 投 资 者 为 单 位

3 月 30 日 在 中 国 证 券 报 上 海 证 券 报 证 券 时 报 证 券 日 报 和 上 海 证 券 交 易 所 网 站 上 发 出 召 开 本 次 股 东 大 会 公 告, 该 公 告 中 载 明 了 召 开 股 东 大 会 的 日 期 网 络 投 票 的 方 式 时 间 以 及 审

用节点法和网孔法进行电路分析

课程类 别

白皮书

马 克 思 主 义 公 正 观 的 基 本 向 度 及 方 法 论 原 则!! # #

ICS 35

际 联 考 的 非 美 术 类 本 科, 提 前 批 本 科 体 育 类 第 一 批 第 二 批 第 三 批 的 理 工 类 和 文 史 类 本 科 平 行 志 愿, 考 生 可 以 填 报 6 所 院 校 志 愿 符 合 贫 困 地 区 专 项 计 划 和 农 村 考 生 专 项 计 划 报 考

光明乳业股份有限公司

<4D F736F F D20B9D8D3DAB0BABBAAA3A8C9CFBAA3A3A9D7D4B6AFBBAFB9A4B3CCB9C9B7DDD3D0CFDEB9ABCBBE C4EAC4EAB6C8B9C9B6ABB4F3BBE1B7A8C2C9D2E2BCFBCAE92E646F6378>

收 入 支 出 项 目 2016 年 预 算 项 目 2016 年 预 算 预 算 01 表 单 位 : 万 元 ( 保 留 两 位 小 数 ) 一 公 共 财 政 预 算 拨 款 一 人 员 经 费 一 般 财 力 人 员 支 出 成 品

电信系教学大纲的基本规范

年 8 月 11 日, 公 司 召 开 2015 年 第 五 次 临 时 股 东 大 会, 审 议 通 过 了 关 于 公 司 <2015 年 股 票 期 权 激 励 计 划 ( 草 案 )> 及 其 摘 要 的 议 案 关 于 提 请 股 东 大 会 授 权 董 事 会 办 理 公


合 并 计 算 配 售 对 象 持 有 多 个 证 券 账 户 的, 多 个 证 券 账 户 市 值 合 并 计 算 确 认 多 个 证 券 账 户 为 同 一 配 售 对 象 持 有 的 原 则 为 证 券 账 户 注 册 资 料 中 的 账 户 持 有 人 名 称 有 效 身 份 证 明 文 件

目 录 页 1. 欢 迎 使 用 网 上 预 约 面 谈 访 问 系 统 新 用 户 新 用 户 登 入 帐 户 程 序 启 动 网 上 预 约 面 谈 访 问 帐 户 核 对 帐 户 的 地 址 资 料

第 三 章 审 计 证 据 2

目 录 第 一 章 博 星 卓 越 电 子 商 务 营 销 策 划 实 践 平 台 硬 件 使 用 介 绍... 3 第 二 章 博 星 卓 越 电 子 商 务 营 销 策 划 实 践 平 台 管 理 员 端 功 能 使 用 介 绍 系 统 管 理 员 登 陆 班

Transcription:

产 品 特 性 高 性 能 低 功 耗 的 8 位 AVR 微 处 理 器 先 进 的 RISC 结 构 3 条 指 令 大 多 数 指 令 执 行 时 间 为 单 个 时 钟 周 期 32 个 8 位 通 用 工 作 寄 存 器 全 静 态 工 作 工 作 于 6 MHz 时 性 能 高 达 6 MIPS 只 需 两 个 时 钟 周 期 的 硬 件 乘 法 器 非 易 失 性 程 序 和 数 据 存 储 器 8K 字 节 的 系 统 内 可 编 程 Flash 擦 写 寿 命 :, 次 具 有 独 立 锁 定 位 的 可 选 Boot 代 码 区 通 过 片 上 Boot 程 序 实 现 系 统 内 编 程 真 正 的 同 时 读 写 操 作 52 字 节 的 EEPROM 擦 写 寿 命 :, 次 K 字 节 的 片 内 SRAM 可 以 对 锁 定 位 进 行 编 程 以 实 现 用 户 程 序 的 加 密 外 设 特 点 两 个 具 有 独 立 预 分 频 器 8 位 定 时 器 / 计 数 器, 其 中 之 一 有 比 较 功 能 一 个 具 有 预 分 频 器 比 较 功 能 和 捕 捉 功 能 的 6 位 定 时 器 / 计 数 器 具 有 独 立 振 荡 器 的 实 时 计 数 器 RTC 三 通 道 PWM TQFP 与 MLF 封 装 的 8 路 ADC 8 路 位 ADC PDIP 封 装 的 6 路 ADC 8 路 位 ADC 面 向 字 节 的 两 线 接 口 两 个 可 编 程 的 串 行 USART 可 工 作 于 主 机 / 从 机 模 式 的 SPI 串 行 接 口 具 有 独 立 片 内 振 荡 器 的 可 编 程 看 门 狗 定 时 器 片 内 模 拟 比 较 器 特 殊 的 处 理 器 特 点 上 电 复 位 以 及 可 编 程 的 掉 电 检 测 片 内 经 过 标 定 的 RC 振 荡 器 片 内 / 片 外 中 断 源 5 种 睡 眠 模 式 : 空 闲 模 式 ADC 噪 声 抑 制 模 式 省 电 模 式 掉 电 模 式 及 Standby 模 式 I/O 和 封 装 23 个 可 编 程 的 I/O 口 28 引 脚 PDIP 封 装,32 引 脚 TQFP 封 装,32 引 脚 MLF 封 装 工 作 电 压 2.7-5.5V (ATmega8L) 4.5-5.5V (ATmega8) 速 度 等 级 - 8 MHz (ATmega8L) - 6 MHz (ATmega8) 4 Mhz 时 功 耗, 3V, 25 C 工 作 模 式 : 3.6 ma 空 闲 模 式 :. ma 掉 电 模 式 :.5 µa 具 有 8KB 系 统 内 可 编 程 Flash 的 8 位 微 控 制 器 ATmega8 ATmega8L

引 脚 配 置 PDIP (RESET) PC6 (RXD) PD (TXD) PD (INT) PD2 (INT) PD3 (XCK/T) PD4 VCC GND (XTAL/TOSC) PB6 (XTAL2/TOSC2) PB7 (T) PD5 (AIN) PD6 (AIN) PD7 (ICP) PB 2 3 4 5 6 7 8 9 2 3 4 28 27 26 25 24 23 22 2 2 9 8 7 6 5 PC5 (ADC5/SCL) PC4 (ADC4/SDA) PC3 (ADC3) PC2 (ADC2) PC (ADC) PC (ADC) GND AREF AVCC PB5 (SCK) PB4 (MISO) PB3 (MOSI/OC2) PB2 (SS/OCB) PB (OCA) TQFP Top View 32 3 3 29 28 27 26 25 (INT) PD3 (XCK/T) PD4 GND VCC GND VCC (XTAL/TOSC) PB6 (XTAL2/TOSC2) PB7 2 3 4 5 6 7 8 24 23 22 2 2 9 8 7 PC (ADC) PC (ADC) ADC7 GND AREF ADC6 AVCC PB5 (SCK) (T) PD5 (AIN) PD6 (AIN) PD7 (ICP) PB (OCA) PB (SS/OCB) PB2 (MOSI/OC2) PB3 (MISO) PB4 9 2 3 4 5 6 PD2 (INT) PD (TXD) PD (RXD) PC6 (RESET) PC5 (ADC5/SCL) PC4 (ADC4/SDA) PC3 (ADC3) PC2 (ADC2) MLF Top View 32 3 3 29 28 27 26 25 (INT) PD3 (XCK/T) PD4 GND VCC GND VCC (XTAL/TOSC) PB6 (XTAL2/TOSC2) PB7 2 3 4 5 6 7 8 24 23 22 2 2 9 8 7 PC (ADC) PC (ADC) ADC7 GND AREF ADC6 AVCC PB5 (SCK) (T) PD5 (AIN) PD6 (AIN) PD7 (ICP) PB (OCA) PB (SS/OCB) PB2 (MOSI/OC2) PB3 (MISO) PB4 9 2 3 4 5 6 PD2 (INT) PD (TXD) PD (RXD) PC6 (RESET) PC5 (ADC5/SCL) PC4 (ADC4/SDA) PC3 (ADC3) PC2 (ADC2) NOTE: The large center pad underneath the MLF packages is made of metal and internally connected to GND. It should be soldered or glued to the PCB to ensure good mechanical stability. If the center pad is left unconneted, the package might loosen from the PCB. 2 ATmega8(L)

ATmega8(L) 综 述 方 框 图 ATmega8 是 基 于 增 强 的 AVR RISC 结 构 的 低 功 耗 8 位 CMOS 微 控 制 器 由 于 其 先 进 的 指 令 集 以 及 单 时 钟 周 期 指 令 执 行 时 间, ATmega8 的 数 据 吞 吐 率 高 达 MIPS/MHz, 从 而 可 以 缓 减 系 统 在 功 耗 和 处 理 速 度 之 间 的 矛 盾 Figure. 结 构 框 图 XTAL RESET PC - PC6 PB - PB7 VCC XTAL2 PORTC DRIVERS/BUFFERS PORTB DRIVERS/BUFFERS GND PORTC DIGITAL INTERFACE PORTB DIGITAL INTERFACE MUX & ADC ADC INTERFACE TWI AGND AREF PROGRAM COUNTER STACK POINTER TIMERS/ COUNTERS OSCILLATOR PROGRAM FLASH SRAM INTERNAL OSCILLATOR INSTRUCTION REGISTER GENERAL PURPOSE REGISTERS WATCHDOG TIMER OSCILLATOR INSTRUCTION DECODER X Y Z MCU CTRL. & TIMING CONTROL LINES ALU INTERRUPT UNIT AVR CPU STATUS REGISTER EEPROM PROGRAMMING LOGIC SPI USART + - COMP. INTERFACE PORTD DIGITAL INTERFACE PORTD DRIVERS/BUFFERS PD - PD7 3

AVR 内 核 具 有 丰 富 的 指 令 集 和 32 个 通 用 工 作 寄 存 器 所 有 的 寄 存 器 都 直 接 与 算 逻 单 元 (ALU) 相 连 接, 使 得 一 条 指 令 可 以 在 一 个 时 钟 周 期 内 同 时 访 问 两 个 独 立 的 寄 存 器 这 种 结 构 大 大 提 高 了 代 码 效 率, 并 且 具 有 比 普 通 的 CISC 微 控 制 器 最 高 至 倍 的 数 据 吞 吐 率 ATmega8 有 如 下 特 点 :8K 字 节 的 系 统 内 可 编 程 Flash( 具 有 同 时 读 写 的 能 力, 即 RWW), 52 字 节 EEPROM,K 字 节 SRAM,32 个 通 用 I/O 口 线,32 个 通 用 工 作 寄 存 器, 三 个 具 有 比 较 模 式 的 灵 活 的 定 时 器 / 计 数 器 (T/C), 片 内 / 外 中 断, 可 编 程 串 行 USART, 面 向 字 节 的 两 线 串 行 接 口, 位 6 路 (8 路 为 TQFP 与 MLF 封 装 )ADC, 具 有 片 内 振 荡 器 的 可 编 程 看 门 狗 定 时 器, 一 个 SPI 串 行 端 口, 以 及 五 种 可 以 通 过 软 件 进 行 选 择 的 省 电 模 式 工 作 于 空 闲 模 式 时 CPU 停 止 工 作, 而 SRAM T/C SPI 端 口 以 及 中 断 系 统 继 续 工 作 ; 掉 电 模 式 时 晶 体 振 荡 器 停 止 振 荡, 所 有 功 能 除 了 中 断 和 硬 件 复 位 之 外 都 停 止 工 作 ; 在 省 电 模 式 下, 异 步 定 时 器 继 续 运 行, 允 许 用 户 保 持 一 个 时 间 基 准, 而 其 余 功 能 模 块 处 于 休 眠 状 态 ; ADC 噪 声 抑 制 模 式 时 终 止 CPU 和 除 了 异 步 定 时 器 与 ADC 以 外 所 有 I/O 模 块 的 工 作, 以 降 低 ADC 转 换 时 的 开 关 噪 声 ; Standby 模 式 下 只 有 晶 体 或 谐 振 振 荡 器 运 行, 其 余 功 能 模 块 处 于 休 眠 状 态, 使 得 器 件 只 消 耗 极 少 的 电 流, 同 时 具 有 快 速 启 动 能 力 本 芯 片 是 以 Atmel 高 密 度 非 易 失 性 存 储 器 技 术 生 产 的 片 内 ISP Flash 允 许 程 序 存 储 器 通 过 ISP 串 行 接 口, 或 者 通 用 编 程 器 进 行 编 程, 也 可 以 通 过 运 行 于 AVR 内 核 之 中 的 引 导 程 序 进 行 编 程 引 导 程 序 可 以 使 用 任 意 接 口 将 应 用 程 序 下 载 到 应 用 Flash 存 储 区 (Application Flash Memory) 在 更 新 应 用 Flash 存 储 区 时 引 导 Flash 区 (Boot Flash Memory) 的 程 序 继 续 运 行, 实 现 了 RWW 操 作 通 过 将 8 位 RISC CPU 与 系 统 内 可 编 程 的 Flash 集 成 在 一 个 芯 片 内, ATmega8 成 为 一 个 功 能 强 大 的 单 片 机, 为 许 多 嵌 入 式 控 制 应 用 提 供 了 灵 活 而 低 成 本 的 解 决 方 案 ATmega8 具 有 一 整 套 的 编 程 与 系 统 开 发 工 具, 包 括 :C 语 言 编 译 器 宏 汇 编 程 序 调 试 器 / 软 件 仿 真 器 仿 真 器 及 评 估 板 声 明 本 数 据 手 册 的 典 型 值 来 源 于 对 器 件 的 仿 真, 以 及 其 他 基 于 相 同 产 生 工 艺 的 AVR 微 控 制 器 的 标 定 特 性 本 器 件 经 过 特 性 化 之 后 将 给 出 实 际 的 最 大 值 和 最 小 值 4 ATmega8(L)

ATmega8(L) 引 脚 说 明 VCC 数 字 电 路 的 电 源 GND 地 端 口 B(PB7..PB) XTAL/XTAL2/TOSC/TOSC2 端 口 C(PC5..PC) PC6/RESET 端 口 D(PD7..PD) RESET 端 口 B 为 8 位 双 向 I/O 口, 具 有 可 编 程 的 内 部 上 拉 电 阻 其 输 出 缓 冲 器 具 有 对 称 的 驱 动 特 性, 可 以 输 出 和 吸 收 大 电 流 作 为 输 入 使 用 时, 若 内 部 上 拉 电 阻 使 能, 端 口 被 外 部 电 路 拉 低 时 将 输 出 电 流 在 复 位 过 程 中, 即 使 系 统 时 钟 还 未 起 振, 端 口 B 处 于 高 阻 状 态 通 过 时 钟 选 择 熔 丝 位 的 设 置, PB6 可 作 为 反 向 振 荡 放 大 器 或 时 钟 操 作 电 路 的 输 入 端 通 过 时 钟 选 择 熔 丝 位 的 设 置 PB7 可 作 为 反 向 振 荡 放 大 器 的 输 出 端 若 将 片 内 标 定 RC 振 荡 器 作 为 芯 片 时 钟 源, 且 ASSR 寄 存 器 的 AS2 位 设 置,PB7..6 作 为 异 步 T/C2 的 TOSC2.. 输 入 端 端 口 B 的 其 他 功 能 见 P 55 端 口 B 的 第 二 功 能 及 P 22 系 统 时 钟 及 时 钟 选 项 端 口 C 为 7 位 双 向 I/O 口, 具 有 可 编 程 的 内 部 上 拉 电 阻 其 输 出 缓 冲 器 具 有 对 称 的 驱 动 特 性, 可 以 输 出 和 吸 收 大 电 流 作 为 输 入 使 用 时, 若 内 部 上 拉 电 阻 使 能, 端 口 被 外 部 电 路 拉 低 时 将 输 出 电 流 在 复 位 过 程 中, 即 使 系 统 时 钟 还 未 起 振, 端 口 C 处 于 高 阻 状 态 若 RSTDISBL 熔 丝 位 编 程, PC6 作 为 I/O 引 脚 使 用 注 意 PC6 的 电 气 特 性 与 端 口 C 的 其 他 引 脚 不 同 若 RSTDISBL 熔 丝 位 未 编 程, PC6 作 为 复 位 输 入 引 脚 持 续 时 间 超 过 最 小 门 限 时 间 的 低 电 平 将 引 起 系 统 复 位 门 限 时 间 见 P 35Table 5 持 续 时 间 小 于 门 限 时 间 的 脉 冲 不 能 保 证 可 靠 复 位 端 口 C 的 其 他 功 能 见 后 端 口 D 为 8 位 双 向 I/O 口, 具 有 可 编 程 的 内 部 上 拉 电 阻 其 输 出 缓 冲 器 具 有 对 称 的 驱 动 特 性, 可 以 输 出 和 吸 收 大 电 流 作 为 输 入 使 用 时, 若 内 部 上 拉 电 阻 使 能, 则 端 口 被 外 部 电 路 拉 低 时 将 输 出 电 流 在 复 位 过 程 中, 即 使 系 统 时 钟 还 未 起 振, 端 口 D 处 于 高 阻 状 态 端 口 D 的 其 他 功 能 见 后 复 位 输 入 引 脚 持 续 时 间 超 过 最 小 门 限 时 间 的 低 电 平 将 引 起 系 统 复 位 门 限 时 间 见 P 35Table 5 持 续 时 间 小 于 门 限 时 间 的 脉 冲 不 能 保 证 可 靠 复 位 5

AV CC AV CC 是 A/D 转 换 器 端 口 C (3..) 及 ADC (7..6) 的 电 源 不 使 用 ADC 时, 该 引 脚 应 直 接 与 V CC 连 接 使 用 ADC 时 应 通 过 一 个 低 通 滤 波 器 与 V CC 连 接 注 意, 端 口 C (5..4) 为 数 字 电 源, V CC AREF A/D 的 模 拟 基 准 输 入 引 脚 ADC7..6(TQFP 与 MLF 封 装 ) 代 码 例 子 TQFP 与 MLF 封 装 的 ADC7..6 作 为 A/D 转 换 器 的 模 拟 输 入 为 模 拟 电 源 且 作 为 位 ADC 通 道 本 数 据 手 册 包 含 了 一 些 简 单 的 代 码 例 子 以 说 明 如 何 使 用 芯 片 各 个 不 同 的 功 能 模 块 这 些 例 子 都 假 定 在 编 译 之 前 已 经 包 含 了 正 确 的 头 文 件 有 些 C 编 译 器 在 头 文 件 里 并 没 有 包 含 位 定 义, 而 且 各 个 C 编 译 器 对 中 断 处 理 有 自 己 不 同 的 处 理 方 式 请 注 意 查 阅 相 关 文 档 以 获 取 具 体 的 信 息 6 ATmega8(L)

ATmega8(L) AVR CPU 内 核 介 绍 结 构 综 述 本 节 从 总 体 上 讨 论 AVR 内 核 的 结 构 CPU 的 主 要 任 务 是 保 证 程 序 的 正 确 执 行 因 此 它 必 须 能 够 访 问 存 储 器 执 行 运 算 控 制 外 设 以 及 处 理 中 断 Figure 2. AVR MCU 结 构 的 方 框 图 Data Bus 8-bit Flash Program Memory Program Counter Status and Control Instruction Register 32 x 8 General Purpose Registrers Interrupt Unit SPI Unit Instruction Decoder Control Lines Direct Addressing Indirect Addressing ALU Watchdog Timer Analog Comparator i/o Module Data SRAM i/o Module 2 i/o Module n EEPROM I/O Lines 为 了 获 得 最 高 的 性 能 以 及 并 行 性, AVR 采 用 了 Harvard 结 构, 具 有 独 立 的 数 据 和 程 序 总 线 程 序 存 储 器 里 的 指 令 通 过 一 级 流 水 线 运 行 CPU 在 执 行 一 条 指 令 的 同 时 读 取 下 一 条 指 令 ( 在 本 文 称 为 预 取 ) 这 个 概 念 实 现 了 指 令 的 单 时 钟 周 期 运 行 程 序 存 储 器 是 可 以 在 线 编 程 的 Flash 快 速 访 问 寄 存 器 文 件 包 括 32 个 8 位 通 用 工 作 寄 存 器, 访 问 时 间 为 一 个 时 钟 周 期 从 而 实 现 了 单 时 钟 周 期 的 ALU 操 作 在 典 型 的 ALU 操 作 中, 两 个 位 于 寄 存 器 文 件 中 的 操 作 数 同 时 被 访 问, 然 后 执 行 运 算, 结 果 再 被 送 回 到 寄 存 器 文 件 整 个 过 程 仅 需 一 个 时 钟 周 期 寄 存 器 文 件 里 有 6 个 寄 存 器 可 以 用 作 3 个 6 位 的 间 接 寻 址 寄 存 器 指 针 以 寻 址 数 据 空 间, 实 现 高 效 的 地 址 运 算 其 中 一 个 指 针 还 可 以 作 为 程 序 存 储 器 查 询 表 的 地 址 指 针 这 些 附 加 的 功 能 寄 存 器 即 为 6 位 的 X Y Z 寄 存 器 ALU 支 持 寄 存 器 之 间 以 及 寄 存 器 和 常 数 之 间 的 算 术 和 逻 辑 运 算 ALU 也 可 以 执 行 单 寄 存 器 操 作 运 算 完 成 之 后 状 态 寄 存 器 的 内 容 得 到 更 新 以 反 映 操 作 结 果 7

程 序 流 程 通 过 有 / 无 条 件 的 跳 转 指 令 和 调 用 指 令 来 控 制, 从 而 直 接 寻 址 整 个 地 址 空 间 大 多 数 指 令 长 度 为 6 位, 亦 即 每 个 程 序 存 储 器 地 址 都 包 含 一 条 6 位 或 32 位 的 指 令 程 序 存 储 器 空 间 分 为 两 个 区 : 引 导 程 序 区 (Boot 区 ) 和 应 用 程 序 区 这 两 个 区 都 有 专 门 的 锁 定 位 以 实 现 读 和 读 / 写 保 护 用 于 写 应 用 程 序 区 的 SPM 指 令 必 须 位 于 引 导 程 序 区 在 中 断 和 调 用 子 程 序 时 返 回 地 址 的 程 序 计 数 器 (PC) 保 存 于 堆 栈 之 中 堆 栈 位 于 通 用 数 据 SRAM, 因 此 其 深 度 仅 受 限 于 SRAM 的 大 小 在 复 位 例 程 里 用 户 首 先 要 初 始 化 堆 栈 指 针 SP 这 个 指 针 位 于 I/O 空 间, 可 以 进 行 读 写 访 问 数 据 SRAM 可 以 通 过 5 种 不 同 的 寻 址 模 式 进 行 访 问 AVR 存 储 器 空 间 为 线 性 的 平 面 结 构 AVR 有 一 个 灵 活 的 中 断 模 块 控 制 寄 存 器 位 于 I/O 空 间 状 态 寄 存 器 里 有 全 局 中 断 使 能 位 每 个 中 断 在 中 断 向 量 表 里 都 有 独 立 的 中 断 向 量 各 个 中 断 的 优 先 级 与 其 在 中 断 向 量 表 的 位 置 有 关, 中 断 向 量 地 址 越 低, 优 先 级 越 高 I/O 存 储 器 空 间 包 含 64 个 可 以 直 接 寻 址 的 地 址, 作 为 CPU 外 设 的 控 制 寄 存 器 SPI, 以 及 其 他 I/O 功 能 映 射 到 数 据 空 间 即 为 寄 存 器 文 件 之 后 的 地 址 x2 - x5f 8 ATmega8(L)

ATmega8(L) ALU - 算 术 逻 辑 单 元 状 态 寄 存 器 AVR ALU 与 32 个 通 用 工 作 寄 存 器 直 接 相 连 寄 存 器 与 寄 存 器 之 间 寄 存 器 与 立 即 数 之 间 的 ALU 运 算 只 需 要 一 个 时 钟 周 期 ALU 操 作 分 为 3 类 : 算 术 逻 辑 和 位 操 作 此 外 还 提 供 了 支 持 无 / 有 符 号 数 和 分 数 乘 法 的 乘 法 器 具 体 请 参 见 指 令 集 状 态 寄 存 器 包 含 了 最 近 执 行 的 算 术 指 令 的 结 果 信 息 这 些 信 息 可 以 用 来 改 变 程 序 流 程 以 实 现 条 件 操 作 如 指 令 集 所 述, 所 有 ALU 运 算 都 将 影 响 状 态 寄 存 器 的 内 容 这 样, 在 许 多 情 况 下 就 不 需 要 专 门 的 比 较 指 令 了, 从 而 使 系 统 运 行 更 快 速, 代 码 效 率 更 高 在 进 入 中 断 服 务 程 序 时 状 态 寄 存 器 不 会 自 动 保 存, 中 断 返 回 时 也 不 会 自 动 恢 复 这 些 工 作 需 要 软 件 来 处 理 AVR 中 断 寄 存 器 SREG 定 义 如 下 : Bit 7 6 5 4 3 2 I T H S V N Z C SREG 读 / 写 R/W R/W R/W R/W R/W R/W R/W R/W 初 始 值 Bit 7 I: 全 局 中 断 使 能 I 置 位 时 使 能 全 局 中 断 单 独 的 中 断 使 能 由 其 他 独 立 的 控 制 寄 存 器 控 制 如 果 I 清 零, 则 不 论 单 独 中 断 标 志 置 位 与 否, 都 不 会 产 生 中 断 任 意 一 个 中 断 发 生 后 I 清 零, 而 执 行 RETI 指 令 后 I 恢 复 置 位 以 使 能 中 断 I 也 可 以 通 过 SEI 和 CLI 指 令 来 置 位 和 清 零 Bit 6 T: 位 拷 贝 存 储 位 拷 贝 指 令 BLD 和 BST 利 用 T 作 为 目 的 或 源 地 址 BST 把 寄 存 器 的 某 一 位 拷 贝 到 T, 而 BLD 把 T 拷 贝 到 寄 存 器 的 某 一 位 Bit 5 H: 半 进 位 标 志 半 进 位 标 志 H 表 示 算 术 操 作 发 生 了 半 进 位 此 标 志 对 于 BCD 运 算 非 常 有 用 详 见 指 令 集 的 说 明 Bit 4 S: 符 号 位, S = N V S 为 负 数 标 志 N 与 2 的 补 码 溢 出 标 志 V 的 异 或 详 见 指 令 集 的 说 明 Bit 3 V:2 的 补 码 溢 出 标 志 支 持 2 的 补 码 运 算 详 见 指 令 集 的 说 明 Bit 2 N: 负 数 标 志 表 明 算 术 或 逻 辑 操 作 结 果 为 负 详 见 指 令 集 的 说 明 Bit Z: 零 标 志 表 明 算 术 或 逻 辑 操 作 结 果 为 零 详 见 指 令 集 的 说 明 Bit C: 进 位 标 志 表 明 算 术 或 逻 辑 操 作 发 生 了 进 位 详 见 指 令 集 的 说 明 通 用 寄 存 器 文 件 寄 存 器 文 件 针 对 AVR 增 强 型 RISC 指 令 集 做 了 优 化 为 了 获 得 需 要 的 性 能 和 灵 活 性, 寄 存 器 文 件 支 持 以 下 的 输 入 / 输 出 方 案 : 输 出 一 个 8 位 操 作 数, 输 入 一 个 8 位 结 果 输 出 两 个 8 位 位 操 作 数, 输 入 一 个 8 位 结 果 输 出 两 个 8 位 位 操 作 数, 输 入 一 个 6 位 结 果 输 出 一 个 6 位 位 操 作 数, 输 入 一 个 6 位 结 果 Figure 3 为 CPU 32 个 通 用 工 作 寄 存 器 的 结 构 9

Figure 3. AVR CPU 通 用 工 作 寄 存 器 7 Addr. R x R x R2 x2 R3 xd 通 用 R4 xe 工 作 R5 xf 寄 存 器 R6 x R7 x R26 xa X 寄 存 器, 低 字 节 R27 xb X 寄 存 器, 高 字 节 R28 xc Y 寄 存 器, 低 字 节 R29 xd Y 寄 存 器, 高 字 节 R3 xe Z 寄 存 器, 低 字 节 R3 xf Z 寄 存 器, 高 字 节 大 多 数 操 作 寄 存 器 文 件 的 指 令 都 可 以 直 接 访 问 所 有 的 寄 存 器, 而 且 多 数 这 样 的 指 令 的 执 行 时 间 为 单 个 时 钟 周 期 如 Figure 3 所 示, 每 个 寄 存 器 都 有 一 个 数 据 内 存 地 址, 将 他 们 直 接 映 射 到 用 户 数 据 空 间 的 头 32 个 地 址 虽 然 寄 存 器 文 件 的 物 理 实 现 不 是 SRAM, 这 种 内 存 组 织 方 式 在 访 问 寄 存 器 方 面 具 有 极 大 的 灵 活 性, 因 为 X Y Z 寄 存 器 可 以 设 置 为 指 向 任 意 寄 存 器 的 指 针 ATmega8(L)

ATmega8(L) X Y Z 寄 存 器 寄 存 器 R26..R3 除 了 用 作 通 用 寄 存 器 外, 还 可 以 作 为 数 据 间 接 寻 址 用 的 地 址 指 针 这 三 个 间 接 寻 址 寄 存 器 示 于 Figure 4 Figure 4. X Y Z 寄 存 器 5 XH XL X 寄 存 器 7 7 R27 (xb) R26 (xa) 5 YH YL Y 寄 存 器 7 7 R29 (xd) R28 (xc) 5 ZH ZL Z 寄 存 器 7 7 R3 (xf) R3 (xe) 在 不 同 的 寻 址 模 式 中, 这 些 地 址 寄 存 器 可 以 实 现 固 定 偏 移 量, 自 动 加 一 和 自 动 减 一 功 能 具 体 细 节 请 参 见 指 令 集 堆 栈 指 针 堆 栈 指 针 主 要 用 来 保 存 临 时 数 据 局 部 变 量 和 中 断 / 子 程 序 的 返 回 地 址 堆 栈 指 针 总 是 指 向 堆 栈 的 顶 部 要 注 意 AVR 的 堆 栈 是 向 下 生 长 的, 即 新 数 据 推 入 堆 栈 时, 堆 栈 指 针 的 数 值 将 减 小 堆 栈 指 针 指 向 数 据 SRAM 堆 栈 区 在 此 聚 集 了 子 程 序 堆 栈 和 中 断 堆 栈 调 用 子 程 序 和 使 能 中 断 之 前 必 须 定 义 堆 栈 空 间, 且 堆 栈 指 针 必 须 指 向 高 于 x6 的 地 址 空 间 使 用 PUSH 指 令 将 数 据 推 入 堆 栈 时 指 针 减 一 ; 而 子 程 序 或 中 断 返 回 地 址 推 入 堆 栈 时 指 针 将 减 二 使 用 POP 指 令 将 数 据 弹 出 堆 栈 时, 堆 栈 指 针 加 一 ; 而 用 RET 或 RETI 指 令 从 子 程 序 或 中 断 返 回 时 堆 栈 指 针 加 二 AVR 的 堆 栈 指 针 由 I/O 空 间 中 的 两 个 8 位 寄 存 器 实 现 实 际 使 用 的 位 数 与 具 体 器 件 有 关 请 注 意 某 些 AVR 器 件 的 数 据 区 太 小, 用 SPL 就 足 够 了 此 时 将 不 给 出 SPH 寄 存 器 Bit 5 4 3 2 9 8 SP5 SP4 SP3 SP2 SP SP SP9 SP8 SPH SP7 SP6 SP5 SP4 SP3 SP2 SP SP SPL 7 6 5 4 3 2 读 / 写 R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W 初 始 值 指 令 执 行 时 序 这 一 节 介 绍 指 令 执 行 过 程 中 的 访 问 时 序 AVR CPU 由 系 统 时 钟 clk CPU 驱 动 此 时 钟 直 接 来 自 选 定 的 时 钟 源 芯 片 内 部 不 对 此 时 钟 进 行 分 频 Figure 5 说 明 了 由 Harvard 结 构 决 定 的 并 行 取 指 和 指 令 执 行, 以 及 可 以 进 行 快 速 访 问 的 寄 存 器 文 件 的 概 念 这 是 一 个 基 本 的 流 水 线 概 念, 性 能 高 达 MIPS/MHz, 具 有 优 良 的 性 价 比 功 能 / 时 钟 比 功 能 / 功 耗 比

Figure 5. 并 行 取 指 和 指 令 执 行 T T2 T3 T4 clk CPU st Instruction Fetch st Instruction Execute 2nd Instruction Fetch 2nd Instruction Execute 3rd Instruction Fetch 3rd Instruction Execute 4th Instruction Fetch Figure 6 演 示 的 是 寄 存 器 文 件 内 部 访 问 时 序 在 一 个 时 钟 周 期 里,ALU 可 以 同 时 对 两 个 寄 存 器 操 作 数 进 行 操 作, 同 时 将 结 果 保 存 到 目 的 寄 存 器 中 去 Figure 6. 单 时 钟 周 期 ALU 操 作 T T2 T3 T4 clk CPU Total Execution Time Register Operands Fetch ALU Operation Execute Result Write Back 复 位 与 中 断 处 理 AVR 有 不 同 的 中 断 源 每 个 中 断 和 复 位 在 程 序 空 间 都 有 独 立 的 中 断 向 量 所 有 的 中 断 事 件 都 有 自 己 的 使 能 位 当 使 能 位 置 位, 且 状 态 寄 存 器 的 全 局 中 断 使 能 位 I 也 置 位 时, 中 断 可 以 发 生 根 据 程 序 计 数 器 PC 的 不 同, 在 引 导 锁 定 位 BLB2 或 BLB2 被 编 程 的 情 况 下, 中 断 可 能 被 自 动 禁 止 这 个 特 性 提 高 了 软 件 的 安 全 性 详 见 P 29 存 储 器 编 程 的 描 述 程 序 存 储 区 的 最 低 地 址 缺 省 为 复 位 向 量 和 中 断 向 量 完 整 的 向 量 列 表 请 参 见 P 43 中 断 列 表 也 决 定 了 不 同 中 断 的 优 先 级 向 量 所 在 的 地 址 越 低, 优 先 级 越 高 RESET 具 有 最 高 的 优 先 级, 第 二 个 为 INT 外 部 中 断 请 求 通 过 置 位 通 用 中 断 控 制 寄 存 器 (GICR) 的 IVSEL, 中 断 向 量 可 以 移 至 引 导 Flash 的 起 始 处, 参 见 P 43 中 断 编 程 熔 丝 位 BOOTRST 也 可 以 将 复 位 向 量 移 至 引 导 Flash 的 起 始 处 具 体 参 见 P 96 支 持 引 导 装 入 程 序 - 在 写 的 同 时 可 以 读 (RWW, Read-While-Write) 的 自 我 编 程 能 力 任 一 中 断 发 生 时 全 局 中 断 使 能 位 I 被 清 零, 从 而 禁 止 了 所 有 其 他 的 中 断 用 户 软 件 可 以 在 中 断 程 序 里 置 位 I 来 实 现 中 断 嵌 套 此 时 所 有 的 中 断 都 可 以 中 断 当 前 的 中 断 服 务 程 序 执 行 RETI 指 令 后 I 自 动 置 位 从 根 本 上 说 有 两 种 类 型 的 中 断 第 一 种 由 事 件 触 发 并 置 位 中 断 标 志 对 于 这 些 中 断, 程 序 计 数 器 跳 转 到 实 际 的 中 断 向 量 以 执 行 中 断 处 理 程 序, 同 时 硬 件 将 清 除 相 应 的 中 断 标 志 中 断 标 志 也 可 以 通 过 对 其 写 的 方 式 来 清 除 当 中 断 发 生 后, 如 果 相 应 的 中 断 使 能 位 为 "", 则 中 断 标 志 位 置 位, 并 一 直 保 持 到 中 断 执 行, 或 者 被 软 件 清 除 类 似 的, 如 果 全 局 中 断 标 志 被 清 零, 则 所 有 已 发 生 的 中 断 都 不 会 被 执 行, 直 到 I 置 位 然 后 挂 起 的 各 个 中 断 按 中 断 优 先 级 依 次 执 行 2 ATmega8(L)

ATmega8(L) 第 二 种 类 型 的 中 断 则 是 只 要 中 断 条 件 满 足, 就 会 一 直 触 发 这 些 中 断 不 需 要 中 断 标 志 若 中 断 条 件 在 中 断 使 能 之 前 就 消 失 了, 中 断 不 会 被 触 发 AVR 退 出 中 断 后 总 是 回 到 主 程 序 并 至 少 执 行 一 条 指 令 才 可 以 去 执 行 其 他 被 挂 起 的 中 断 要 注 意 的 是, 进 入 中 断 服 务 程 序 时 状 态 寄 存 器 不 会 自 动 保 存, 中 断 返 回 时 也 不 会 自 动 恢 复 这 些 工 作 必 须 由 用 户 通 过 软 件 来 完 成 使 用 CLI 指 令 来 禁 止 中 断 时, 中 断 禁 止 立 即 生 效 没 有 中 断 可 以 在 执 行 CLI 指 令 后 发 生, 即 使 它 是 在 执 行 CLI 指 令 的 同 时 发 生 的 下 面 的 例 子 说 明 了 如 何 在 写 EEPROM 时 使 用 这 个 指 令 来 防 止 中 断 发 生 以 避 免 对 EEPROM 内 容 的 破 坏 汇 编 代 码 例 程 in r6, SREG ; 保 存 SREG cli ; 禁 止 中 断 sbi EECR, EEMWE ; 启 动 EEPROM 写 操 作 sbi EECR, EEWE out SREG, r6 ; 恢 复 SREG (I 位 ) C 代 码 例 程 char csreg; csreg = SREG; /* 保 存 SREG */ /* 禁 止 中 断 */ _CLI(); EECR = (<<EEMWE); /* 启 动 EEPROM 写 操 作 */ EECR = (<<EEWE); SREG = csreg; /* 恢 复 SREG (I 位 ) */ 使 用 SEI 指 令 使 能 中 断 时, 紧 跟 其 后 的 第 一 条 指 令 在 执 行 任 何 中 断 之 前 一 定 会 首 先 得 到 执 行 汇 编 代 码 例 程 sei ; 置 位 全 局 中 断 使 能 标 志 sleep ; 进 入 休 眠 模 式, 等 待 中 断 发 生 ; 注 意 : 在 执 行 任 何 被 挂 起 的 中 断 之 前 MCU 将 首 先 进 入 休 眠 模 式 C 代 码 例 程 _SEI(); /* 置 位 全 局 中 断 使 能 标 志 */ _SLEEP(); /* 进 入 休 眠 模 式, 等 待 中 断 发 生 */ /* 注 意 : 在 执 行 任 何 被 挂 起 的 中 断 之 前 MCU 将 首 先 进 入 休 眠 模 式 */ 中 断 响 应 时 间 AVR 中 断 响 应 时 间 最 少 为 4 个 时 钟 周 期 4 个 时 钟 周 期 后, 程 序 跳 转 到 实 际 的 中 断 处 理 例 程 在 这 4 个 时 钟 期 期 间 PC 自 动 入 栈 在 通 常 情 况 下, 中 断 向 量 为 一 个 跳 转 指 令, 此 跳 转 需 要 3 个 时 钟 周 期 如 果 中 断 在 一 个 多 时 钟 周 期 指 令 执 行 期 间 发 生, 则 在 此 多 周 期 指 令 执 行 完 毕 后 MCU 才 会 执 行 中 断 程 序 若 中 断 发 生 时 MCU 处 于 休 眠 模 式, 中 断 响 应 时 间 还 需 增 加 4 个 时 钟 周 期 此 外 还 要 考 虑 到 不 同 的 休 眠 模 式 所 需 要 的 启 动 时 间 中 断 返 回 需 要 4 个 时 钟 在 此 期 间 PC( 两 个 字 节 ) 将 被 弹 出 栈, 堆 栈 指 针 加 二, 状 态 寄 存 器 SREG 的 I 置 位 3

AVR ATmega8 存 储 器 系 统 内 可 编 程 的 Flash 程 序 存 储 器 本 节 讲 述 ATmega8 的 存 储 器 AVR 结 构 具 有 两 个 主 要 的 存 储 器 空 间 : 数 据 存 储 器 空 间 和 程 序 存 储 器 空 间 此 外, ATmega8 还 有 EEPROM 存 储 器 以 保 存 数 据 这 三 个 存 储 器 空 间 都 为 线 性 的 平 面 结 构 ATmega8 具 有 8K 字 节 的 在 线 编 程 Flash, 用 于 存 放 程 序 指 令 代 码 因 为 所 有 的 AVR 指 令 为 6 位 或 32 位, 故 而 Flash 组 织 成 4K x 6 位 的 形 式 用 户 程 序 的 安 全 性 要 根 据 Flash 程 序 存 储 器 的 两 个 区 : 引 导 (Boot) 程 序 区 和 应 用 程 序 区, 分 开 来 考 虑 Flash 存 储 器 至 少 可 以 擦 写, 次 ATmega8 的 程 序 计 数 器 (PC) 为 2 位, 因 此 可 以 寻 址 4K 字 的 程 序 存 储 器 空 间 引 导 程 序 区 以 及 相 关 的 软 件 安 全 锁 定 位 请 参 见 P 96 支 持 引 导 装 入 程 序 - 在 写 的 同 时 可 以 读 (RWW, Read-While-Write) 的 自 我 编 程 能 力, 而 P 29 存 储 器 编 程 详 述 了 用 SPI 或 平 行 编 程 模 式 实 现 对 Flash 编 程 常 数 可 以 保 存 于 整 个 程 序 存 储 器 地 址 空 间 ( 参 考 LPM 加 载 程 序 存 储 器 指 令 的 说 明 ) 取 指 与 执 行 时 序 图 请 参 见 P 指 令 执 行 时 序 Figure 7. 程 序 存 储 器 映 像 $ Application Flash Section Boot Flash Section $FFF 4 ATmega8(L)

ATmega8(L) SRAM 数 据 存 储 器 Figure 8 给 出 了 ATmega8 SRAM 空 间 的 组 织 结 构 前 2 个 数 据 存 储 器 包 括 了 寄 存 器 文 件 I/O 存 储 器 及 内 部 数 据 SRAM 起 始 的 96 个 地 址 为 寄 存 器 文 件 与 I/O 存 储 器, 接 着 是 24 字 节 的 内 部 数 据 SRAM 数 据 存 储 器 的 寻 址 方 式 分 为 5 种 : 直 接 寻 址 带 偏 移 量 的 间 接 寻 址 间 接 寻 址 带 预 减 量 的 间 接 寻 址 和 带 后 增 量 的 间 接 寻 址 寄 存 器 文 件 中 的 寄 存 器 R26 到 R3 为 间 接 寻 址 的 指 针 寄 存 器 直 接 寻 址 范 围 可 达 整 个 数 据 区 带 偏 移 量 的 间 接 寻 址 模 式 能 够 寻 址 到 由 寄 存 器 Y 和 Z 给 定 的 基 址 附 近 的 63 个 地 址 在 自 动 预 减 和 后 加 的 间 接 寻 址 模 式 中, 寄 存 器 X Y 和 Z 自 动 增 加 或 减 少 ATmega8 的 全 部 32 个 通 用 寄 存 器 64 个 I/O 寄 存 器 及 24 个 字 节 的 内 部 数 据 SRAM 可 以 通 过 所 有 上 述 的 寻 址 模 式 进 行 访 问 寄 存 器 文 件 的 描 述 见 P 9 通 用 寄 存 器 文 件 Figure 8. 数 据 存 储 器 映 像 Register File R R R2... Data Address Space $ $ $2... R29 R3 R3 I/O Registers $ $ $2... $3D $3E $3F $D $E $F $2 $2 $22... $5D $5E $5F Internal SRAM $6 $6... $45E $45F 5

数 据 存 储 器 访 问 时 间 本 节 说 明 访 问 内 部 存 储 器 的 时 序, 内 部 数 据 SRAM 访 问 时 间 为 两 个 clk CPU 时 钟, 如 Figure 9 所 示 Figure 9. 片 上 数 据 SRAM 存 取 周 期 T T2 T3 clk CPU Address Compute Address Address Valid Data WR Data RD Read Write Memory Vccess Instruction Next Instruction EEPROM 数 据 存 储 器 ATmega8 包 含 52 字 节 的 EEPROM 数 据 存 储 器 它 是 作 为 一 个 独 立 的 数 据 空 间 而 存 在 的, 可 以 按 字 节 读 写 EEPROM 的 寿 命 至 少 为, 次 擦 除 周 期 EEPROM 的 访 问 由 地 址 寄 存 器 数 据 寄 存 器 和 控 制 寄 存 器 决 定 P 29 存 储 器 编 程 包 含 使 用 SPI 或 并 行 编 程 模 式 对 EEPROM 编 程 EEPROM 读 / 写 访 问 EEPROM 的 访 问 寄 存 器 位 于 I/O 空 间 EEPROM 的 写 访 问 时 间 由 Table 给 出 自 定 时 功 能 可 以 让 用 户 软 件 监 测 何 时 可 以 开 始 写 下 一 字 节 用 户 操 作 EEPROM 需 要 注 意 如 下 问 题 : 在 电 源 滤 波 时 间 常 数 比 较 大 的 电 路 中, 上 电 / 下 电 时 V CC 上 升 / 下 降 速 度 会 比 较 慢 此 时 CPU 可 能 工 作 于 低 于 晶 振 所 要 求 的 电 源 电 压 请 参 见 P 2 防 止 EEPROM 数 据 丢 失 以 避 免 出 现 EEPROM 数 据 丢 失 的 问 题 为 了 防 止 无 意 间 对 EEPROM 的 写 操 作, 需 要 执 行 一 个 特 定 的 写 时 序 具 体 参 看 EEPROM 控 制 寄 存 器 的 内 容 执 行 EEPROM 读 操 作 时, CPU 会 停 止 工 作 4 个 周 期, 然 后 再 执 行 后 续 指 令 ; 执 行 EEPROM 写 操 作 时, CPU 会 停 止 工 作 2 个 周 期, 然 后 再 执 行 后 续 指 令 6 ATmega8(L)

ATmega8(L) EEPROM 地 址 寄 存 器 - EEARH 和 EEARL Bit 5 4 3 2 9 8 EEAR8 EEARH EEAR7 EEAR6 EEAR5 EEAR4 EEAR3 EEAR2 EEAR EEAR EEARL 7 6 5 4 3 2 读 / 写 R R R R R R R R/W R/W R/W R/W R/W R/W R/W R/W R/W 初 始 值 X X X X X X X X X Bits 5..9 Res: 保 留 保 留 位, 读 操 作 返 回 值 为 零 Bits 8.. EEAR8..: EEPROM 地 址 EEPROM 地 址 寄 存 器 EEARH 和 EEARL 指 定 了 52 字 节 的 EEPROM 空 间 EEPROM 地 址 是 线 性 的, 从 到 5 EEAR 的 初 始 值 没 有 定 义 在 访 问 EEPROM 之 前 必 须 为 其 赋 予 正 确 的 数 据 EEPROM 数 据 寄 存 器 - EEDR Bit 7 6 5 4 3 2 MSB LSB EEDR 读 / 写 R/W R/W R/W R/W R/W R/W R/W R/W 初 始 值 Bits 7.. EEDR7..: EEPROM 数 据 对 于 EEPROM 写 操 作, EEDR 是 需 要 写 到 EEAR 单 元 的 数 据 ; 对 于 读 操 作, EEDR 是 从 地 址 EEAR 读 取 的 数 据 EEPROM 控 制 寄 存 器 - EECR Bit 7 6 5 4 3 2 EERIE EEMWE EEWE EERE EECR 读 / 写 R R R R R/W R/W R/W R/W 初 始 值 X Bits 7..4 Res: 保 留 保 留 位, 读 操 作 返 回 值 为 零 Bit 3 EERIE: EEPROM 就 绪 中 断 使 能 若 SREG 的 I 为 "", 则 置 位 EERIE 将 使 能 EEPROM 就 绪 中 断 清 零 EERIE 则 禁 止 此 中 断 当 EEWE 清 零 时 EEPROM 就 绪 中 断 即 可 发 生 Bit 2 EEMWE: EEPROM 主 机 写 使 能 EEMWE 决 定 了 EEWE 置 位 是 否 可 以 启 动 EEPROM 写 操 作 当 EEMWE 为 "" 时, 在 4 个 时 钟 周 期 内 置 位 EEWE 将 把 数 据 写 入 EEPROM 的 指 定 地 址 ; 若 EEMWE 为 ", 则 操 作 EEWE 不 起 作 用 EEMWE 置 位 后 4 个 周 期, 硬 件 对 其 清 零 见 EEPROM 写 过 程 中 对 EEWE 位 的 描 述 Bit EEWE: EEPROM 写 使 能 EEWE 为 EEPROM 写 操 作 的 使 能 信 号 当 EEPROM 数 据 和 地 址 设 置 好 之 后, 需 置 位 EEWE 以 便 将 数 据 写 入 EEPROM 此 时 EEMWE 必 须 置 位, 否 则 EEPROM 写 操 作 将 不 会 发 生 写 时 序 如 下 ( 第 3 步 和 第 4 步 的 次 序 并 不 重 要 ):. 等 待 EEWE 位 变 为 零 2. 等 待 SPMCSR 中 的 SPMEN 位 变 为 零 3. 将 新 的 EEPROM 地 址 写 入 EEAR( 可 选 ) 7

4. 将 新 的 EEPROM 数 据 写 入 EEDR( 可 选 ) 5. 对 EECR 寄 存 器 的 EEMWE 写 "", 同 时 清 零 EEWE 6. 在 置 位 EEMWE 的 4 个 周 期 内, 置 位 EEWE 在 CPU 写 Flash 存 储 器 的 时 候 不 能 对 EEPROM 进 行 编 程 在 启 动 EEPROM 写 操 作 之 前 软 件 必 须 检 查 Flash 写 操 作 是 否 已 经 完 成 步 骤 (2) 仅 在 软 件 包 含 引 导 程 序 并 允 许 CPU 对 Flash 进 行 编 程 时 才 有 用 如 果 CPU 永 远 都 不 会 写 Flash, 步 骤 (2) 可 省 略 请 参 见 P 96 支 持 引 导 装 入 程 序 - 在 写 的 同 时 可 以 读 (RWW, Read-While-Write) 的 自 我 编 程 能 力 注 意 : 如 果 在 步 骤 5 和 6 之 间 发 生 了 中 断, 写 操 作 将 失 败 因 为 此 时 EEPROM 写 使 能 操 作 将 超 时 如 果 一 个 操 作 EEPROM 的 中 断 打 断 了 另 一 个 EEPROM 操 作,EEAR 或 EEDR 寄 存 器 可 能 被 修 改, 引 起 EEPROM 操 作 失 败 建 议 此 时 关 闭 全 局 中 断 标 志 I 经 过 写 访 问 时 间 之 后,EEWE 硬 件 清 零 用 户 可 以 凭 借 这 一 位 判 断 写 时 序 是 否 已 经 完 成 EEWE 置 位 后, CPU 要 停 止 两 个 时 钟 周 期 才 会 运 行 下 一 条 指 令 Bit EERE: EEPROM 读 使 能 EERE 为 EEPROM 读 操 作 的 使 能 信 号 当 EEPROM 地 址 设 置 好 之 后, 需 置 位 EERE 以 便 将 数 据 读 入 EEAR EEPROM 数 据 的 读 取 只 需 要 一 条 指 令, 且 无 需 等 待 读 取 EEPROM 后 CPU 要 停 止 4 个 时 钟 周 期 才 可 以 执 行 下 一 条 指 令 用 户 在 读 取 EEPROM 时 应 该 检 测 EEWE 如 果 一 个 写 操 作 正 在 进 行, 就 无 法 读 取 EEPROM, 也 无 法 改 变 寄 存 器 EEAR 经 过 校 准 的 片 内 振 荡 器 用 于 EEPROM 定 时 Table 为 CPU 访 问 EEPROM 的 典 型 时 间 Table. EEPROM 编 程 时 间 符 号 () 校 准 的 RC 振 荡 器 周 期 数 典 型 的 编 程 时 间 EEPROM 写 操 作 (CPU) 8448 8.5 ms Note:. 使 用 时 钟 频 率 为 MHz, 不 倚 赖 CKSEL 熔 丝 位 的 设 置 8 ATmega8(L)

ATmega8(L) 下 面 的 代 码 分 别 用 汇 编 和 C 函 数 说 明 如 何 实 现 EEPROM 的 写 操 作 在 此 假 设 中 断 不 会 在 执 行 这 些 函 数 的 过 程 当 中 发 生 同 时 还 假 设 软 件 没 有 Boot Loader 若 Boot Loader 存 在, 则 EEPROM 写 函 数 还 需 要 等 待 正 在 运 行 的 SPM 命 令 的 结 束 汇 编 代 码 例 程 EEPROM_write: ; 等 待 上 一 次 写 操 作 结 束 sbic EECR,EEWE rjmp EEPROM_write ; 设 置 地 址 寄 存 器 (r8:r7) out EEARH, r8 out EEARL, r7 ; 将 数 据 写 入 数 据 寄 存 器 (r6) out EEDR,r6 ; 置 位 EEMWE sbi EECR,EEMWE ; 置 位 EEWE 以 启 动 写 操 作 sbi EECR,EEWE ret C 代 码 例 程 void EEPROM_write(unsigned int uiaddress, unsigned char ucdata) { /* 等 待 上 一 次 写 操 作 结 束 */ while(eecr & (<<EEWE)) ; /* 设 置 地 址 和 数 据 寄 存 器 */ EEAR = uiaddress; EEDR = ucdata; /* 置 位 EEMWE */ EECR = (<<EEMWE); /* 置 位 EEWE 以 启 动 写 操 作 */ EECR = (<<EEWE); } 9

下 面 的 例 子 说 明 如 何 用 汇 编 和 C 函 数 来 读 取 EEPROM, 在 此 假 设 中 断 不 会 在 执 行 这 些 函 数 的 过 程 当 中 发 生 汇 编 代 码 例 程 EEPROM_read: ; 等 待 上 一 次 写 操 作 结 束 sbic EECR,EEWE rjmp EEPROM_read ; 设 置 地 址 寄 存 器 (r8:r7) out EEARH, r8 out EEARL, r7 ; 设 置 EERE 以 启 动 读 操 作 sbi EECR,EERE ; 自 数 据 寄 存 器 读 取 数 据 in r6,eedr ret C 代 码 例 程 unsigned char EEPROM_read(unsigned int uiaddress) { /* 等 待 上 一 次 写 操 作 结 束 */ while(eecr & (<<EEWE)) ; /* 设 置 地 址 寄 存 器 */ EEAR = uiaddress; /* 设 置 EERE 以 启 动 读 操 作 */ EECR = (<<EERE); /* 自 数 据 寄 存 器 返 回 数 据 */ return EEDR; } 在 掉 电 休 眠 模 式 下 的 EEPROM 写 操 作 防 止 EEPROM 数 据 丢 失 若 程 序 执 行 掉 电 指 令 时 EEPROM 的 写 操 作 正 在 进 行, EEPROM 的 写 操 作 将 继 续, 并 在 指 定 的 写 访 问 时 间 之 前 完 成 但 写 操 作 结 束 后, 振 荡 器 还 将 继 续 运 行, 芯 片 并 非 处 于 完 全 的 掉 电 模 式 因 此 在 执 行 掉 电 指 令 之 前 应 结 束 EEPROM 的 写 操 作 若 电 源 电 压 过 低,CPU 和 EEPROM 有 可 能 工 作 不 正 常, 造 成 EEPROM 数 据 的 毁 坏 ( 丢 失 ) 这 种 情 况 在 使 用 独 立 的 EEPROM 器 件 时 也 会 遇 到 因 而 需 要 使 用 相 同 的 保 护 方 案 由 于 电 压 过 低 造 成 EEPROM 数 据 损 坏 有 两 种 可 能 : 一 是 电 压 低 于 EEPROM 写 操 作 所 需 要 的 最 低 电 压 ; 二 是 CPU 本 身 已 经 无 法 正 常 工 作 EEPROM 数 据 损 坏 的 问 题 可 以 通 过 以 下 方 法 解 决 : 当 电 压 过 低 时 保 持 AVR RESET 信 号 为 低 这 可 以 通 过 使 能 芯 片 的 掉 电 检 测 电 路 BOD 来 实 现 如 果 BOD 电 平 无 法 满 足 要 求 则 可 以 使 用 外 部 复 位 电 路 若 写 操 作 过 程 当 中 发 生 了 复 位, 只 要 电 压 足 够 高, 写 操 作 仍 将 正 常 结 束 I/O 存 储 器 ATmega8 的 I/O 空 间 定 义 见 P 27 2 ATmega8(L) ATmega8 所 有 的 I/O 及 外 设 都 被 放 置 于 I/O 空 间 所 有 的 I/O 位 置 都 可 以 通 过 IN 与 OUT 指 令 来 访 问, 在 32 个 通 用 工 作 寄 存 器 和 I/O 之 间 传 输 数 据 地 址 为 x - xf 的 I/O 寄 存 器 还 可 用 SBI 和 CBI 指 令 直 接 进 行 位 寻 址, 而 SBIS 和 SBIC 则 用 来 检 查 某 一 位 的 值 更 多 内 容 请 参 见 指 令 集 使 用 IN 和 OUT 指 令 时 地 址 必 须 在 x - x3f 之 间 如 果 要 象 SRAM 一 样 通 过 LD 和 ST 指 令 访 问 I/O 寄 存 器, 相 应 的 地 址 要 加 上 x2

ATmega8(L) 为 了 与 后 续 产 品 兼 容, 保 留 未 用 的 未 应 写 "", 而 保 留 的 I/O 寄 存 器 则 不 应 进 行 写 操 作 一 些 状 态 标 志 位 的 清 除 是 通 过 写 "" 来 实 现 的 要 注 意 的 是, 与 其 他 大 多 数 AVR 不 同, CBI 和 SBI 指 令 只 能 对 某 些 特 定 的 位 进 行 操 作, 因 而 可 以 用 于 包 含 这 些 状 态 标 志 的 寄 存 器 CBI 与 SBI 指 令 只 对 x 到 xf 的 寄 存 器 有 效 I/O 和 外 设 控 制 寄 存 器 在 后 续 其 他 章 节 进 行 介 绍 2

系 统 时 钟 及 时 钟 选 项 时 钟 系 统 及 其 分 布 Figure 为 AVR 的 主 要 时 钟 系 统 及 其 分 布 这 些 时 钟 并 不 需 要 同 时 工 作 为 了 降 低 功 耗, 可 以 通 过 使 用 不 同 的 睡 眠 模 式 来 禁 止 无 需 工 作 的 模 块 的 时 钟, 详 见 P 3 电 源 管 理 及 睡 眠 模 式 时 钟 系 统 详 见 Figure Figure. 时 钟 分 布 Asynchronous Timer/Counter General I/O Modules ADC CPU Core RAM Flash and EEPROM clk ADC clk I/O AVR Clock Control Unit clk CPU clk ASY clk FLASH Reset Logic Watchdog Timer Source Clock Watchdog Clock Clock Multiplexer Watchdog Oscillator Timer/Counter Oscillator External RC Oscillator External Clock Crystal Oscillator Low-Frequency Crystal Oscillator Calibrated RC Oscillator CPU 时 钟 - clk CPU I/O 时 钟 - clk I/O CPU 时 钟 与 操 作 AVR 内 核 的 子 系 统 相 连, 如 通 用 寄 存 器 文 件 状 态 寄 存 器 及 保 存 堆 栈 指 针 的 数 据 存 储 器 终 止 CPU 时 钟 将 使 内 核 停 止 工 作 和 计 算 I/O 时 钟 用 于 主 要 的 I/O 模 块, 如 定 时 器 / 计 数 器 SPI 和 USART I/O 时 钟 还 用 于 外 部 中 断 模 块 要 注 意 的 是 有 些 外 部 中 断 由 异 步 逻 辑 检 测, 因 此 即 使 I/O 时 钟 停 止 了 这 些 中 断 仍 然 可 以 得 到 监 控 此 外, USI 模 块 的 起 始 条 件 检 测 在 没 有 clk I/O 的 情 况 下 也 是 异 步 实 现 的, 使 得 这 个 功 能 在 任 何 睡 眠 模 式 下 都 可 以 正 常 工 作 Flash 时 钟 - clk FLASH Flash 时 钟 控 制 Flash 接 口 的 操 作 此 时 钟 通 常 与 CPU 时 钟 同 时 挂 起 或 激 活 22 ATmega8(L)

ATmega8(L) 异 步 定 时 器 时 钟 - clk ASY ADC 时 钟 - clk ADC 时 钟 源 异 步 定 时 器 时 钟 允 许 异 步 定 时 器 / 计 数 器 直 接 由 外 部 32 khz 时 钟 晶 体 驱 动 使 得 此 定 时 器 / 计 数 器 即 使 在 睡 眠 模 式 下 仍 然 可 以 为 系 统 提 供 一 个 实 时 时 钟 异 步 定 时 器 / 计 数 器 与 CPU 主 时 钟 使 用 相 同 的 XTAL 引 脚, 但 其 需 要 的 时 钟 频 率 是 振 荡 器 频 率 的 四 倍 因 此, 只 有 当 芯 片 使 用 内 部 振 荡 器 时 异 步 操 作 才 有 效 ADC 具 有 专 门 的 时 钟 这 样 可 以 在 ADC 工 作 的 时 候 停 止 CPU 和 I/O 时 钟 以 降 低 数 字 电 路 产 生 的 噪 声, 从 而 提 高 ADC 转 换 精 度 ATmega8 芯 片 有 如 下 几 种 通 过 Flash 熔 丝 位 进 行 选 择 的 时 钟 源 时 钟 输 入 到 AVR 时 钟 发 生 器, 再 分 配 到 相 应 的 模 块 Table 2. 时 钟 源 选 择 () 芯 片 时 钟 选 项 CKSEL3.. 外 部 晶 体 / 陶 瓷 振 荡 器 - 外 部 低 频 晶 振 外 部 RC 振 荡 器 - 标 定 的 内 部 RC 振 荡 器 - 外 部 时 钟 Note:. 对 于 所 有 的 熔 丝 位, 表 示 未 编 程, 表 示 已 编 程 不 同 的 时 钟 选 项 将 在 后 续 部 分 进 行 介 绍 当 CPU 自 掉 电 模 式 或 省 电 模 式 唤 醒 之 后, 被 选 择 的 时 钟 源 用 来 为 启 动 过 程 定 时, 保 证 振 荡 器 在 开 始 执 行 指 令 之 前 进 入 稳 定 状 态 当 CPU 从 复 位 开 始 工 作 时, 还 有 额 外 的 延 迟 时 间 以 保 证 在 MCU 开 始 正 常 工 作 之 前 电 源 达 到 稳 定 电 平 这 个 启 动 时 间 的 定 时 由 看 门 狗 振 荡 器 完 成 看 门 狗 溢 出 时 间 所 对 应 的 WDT 振 荡 器 周 期 数 列 于 Table 3 看 门 狗 振 荡 器 的 频 率 由 工 作 电 压 决 定, 详 见 ATmega8 典 型 特 性 芯 片 出 厂 时 CKSEL =, SUT = ( MHz 片 内 RC 振 荡 器, 电 源 缓 慢 上 升 ) Table 3. 看 门 狗 振 荡 器 周 期 数 典 型 的 溢 出 时 间 (V CC = 5.V) 典 型 的 溢 出 时 间 (V CC = 3.V) 时 钟 周 期 数 4. ms 4.3 ms 4K (4,96) 65 ms 69 ms 64K (65,536) 23

晶 体 振 荡 器 XTAL 与 XTAL2 分 别 为 用 作 片 内 振 荡 器 的 反 向 放 大 器 的 输 入 和 输 出, 如 Figure 所 示, 这 个 振 荡 器 可 以 使 用 石 英 晶 体, 也 可 以 使 用 陶 瓷 谐 振 器 熔 丝 位 CKOPT 用 来 选 择 这 两 种 放 大 器 模 式 的 其 中 之 一 当 CKOPT 被 编 程 时 振 荡 器 在 输 出 引 脚 产 生 满 幅 度 的 振 荡 这 种 模 式 适 合 于 噪 声 环 境, 以 及 需 要 通 过 XTAL2 驱 动 第 二 个 时 钟 缓 冲 器 的 情 况 而 且 这 种 模 式 的 频 率 范 围 比 较 宽 当 保 持 CKOPT 为 未 编 程 状 态 时, 振 荡 器 的 输 出 信 号 幅 度 比 较 小 其 优 点 是 大 大 降 低 了 功 耗, 但 是 频 率 范 围 比 较 窄, 而 且 不 能 驱 动 其 他 时 钟 缓 冲 器 对 于 谐 振 器, CKOPT 未 编 程 时 的 最 大 频 率 为 8 MHz, CKOPT 编 程 时 为 6 MHz C 和 C2 的 数 值 要 一 样, 不 管 使 用 的 是 晶 体 还 是 谐 振 器 最 佳 的 数 值 与 使 用 的 晶 体 或 谐 振 器 有 关, 还 与 杂 散 电 容 和 环 境 的 电 磁 噪 声 有 关 Table 4 给 出 了 针 对 晶 体 选 择 电 容 的 一 些 指 南 对 于 陶 瓷 谐 振 器, 应 该 使 用 厂 商 提 供 的 数 值 若 想 得 到 更 多 的 有 关 如 何 选 择 电 容 以 及 振 荡 器 如 何 工 作 的 信 息, 请 参 考 多 用 途 振 荡 器 应 用 手 册 Figure. 晶 体 振 荡 器 连 接 图 C2 C XTAL2 XTAL GND 振 荡 器 可 以 工 作 于 三 种 不 同 的 模 式, 每 一 种 都 有 一 个 优 化 的 频 率 范 围 工 作 模 式 通 过 熔 丝 位 CKSEL3.. 来 选 择, 如 Table 4 所 示 Table 4. 晶 体 振 荡 器 工 作 模 式 CKOPT CKSEL3.. 频 率 范 围 (MHz) Note:. 此 选 项 不 适 用 于 晶 体, 只 能 用 于 陶 瓷 谐 振 器 使 用 晶 体 时 电 容 C 和 C2 的 推 荐 范 围 (pf) ().4 -.9.9-3. 2-22 3. - 8. 2-22,,. 2-22 如 Table 5 所 示, 熔 丝 位 CKSEL 以 及 SUT.. 用 于 选 择 启 动 时 间 24 ATmega8(L)

ATmega8(L) Table 5. 晶 体 振 荡 器 时 钟 选 项 对 应 的 启 动 时 间 CKSEL SUT.. 掉 电 与 节 电 模 式 下 的 启 动 时 间 复 位 时 额 外 的 延 迟 时 间 (V CC = 5.V) 258 CK () 4. ms 258 CK () 65 ms 推 荐 用 法 Notes:. 这 些 选 项 只 能 用 于 工 作 频 率 不 太 接 近 于 最 大 频 率, 而 且 启 动 时 的 频 率 稳 定 性 对 于 应 用 而 言 不 重 要 的 情 况 不 适 用 于 晶 体 2. 这 些 选 项 是 为 陶 瓷 谐 振 器 设 计 的, 可 以 保 证 启 动 时 频 率 足 够 稳 定 若 工 作 频 率 不 太 接 近 于 最 大 频 率, 而 且 启 动 时 的 频 率 稳 定 性 对 于 应 用 而 言 不 重 要 时 也 适 用 于 晶 体 低 频 晶 体 振 荡 器 为 了 使 用 32.768 khz 钟 表 晶 体 作 为 器 件 的 时 钟 源, 必 须 将 熔 丝 位 CKSEL 设 置 为 以 选 择 低 频 晶 体 振 荡 器 晶 体 的 连 接 方 式 如 Figure 所 示 通 过 对 熔 丝 位 CKOPT 的 编 程, 用 户 可 以 使 能 XTAL 和 XTAL2 的 内 部 电 容, 从 而 去 除 外 部 电 容 内 部 电 容 的 标 称 数 值 为 36 pf 选 择 了 这 个 振 荡 器 之 后, 启 动 时 间 由 熔 丝 位 SUT 确 定, 如 Table 6 所 示 Table 6. 低 频 晶 体 振 荡 器 的 启 动 时 间 Note:. 这 些 选 项 只 能 用 于 启 动 时 的 频 率 稳 定 性 对 应 用 而 言 不 重 要 的 情 况 陶 瓷 谐 振 器, 电 源 快 速 上 升 陶 瓷 谐 振 器, 电 源 缓 慢 上 升 K CK (2) 陶 瓷 谐 振 器, BOD 使 能 K CK (2) 4. ms K CK (2) 65 ms 陶 瓷 谐 振 器, 电 源 快 速 上 升 陶 瓷 谐 振 器, 电 源 缓 慢 上 升 6K CK 石 英 振 荡 器,BOD 使 能 6K CK 4. ms 6K CK 65 ms SUT.. 掉 电 模 式 和 省 电 模 式 的 启 动 时 间 复 位 时 的 额 外 延 迟 时 间 (V CC = 5.V) 推 荐 用 法 石 英 振 荡 器, 电 源 快 速 上 升 石 英 振 荡 器, 电 源 慢 速 上 升 K CK () 4. ms 电 源 快 速 上 升, 或 是 BOD 使 能 K CK () 65 ms 电 源 缓 慢 上 升 32K CK 65 ms 启 动 时 频 率 已 经 稳 定 保 留 外 部 RC 振 荡 器 对 于 时 间 不 敏 感 的 应 用 可 以 使 用 Figure 2 对 于 时 间 不 敏 感 的 应 用 可 以 使 用 Figure 2 的 外 部 RC 振 荡 器 频 率 可 以 通 过 方 程 f = /(3RC) 进 行 粗 略 地 鼓 估 计 电 容 C 至 少 要 22 pf 通 过 编 程 熔 丝 位 CKOPT, 用 户 可 以 使 能 XTAL 和 GND 之 间 的 片 内 36 pf 电 容, 从 而 无 需 外 部 电 容 25

Figure 2. 外 部 RC 配 置 VCC R C NC XTAL2 XTAL GND 振 荡 器 可 以 工 作 于 四 个 不 同 的 模 式, 每 个 模 式 有 自 己 的 优 化 频 率 范 围 工 作 模 式 通 过 熔 丝 位 CKSEL3.. 选 取, 如 Table 7 所 示 Table 7. 外 部 RC 振 荡 器 工 作 模 式 CKSEL3.. 频 率 范 围 (MHz).9.9-3. 3. - 8. 8. - 2. 选 择 了 这 个 振 荡 器 之 后, 启 动 时 间 由 熔 丝 位 SUT 确 定, 如 Table 8 所 示 Table 8. 外 部 RC 振 荡 器 的 启 动 时 间 SUT.. 掉 电 模 式 和 省 电 模 式 的 启 动 时 间 复 位 时 的 额 外 延 迟 时 间 (V CC = 5.V) 推 荐 用 法 8 CK BOD 使 能 8 CK 4. ms 电 源 快 速 上 升 8 CK 65 ms 电 源 缓 慢 上 升 6 CK () 4. ms 电 源 快 速 上 升, 或 是 BOD 使 能 Note:. 这 些 选 项 只 能 用 于 工 作 频 率 不 太 接 近 于 最 大 频 率 时 的 情 况 26 ATmega8(L)

ATmega8(L) 标 定 的 片 内 RC 振 荡 器 标 定 的 片 内 RC 振 荡 器 提 供 了 固 定 的. 2. 4. 或 8. MHz 的 时 钟 这 些 频 率 都 是 5V 25 C 下 的 标 称 数 值 这 个 时 钟 也 可 以 作 为 系 统 时 钟, 只 要 按 照 Table 9 对 熔 丝 位 CKSEL 进 行 编 程 即 可 选 择 这 个 时 钟 ( 此 时 不 能 对 CKOPT 进 行 编 程 ) 之 后 就 无 需 外 部 器 件 了 复 位 时 硬 件 将 标 定 字 节 加 载 到 OSCCAL 寄 存 器, 自 动 完 成 对 RC 振 荡 器 的 标 定 在 5V, 25 C 和 频 率 为. MHz 时, 这 种 标 定 可 以 提 供 标 称 频 率 ± 3% 的 精 度 ; 使 用 www.atmel.com/avr 中 所 给 出 的 方 法, 可 在 任 何 电 压 任 何 温 度 下, 使 精 度 达 到 ± % 当 使 用 这 个 振 荡 器 作 为 系 统 时 钟 时, 看 门 狗 仍 然 使 用 自 己 的 看 门 狗 定 时 器 作 为 溢 出 复 位 的 依 据 更 多 的 有 关 标 定 数 据 的 信 息 请 参 见 P 2 标 定 字 节 Table 9. 片 内 标 定 的 RC 振 荡 器 工 作 模 式 CKSEL3.. Note:. 出 厂 时 的 设 置 选 择 了 这 个 振 荡 器 之 后, 启 动 时 间 由 熔 丝 位 SUT 确 定, 如 Table 所 示 PB6 (XTAL/TOSC) 与 PB7(XTAL2/TOSC2) 即 可 作 为 通 用 I/O 引 脚, 又 可 作 为 定 时 振 荡 器 引 脚 Note:. 出 厂 时 的 设 置 标 称 频 率 (MHz) (). 2. 4. 8. Table. 内 部 标 定 RC 振 荡 器 的 启 动 时 间 SUT.. 掉 电 模 式 与 省 电 模 式 的 启 动 时 间 复 位 时 的 额 外 延 迟 时 间 (V CC = 5.V) 推 荐 用 法 6 CK BOD 使 能 6 CK 4. ms 电 源 快 速 上 升 () 6 CK 65 ms 电 源 缓 慢 上 升 保 留 27

振 荡 器 标 定 寄 存 器 - OSCCAL Bit 7 6 5 4 3 2 CAL7 CAL6 CAL5 CAL4 CAL3 CAL2 CAL CAL OSCCAL 读 / 写 R/W R/W R/W R/W R/W R/W R/W R/W 初 始 值 标 定 数 据 Bits 7.. CAL7..: 振 荡 器 标 定 数 据 将 标 定 数 据 写 入 这 个 地 址 可 以 对 内 部 振 荡 器 进 行 调 节 以 消 除 由 于 生 产 工 艺 所 带 来 的 振 荡 器 频 率 偏 差 复 位 时 MHz 的 标 定 数 据 ( 标 识 数 据 的 高 字 节, 地 址 为 x) 自 动 加 载 到 OSCCAL 寄 存 器 如 果 需 要 内 部 RC 振 荡 器 工 作 于 其 他 频 率, 标 定 数 据 必 须 人 工 加 载 : 首 先 通 过 编 程 器 读 取 标 识 数 据, 然 后 将 标 定 数 据 保 存 到 Flash 或 EEPROM 之 中 这 些 数 据 可 以 通 过 软 件 读 取, 然 后 加 载 到 OSCCAL 寄 存 器 当 OSCCAL 为 零 时 振 荡 器 以 最 低 频 率 工 作 当 对 其 写 如 不 为 零 的 数 据 时 内 部 振 荡 器 的 频 率 将 增 长 写 入 xff 即 得 到 最 高 频 率 标 定 的 振 荡 器 用 来 为 访 问 EEPROM 和 Flash 定 时 有 写 EEPROM 和 Flash 的 操 作 时 不 要 将 频 率 标 定 到 超 过 标 称 频 率 的 %, 否 则 写 操 作 有 可 能 失 败 要 注 意 振 荡 器 只 对. 2. 4. 和 8. MHz 这 四 种 频 率 进 行 了 标 定, 其 他 频 率 则 无 法 保 证, 如 Table 所 示 Table. 内 部 RC 振 荡 器 频 率 范 围 OSCCAL 数 值 最 小 频 率, 标 称 频 率 的 百 分 比 (%) 最 大 频 率, 标 称 频 率 的 百 分 比 (%) x 5 x7f 75 5 xff 2 28 ATmega8(L)

ATmega8(L) 外 部 时 钟 为 了 从 外 部 时 钟 源 驱 动 芯 片, XTAL 必 须 如 Figure 3 所 示 的 进 行 连 接 同 时, 熔 丝 位 CKSEL 必 须 编 程 为 若 熔 丝 位 CKOPT 也 被 编 程, 用 户 就 可 以 使 用 内 部 的 XTAL 和 GND 之 间 的 36 pf 电 容 Figure 3. 外 部 时 钟 驱 动 配 置 图 EXTERNAL CLOCK SIGNAL 选 择 了 这 个 振 荡 器 之 后, 启 动 时 间 由 熔 丝 位 SUT 确 定, 如 Table 2 所 示 Table 2. 外 部 时 钟 的 启 动 时 间 SUT.. 掉 电 模 式 与 省 电 模 式 的 启 动 时 间 复 位 时 的 额 外 延 迟 时 间 (V CC = 5.V) 推 荐 用 法 6 CK BOD 使 能 6 CK 4. ms 电 源 快 速 上 升 6 CK 65 ms 电 源 缓 慢 上 升 保 留 为 了 保 证 MCU 能 够 稳 定 工 作, 不 能 突 然 改 变 外 部 时 钟 源 的 振 荡 频 率 工 作 频 率 突 变 超 过 2% 将 会 产 生 异 常 现 象 应 该 在 MCU 保 持 复 位 状 态 时 改 变 外 部 时 钟 的 振 荡 频 率 定 时 器 / 计 时 器 振 荡 器 对 于 拥 有 定 时 器 / 振 荡 器 引 脚 (TOSC 和 TOSC2) 的 AVR 微 处 理 器, 晶 体 可 以 直 接 与 这 两 个 引 脚 连 接, 无 需 外 部 电 容 此 振 荡 器 针 对 32.768 khz 的 钟 表 晶 体 作 了 优 化 不 建 议 在 TOSC 引 脚 输 入 振 荡 信 号 29

电 源 管 理 及 睡 眠 模 式 睡 眠 模 式 可 以 使 应 用 程 序 关 闭 MCU 中 没 有 使 用 的 模 块, 从 而 降 低 功 耗 AVR 具 有 不 同 的 睡 眠 模 式, 允 许 用 户 根 据 自 己 的 应 用 要 求 实 施 剪 裁 进 入 睡 眠 模 式 的 条 件 是 置 位 寄 存 器 MCUCR 的 SE, 然 后 执 行 SLEEP 指 令 具 体 哪 一 种 模 式 ( 空 闲 模 式 ADC 噪 声 抑 制 模 式 掉 电 模 式 省 电 模 式 及 Standby 模 式 ) 由 MCUCR 的 SM2 SM 和 SM 决 定, 如 Table 3 所 示 使 能 的 中 断 可 以 将 进 入 睡 眠 模 式 的 MCU 唤 醒 经 过 启 动 时 间, 外 加 4 个 时 钟 周 期 后, MCU 就 可 以 运 行 中 断 例 程 了 然 后 返 回 到 SLEEP 的 下 一 条 指 令 唤 醒 时 不 会 改 变 寄 存 器 文 件 和 SRAM 的 内 容 如 果 在 睡 眠 过 程 中 发 生 了 复 位, 则 MCU 唤 醒 后 从 中 断 向 量 开 始 执 行 注 意, 由 于 TOSC 与 XTAL 共 用 同 一 引 脚, 对 于 许 多 AVR MCU 中 有 的 扩 展 Standby 模 式 在 ATmega8 中 已 删 除 P 22Figure 介 绍 了 ATmega8 不 同 的 时 钟 系 统 及 其 分 布 此 图 在 选 择 合 适 的 睡 眠 模 式 时 非 常 有 用 MCU 控 制 寄 存 器 - MCUCR MCU 控 制 寄 存 器 包 含 了 电 源 管 理 的 控 制 位 Bit 7 6 5 4 3 2 SE SM2 SM SM ISC ISC ISC ISC MCUCR 读 / 写 R/W R/W R/W R/W R/W R/W R/W R/W 初 始 值 Bit 7 SE: 休 眠 使 能 为 了 使 MCU 在 执 行 SLEEP 指 令 后 进 入 休 眠 模 式, SE 必 须 置 位 为 了 确 保 进 入 休 眠 模 式 是 程 序 员 的 有 意 行 为, 建 议 仅 在 SLEEP 指 令 的 前 一 条 指 令 置 位 SE MCU 一 旦 唤 醒 立 即 清 除 SE Bits 6..4 SM2..: 休 眠 模 式 选 择 位 2 和 如 Table 3 所 示, 这 些 位 用 于 选 择 具 体 的 休 眠 模 式 Table 3. 休 眠 模 式 选 择 SM2 SM SM 休 眠 模 式 空 闲 模 式 ADC 噪 声 抑 制 模 式 掉 电 模 式 省 电 模 式 保 留 保 留 Standby () 模 式 Note:. 仅 在 使 用 外 部 晶 体 或 谐 振 器 时 Standby 模 式 才 可 用 3 ATmega8(L)

ATmega8(L) 空 闲 模 式 ADC 噪 声 抑 制 模 式 掉 电 模 式 省 电 模 式 Standby 模 式 当 SM2.. 为 时, SLEEP 指 令 将 使 MCU 进 入 空 闲 模 式 在 此 模 式 下, CPU 停 止 运 行, 而 SPI USART 模 拟 比 较 器 ADC 两 线 串 行 接 口 定 时 器 / 计 数 器 看 门 狗 和 中 断 系 统 继 续 工 作 这 个 睡 眠 模 式 只 停 止 了 clk CPU 和 clk FLASH, 其 他 时 钟 则 继 续 工 作 象 定 时 器 溢 出 与 USART 传 输 完 成 等 内 外 部 中 断 都 可 以 唤 醒 MCU 如 果 不 需 要 从 模 拟 比 较 器 中 断 唤 醒 MCU, 为 了 减 少 功 耗, 可 以 切 断 比 较 器 的 电 源 方 法 是 置 位 模 拟 比 较 器 控 制 和 状 态 寄 存 器 ACSR 的 ACD 如 果 ADC 使 能, 进 入 此 模 式 后 将 自 动 启 动 一 次 转 换 当 SM2.. 为 时, SLEEP 指 令 将 使 MCU 进 入 噪 声 抑 制 模 式 在 此 模 式 下, CPU 停 止 运 行, 而 ADC 外 部 中 断 两 线 接 口 地 址 配 置 定 时 器 / 计 数 器 2 和 看 门 狗 继 续 工 作 这 个 睡 眠 模 式 只 停 止 了 clk I/O clk CPU 和 clk FLASH, 其 他 时 钟 则 继 续 工 作 此 模 式 提 高 了 ADC 的 噪 声 环 境, 使 得 转 换 精 度 更 高 ADC 使 能 的 时 候, 进 入 此 模 式 将 自 动 启 动 一 次 AD 转 换 ADC 转 换 结 束 中 断 外 部 复 位 看 门 狗 复 位 BOD 复 位 两 线 接 口 地 址 匹 配 中 断 定 时 器 / 计 数 器 2 中 断 SPM/EEPROM 准 备 好 中 断 外 部 电 平 中 断 INT 或 INT, 或 外 部 中 断 INT2 可 以 将 MCU 从 ADC 噪 声 抑 制 模 式 唤 醒 当 SM2.. 为 时, SLEEP 指 令 将 使 MCU 进 入 掉 电 模 式 在 此 模 式 下, 外 部 晶 体 停 振, 而 外 部 中 断 两 线 接 口 地 址 匹 配 及 看 门 狗 ( 如 果 使 能 的 话 ) 继 续 工 作 只 有 外 部 复 位 看 门 狗 复 位 BOD 复 位 两 线 接 口 地 址 匹 配 中 断 外 部 电 平 中 断 INT 或 INT, 或 外 部 中 断 INT2 可 以 使 MCU 脱 离 掉 电 模 式 这 个 睡 眠 模 式 停 止 了 所 有 的 时 钟, 只 有 异 步 模 块 可 以 继 续 工 作 当 使 用 外 部 电 平 中 断 方 式 将 MCU 从 掉 电 模 式 唤 醒 时, 必 须 保 持 外 部 电 平 一 定 的 时 间 具 体 请 参 见 P 62 外 部 中 断 从 施 加 掉 电 唤 醒 条 件 到 真 正 唤 醒 有 一 个 延 迟 时 间, 此 时 间 用 于 时 钟 重 新 启 动 并 稳 定 下 来 唤 醒 周 期 与 由 熔 丝 位 CKSEL 定 义 的 复 位 周 期 是 一 样 的, 如 P 23 时 钟 源 当 SM2.. 为 时, SLEEP 指 令 将 使 MCU 进 入 省 电 模 式 这 一 模 式 与 掉 电 模 式 只 有 一 点 不 同 : 如 果 定 时 器 / 计 数 器 2 为 异 步 驱 动, 即 寄 存 器 ASSR 的 AS2 置 位, 则 定 时 器 / 计 数 器 2 在 睡 眠 时 继 续 运 行 除 了 掉 电 模 式 的 唤 醒 方 式, 定 时 器 / 计 数 器 2 的 溢 出 中 断 和 比 较 匹 配 中 断 也 可 以 将 MCU 从 休 眠 方 式 唤 醒, 只 要 TIMSK 使 能 了 这 些 中 断, 而 且 SREG 的 全 局 中 断 使 能 位 I 置 位 如 果 异 步 定 时 器 不 是 异 步 驱 动 的, 建 议 使 用 掉 电 模 式, 而 不 是 省 电 模 式 因 为 在 省 电 模 式 下, 若 AS2 为, 则 MCU 唤 醒 后 异 步 定 时 器 的 寄 存 器 数 值 是 没 有 定 义 的 这 个 睡 眠 模 式 停 止 了 除 clk ASY 以 外 所 有 的 时 钟, 只 有 异 步 模 块 可 以 继 续 工 作 当 SM2.. 为 时, SLEEP 指 令 将 使 MCU 进 入 Standby 模 式 这 一 模 式 与 掉 电 模 式 唯 一 的 不 同 之 处 在 于 振 荡 器 继 续 工 作 其 唤 醒 时 间 只 需 要 6 个 时 钟 周 期 Table 4. 在 不 同 睡 眠 模 式 下 活 动 的 时 钟 以 及 唤 醒 源 工 作 的 时 钟 振 荡 器 唤 醒 源 睡 眠 模 式 clk CPU clk FLASH clk IO clk ADC clk ASY 使 能 的 主 时 钟 使 能 的 定 时 器 时 钟 INT INT TWI 地 址 匹 配 定 时 器 2 SPM/ EEPROM 就 绪 空 闲 模 式 X X X X X (2) X X X X X X ADC 噪 声 抑 制 模 式 X X X X (2) X (3) X X X X ADC 其 他 I/O 3

Table 4. 在 不 同 睡 眠 模 式 下 活 动 的 时 钟 以 及 唤 醒 源 工 作 的 时 钟 振 荡 器 唤 醒 源 睡 眠 模 式 clk CPU clk FLASH clk IO clk ADC clk ASY 使 能 的 主 时 钟 使 能 的 定 时 器 时 钟 INT INT TWI 地 址 匹 配 定 时 器 2 SPM/ EEPROM 就 绪 ADC 其 他 I/O 掉 电 模 式 X (3) X 省 电 模 式 X (2) X (2) X (3) X X (2) Standby 模 () X X (3) X 式 Notes:. 时 钟 源 为 外 部 晶 体 或 谐 振 器 2. ASSR 的 AS2 置 位 3. 电 平 中 断 INT 与 INT 最 小 化 功 耗 试 图 降 低 AVR 控 制 系 统 的 功 耗 时 需 要 考 虑 几 个 问 题 一 般 来 说, 要 尽 可 能 利 用 睡 眠 模 式, 并 且 使 尽 可 能 少 的 模 块 继 续 工 作 不 需 要 的 功 能 必 须 禁 止 下 面 的 模 块 需 要 特 殊 考 虑 以 达 到 尽 可 能 低 的 功 耗 模 数 转 换 器 (ADC) 模 拟 比 较 器 使 能 时, ADC 在 睡 眠 模 式 下 继 续 工 作 为 了 降 低 功 耗, 在 进 入 睡 眠 模 式 之 前 需 要 禁 止 ADC 重 新 启 动 后 的 第 一 次 转 换 为 扩 展 的 转 换 具 体 请 参 照 P 83 模 数 转 换 器 在 空 闲 模 式 时, 如 果 没 有 使 用 模 拟 比 较 器, 可 以 将 其 关 闭 在 ADC 噪 声 抑 制 模 式 下 也 是 如 此 在 其 他 睡 眠 模 式 模 拟 比 较 器 是 自 动 关 闭 的 如 果 模 拟 比 较 器 使 用 了 内 部 电 压 基 准 源, 则 不 论 在 什 么 睡 眠 模 式 下 都 需 要 关 闭 它 否 则 内 部 电 压 基 准 源 将 一 直 使 能 请 参 见 P 8 模 拟 比 较 器 以 了 解 如 何 配 置 模 拟 比 较 器 32 ATmega8(L)

ATmega8(L) 掉 电 检 测 BOD 如 果 系 统 没 有 使 用 掉 电 检 测 器 BOD, 这 个 模 块 也 可 以 关 闭 如 果 熔 丝 位 BODEN 被 编 程, 从 而 使 能 了 BOD 功 能, 它 将 在 各 种 休 眠 模 式 下 继 续 工 作 在 深 层 次 的 休 眠 模 式 下, 这 个 电 流 将 占 总 电 流 的 很 大 比 重 请 参 看 P 37 掉 电 检 测 以 了 解 如 何 配 置 BOD 片 内 基 准 电 压 看 门 狗 定 时 器 端 口 引 脚 使 用 BOD 模 拟 比 较 器 和 ADC 时 可 能 需 要 内 部 电 压 基 准 源 若 这 些 模 块 都 禁 止 了, 则 基 准 源 也 可 以 禁 止 重 新 使 能 后 用 户 必 须 等 待 基 准 源 稳 定 之 后 才 可 以 使 用 它 如 果 基 准 源 在 休 眠 过 程 中 是 使 能 的, 其 输 出 立 即 可 以 使 用 请 参 见 P 39 片 内 基 准 电 压 以 了 解 基 准 源 启 动 时 间 的 细 节 如 果 系 统 无 需 使 用 看 门 狗, 这 个 模 块 也 可 以 关 闭 若 使 能, 则 在 任 何 休 眠 模 式 下 都 持 续 工 作, 从 而 消 耗 电 流 在 深 层 次 的 睡 眠 模 式 下, 这 个 电 流 将 占 总 电 流 的 很 大 比 重 请 参 看 P 4 看 门 狗 定 时 器 以 了 解 如 何 配 置 看 门 狗 定 时 器 进 入 休 眠 模 式 时, 所 有 的 端 口 引 脚 都 应 该 配 置 为 只 消 耗 最 小 的 功 耗 最 重 要 的 是 避 免 驱 动 电 阻 性 负 载 在 休 眠 模 式 下 I/O 时 钟 clk I/O 和 ADC 时 钟 clk ADC 都 被 停 止 了, 输 入 缓 冲 器 也 禁 止 了, 从 而 保 证 输 入 电 路 不 会 消 耗 电 流 在 某 些 情 况 下 输 入 逻 辑 是 使 能 的, 用 来 检 测 唤 醒 条 件 用 于 此 功 能 的 具 体 引 脚 请 参 见 P 52 数 字 输 入 使 能 和 睡 眠 模 式 如 果 输 入 缓 冲 器 是 使 能 的, 此 时 输 入 不 能 悬 空, 信 号 电 平 也 不 应 该 接 近 V CC /2, 否 则 输 入 缓 冲 器 会 消 耗 额 外 的 电 流 33

系 统 控 制 与 复 位 复 位 AVR 复 位 时 所 有 的 I/O 寄 存 器 都 被 设 置 为 初 始 值, 程 序 从 复 位 向 量 处 开 始 执 行 复 位 向 量 处 的 指 令 必 须 是 绝 对 跳 转 JMP 指 令, 以 使 程 序 跳 转 到 复 位 处 理 例 程 如 果 程 序 永 远 不 利 用 中 断 功 能, 中 断 向 量 可 以 由 一 般 的 程 序 代 码 所 覆 盖 这 个 处 理 方 法 同 样 适 用 于 当 复 位 向 量 位 于 应 用 程 序 区, 中 断 向 量 位 于 Boot 区 或 者 反 过 来 的 时 候 Figure 4 为 复 位 逻 辑 的 电 路 图 Table 5 则 定 义 了 复 位 电 路 的 电 气 参 数 复 位 源 有 效 时 I/O 端 口 立 即 复 位 为 初 始 值 此 时 不 要 求 任 何 时 钟 处 于 正 常 运 行 状 态 所 有 的 复 位 信 号 消 失 之 后, 芯 片 内 部 的 一 个 延 迟 计 数 器 被 激 活, 将 内 部 复 位 的 时 间 延 长 这 种 处 理 方 式 使 得 在 MCU 正 常 工 作 之 前 有 一 定 的 时 间 让 电 源 达 到 稳 定 的 电 平 延 迟 计 数 器 的 溢 出 时 间 通 过 熔 丝 位 SUT 与 CKSEL 设 定 延 迟 时 间 的 选 择 请 参 见 P 23 时 钟 源 复 位 源 ATmega8 有 4 个 复 位 源 : 上 电 复 位 电 源 电 压 低 于 上 电 复 位 门 限 V POT 时, MCU 复 位 外 部 复 位 引 脚 RESET 上 的 低 电 平 持 续 时 间 大 于 最 小 脉 冲 宽 度 时 MCU 复 位 看 门 狗 复 位 看 门 狗 使 能 并 且 看 门 狗 定 时 器 溢 出 时 复 位 发 生 掉 电 检 测 复 位 掉 电 检 测 复 位 功 能 使 能, 且 电 源 电 压 低 于 掉 电 检 测 复 位 门 限 V BOT 时 MCU 即 复 位 Figure 4. 复 位 逻 辑 DATA BUS MCU Control and Status Register (MCUCSR) PORF BORF EXTRF WDRF BODEN BODLEVEL Pull-up Resistor Brown-Out Reset Circuit SPIKE FILTER Watchdog Oscillator Clock Generator CK Delay Counters TIMEOUT CKSEL[3:] SUT[:] 34 ATmega8(L)

ATmega8(L) Table 5. 复 位 特 性 符 号 参 数 条 件 V POT 上 电 复 位 门 限 电 压 ( 电 压 由 低 到 高 上 升 ) ().4 2.3 V 上 电 复 位 门 限 电 压 ( 电 压 由 高 到 低 跌 落 ).3 2.3 V V RST RESET 门 限 电 压..9 V CC t RST RESET 最 小 脉 冲 宽 度.5 µs V BOT (2) 掉 电 检 测 复 位 门 限 电 压 BODLEVEL = 2.4 2.6 2.9 BODLEVEL = 3.7 4. 4.5 V t BOD 触 发 掉 电 检 测 复 位 的 低 电 平 的 BODLEVEL = 2 µs 最 小 持 续 时 间 BODLEVEL = 2 µs V HYST 掉 电 检 测 器 的 容 限 3 mv Notes:. 电 压 下 降 时, 只 有 电 压 低 于 V POT 时 复 位 才 会 发 生 2. 一 些 器 件 的 V BOT 可 能 比 标 称 的 最 小 工 作 电 压 还 要 低 这 些 器 件 在 生 产 测 试 过 程 中 进 行 了 V CC = V BOT 的 测 试, 保 证 在 V CC 下 降 到 处 理 器 无 法 正 常 工 作 之 前 产 生 掉 电 检 测 复 位 ATmega8L 的 测 试 条 件 为 BODLEVEL=,ATmega8 的 测 试 条 件 为 BODLEVEL= BODLEVEL= 不 适 用 于 ATmega8 最 小 值 典 型 值 最 大 值 单 位 上 电 复 位 上 电 复 位 (POR) 脉 冲 由 片 内 检 测 电 路 产 生 检 测 电 平 请 参 见 Table 5 无 论 何 时 V CC 低 于 检 测 电 平 POR 即 发 生 POR 电 路 可 以 用 来 触 发 启 动 复 位, 或 者 用 来 检 测 电 源 故 障 POR 电 路 保 证 器 件 在 上 电 时 复 位 V CC 达 到 上 电 门 限 电 压 后 触 发 延 迟 计 数 器 在 计 数 器 溢 出 之 前 器 件 一 直 保 持 为 复 位 状 态 当 V CC 下 降 时, 只 要 低 于 检 测 门 限,RESET 信 号 立 即 生 效 Figure 5. MCU 启 动 过 程, RESET 连 接 到 V CC VCC V POT RESET V RST TIME-OUT t TOUT INTERNAL RESET 35

Figure 6. MCU 启 动 过 程, RESET 由 外 电 路 控 制 V CC V POT RESET V RST TIME-OUT t TOUT INTERNAL RESET 36 ATmega8(L)

ATmega8(L) 外 部 复 位 外 部 复 位 由 外 加 于 RESET 引 脚 的 低 电 平 产 生 当 复 位 低 电 平 持 续 时 间 大 于 最 小 脉 冲 宽 度 时 ( 参 见 Table 5) 即 触 发 复 位 过 程, 即 使 此 时 并 没 有 时 钟 信 号 在 运 行 当 外 加 信 号 达 到 复 位 门 限 电 压 V RST ( 上 升 沿 ) 时, t TOUT 延 时 周 期 开 始 延 时 结 束 后 MCU 即 启 动 Figure 7. 工 作 过 程 中 发 生 外 部 复 位 CC 掉 电 检 测 ATmega8 具 有 片 内 BOD(Brown-out Detection) 电 路, 通 过 与 固 定 的 触 发 电 平 的 对 比 来 检 测 工 作 过 程 中 V CC 的 变 化 此 触 发 电 平 通 过 熔 丝 位 BODLEVEL 来 设 定, 2.7V (BODLEVEL 未 编 程 ), 4.V (BODLEVEL 已 编 程 ) BOD 的 触 发 电 平 具 有 迟 滞 功 能 以 消 除 电 源 尖 峰 的 影 响 这 个 迟 滞 功 能 可 以 解 释 为 V BOT+ = V BOT + V HYST /2 以 及 V BOT- = V BOT - V HYST /2 BOD 电 路 的 开 关 由 熔 丝 位 BODEN 控 制 当 BOD 使 能 后 (BODEN 被 编 程 ), 一 旦 V CC 下 降 到 触 发 电 平 以 下 (V BOT-, Figure 8), BOD 复 位 立 即 被 激 发 当 V CC 上 升 到 触 发 电 平 以 上 时 (V BOT+,Figure 8), 延 时 计 数 器 开 始 计 数, 一 旦 超 过 溢 出 时 间 t TOUT,MCU 即 恢 复 工 作 如 果 V CC 一 直 低 于 触 发 电 平 并 保 持 如 Table 5 所 示 的 时 间 t BOD, BOD 电 路 将 只 检 测 电 压 跌 落 Figure 8. 工 作 过 程 中 发 生 掉 电 检 测 复 位 V CC V BOT- V BOT+ RESET TIME-OUT t TOUT INTERNAL RESET 37

看 门 狗 复 位 看 门 狗 定 时 器 溢 出 时 将 产 生 持 续 时 间 为 个 CK 周 期 的 复 位 脉 冲 在 脉 冲 的 下 降 沿, 延 时 定 时 器 开 始 对 t TOUT 记 数 请 参 见 看 门 狗 定 时 器 的 具 体 操 作 过 程 Figure 9. 工 作 过 程 中 发 生 看 门 狗 复 位 CC CK MCU 控 制 和 状 态 寄 存 器 - MCUCSR MCU 控 制 和 状 态 寄 存 器 提 供 了 有 关 引 起 MCU 复 位 的 复 位 源 的 信 息 Bit 7 6 5 4 3 2 WDRF BORF EXTRF PORF MCUCSR 读 / 写 R R R R R/W R/W R/W R/W 初 始 值 见 位 说 明 Bit 7..4 Res: 保 留 这 几 位 保 留, 读 操 作 始 终 为 " Bit 3 WDRF: 看 门 狗 复 位 标 志 看 门 狗 复 位 发 生 时 置 位 上 电 复 位 将 使 其 清 零, 也 可 以 通 过 写 来 清 除 Bit 2 BORF: 掉 电 检 测 复 位 标 志 掉 电 检 测 复 位 发 生 时 置 位 上 电 复 位 将 使 其 清 零, 也 可 以 通 过 写 来 清 除 Bit EXTRF: 外 部 复 位 标 志 外 部 复 位 发 生 时 置 位 上 电 复 位 将 使 其 清 零, 也 可 以 通 过 写 来 清 除 Bit PORF: 上 电 复 位 标 志 上 电 复 位 发 生 时 置 位 只 能 通 过 写 来 清 除 为 了 使 用 这 些 复 位 标 志 来 识 别 复 位 条 件, 用 户 应 该 尽 早 读 取 此 寄 存 器 的 数 据, 然 后 将 其 复 位 如 果 在 其 他 复 位 发 生 之 前 将 此 寄 存 器 复 位, 则 后 续 复 位 源 可 以 通 过 检 查 复 位 标 志 来 了 解 38 ATmega8(L)

ATmega8(L) 片 内 基 准 电 压 ATmega8 具 有 片 内 能 隙 基 准 源, 用 于 掉 电 检 测, 或 者 是 作 为 模 拟 比 较 器 或 ADC 的 输 入 ADC 的 2.56V 基 准 电 压 由 此 片 内 能 隙 基 准 源 产 生 基 准 电 压 使 能 信 号 和 启 动 时 间 电 压 基 准 的 启 动 时 间 可 能 影 响 其 工 作 方 式 启 动 时 间 列 于 Table 6 为 了 降 低 功 耗, 可 以 控 制 基 准 源 仅 在 如 下 情 况 打 开 :. BOD 使 能 ( 熔 丝 位 BODEN 被 编 程 ) 2. 能 隙 基 准 源 连 接 到 模 拟 比 较 器 (ACSR 寄 存 器 的 ACBG 置 位 ) 3. ADC 使 能 因 此, 当 BOD 被 禁 止 时, 置 位 ACBG 或 使 能 ADC 后 要 启 动 基 准 源 为 了 降 低 掉 电 模 式 的 功 耗, 用 户 可 以 禁 止 上 述 三 种 条 件, 并 在 进 入 掉 电 模 式 之 前 关 闭 基 准 源 Table 6. 内 部 电 压 基 准 源 的 特 性 符 号 参 数 最 小 值 典 型 值 最 大 值 单 位 V BG 能 隙 基 准 源 电 压.5.23.4 V t BG 能 隙 基 准 源 启 动 时 间 4 7 µs I BG 能 隙 基 准 源 功 耗 µa 39

看 门 狗 定 时 器 看 门 狗 定 时 器 由 独 立 的 MHz 片 内 振 荡 器 驱 动 这 是 V CC = 5V 时 的 典 型 值 请 参 见 特 性 数 据 以 了 解 其 他 V CC 电 平 下 的 典 型 值 通 过 设 置 看 门 狗 定 时 器 的 预 分 频 器 可 以 调 节 看 门 狗 复 位 的 时 间 间 隔, 如 P 4Table 7 所 示 看 门 狗 复 位 指 令 WDR 用 来 复 位 看 门 狗 定 时 器 此 外, 禁 止 看 门 狗 定 时 器 或 发 生 复 位 时 定 时 器 也 被 复 位 复 位 时 间 有 8 个 选 项 如 果 没 有 及 时 复 位 定 时 器, 一 旦 时 间 超 过 复 位 周 期, ATmega8 就 复 位, 并 执 行 复 位 向 量 指 向 的 程 序 具 体 的 看 门 狗 复 位 时 序 在 P 38 有 说 明 为 了 防 止 无 意 之 间 禁 止 看 门 狗 定 时 器, 当 看 门 狗 禁 用 时, 其 后 必 须 加 入 一 个 特 定 的 关 闭 序 列, 详 见 看 门 狗 定 时 器 控 制 寄 存 器 说 明 Figure 2. 看 门 狗 定 时 器 WATCHDOG OSCILLATOR 看 门 狗 定 时 器 控 制 寄 存 器 - WDTCR Bit 7 6 5 4 3 2 WDCE WDE WDP2 WDP WDP WDTCR 读 / 写 R R R R/W R/W R/W R/W R/W 初 始 值 Bits 7..5 Res: 保 留 保 留 位, 读 操 作 返 回 值 为 零 Bit 4 WDCE: 看 门 狗 修 改 使 能 清 零 WDE 时 必 须 先 置 位 WDCE, 否 则 不 能 禁 止 看 门 狗 一 旦 置 位, 硬 件 将 在 紧 接 的 4 个 时 钟 周 期 之 后 将 其 清 零 请 参 考 有 关 WDE 的 说 明 来 禁 止 看 门 狗 工 作 于 安 全 级 别 和 2 时 也 必 须 置 位 WDCE 以 修 改 预 分 频 器 的 数 据, 详 见 代 码 例 程 4 ATmega8(L)

ATmega8(L) Bit 3 WDE: 看 门 狗 使 能 WDE 为 " 时, 看 门 狗 使 能, 否 则 看 门 狗 将 被 禁 止 只 有 在 WDCE 为 " 时 WDE 才 能 清 零 以 下 为 关 闭 看 门 狗 的 步 骤 :. 在 同 一 个 指 令 内 对 WDCE 和 WDE 写 ", 即 使 WDE 已 经 为 " 2. 在 紧 接 的 4 个 时 钟 周 期 之 内 对 WDE 写 " Bits 2.. WDP2, WDP, WDP: 看 门 狗 定 时 器 预 分 频 器 2,, 和 WDP2 WDP 和 WDP 决 定 看 门 狗 定 时 器 的 预 分 频 器, 其 预 分 频 值 及 相 应 的 溢 出 周 期 如 Table 7 所 示 Table 7. 看 门 狗 定 时 器 预 分 频 器 选 项 WDP2 WDP WDP WDT 振 荡 器 周 期 V CC = 3.V 时 典 型 的 溢 出 周 期 V CC = 5.V 时 典 型 的 溢 出 周 期 6K (6,384) 7. ms 6.3 ms 32K (32,768) 34.3 ms 32.5 ms 64K (65,536) 68.5 ms 65 ms 28K (3,72).4 s.3 s 256K (262,44).27 s.26 s 52K (524,288).55 s.52 s,24k (,48,576). s. s 2,48K (2,97,52) 2.2 s 2. s 下 面 的 例 子 分 别 用 汇 编 和 C 实 现 了 关 闭 WDT 的 操 作 在 此 假 定 中 断 处 于 用 户 控 制 之 下 ( 比 如 禁 止 全 局 中 断 ), 因 而 在 执 行 下 面 程 序 时 中 断 不 会 发 生 4

改 变 看 门 狗 定 时 器 配 置 的 时 间 序 列 改 变 配 置 的 序 列 根 据 不 同 的 安 全 级 别 略 有 不 同 下 面 将 逐 一 说 明 汇 编 代 码 例 程 WDT_off: ; 复 位 WDT wdr ; 置 位 WDCE 和 WDE in r6, WDTCR ori r6, (<<WDCE) (<<WDE) out WDTCR, r6 ; 关 闭 WDT ldi r6, (<<WDE) out WDTCR, r6 ret C 代 码 例 程 void WDT_off(void) { /* 复 位 WDT */ _WDR() /* 置 位 WDCE 和 WDE */ WDTCR = (<<WDCE) (<<WDE); /* 关 闭 WDT */ WDTCR = x; } 安 全 级 别 (WDTON 熔 丝 位 未 编 程 ) 安 全 级 别 2(WDTON 熔 丝 位 已 编 程 ) 在 这 个 模 式 下, 看 门 狗 定 时 器 的 初 始 状 态 是 禁 止 的, 可 以 没 有 限 制 地 通 过 置 位 WDE 来 使 能 它 改 变 定 时 器 溢 出 周 期 及 禁 止 ( 已 经 使 能 的 ) 看 门 狗 定 时 器 时 需 要 执 行 一 个 特 定 的 时 间 序 列 :. 在 同 一 个 指 令 内 对 WDCE 和 WDE 写 ", 即 使 WDE 已 经 为 " 2. 在 紧 接 的 4 个 时 钟 周 期 之 内 同 时 对 WDE 及 WDP 写 入 合 适 的 数 据, 而 WDCE 则 写 " 在 这 个 模 式 下, 看 门 狗 定 时 器 总 是 使 能 的, WDE 的 读 返 回 值 为 " 改 变 定 时 器 溢 出 周 期 需 要 执 行 一 个 特 定 的 时 间 序 列 :. 在 同 一 个 指 令 内 对 WDCE 和 WDE 写 " 虽 然 WDE 总 是 为 置 位 状 态, 也 必 须 写 " 以 启 动 时 序 在 紧 接 的 4 个 时 钟 周 期 之 内 同 时 对 WDCE 写 ", 以 及 为 WDP 写 入 合 适 的 数 据 WDE 的 数 值 可 以 任 意 42 ATmega8(L)

ATmega8(L) 中 断 本 节 说 明 ATmega8 的 中 断 处 理 更 一 般 的 AVR 中 断 处 理 请 参 见 P 2 复 位 与 中 断 处 理 ATmega8 的 中 断 向 量 Table 8. 复 位 和 中 断 向 量 向 量 号 程 序 (2) 地 址 中 断 源 中 断 定 义 x () RESET 外 部 引 脚, 上 电 复 位, 掉 电 检 测 复 位, 看 门 狗 复 位 2 x INT 外 部 中 断 请 求 3 x2 INT 外 部 中 断 请 求 4 x3 TIMER2 COMP 定 时 器 / 计 数 器 2 比 较 匹 配 5 x4 TIMER2 OVF 定 时 器 / 计 数 器 2 溢 出 6 x5 TIMER CAPT 定 时 器 / 计 数 器 捕 捉 事 件 7 x6 TIMER COMPA 定 时 器 / 计 数 器 比 较 匹 配 A 8 x7 TIMER COMPB 定 时 器 / 计 数 器 比 较 匹 配 B 9 x8 TIMER OVF 定 时 器 / 计 数 器 溢 出 x9 TIMER OVF 定 时 器 / 计 数 器 溢 出 xa SPI, STC SPI 串 行 传 输 结 束 2 xb USART, RXC USART, Rx 结 束 3 xc USART, UDRE USART 数 据 寄 存 器 空 4 xd USART, TXC USART, Tx 结 束 5 xe ADC ADC 转 换 结 束 6 xf EE_RDY EEPROM 就 绪 7 x ANA_COMP 模 拟 比 较 器 8 x TWI 两 线 串 行 接 口 9 x2 SPM_RDY 保 存 程 序 存 储 器 内 容 就 绪 Notes:. 熔 丝 位 BOOTRST 被 编 程 时,MCU 复 位 后 程 序 跳 转 到 Boot Loader 请 参 见 P 96 支 持 引 导 装 入 程 序 - 在 写 的 同 时 可 以 读 (RWW, Read-While-Write) 的 自 我 编 程 能 力 2. 当 寄 存 器 GICR 的 IVSEL 置 位 时, 中 断 向 量 转 移 到 Boot 区 的 起 始 地 址 此 时 各 个 中 断 向 量 的 实 际 地 址 为 表 中 地 址 与 Boot 区 起 始 地 址 之 和 Table 9 给 出 了 不 同 的 BOOTRST/IVSEL 设 置 下 的 复 位 和 中 断 向 量 的 位 置 如 果 程 序 永 远 不 使 能 中 断, 中 断 向 量 就 没 有 意 义 用 户 可 以 在 此 直 接 写 程 序 同 样, 如 果 复 位 向 量 位 于 应 用 区, 而 其 他 中 断 向 量 位 于 Boot 区, 则 复 位 向 量 之 后 可 以 直 接 写 程 序 反 过 来 亦 是 如 此 Table 9. 复 位 和 中 断 向 量 位 置 的 确 定 BOOTRST () IVSEL 复 位 地 址 中 断 向 量 起 始 地 址 x x x Boot 区 复 位 地 址 + x Boot 区 复 位 地 址 x Boot 区 复 位 地 址 Boot 区 复 位 地 址 + x 43

Note:. Boot 区 复 位 地 址 列 于 P 27Table 82 对 于 熔 丝 位 BOOTRST, 表 示 未 编 程, 表 示 已 编 程 ATmega8 典 型 的 复 位 和 中 断 设 置 如 下 : 地 址 符 号 代 码 说 明 x rjmp RESET ; 复 位 中 断 向 量 x rjmp EXT_INT ; IRQ 中 断 向 量 x2 rjmp EXT_INT ; IRQ 中 断 向 量 x3 rjmp TIM2_COMP ; Timer2 比 较 中 断 向 量 x4 rjmp TIM2_OVF ; Timer2 溢 出 中 断 向 量 x5 rjmp TIM_CAPT ; Timer 捕 捉 中 断 向 量 x6 rjmp TIM_COMPA ; Timer 比 较 A 中 断 向 量 x7 rjmp TIM_COMPB ; Timer 比 较 B 中 断 向 量 x8 rjmp TIM_OVF ; Timer 溢 出 中 断 向 量 x9 rjmp TIM_OVF ; Timer 溢 出 中 断 向 量 xa rjmp SPI_STC ; SPI 传 输 结 束 中 断 向 量 xb rjmp USART_RXC ; USART RX 结 束 中 断 向 量 xc rjmp USART_UDRE ; UDR 空 中 断 向 量 xd rjmp USART_TXC ; USART TX 结 束 中 断 向 量 xe rjmp ADC ; ADC 转 换 结 束 中 断 向 量 xf rjmp EE_RDY ; EEPROM 就 绪 中 断 向 量 x rjmp ANA_COMP ; 模 拟 比 较 器 中 断 向 量 x rjmp TWSI ; 两 线 串 行 接 口 中 断 向 量 x2 rjmp EXT_INT2 ; IRQ2 中 断 向 量 x3 rjmp TIM_COMP ; Timer 比 较 中 断 向 量 x4 rjmp SPM_RDY ; SPM 就 绪 中 断 向 量 ; x5 RESET: ldi r6,high(ramend) ; 主 程 序 x6 out SPH,r6 ; 设 置 堆 栈 指 针 为 RAM 的 顶 部 x7 ldi r6,low(ramend) x8 out SPL,r6 x9 sei ; 使 能 中 断 x2 <instr> xxx......... 44 ATmega8(L)

ATmega8(L) 当 熔 丝 位 BOOTRST 未 编 程,Boot 区 为 2K 字 节, 且 寄 存 器 GICR 的 IVSEL 置 位 时, 典 型 的 复 位 和 中 断 设 置 如 下 : 地 址 符 号 代 码 说 明 $ rjmp RESET ; 复 位 中 断 向 量 ; $ RESET:ldi r6,high(ramend); 主 程 序 $2 out SPH,r6 ; 设 置 堆 栈 指 针 为 RAM 的 顶 部 $3 ldi r6,low(ramend) $4 out SPL,r6 $5 sei ; 使 能 中 断 $6 <instr> xxx ;.org $c $c rjmp EXT_INT ; IRQ 中 断 向 量 $c2 rjmp EXT_INT ; IRQ 中 断 向 量......... ; $c2 rjmp SPM_RDY ; SPM 就 绪 中 断 向 量 当 熔 丝 位 BOOTRST 已 编 程, 且 Boot 区 为 2K 字 节 时, 典 型 的 复 位 和 中 断 设 置 如 下 : 丝 位 BOOTRST 已 编 程, 且 Boot 区 为 2K 字 节 时, 典 型 的 复 位 和 中 断 设 置 如 下 : 地 址 符 号 代 码 说 明.org x x rjmp EXT_INT ; IRQ 中 断 向 量 x2 rjmp EXT_INT ; IRQ 中 断 向 量......... ; x4 rjmp SPM_RDY ; SPM 就 绪 中 断 向 量 ;.org $c $c rjmp RESET ; 复 位 中 断 向 量 ; $c RESET:ldi r6,high(ramend); 主 程 序 $c2 out SPH,r6 ; 设 置 堆 栈 指 针 为 RAM 的 顶 部 $c3 ldi r6,low(ramend) $c4 out SPL,r6 $c5 sei ; 使 能 中 断 $c6 <instr> xxx 45

当 熔 丝 位 BOOTRST 已 编 程,Boot 区 为 2K 字 节, 且 寄 存 器 GICR 的 IVSEL 置 位 时, 典 型 的 复 位 和 中 断 设 置 如 下 : 地 址 符 号 代 码 说 明 ;.org $c $c rjmp RESET ; Reset 中 断 向 量 $c rjmp EXT_INT ; IRQ 中 断 向 量 $c2 rjmp EXT_INT ; IRQ 中 断 向 量......... ; $c2 rjmp SPM_RDY ; SPM 就 绪 中 断 向 量 $c3 RESET: ldi r6,high(ramend); 主 程 序 $c4 out SPH,r6 ; 设 置 堆 栈 指 针 为 RAM 的 顶 部 $c5 ldi r6,low(ramend) $c6 out SPL,r6 $c7 sei ; 使 能 中 断 $c8 <instr> xxx 在 应 用 区 和 Boot 区 之 间 移 动 中 断 通 用 中 断 控 制 寄 存 器 - GICR 通 用 中 断 控 制 寄 存 器 决 定 中 断 向 量 表 的 放 置 地 址 Bit 7 6 5 4 3 2 INT INT IVSEL IVCE GICR 读 / 写 R/W R/W R R R R R/W R/W 初 始 值 Bit IVSEL: 中 断 向 量 选 择 当 IVSEL 为 " 时, 中 断 向 量 位 于 Flash 存 储 器 的 起 始 地 址 ; 当 IVSEL 为 " 时, 中 断 向 量 转 移 到 Boot 区 的 起 始 地 址 实 际 的 Boot 区 起 始 地 址 由 熔 丝 位 BOOTSZ 确 定 具 体 请 参 考 P 96 支 持 引 导 装 入 程 序 - 在 写 的 同 时 可 以 读 (RWW, Read-While-Write) 的 自 我 编 程 能 力 为 了 防 止 无 意 识 地 改 变 中 断 向 量 表, 修 改 IVSEL 时 需 要 遵 照 如 下 过 程 :. 置 位 中 断 向 量 修 改 使 能 位 IVCE 2. 在 紧 接 的 4 个 时 钟 周 期 里 将 需 要 的 数 据 写 入 IVSEL, 同 时 对 IVCE 写 执 行 上 述 序 列 时 中 断 自 动 被 禁 止 其 实, 在 置 位 IVCE 时 中 断 就 被 禁 止 了, 并 一 直 保 持 到 写 IVSEL 操 作 之 后 的 下 一 条 语 句 如 果 没 有 IVSEL 写 操 作, 则 中 断 在 置 位 IVCE 之 后 的 4 个 时 钟 周 期 保 持 禁 止 需 要 注 意 的 是, 虽 然 中 断 被 自 动 禁 止, 但 状 态 寄 存 器 的 位 I 的 值 并 不 受 此 操 作 的 影 响 注 意 : 若 中 断 向 量 位 于 Boot 区, 且 Boot 锁 定 位 BLB2 被 编 程, 则 执 行 应 用 区 的 程 序 时 中 断 被 禁 止 ; 若 中 断 向 量 位 于 应 用 区, 且 Boot 锁 定 位 BLB2 被 编 程, 则 执 行 Boot 区 的 程 序 时 中 断 被 禁 止 有 关 Boot 锁 定 位 的 细 节 请 参 见 P 96 支 持 引 导 装 入 程 序 - 在 写 的 同 时 可 以 读 (RWW, Read- While-Write) 的 自 我 编 程 能 力 46 ATmega8(L)