導航:首頁 > 操作系統 > 單片機網路知識

單片機網路知識

發布時間:2023-07-03 21:47:44

單片機的基礎知識

本段僅針對硬體設計人員和軟體設計人員,為了便於對硬體的理解要有一定的匯編語言基礎。 這三者的本質都是一樣的——數字,或者說都是一串『0』和『1』組成的序列。換言之,地址、指令也都是數據。指令:由單片機晶元的設計者規定的一種數字,它與我們常用的指令助記符有著嚴格的一一對應關系,不可以由單片機的開發者更改。地址:是尋找單片機內部、外部的存儲單元、輸入輸出口的依據,內部單元的地址值已由晶元設計者規定好,不可更改,外部的單元可以由單片機開發者自行決定,但有一些地址單元是一定要有的(詳見程序的執行過程)。數據:這是由微處理機處理的對象,在各種不同的應用電路中各不相同,一般而言,被處理的數據可能有這么幾種情況:
1.地址(如MOV DPTR,1000H),即地址1000H送入DPTR。
2.方式字或控制字(如MOV TMOD,#3),3即是控制字。
3.常數(如MOV TH0,#10H)10H即定時常數。
4.實際輸出值(如P1口接彩燈,要燈全亮,則執行指令:MOV P1,#0FFH,要燈全暗,則執行指令:MOV P1,#00H)這里0FFH和00H都是實際輸出值。又如用於LED的字形碼,也是實際輸出的值。
理解了地址、指令的本質,就不難理解程序運行過程中為什麼會跑飛,會把數據當成指令來執行了。 這里所說的開發過程並不是一般書中所說的從任務分析開始,我們假設已設計並製作好硬體,下面就是編寫軟體的工作。在編寫軟體之前,首先要確定一些常數、地址,事實上這些常數、地址在設計階段已被直接或間接地確定下來了。如當某器件的連線設計好後,其地址也就被確定了,當器件的功能被確定下來後,其控制字也就被確定了。然後用文本編輯器(如EDIT、CCED等)編寫軟體,編寫好後,用編譯器對源程序文件編譯,查錯,直到沒有語法錯誤,除了極簡單的程序外,一般應用模擬機對軟體進行調試,直到程序運行正確為止。運行正確後,就可以寫片(將程序固化在EPROM中)。在源程序被編譯後,生成了擴展名為HEX的目標文件,一般編程器能夠識別這種格式的文件,只要將此文件調入即可寫片。在此,為使大家對整個過程有個認識,舉一例說明:
ORG 0000H
LJMP START
ORG 040H
START:
MOV SP,#5FH ;設堆棧
LOOP:
NOP
LJMP LOOP ;循環
END ;結束

㈡ 單片機必備基礎知識

學習單片機需要一些相關的基礎知識,要有電路、模擬電路基礎,可以不精通,但是至少有這個概念。熟悉一些常用的基礎元器件的用法,比如電阻、電容的作用,了解二極體、三極體的基本用法,能夠理解單片機最先系統電源電路、晶振電路和復位電路的工作原理。

數字電路基礎,單片機本身就是根據數字電路原理運行的,了解數字電路中的「0」、和「1」概念,了解數字電路的門電路,掌握真值表。

C語言也是學習單片機的必要知識,市場的單片機都是用C語言開發的,已經很少人應用到匯編語言。

有了上面的基礎知識後,就要選擇一款單片機平台入門。目前市場上有的單片機類型多種多樣,大家一定要仔細挑選一款適合自己的。

選好單片機後安裝單片機開放環境,熟悉單片機軟體、下載器、開發板的使用。

㈢ 學習單片機要有哪些基礎知識

學習使用單片機就是理解單片機硬體結構,以及內部資源的應用,在匯編或C語言中學會各種功能的初始化設置,以及實現各種功能的程序編制。
第一步:數字I/O的使用
使用按鈕輸入信號,發光二極體顯示輸出電平,就可以學習引腳的數字I/O功能,在按下某個按鈕後,某發光二極體發亮,這就是數字電路中組合邏輯的功能,雖然很簡單,但是可以學習一般的單片機編程思想,例如,必須設置很多寄存器對引腳進行初始化處理,才能使引腳具備有數字輸入和輸出輸出功能。每使用單片機的一個功能,就要對控制該功能的寄存器進行設置,這就是單片機編程的特點,千萬不要怕
麻煩,所有的單片機都是這樣。
第二步:定時器的使用
學會定時器的使用,就可以用單片機實現時序電路,時序電路的功能是強大的,在工業、家用電氣設備的控制中有很多應用,例如,可以用單片機實現一個具有一個按鈕的樓道燈開關,該開關在按鈕按下一次後,燈亮3分鍾後自動滅,當按鈕連續按下兩次後,燈常亮不滅,當按鈕按下時間超過2s,則燈滅。數字集成電路可以實現時序電路,可編程邏輯器件(PLD)可以實現時序電路,可編程式控制制器(PLC)也可以實現時序電路,但是只有單片機實現起來最簡單,成本最低。
定時器的使用是非常重要的,邏輯加時間控制是單片機使用的基礎。
第三步:中斷
單片機的特點是一段程序反復執行,程序中的每個指令的執行都需要一定的執行時間,如果程序沒有執行到某指令,則該指令的動作就不會發生,這樣就會耽誤很多快速發生的事情,例如,按鈕按下時的下降沿。要使單片機在程序正常運行過程中,對快速動作做出反應,就必須使用單片機的中斷功能,該功能就是在快速動作發生後,單片機中斷正常運行的程序,處理快速發生的動作,處理完成後,在返回執行正常的程序。中斷功能使用中的困難是需要精確地知道什麼時候不允許中斷發生(屏蔽中斷)、什麼時候允許中斷發生(開中斷),需要設置哪些寄存器才能使某
種中斷起作用,中斷開始時,程序應該干什麼,中斷完成後,程序應該干什麼等等

中斷學會後,就可以編制更復雜結構的程序,這樣的程序可以干著一件事,監視著一件事,一旦監視的事情發生,就中斷正在乾的事情,處理監視的事情,當然也可以監視多個事情,形象的比喻,中斷功能使單片機具有吃著碗里的,看著鍋里的功能。
以上三步學會,就相當於降龍十八掌武功,會了三掌了,可以勉強護身。
第四步:與PC機進行RS232通信
單片機都有USART介面,特別是MSP430系列中很多型號,都具有兩個USART介面。USART介面不能直接與PC機的RS232介面連接,它們之間的邏輯電平不同,需要使用一個MAX3232晶元進行電平轉換。
USART介面的使用是非常重要的,通過該介面,可以使單片機與PC機之間交換信息,雖然RS232通信並不先進,但是對於介面的學習是非常重要的。正確使用USART介面,需要學習通信協議,PC機的RS232介面編程等等知識。試想,單片機實驗板上的數據顯示在PC機監視器上,而PC機的鍵盤信號可以在單片機實驗板上得到顯示,將是多麼有意思的事情啊!
第五步:學會A/D轉換
MAP430單片機帶有多通道12位A/D轉換器,通過這些A/D轉換器可以使單片機操作模擬量,顯示和檢測電壓、電流等信號。學習時注意模擬地與數字地、參考電壓、采樣時間,轉換速率,轉換誤差等概念。
使用A/D轉換功能的簡單的例子是設計一個電壓表。
第六步:學會PCI、I2C介面和液晶顯示器介面
這些介面的使用可以使單片機更容易連接外部設備,在擴展單片機功能方面非常重要。
第七步:學會比較、捕捉、PWM功能
這些功能可以使單片機能夠控制電機,檢測轉速信號,實現電機調速器等控制起功能。
如果以上七步都學會,就可以設計一般的應用系統,相當於學會十招降龍十八掌,可以出手攻擊了。
第八步:學習USB介面、TCP/IP介面、各種工業匯流排的硬體與軟體設計
學習USB介面、TCP/IP介面、各種工業匯流排的硬體與軟體設計是非常重要的,因為這是當前產品開發的發展方向。
到此為止,相當於學會15招降龍十八掌,但還不到打遍天下無敵手的境界。即使如此,也算是單片機大蝦了。

㈣ 單片機編程知識九大問答知識

單片機編程知識九大問答知識

為幫助大家更加了解單片機編程知識,下面,我為大家分享單片機編程知識問答知識,希望對大家有所幫助!

搞單片機開發,一定要會C嗎?

答:匯編語言是一種用文字助記符來表示機器指令的符號語言,是最接近機器碼的一種語言。其主要優點是佔用資源少、程序執行效率高。但是不同的CPU,其匯編語言可能有所差異,所以不易移植。

對於目前普遍使用的RISC架構的8bit MCU來說,其內部ROM、RAM、STACK等資源都有限,如果使用C語言編寫,一條C語言指令編譯後,會變成很多條機器碼,很容易出現ROM空間不夠、堆棧溢出等問題。而且一些單片機廠家也不一定能提供C編譯器。而匯編語言,一條指令就對應一個機器碼,每一步執行什麼動作都很清楚,並且程序大小和堆棧調用情況都容易控制,調試起來也比較方便。所以在資源較少單片機開發中,我們還是建議採用匯編語言比較好。

而C語言是一種編譯型程序設計語言,它兼顧了多種高級語言的特點,並具備匯編語言的功能。C語言有功能豐富的庫函數、運算速度快、編譯效率高、有良好的可移植性,而且可以直接實現對系統硬體的控制。C語言是一種結構化程序設計語言,它支持當前程序設計中廣泛採用的由頂向下結構化程序設計技術。此外,C語言程序具有完善的模塊程序結構,從而為軟體開發中採用模塊化程序設計方法提供了有力的保障。因此,使用C語言進行程序設計已成為軟體開發的一個主流。用C語言來編寫目標系統軟體,會大大縮短開發周期,且明顯地增加軟體的可讀性,便於改進和擴充,從而研製出規模更大、性能更完備的系統。

綜上所述,用C語言進行單片機程序設計是單片機開發與應用的必然趨勢。所以作為一個技術全面並涉足較大規模的軟體系統開發的單片機開發人員最好能夠掌握基本的C語言編程。

當開發一個較復雜而又開發時間短的項目時,用C還是用匯編開發好?

答:對於復雜而開發時間緊的項目時,可以採用C語言,但前提是要求對該MCU系統的C語言和C編譯器非常熟悉,特別要注意該C編譯系統所能支持的數據類型和演算法。雖然C語言是最普遍的一種高級語言,但不同的MCU廠家其C語言編譯系統是有所差別的,特別是在一些特殊功能模塊的操作上。如果對這些特性不了解,那調試起來就有的煩了,到頭來可能還不如用匯編來的快。

C語言和匯編語言在開發單片機時各有哪些優缺點?

答:匯編語言是一種用文字助記符來表示機器指令的符號語言,是最接近機器碼的.一種語言。其主要優點是佔用資源少、程序執行效率高。但是不同的CPU,其匯編語言可能有所差異,所以不易移植。

C語言是一種結構化的高級語言。其優點是可讀性好,移植容易,是普遍使用的一種計算機語言。缺點是佔用資源較多,執行效率沒有匯編高。

對於目前普遍使用的RISC架構的8bit MCU來說,其內部ROM、RAM、STACK等資源都有限,如果使用C語言編寫,一條C語言指令編譯後,會變成很多條機器碼,很容易出現ROM空間不夠、堆棧溢出等問題,而且一些單片機廠家也不一定能提供C編譯器。而匯編語言,一條指令就對應一個機器碼,每一步執行什幺動作都很清楚,並且程序大小和堆棧調用情況都容易控制,調試起來也比較方便。所以在單片機開發中,我們還是建議採用匯編語言比較好。

如果對單片機C語言有興趣,HOLTEK的單片機就有提供C編譯器,可以到HOLTEK的網站免費下載使用。

C或匯編語言可以用於單片機,C++能嗎?

答:在單片機開發中,主要是匯編和C,沒有用C++的。

在教學中要用到8088和196晶元單片機教材,請問哪裡可以找到關於這方面的書或資料?

答:有關這方面的教材,大學里常用的一本是《IBM-PC匯編語言程序設計》清華大學出版社出版的,在網上以及書店都是可以找到的,另外網上還可以搜索到很多其他的教材如:《微機原理及匯編語言教程》(楊延雙 張曉冬 等編著 )和《16/32 位微機原理、匯編語言及介面技術》(作者: 鍾曉捷 陳濤 ,機械工業出版社 出版)等,可以在較大型的科技書店裡查找或者直接從網上訂購。

初學者到底是應該先學C還是匯編?

答:對於單片機的初學者來說,應該從匯編學起。因為匯編語言是最接近機器碼的一種語言,可以加深初學者對單片機各個功能模塊的了解,從而打好扎實的基礎。

我是一名武漢大學電子科技大3的學生,學了電子線路、數字邏輯、匯編和介面、C語言,但是總是感覺很迷茫,覺好象什麼都不會,怎麼辦?

答:大學過程是一個理論過程,實踐的機會比較少,往往會造成理論與實踐相脫節,這是國內大學教育系統的通病,不過對於學生來說切不可好高騖遠。一般從大三會開始接觸到一些專業課程,電子相關專業會開設相關的單片機應用課程並且會有簡單的實驗項目,那麼要充分把握實驗課的機會,多多地實際上機操作練習。平時可以多看看相關的電子技術雜志網站,看看別人的開發經驗,硬體設計方案以及他人的軟體設計經驗。有可能的話,還可以參加一些電子設計大賽,藉此機會2-3個人合作做一個完整系統,會更有幫助。到了大四畢業設計階段,也可以選擇相關的課題作些實際案例增長經驗。做什麼事情都有個經驗的積累過程,循序漸進。

請問作為學生,如何學好單片機?

答:學習好單片機,最主要的是實踐,在實踐中增長經驗。在校學生的話,實踐機會的確會比較少,但是有機會的話,可以畢業實習選擇相關的課題,這樣就可以接觸到實際的項目。而且如果單片機微機原理是一門主課的話,相信學校會安排比較多的實踐上機機會。有能力的話,可以找一些相關兼職工作做做,會更有幫助。而且單片機開發應用需要軟硬體結合,所以不能只滿足於編程技巧如何完美,平時也要注意硬體知識的積累,多上上電子論壇網站,買一些相關雜志。可能的話,可以到電子市場去買一些小零件,自己搭一個小系統讓它工作起來。

如何才能成為單片機的高手啊?

答:要成為單片機高手,應該多實踐,時常關注單片機的發展趨勢;經常上一些相關網站,從那裡可以找到許多有用的資料。

;

㈤ 學單片機需要什麼基礎知識

學單片機需要學習數字和模擬電子技術等基礎知識,還要有一定的C語言編程能力。

學習初期可以先買一個開發板,先學會單片機開發的環境搭建,主要是單片機集成開發軟體keil的配置,軟體項目的建立,程序的編譯和燒寫,先把點亮LED燈,流水燈和控制蜂鳴器這些最基本的程序完整的實現一遍。

之後可以把LED數碼管顯示,按鍵信號採集,去抖動,串口與PC機通信等例子的程序完整的編寫一遍,並且在開發板上把程序運行一下。

這時你已經對單片機開發有了初步了解了,已經邁出了單片機學習的第一步了。

學習單片機軟體方面需要的基礎知識:

軟體方面需要會寫簡單的C語言程序,雖然說單片機編程也可以使用匯編語言,但C語言在使用的方便性和可移植性上要比匯編語言好很多,所以初學者可以越過匯編語言,而直接學習C語言的單片機編程。

閱讀全文

與單片機網路知識相關的資料

熱點內容
給pdf加目錄 瀏覽:472
加密軟體怎麼改安全問題 瀏覽:548
cmd命令ip 瀏覽:946
python輸出單引號雙引號 瀏覽:272
腳本編程管理命令 瀏覽:379
小愛音箱pro怎麼自己裝app 瀏覽:118
建立ftp文件夾命令 瀏覽:570
sha1withrsa演算法 瀏覽:453
域名交易系統源碼php 瀏覽:171
求解微分方程數值解的命令有哪些 瀏覽:626
程序員轉時尚傳媒 瀏覽:82
古拳譜pdf 瀏覽:42
一元二次方程無實數根的演算法 瀏覽:352
程序員測試輕松嗎 瀏覽:171
英雄聯盟神魔怎麼綁定伺服器 瀏覽:984
音樂app怎麼換音質 瀏覽:975
python進階客戶流失 瀏覽:282
華為榮耀10伺服器地址 瀏覽:1000
javastring相等判斷 瀏覽:413
程序員考研究生學校 瀏覽:936