描述
本应用笔记介绍了连接到 I/O 端口的 LED 的闪烁操作。它介绍了它的规格、使用的功能、操作原理以及寄存器的描述。
规格
-
使用实时时钟 (RTC) 的周期性中断功能,将 LED 的开启和关闭时间设置为 0.5 秒。
-
LED1 连接到端口 9 的输出引脚 P92。
-
P92是大电流端口。
LED 闪烁操作如图 1 所示。
LED 闪烁操作
LED 闪烁操作的功能
在此示例任务中,连接到 P92/IRQ4‘ 引脚 (P92) I/O 端口的 LED 使用 RTC 的周期性中断功能打开和关闭。I/O 端口的框图如图 2 所示,如下所述。
1. I/O 端口功能
-
端口 92 设置为输出引脚。
-
端口数据寄存器 9 (PDR9)
-
PDR9 是一个 8 位寄存器,用于存储端口 9 的 P93 至 P90 引脚的数据。读取端口 9 会导致直接读取 PDR9 的值,而不管实际引脚状态如何。
-
端口控制寄存器 9 (PCR9)
-
PCR9 以位为单位选择端口 9 引脚的输入/输出状态。将 PCR9 中的一位设置为 1 使相应的引脚成为输出引脚,将一位清零使相应的引脚成为输入引脚。PCR9 和 PDR9 的设置在有问题的引脚设置为通用 I/O 端口时有效。PCR9 是只写寄存器。它的所有位总是读为 1。
-
端口模式寄存器 9 (PMR9)
-
PMR9 控制端口 9 引脚的功能选择。
I/O 端口功能框图
2. 大电流端口使用示例
端口 9 是一个大电流端口,当输出低电平信号时可以驱动 15 mA(在 VOL = 1.0 V)。在此示例任务中,VCC = 3.3 V,通过插入 R = 220R 以 15 mA 驱动 LED。通过使用多个大电流端口,可以驱动高达 60 mA。
3. RTC 功能
实时时钟 (RTC) 是一个计时器,用于计算从一秒到一周的持续时间。它可以以 0.25 秒到 1 周的间隔产生中断。
-
RTC 控制寄存器 1 (RTCCR1)
-
RTCCR1 控制时钟定时器的启动/停止和复位。
-
RTC 控制寄存器 2 (RTCCR2)
-
RTCCR2 控制 RTC 周期中断为周、日、时、分、1 秒、0.5 秒和 0.25 秒。每周、每天、每小时、每分钟、1 秒、0.5 秒或 0.25 秒启用中断会在发生中断时将 RTC 中断标志寄存器 (RTCFLG) 中的相应标志设置为 1。
-
时钟源选择寄存器 (RTCCSR)
-
RTCCR2 控制 RTC 周期中断为周、日、时、分、1 秒、0.5 秒和 0.25 秒。每周、每天、每小时、每分钟、1 秒、0.5 秒或 0.25 秒启用中断会在发生中断时将 RTC 中断标志寄存器 (RTCFLG) 中的相应标志设置为 1。
-
RTC 中断标志寄存器 (RTCFLG)
-
RTCFLG 在中断发生时设置相应的标志。即使接受中断,该标志也不会自动清除。将 0 写入标志以将其清除。
中断源
有八种类型的 RTC 中断:自由运行计数器溢出、周、日、小时、分钟、一秒、0.5 秒和 0.25 秒。使用中断时,在设置其他寄存器后最后启动 RTC。当 RTC 的中断请求发生时,RTCFLG 中相应的标志位设置为 1。要清除标志位,向其写入 0。
编辑:hfy
打开APP阅读更多精彩内容