Ⅰ 學習單片機要有哪些基礎知識
學習使用單片機就是理解單片機硬體結構,以及內部資源的應用,在匯編或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語言基礎知識,包括C語言的數據類型與運算符、C語言語句、數組、指針、函數、編譯預處理等。
請注意,這些知識應該邊學邊做,在做產品的過程中,需要哪些知識,就學習哪些知識。
焊接技能
我們主張用萬能板製作單片機產品。因為這種實踐方法,不僅能鍛煉焊接技術,同時還能提高識別單片機硬體電路圖的能力。更重要的是掌握了單片機開發的基本步驟,提高了軟硬體的編程與設計能力。為日後開發設計電子產品打下堅實的基礎,因此訓練好拖焊技術非常重要。
Ⅲ 學習單片機,需要哪些基礎知識呢
C語言基礎,現在單片機99%是用C語言寫的;
良好的IDE操作,Keil是主流,因為你要有個開發環境,如果使用的熟練,可以事半功倍;
良好的數電知識,單片機主要和數電關聯,沒有外電路,單片機就是個2
不錯的模奄知識,模電是一切電路的基礎。
如果想學的深,就一個辦法,多玩,多摸索,失敗是成功他娘
Ⅳ 學習單片機需要具備哪些基礎知識
要學單片機,首先要有硬體基礎,熟悉單片面內部結構和各引腳功能,這要先學講解單片機原理的資料,了解了單片機的工作原理,還要有電路設計的的功底,能設計外圍電路,否則稍有錯誤就不能正常運行,有了硬體設計能力再學習編寫程序,建議從匯編學習再學C程序編程.所以單片機設計是軟硬體設計兩方面兼有的。
C語言必須會,因為單片機是那個C語言寫程序的,你可以到網上下載譚浩強C設計第三版,這個對初學51單片機是綽綽有餘,硬體的話模電數電也要了解,否則後面學習對你的障礙很大,重要看你學習單片機的目的,是純粹單片機愛好者那,還是想忘研發上面發展,這個自己必須明確,如果以後想上研發方面發展,那你學習的東西還會很多,你可以到網上買塊51學習板50-70元的急可以了,到網上下載郭天祥老師十天學會51單片機教材,慢慢學習。
Ⅳ 學習單片機之前需要預備哪些知識
(1)數字電路中只有兩種電平:高和低,定義單片機為TTL電平:高 +5V 低 0V;
(2)RS232電平:計算機的串口高 -12V 低+12V,所以計算機與單片機之間通訊時需要加電平轉換晶元;
(3)進制轉換與邏輯、算術運算;
(4)C語言基礎;
(5)80C51了解80C51是MCS-51系列中的一個典型品種;其它廠商以8051為基核開發出的 CMOS工藝單片機產品統稱為80C51系列;
(6)匯流排(BUS)是計算機各部件之間傳送信息的公共通道。微機中有內部匯流排和 外部匯流排兩類。內部匯流排是CPU內部之間的連線。外部匯流排是指CPU與其它部件之間 的連線。 外部匯流排有三種: 數據匯流排DB(Data Bus), 地址匯流排 AB(Address Bus) 和控制匯流排 CBControl Bus);
(7)CPU:由運算和控制邏輯組成,同時還包括中斷系統和部分外部特殊功能寄存器;
RAM:用以存放可以讀寫的數據,如運算的中間結果、最終結果以及欲顯示的數據;
ROM:用以存放程序、一些原始數據和表格;
I/O口:四個8位並行I/O口,既可用作輸入,也可用作輸出;
T/C:兩個定時/記數器,既可以工作在定時模式,也可以工作在記數模式;
五個中斷源的中斷控制系統;
一個全雙工UART(通用非同步接收發送器)的串列I/O口,用於實現單片機之間或單片機與微機之間的串列通信;
片內振盪器和時鍾產生電路,石英晶體和微調電容需要外接。最高振盪頻率取決於單片機型號及性能。
(8)C51數據存儲類型例:
數據類型 變數名
char var1;
bit flags;
unsigned char vextor[10];
int wwww;
注意:變數名不能用C語言中的關鍵字表示。
(9)包含的頭文件(可以在安裝目錄下INC目錄下查看)
通常有:reg51.h reg52.h math.h ctype.h stdio.h stdlib.h absacc.h
常用有:reg51.h reg52.h(定義特殊功能寄存器和位寄存器);math.h (定義常用數學運算);
(10)中斷服務程序的格式
函數名()interrupt n using m
{
函數內部實現 ….
}
(11)I/O口定義:sbit beep=P2^3;
(12)單片機的基本時序:機器周期和指令周期
①振盪周期: 也稱時鍾周期, 是指為單片機提供時鍾脈沖信號的振盪源的 周期,TX實驗板上為11.0592MHZ;
②狀態周期: 每個狀態周期為時鍾周期的 2 倍, 是振盪周期經二分頻後 得到的;
③機器周期: 一個機器周期包含 6 個狀態周期S1~S6, 也就是 12 個時 鍾周期。 在一個機器周期內, CPU可以完成一個獨立的操作;
④指令周期: 它是指CPU完成一條操作所需的全部時間。 每條指令執行時間都是有一個或幾個機器周期組成。MCS - 51 系統中, 有單周期指令、雙周期指令和四周期指令;
Ⅵ 單片機基本知識有哪些
硬體:數電和模電;
軟體:C語言或是匯編
以下為單片機的基礎:
匯編或者是c語言
微機原理
電路分析
,
模擬電路
數字電路
pcb製作
Ⅶ 有關單片機的所有知識。
分為軟體和硬體兩大塊。軟體需要學C和匯編。硬體需要學單片機構架、外圍電路。至於更深層次的知識,可能會涉及到C語言、編譯原理、數據結構、面向對象設計、數字電路、模擬電路、電路理論、EMC設計、EMI設計、計算機原理等等。至於工具,你需要熟悉一個軟體的開發平台,一般用keil就行了,硬體開發平台用protel吧。其他看你自己了。
Ⅷ 學習單片機所要具備的哪些基礎知識
學習使用單片機就是理解單片機硬體結構,以及內部資源的應用,在匯編或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招降龍十八掌,但還不到打遍天下無敵手的境界。即使如此,也算是單片機大蝦了。
Ⅸ 單片機必備基礎知識
學習單片機需要一些相關的基礎知識,要有電路、模擬電路基礎,可以不精通,但是至少有這個概念。熟悉一些常用的基礎元器件的用法,比如電阻、電容的作用,了解二極體、三極體的基本用法,能夠理解單片機最先系統電源電路、晶振電路和復位電路的工作原理。
數字電路基礎,單片機本身就是根據數字電路原理運行的,了解數字電路中的「0」、和「1」概念,了解數字電路的門電路,掌握真值表。
C語言也是學習單片機的必要知識,市場的單片機都是用C語言開發的,已經很少人應用到匯編語言。
有了上面的基礎知識後,就要選擇一款單片機平台入門。目前市場上有的單片機類型多種多樣,大家一定要仔細挑選一款適合自己的。
選好單片機後安裝單片機開放環境,熟悉單片機軟體、下載器、開發板的使用。
Ⅹ 我是一個單片機初學者,我想問一下我需要學哪些知識
我覺得首先要看懂111條指令,懂意思就行,根本就不需要每一條都記住,因為常用的都只有四五十條罷了。那麼多的指令意在可以用多種語句實現同一種功能。
還有就是一定要實際的編程,這一點是非常重要的,只有在實際編程中才能熟悉指令的應用,當然你或許會問自己什麼都不懂怎麼編程啊,這時候你不要著急,你可以你買一本書,有實際的例子的書,我也見過有這種書但是名字我忘記了,它每個例子是講得十分詳細,有匯編的代碼,也有C語言的代碼,而且每一行都有注釋(名字我忘記了只記得那封皮是黑色的)你可以仿照它的代碼寫寫看,再模擬一下,或者在實際的板子上試試看能不能實現功能,別人的程序修改了能用在自己的板子上那麼就是自己的程序了。
至於模擬軟體我建議用protues,專用的單片機模擬軟體。
如果是自學,那麼不懂的地方可以上網收索或者上論壇詢問,這里有個單片機的QQ群,是官方建的你可以加上一起學習討論群號是:7344883
還有在了解指令的同時你要了解你的板子的結構亦即電路連接才能寫好你的程序。
當你學到一定程度的時候你可以學習一下單片機的外圍電路設計比如液晶顯示啊,A/D轉換啊什麼的....
總之,實際編程練習是學好單片機的唯一途徑,至於它和匯編的關系,樓上的哥們兒已解釋得十分清楚了的,就不多說了,免得啰嗦。
最後,祝你成功!!!