I/O 端口连接的LED的闪烁操作

描述

本应用笔记介绍了连接到 I/O 端口的 LED 的闪烁操作。它介绍了它的规格、使用的功能、操作原理以及寄存器的描述。

规格

  • 使用实时时钟 (RTC) 的周期性中断功能,将 LED 的开启和关闭时间设置为 0.5 秒。
  • LED1 连接到端口 9 的输出引脚 P92。
  • P92是大电流端口。

LED 闪烁操作如图 1 所示。

led

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 引脚的功能选择。

led

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阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分