本應(yīng)用筆記介紹了連接到 I/O 端口的 LED 的閃爍操作。它介紹了它的規(guī)格、使用的功能、操作原理以及寄存器的描述。
規(guī)格
LED 閃爍操作如圖 1 所示。
LED 閃爍操作
LED 閃爍操作的功能
在此示例任務(wù)中,連接到 P92/IRQ4‘ 引腳 (P92) I/O 端口的 LED 使用 RTC 的周期性中斷功能打開和關(guān)閉。I/O 端口的框圖如圖 2 所示,如下所述。
1. I/O 端口功能
- 端口 92 設(shè)置為輸出引腳。
- 端口數(shù)據(jù)寄存器 9 (PDR9)
- PDR9 是一個 8 位寄存器,用于存儲端口 9 的 P93 至 P90 引腳的數(shù)據(jù)。讀取端口 9 會導(dǎo)致直接讀取 PDR9 的值,而不管實際引腳狀態(tài)如何。
- 端口控制寄存器 9 (PCR9)
- PCR9 以位為單位選擇端口 9 引腳的輸入/輸出狀態(tài)。將 PCR9 中的一位設(shè)置為 1 使相應(yīng)的引腳成為輸出引腳,將一位清零使相應(yīng)的引腳成為輸入引腳。PCR9 和 PDR9 的設(shè)置在有問題的引腳設(shè)置為通用 I/O 端口時有效。PCR9 是只寫寄存器。它的所有位總是讀為 1。
- 端口模式寄存器 9 (PMR9)
- PMR9 控制端口 9 引腳的功能選擇。
I/O 端口功能框圖
2. 大電流端口使用示例
端口 9 是一個大電流端口,當(dāng)輸出低電平信號時可以驅(qū)動 15 mA(在 VOL = 1.0 V)。在此示例任務(wù)中,VCC = 3.3 V,通過插入 R = 220R 以 15 mA 驅(qū)動 LED。通過使用多個大電流端口,可以驅(qū)動高達 60 mA。
3. RTC 功能
實時時鐘 (RTC) 是一個計時器,用于計算從一秒到一周的持續(xù)時間。它可以以 0.25 秒到 1 周的間隔產(chǎn)生中斷。
- RTC 控制寄存器 1 (RTCCR1)
- RTCCR1 控制時鐘定時器的啟動/停止和復(fù)位。
- RTC 控制寄存器 2 (RTCCR2)
- RTCCR2 控制 RTC 周期中斷為周、日、時、分、1 秒、0.5 秒和 0.25 秒。每周、每天、每小時、每分鐘、1 秒、0.5 秒或 0.25 秒啟用中斷會在發(fā)生中斷時將 RTC 中斷標(biāo)志??寄存器 (RTCFLG) 中的相應(yīng)標(biāo)志設(shè)置為 1。
- 時鐘源選擇寄存器 (RTCCSR)
- RTCCR2 控制 RTC 周期中斷為周、日、時、分、1 秒、0.5 秒和 0.25 秒。每周、每天、每小時、每分鐘、1 秒、0.5 秒或 0.25 秒啟用中斷會在發(fā)生中斷時將 RTC 中斷標(biāo)志??寄存器 (RTCFLG) 中的相應(yīng)標(biāo)志設(shè)置為 1。
- RTC 中斷標(biāo)志??寄存器 (RTCFLG)
- RTCFLG 在中斷發(fā)生時設(shè)置相應(yīng)的標(biāo)志。即使接受中斷,該標(biāo)志也不會自動清除。將 0 寫入標(biāo)志以將其清除。
中斷源
有八種類型的 RTC 中斷:自由運行計數(shù)器溢出、周、日、小時、分鐘、一秒、0.5 秒和 0.25 秒。使用中斷時,在設(shè)置其他寄存器后最后啟動 RTC。當(dāng) RTC 的中斷請求發(fā)生時,RTCFLG 中相應(yīng)的標(biāo)志位設(shè)置為 1。要清除標(biāo)志位,向其寫入 0。
編輯:hfy
-
led
+關(guān)注
關(guān)注
242文章
23828瀏覽量
673765 -
寄存器
+關(guān)注
關(guān)注
31文章
5433瀏覽量
124369
發(fā)布評論請先 登錄
I/O引腳沒有代碼?
CC2530控制LED閃爍該如何去實現(xiàn)呢
MCS-51單片機I/O端口的存取
實現(xiàn)Windows95/98的I/O端口讀寫_Delphi教程
關(guān)于標(biāo)準(zhǔn)I/O庫執(zhí)行I/O操作
CC2530控制LED閃爍

CC2530并行I/O端口應(yīng)用

怎么采用C語言編程序通過單片機的I/O端口點亮一個LED燈?
I/O接口與I/O端口的區(qū)別
MAX7325 I2C端口擴展器,提供8路推挽式I/O和8個漏極開路I/O技術(shù)手冊

評論