⑴ 完全手冊--51單片機c語言開發詳解
郭天祥的新概念《51單片機C語言教程——入門、提高、開發、拓展全攻略》(附光碟)10天學會單片機,我用了10幾天謝謝採納
⑵ 單片機工作原理詳解
單片機的工作原理與計算機CPU的工作原理是一樣的,主要是利用片內的半導體存儲器存放用戶的程序和數據,單片機的核心中央微處理器CPU中有指令寄存器、指令解碼器,程序計數器等部件,由程序計數器尋找下一條要執行的指令,找到後,將指令送給指令寄存器,再由指令解碼器翻譯執行該指令,完成對指令功能的操作;單片機的工作就是不斷地取指令、分析指令、執行指令的循環過程。按預先編寫的程序執行,以達到用戶期待的結果。
⑶ 誰能詳細解釋一下單片機的概念以及用途
單片機又稱單板機…算了不想解釋了,別學了沒前途,完全被ARM取代了,我勸你棄單片機從嵌入式吧!
⑷ 51單片機C語言開發詳解的介紹
本書由淺入深、循序漸進地介紹了8051內核單片機的系統知識和開發方法,並以atmel公司生產的at89s51單片機為實例,具體講解了單片機在各種嵌入式系統中的應用。
⑸ 單片機使能端的詳解
EN........
⑹ 請具體、詳細解釋下什麼是單片機
這個就是一個單片機用ds18b20溫度感測器讀溫度的程序呀?你在程序中直接調用/**************讀取ds18b20當前溫度************/
void
readtemperature(void)
這個就可以得到溫度了。
⑺ 詳解單片機中斷的細枝末節和精確性。
你的理解基本是對了,但是定時器有中斷,並不需要你時時查詢,溢出時會產生中斷,然後強行搶走你的CPU去執行中斷里的代碼,完成後再回到原點.
如果你設置了中斷但沒有寫中斷函數的話,你的程序很有可能開飛機.
如果你只用一個定時器中斷,並且在下一個中斷到來之前把事處理完,你完全可以把程序全部放到中斷中處理.
但問題是
有的編譯器不允許中斷時調用函數.
你如果用到多個定時器怎麼辦?
如果主循環超過定時器完全不是問題,你可以在中斷里放一人變數,每中斷一次遞增.
你在主循環中讀取遞增數量,就可以知道你這一循環漏了幾次中斷.
如果你定時要求非常准備並且都要及時處理,你把要處理的事項放到中斷就可以了.
⑻ 單片機跑飛詳解
單片機程序死機,跑飛了可以從以下幾個方面查找原因:
1. 意外中斷。是否打開了某個中斷,但是沒有響應和清除中端標志,導致程序一直進入中斷,造成死機假象。
2. 中斷變數處理不妥。若定義某些會在中斷中修改的全局變數,這時要注意兩個問題:首先為了防止編譯器優化中斷變數,要在這些變數定義時前加volatile,其次在主循環中讀取中斷變數前應該首先關閉全局中斷,防止讀到一半被中斷給修改了,讀完之後再打開全局中斷;否則出現造成數據亂套。
3. 地址溢出,常見錯誤為指針操作錯誤。我要著重說的是數組下標使用循環函數中循環變數,如果循環變數沒控制好則會出現數組下標越界,意外修改系統的寄存器造成死機,這種情況下如果死機說明運氣好,否則後面不知道發生什麼頭疼的事。
4. 無條件的死循環;比如使用while(x);等待電平變化,正常情況下x都會變成0,就怕萬一,因此最好加上時間限制。
5. 看門狗沒有關閉。有的單片機即使沒使用看門狗開機時也有可能意外自動開啟了最小周期的看門狗,導致軟體不斷復位,造成死機,這個要看晶元手冊,最好在程序復位後首先應該顯式清除看門狗再關閉看門狗。
6. 堆棧溢出。最難查找的問題,對於容量小的單片機,盡量減少函數調用層級,減少局部變數,從而減少壓棧的時候所需的空間。當你把以上幾條都試過不能解決問題,試一試把你的被調用少函數直接內置到調用的地方並且把佔用RAM大的局部變數改成全局變數,試一試說不定就可以了。
⑼ 51單片機C語言開發詳解的內容簡介
全書共分13章,對單片機基本概念、8051單片機內核結構、單片機的匯編與c語言編程、單片機的開發環境及方法進行了詳細的介紹;並通過具體的開發實例,講解了嵌入式系統中的介面技術、串列通信、數模轉換、模數轉換、現場匯流排等知識與開發技巧。本書最大的特色在於每一個實例都力求讓讀者真正了解從原理到實現的具體過程。因此本書介紹的知識雖然基於atmel at89s51型處理器,但講解的基本設計原理和技術都是通用的,通過對本書的學習,讀者可以完全具備將書中的技術應用於其他處理器的能力。
本書內容系統完整,注重綜合應用,適合初學單片機、嵌入式系統設計的讀者學習,同時也可用做高校相關專業師生和社會培訓班的教材。對於從事嵌入式系統開發的工程技術人員也極具參考價值。
⑽ 單片機keil使用詳解
你用的是什麼版本的keil,現在最版本是keil4,建議你用。
其實你應該告訴大家你哪兒不懂的,這樣讓大家知道你現在的水平程度。
我先來大致說一點吧!
首先正確安裝keil軟體—>打開keil—>project—>newUvisionproject—>為工程取名字,並選擇工程要保存的路徑,建議每個工程新建一個文件夾,方便文件管理—>出來一個對話框,是選擇晶元的,你根據你的晶元公司和型號來選擇就行了,比如:最常用的at89c52,點atmel,找到at89c52,點OK後會出來一個對話框,問你是否添加啟動文件,點「是」—>這樣就建好了一個工程,點File菜單下New新建文件—>先保存文件,點保存按鈕後出來路徑框,取名字後綴是.c或者.h,點保存—>接下來在左邊project下把Target1點開,在SourceGroup1上右鍵,點擊AddFiletoGroup'SourceGroup1'—>在彈出的框中點剛剛保存的文件,然後點Add,關閉對話框,左邊project框中可以看到文件已經添加—>在開始之前還是先來配置一下keil環境,點擊工具欄品字圖標左邊像魔棒一樣的按鈕—>接下來的配置比較復雜,我用圖來解釋,Target項目下只改一個晶振的值,Output下要點擊生產HEX文件,Debug下左邊是keil模擬調試配置,右邊是程序下載到晶元調試配置,看你是怎麼用了。—>一切完工,可以編程調試了。
剛開始看起來配置有一點復雜,多用到幾次就好了。
有什麼不懂再交流吧!