# 本工程主要完成：

AW60 通用 I/O 口、串口通信、键盘中断、数码管（LED）、液晶 LCD 显示、模拟量数字量（A/D）、定时器溢出、输入捕捉、输出比较、PWM、Flash 功能，操作步骤是：

1、将低端驱动通过写入器写入 AW60，然后复位；

2、将核心板插入扩展板并用串口线连接扩展板和 PC 机；

3、用 VS2005 打开 PC 高端程序并运行；

4、按照高端程序上标注的操作说明来运行各个功能模块或者参考帮助。

# 相关知识简述：

## 1 SCI 模块介绍

MC9S08AW60 系列包括两个独立的串行通信接口(SCI)的模块，这有时也称为通用异步接收/发射器(UARTs)。通常情况下，这些系统主要是用于连接到个人电脑或工作站的 RS232 串行输入/输出(I/O)的端口，但也可以用来与其他嵌入式控制器通信。

一个灵活的 13 位以模为基础的波特率发生器支持范围广泛的标准波特率超过 115.2kbaud。在同一个 SCI 中发送和接收使用共同的波特率，每个 SCI 模块有一个单独的波特率发生器。

SCI 系统提供了许多先进的功能并不普遍发现在其他嵌入式控制器的其他异步串行 I/O 外设。接收器采用先进的数据采集技术确保可靠的通信和噪声检测。硬件平价、接收唤醒和双缓冲对发送和接收也包括在内。

#### 1.1 特性

SCI 模块的特性包括:

1、全双工、标准的不归零（NRZ）格式；

2、具有独立使能的双缓冲发射器和接收器；

3、可编程波特率（13 位模数分频器）。

中断驱动型或轮询操作:

1、发送数据寄存器空，发送完成；

2、接收数据寄存器已满；

3、接收溢出、奇偶效验错误、成帧错误和噪音错误；

4、闲置接收器检测；

5、接收管脚上的活动边沿；

6、支持 LIN 的断点检测；

7、硬件奇偶效验生成和检查；

8、可编程 8 位或 9 位字符长度；

9、按闲置线路或地址标记的接收器唤醒；

10、可选的 13 位中止字符生成/11 位中止字符检测；

11、可选的发射器输出极性。

1.2 运行模式

包括以下模式：

1、8 位和 9 位数据模式。

2、停止模式操作。

3、循环模式。

4、单线模式。

#### 1.3 功能简述

SCI 允许在 MCU 和远程器件（包括其他 MCU）间进行全双工、异步、NRZ 串行通信。SCI 由波特速率发生器、发射器和接收时钟组成。发射器和接收器独立运行，尽管它们使用同一波特率发生器。在正常运行期间，MCU 监控 SCI 的状态，写将要发送的数据，处理已接收的数据。

## 2 GPIO 模块介绍

I/O 接口，即输入输出接口，是微控制器同外界进行交互的重要通道。这些接口千变万化，种类繁多，有显而易见的人机交互接口，如操纵杆、键盘、显示器；也有无人介入的接口，如网络接口、机器设备接口。

通用 I/O:GPIO(General Purpose I/O)，是 I/O 的最基本形式，它是一组输入或输出引脚，有时也称为并行 I/O(parallel I/O)。

#### 2.1 输入引脚的连接方式

输入引脚有三种不同的连接方式：带上拉电阻的连接、带下拉电阻的连接和“悬空”连接。

#### 2.1 输出引脚的连接方式

作为通用输出引脚，MCU 内部程序向该引脚输出高电平或低电平来驱动器件工作，即开关量输出。如图 4-2 所示。其中 O1 引脚是发光二极管 LED 的驱动引脚，当 O1 引脚输出高电平时，LED 不亮；当 O1 引脚输出低电平时，LED 点亮。O2 引脚接蜂鸣器驱动电路，当 O2 脚输出高电平时，蜂鸣器响；O2 脚输出低电平时，蜂鸣器不响。

#### 2.2 并行输入/输出（I/O）相关的软件控制

