簡體   English   中英

啟用端口RA0作為輸入並從led檢索值LDR

[英]Enable port RA0 as input and retrieve value LDR from led

我正在將picdem 18F4550與帶有C18編譯器的v8.63芯片一起使用。

我將使PortA設置為輸入,我將在端口RA0上連接LDR。 如下(我認為)

TRISAbits.TRISA0 = 1; <= set RA0 as input

現在,我想要LDR的值(如果LED亮則為電壓/值),我可以說:

int colorLed = PortAbits.RA0;

現在在int類型的變量中有我的LED的值/電壓。

如果我錯了糾正我。

聽起來您想測量一個模擬電壓,在這種情況下,您需要將該引腳用作AN0而不是RA0 你應該閱讀的章節21 數據表 ,但總的來說,您需要使用的寄存器配置AD轉換器ADCON0ADCON1ADCON2 ,讀這就是出現在結果ADRESH:ADRESL

請注意,您可能會使用數字輸入來讀取LDR,但將無法對其進行校准。 使用模擬輸入稍微復雜些,但要靈活得多。

默認情況下,PORTA可以用作數字輸入或模擬輸入。

要使用LDR,您很可能需要將PIN配置為模擬輸入。

但是,這仍然取決於您要做什么。 也許您應該給您的項目一些細節。

檢查此鏈接以獲取PIC18F4550 數據表

您只能在此處找到PIC184550的更多詳細資源。

同樣,您可能想提供有關您的應用程序的更多詳細信息,以便我們更好地幫助您。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM