第 5 章 实战练习一本章的实战练习将以一个最简单的设计为例,指导读者完成以下的实践:如何使用 AVR 汇编语言进行系统程序设计与系统实现。初步掌握使用 AVR 免费开发平台 AVR Studio。在该开发平台的支持下,完成汇编源程序的编写,以及程序的软件模拟调试等开发的过程。掌握 AVR-51 多功能实验板使用方法。完成实现硬件系统电路的连接,如何使用ISP 下载线配置 AVR 的熔丝位,以及运行代码下载。初步掌握 CVAVR 高级 C 语言开发软件的使用。作为动手实践的一个起步,学习者通过该示例的完成和实现,可以对使用汇编程序语言开发以及 C 语言开发单片机嵌入式系统的过程与特点,以及相关的硬件和软件工具有一个基本的了解。5.1 秒节拍显示器系统的设计5.1.1 秒节拍显示器硬件设计在第 2 章的 2.6.6 中,给出了一个使用 ATmega16 构成的 AVR 简单的系统。这个系统就是一个简易的“秒节拍显示器”。这个秒节拍显示器的功能非常简单,就是用 AVR 单片机控制一个 LED 发光二极管,让它亮一秒钟,暗一秒种,不间断的闪耀,构成一个简单的秒节拍显示器。图 5-1 是它的电原理图。图 5-1 简单的秒节拍显示器电原理图秒节拍显示器的硬件电路组成非常简单,图中使用一个 AVR 芯片和 LED 发光二极管作为秒信号的显示。当 ATmega16 的 I/O 引脚 PC0 口输出为“0”时,LED 导通发光;输出为“1”时,LED 截止熄灭。560 欧姆电阻起保护限流作用,控制 LED 的导通电流在 5~10mA。适当调整 R3 的阻值,可以调节 LED 的亮度,并限制流过 LED 和 PC0 口的电流,保护其不被大电流烧毁。在虚线框中,是最小系统的构成。其中 R1 为 RESET 脚的上拉电阻,保证了 RESET 脚可靠的高电平。系统采纳外接 4M 晶体和芯片内部的振荡电路组成时钟电路,产生 4M 频率的脉冲作为系统的时钟信号,此时单条指令的执行时间为 0.25us。电容 C1 和 C2 应同具体使用的石英晶体配合(参考具体生产厂的说明),一般在 20p-30p 之间,改变 C1、C2 的值,可以对 4M 频率进行微调。R2 与晶体并连,其作用是稳定晶体的阻抗,提高振荡电路的稳定性。图 中 的 ISP 编 程 下 载 口 的 2 、 3 、 4 、 5 脚 同 芯 片 SPI 接 口 的MOSI(PB5)、MISO(PB6)、SCK(PB7)和 RESET 引脚连接。当需要改动 AVR 的熔丝位配置,或将编译好的运行代码烧入的 AVR 的 FlashROM...