MC9S08AW60 系列有 7 个端口，总共包含 54 个通用 I/O 引脚。很多引脚都与片内外围设备复用，如定时器系统，通信系统或键盘中断。当这些其他的块不控制端口引脚时，它们转向通用 I/O 控制。

在应用中没有被使用的引脚一定要被挂起。防止由浮动输入引起的额外电流并在噪声或间事件中提高抗干扰力。终止方法包括：

1、配置未使用的引脚作为输出高电平或低电平

2、配置未使用的引脚作为输入并使用内部或外部上拉电阻

永远不要将未使用的引脚连接到 VDD 或 VSS 。

#### 2.3 特性

并行 I/O 和引脚控制功能，根据产品包装上的选择，包括：

1、在 7 个端口上共有 54 个通用 I/O 引脚。

2、滞后输入缓冲器。

3、每个输入引脚上软件控制上拉电阻。

4、软件控制转换率输出缓冲器。

5、8 个端口 A 引脚。

6、8 个端口 B 引脚与 ADC1 复用。

7、7 个端口 C 引脚共享与 SCI2，IIC1，MCLK。

8、8 个端口 D 引脚与 ADC1，KBI1，TPM1 和 TPM2 外部时钟输入复用。

9、8 个端口 E 引脚与 SCI1，TPM1，SPI1 复用。

10、8 个端口 F 引脚与 TPM1 和 TPM2 复用。

11、7 个端口 G 引脚与 XTAL，EXTAL 和 KBI1 复用。

## 3 FLASH 模块介绍

FLASH 存储器主要用于保存程序和数据。在线编程使正在运行的程序和数据可以在应用产品的最终组装完成后分别上载到 Flash 中。我们可以通过单线后台调试接口对阵列进行编程。由于 FLASH 擦除和编程操作不需要特殊的电压，所以也可以通过其他软件控制的通信路径来实现应用编程。有关在线和应用内编程的更详尽描述，请参见——HCS08 系列参考手册，第 1 卷‖（飞思卡尔半导体文件编号 HCS08RMv1/D）。

#### 3.1 功能简述

FLASH 存储器功能包括：

1、FLASH 大小——MC9S08AW60 是 63280 字节（124 页，每页 512 字节）；

2、单电源程序和擦除；

3、命令界面的快速程序和擦除操作；

4、用于快速编程和擦除操作的命令接口；

5、灵活的块保护；

6、FLASH 和 RAM 的安全特性；

7、自动关闭电源以获得低频读取。

## 4 定时器模块介绍

在嵌入式应用系统中，有时要求能对外部脉冲信号或开关信号进行计数，这可通过计数器来完成。有些设备要求每间隔一定时间开启并在一段时间后关闭，有些指示灯要求不断地闪烁，这可利用定时信号来完成。个人计算机也经常要用到定时信号，如系统日历时钟的计时、产生不同频率的声源等。在计算机系统中，技术与定时问题的解决方法是一致的，只不过是同一个问题的两种表现形式。

#### 4.1 实现计数与定时的基本方法

（1）完全硬件方式

在过去许多仪器仪表或设备中，需要进行延时、定时或计数，经常使用数字逻辑电路实现，即完全用硬件电路实现计数/定时功能若要改变计数/定时的要求，必须改变电路参数，通用性、灵活性差。微型电子计算机出现以后，特别是单片微型计算机的发展与普及，这种完全硬件方式实现定时与计数已较少使用。

（2）完全软件方式

在计算机中，通过编程，利用计算机执行指令的时间实现定时，称为完全软件方式，简称软件方式。在这种方式中，一般是根据所需要的时间常数来设计一个延时子程序，延时子程序中包含一定的指令，设计者要对这些指令的执行时间进行严密的计算或者精确的测试，以便确定延时时间是否符合要求。

（3）可编程计数器/定时器

