新聞中心

        EEPW首頁 > 光電顯示 > 設計應用 > 環境光監測器:在 LCD 上顯示測量值

        環境光監測器:在 LCD 上顯示測量值

        作者: 時間:2023-06-09 來源: 收藏

        該項目系列的總體目標是設計一個智能環境光監視器,它可以分析室內光線水平并執行相應的響應操作,例如控制燈調光器。在開發這個項目的過程中,我們需要一種方便的方法來表示電流和電壓幅度的模數轉換值。

        本文引用地址:http://www.104case.com/article/202306/447518.htm

        該項目系列的總體目標是設計一個智能環境光監視器,它可以分析室內光線水平并執行相應的響應操作,例如控制燈調光器。在開發這個項目的過程中,我們需要一種方便的方法來表示電流和電壓幅度的模數轉換值。因此,我們將從編寫固件開始,該固件可以將存儲在變量中的普通數字轉換為一系列單獨的數字,然后這些數字將決定我們將哪些像素數據陣列傳輸到 模塊。
        該固件旨在顯示三位數測量值,單位為毫伏、伏特、微安或毫安。如果顯示的單位是伏特或毫安,位數字后的小數點將自動啟用。這意味著顯示接口可以處理從 0 μA 到 9.99 mA 的電流幅度和從 0 mV 到 9.99 V 的電壓幅度。但是,這個范圍的大部分將永遠不會被使用——光傳感器的輸出電流為 5 mA, ADC 無法測量高于其參考電壓的電壓,在本設計中為 2.4 V。
        端口輸入輸出

        環境光監測器:在 LCD 上顯示測量值

        您可以參閱本文 以獲取有關使用交叉開關和將引腳配置為輸入或輸出的更深入信息。如上圖所示,SPI 信號被啟用并路由到連接到相應 信號的引腳。SPI片選信號由固件控制,輸出到P0.1,因為內置的SPI從機選擇信號與接口不兼容。  
        外設和中斷
        在項目的這個階段,我們只需要兩個外設:SPI 和 Timer4。SPI 配置為 3 線主機模式,時鐘分頻器設置為產生 875 kHz 的 SPI 時鐘頻率。

        環境光監測器:在 LCD 上顯示測量值

        SPI 中斷被啟用是因為 SPI 傳輸由 SPI 中斷服務例程中的狀態機控制。傳輸每個字節后都會觸發中斷。Timer4 用于短延遲,例如 LCD 模塊數據表中指定的設置和保持延遲。一個 Timer4 計數約為 490 ns,因此如果我們需要 6 μs 的延遲,我們將 Timer4 寄存器設置為零并等待計數達到 12。

        環境光監測器:在 LCD 上顯示測量值

        固件
        該項目的固件可分為三個主要部分:LCD 通信接口、將存儲在變量中的數字轉換為一系列單獨數字的函數以及更新 LCD 像素數據陣列的例程。
        液晶界面
        我們使用多行更新模式與 LCD 通信,如前一篇文章所述。當微控制器啟動時,它將 LCD 清除為所有白色像素。隨后通過將 128 位像素數據寫入一個或多個行地址來更新 LCD。所有 LCD 更新均由“LCDControl.c”源文件中的 UpdateLCD() 函數啟動,數據傳輸過程在 SPI 中斷服務程序中繼續進行。該項目中的 LCD 通信接口包括對我們在之前文章中使用的內容的一項改進:每次調用 UpdateLCD() 都可以通過將適當的行和一行地址放入 LCDLineStart 和 LCDLineStop 變量來指定要更新顯示的 哪一部分 。

        環境光監測器:在 LCD 上顯示測量值

        將數字轉換為數字
        重要的是要理解存儲在變量中的數值與我們用來可視化數值的一系列數字根本不同。一個變量只是一個由 1 和 0 組成的序列;這個序列可以用多種方式解釋——例如,解釋為無符號整數、有符號整數或浮點值。然后需要進一步轉換,以視覺形式表達這個解釋值。將變量值轉換為一系列數字或字符的標準 C 語言方法是庫中包含的 printf() 函數。但盡可能避免庫例程是明智的,主要是因為設計自己的代碼更有趣、更有價值、更有啟發性。不過,也有實際的好處。



        關鍵詞: 光監測器 LCD

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 文登市| 丘北县| 南京市| 伊宁县| 荔浦县| 凌海市| 浮山县| 罗山县| 简阳市| 镇原县| 灌南县| 洛阳市| 襄城县| 景洪市| 四川省| 双峰县| 新余市| 夏邑县| 鱼台县| 闽清县| 根河市| 织金县| 江陵县| 肇东市| 会东县| 大田县| 仁布县| 蓬莱市| 周至县| 榆树市| 贺州市| 黔南| 东山县| 元阳县| 镇宁| 铁力市| 南丰县| 祁阳县| 兴义市| 榆林市| 珲春市|