![]() |
發布時間: 2023-1-31 15:11
正文摘要:春節在家無事,學習了LCM,DMA和EEPROM的使用,寫了一個例程,上機調試運行通過,分享給大家,相信這類東西多些對我們初學者是有利的。也歡迎大神們指點和吐槽。 & ... |
STC莊偉 發表于 2023-2-2 09:47 后來才知道在屠龍刀核心板上就設計安裝了NTC測溫電路的,直接編程就能調試了 |
STC莊偉 發表于 2023-2-2 09:47 NTC的性能參數我不熟。沒搞這方面的驗證實驗,只做了ds18b20的測溫實驗。 |
我也在學 真12位ADC, 熱敏電阻/NTC 測溫 《STC32位8051單片機原理及C語言程序設計 視頻教程》,第19集 ![]() |
補充一下: 1,做為學習階段的例程,程序中還使用了外晶振和內部RTC時鐘源,沒有安裝外晶振的朋友可以把相關語句屏蔽掉,系統會自動選擇內部高速時鐘源,其頻率可在STC-ISP軟件界面選定。 2,緩沖數組的確定和程序中幾個數字的解釋,我在這個程序中用了一個隨手拿來的圖片,經軟件(Image2Lcd或其它)縮小后大小為154*120(320和240兩者只能照顧一個)。其數據量為: 154*120*2=36960(字節) 選擇緩沖數組3696一是該 值小于8K(stc32g12k128的xdata空間是8K,DMA緩沖數組只能放在這個空間) 二是總數據量正好分十次讀完(整除)。三是3696/154/2=12.就是刷屏時正好12行(整除),所以程序中出現了3696,154,120,12這幾個數字,如果哪位同學的圖像數據不同,可按這個關系自己確定相應的常數。 3,調試程序時借助了stc-usb link1d工具,進行硬件仿真,用它可以清楚地看到程序運行到哪一步,各種變量的變化,及數組內數值的變化。明顯的減少了調試時間。記得聽過一句話,說程序不是寫出來的,是調出來的。意思大概是寫一個程序并不難,但寫完后難免存在各種小bug.一點小問題可能耽誤很多時間,甚至調錯方向,把對的改成錯的,結果越調越亂(我這種新人難免出這種情況),有了硬件仿真,就容易多了。程序卡在哪里,一看就知道,針對性的進行調整,容易多了,記得卡的最多的是外晶振無法開啟(這也是上來做補充說明的原因)到現在我也沒能把控時鐘管理。只到了能用的程度,出現問題時,沒能力解決這方面的問題。而最夸張的一次是完全正確的程序,執行時卻連第一行都沒進去。如果沒有硬件仿真器支持,真的要多花太多時間去查。 |