“PCR9 以位为单位选择端口9 的引脚的输入/输出状态。将 PCR9 中的某位设置为 1 将使相应引脚成为输出引脚,将某位清除为 0 将使相应引脚成为输入引脚。当相关引脚设置为通用 I/O 端口时,PCR9 和 PDR9 的设置有效。PCR9 是一个只写寄存器。它的所有位始终读为 1。
”
规格
利用实时时钟(RTC)的周期性中断功能,将 LED 的点亮和熄灭时间设置为 0.5 秒。
LED1 连接到端口 9 的输出引脚 P92。
P92是大电流端口。
LED 闪烁操作如图 1 所示。
LED闪烁操作
LED 闪烁操作功能
在此示例任务中,使用 RTC 的周期性中断功能打开和关闭连接到 P92/IRQ4’引脚 (P92) I/O 端口的 LED。I/O 端口的框图如图 2 所示,如下所述。
1. I/O 端口功能
端口 92 设置为输出引脚。
端口数据寄存器 9 (PDR9)
PDR9 是一个 8 位寄存器,用于存储端口 9 的引脚 P93 至 P90 的数据。读取端口 9 会导致直接读取 PDR9 的值,而不管实际引脚状态如何。
端口控制寄存器9 (PCR9)
PCR9 以位为单位选择端口9 的引脚的输入/输出状态。将 PCR9 中的某位设置为 1 将使相应引脚成为输出引脚,将某位清除为 0 将使相应引脚成为输入引脚。当相关引脚设置为通用 I/O 端口时,PCR9 和 PDR9 的设置有效。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。
分享到:
猜你喜欢