利用专门的可编程计数器／定时器实现计数与定时，克服了完全硬件方式与完全软件方式的缺点，设定之后与 CPU 并行地工作。应用可编程计数器／定时器，在简单的软件控制下，可以产生准确的时间延时。这种方法的主要思想是根据需要的定时时间，用指令对计数器／定时器设置定时常数，并用指令启动计数器／定时器。这种方法最突出的优点是计数时不占用 CPU 的时间，并且，如果利用计数器／定时器产生中断信号就可以建立多作业的环境，所以，可大大提高 CPU 的利用率。

## 5 定时器/脉冲调制器(S08TPMV2)

MC9S08AW60 系列包括两个独立的定时器/脉宽调制(TPM)模块，支持传统的输入捕捉、输出比较、或已缓冲的优势，对每个通道的脉冲宽度调制（PWM）。在每个 TPM 控制位配置所有的通道，定时器作为中心 PWM 职能进行操作。对于两个 TPMS 中的每一个，时机职能是基于一个单独的 16 位计数器分频器，并以特点为模来控制频率和时间参考的范围（溢出周期内）。这个计时系统非常适合范围广泛的控制等方面的应用，以及中心不结盟的 PWM 能力，对 3 个通道 TPM 的扩展应用领域，以电机控制小家电。

固定系统时钟的使用，XCLK，作为时钟源为 TPM 模块允许 TPM 的分频器运行，使得振荡器速率除以 2（ICGERCLK/2）。此选项仅适用如果 ICG 设定在 FEE 模式和适当的条件得到满足时。在所有 ICG 模式中，这个选项是多余的，因为 XCLK 相当于 BUSCLK。

#### 5.1 特性

1、MC9S08AW60 系列中定时器系统包括一个 6 通道的 TPM1 和一个独立的 2 通道 TPM2。

定时器系统的功能包括：

（1）总共 8 个通道：

——每个通道可以是输入捕捉、输出比较或边缘对齐 PWM 模式。

——上升边、下降边或任何边输入捕捉触发。

——设置、清除、切换输出比较操作。

——PWM 输出上的可选极性。

（2）在每个通道上，模块可配置为缓冲、中央对齐脉冲宽度调制（CPWM）。

（3）时钟源为每个 TPM 分频单独可选作为总线时钟，固定式系统时钟，或外部引脚：

——除以 1、2、4、8、16、32、64 或 128 的预分频器值相位。

——外部时钟输入 TPM1 的 TPM1CLK 和 TPM2 的 TPM2CLK（只适用于 64 引脚封装）。

（4）16 位自由运行或模数向上/向下(CPWM)计数操作。

（5）16 位模寄存器来控制计数范围。

（6）定时器系统启动。

（7）每个通道一个中断以及终端计数中断为每个模块的 TPM。

## 6 看门狗（COP）模块介绍

当应用软件与期望的运行不相符时，COP 看门狗试图强制系统复位。为防止系统从 COP 定时器复位，应用软件必须周期的重置 COP 计数器。如果应用程序丢失和在 COP 计数器到达中止时间之前重置 COP 计数器失败，将产生一个系统复位强制系统回到一个已知的起始点。SOPT1 中的 COPE 设置为使能 COP 看门狗。COP 计数器通过对 SRS 的地址写任何值被重置。这个写操作对只读的 SRS 没有任何影响，而是被解码为发送给 COP 计数器的一个复位信号。

任何复位之后，COP 计数器都会被激活。提供了一个可靠的方式来检查代码像预料地那样没有被执行。如果应用中没有使用 COP 看门狗，它可以通过清除只能写一次的 STOP 寄存器中是 COPE 位来被禁止。此外，COPT 位可以用来选择两个超时期之一（218 或 213 周期的总线率时钟）。即使应用将使用复位默认设置的 COPE 和 COPT，在复位初始化过程中，用户应写入只能写一次的 SOPT 来固定设置。这种方法下，如果应用程序丢失，它们不可能被偶然改变。

服务于（清除）COP 计数器的写 SRS 操作不应被放置在中断服务例程（ISR），因为即使主要的应用程序失败，ISR 也可能继续被周期地执行。

当 MCU 在激活后台模式，COP 计时器暂时停用。