![](/img/trans.png)
[英]Explanation of digitalWrite in Arduino: toggling LED of digital pin
[英]Check voltage on pin and turn on an LED
像這樣控制LED是向您介紹微控制器和電子設備的好方法。 您將學習如何讀取數據手冊,如何執行低級系統配置以及如何構建一些電子電路。 但是,正如您可能已經看到的那樣,即使最簡單的任務,一開始也需要一些瑣碎的操作和反復試驗。 好消息是,一旦您了解了基礎知識,就可以將相同的技術應用於整個微控制器類,並且將開發自己的函數庫,這將使構建新項目變得越來越容易。
16F628A具有內存映射的I / O ,這意味着其內部寄存器控制其特殊功能引腳的行為。
根據數據表 (PDF),28A具有兩個模擬比較器 。 每個比較器都連接到28A上的三個引腳。 兩個引腳用於輸入:它們連接到要比較的電壓。 第三個引腳用於輸出:比較器通過將輸出引腳上的電壓設置為高電平或低電平來指示哪個輸入電壓較高。
28A還具有連接到另一個引腳的參考電壓。 這可以產生一個已知電壓,您可以將其連接到比較器輸入之一。 將測試電壓連接到比較器的另一個輸入,然后使用輸出引腳驅動LED。 然后,當您的測試電壓高於參考電壓時,LED就會亮起或熄滅。 (28A實際上是可配置的:您可以選擇哪種條件將點亮LED。)
數據手冊包括一些匯編代碼,向您展示了如何通過設置比較器控制寄存器中的相應位來配置比較器。
您還需要找出28A是否可以直接驅動LED。 某些設備內部包含適當的限流電路。 其他人則需要您自己提供。
您可能會在網上搜索“ 16F628A應用程序說明”(對於制造商的建議)或僅在“ 16F628A應用程序”(對於用戶創建的應用程序)進行搜索。 這看起來很有趣,作者提供了將其軟件發送給您的電子郵件。 也許他也會提供一些提示。
祝好運!
實際的代碼將在某種程度上取決於您使用的編譯器,並在很大程度上取決於您是否要使用某些包裝器庫(我不建議您這樣做,因為調用包裝器的代碼通常比設置正確的寄存器要長)。
通常,您要執行的操作稱為GPIO(通用輸入和輸出),您需要執行以下操作:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.