導航:首頁 > 操作系統 > 單片機基礎

單片機基礎

發布時間:2022-01-20 19:18:53

單片機基礎學習

#include<reg51.h>
#defineucharunsignedchar
#defineuintunsignedint
sbitled0=P2^0;//【P要大寫】
sbitled1=P2^1;
sbitled2=P2^2;
sbitled3=P2^3;
sbitled4=P2^4;
sbitled5=P2^5;
sbitled6=P2^6;
sbitled7=P2^7;
uintnumber=0;
voidmain()
{
TMOD=0X01;//設置定時器方式為方式1,即16位定時器
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;//【具】//賦初值
EA=1;//開總中斷開關
ET0=1;//開定時器0開關//【注意分號;應為英文格式的】
TR0=1;//啟動定時器//【TR0不是TRO】【注意分號;應為英文格式的】
while(1);//程序停止在這里
}
voidTo_time()interrupt1
{
TH0=(65536-45872)/256;//【TH0不是THO】
TL0=(65536-45872)%256;
number++;
if(number==20)
{
number=0;
led0=~led0;
}
}//【少了個花括弧〠】

//做了以上修改後,在keilu4編譯通過了。

⑵ 單片機基礎問題

答案是C。因為低電平觸發時,如果你不撤除信號,將會一直中斷無法退出運行主程序了。

⑶ 新手學單片機怎麼入門

循序漸近,一點點吃透學習,方法如下:

1、選擇一本好教材,建議《51單片機輕松入門 基於STC15W4K系列》這本,內容新,講解透徹,有配套視頻可輔助參考,不管是初學入門還是已經懂得單片機皮毛,滿足所有需求。

2、有了書就要理解意思,所以要吃透教材,看不懂也不要緊,多看,多問,在問題中尋找學習方向。

3、選擇配套產品,不要在乎板子的資源多少,推薦吳鑒鷹的單片機,開發板性價比高;軟體建議用Keilc51,硬體要有pc機和開發板,開發板要求有流水燈、數碼管、獨立按鍵、矩陣鍵盤、ad轉換、液晶屏、蜂鳴器,這就差不多了。其它不明白的就網上找視頻找教程,總會有解答的東西。

4、操練起來,從最基本的流水燈開始,試著先控制一個發光管,慢慢的變換花樣,做出自己的個性來。

5、帶著問題解決問題,一開始先不要找人請教,自己試,這樣記憶最深刻,也最有效果,但也不要鑽牛角尖,實在不行就問,要不剛建立起來的那點想法就打擊沒有了。

6、當技術水平,學習方法,心理素質都達到一定的境界了,就算入門了,接下來就要看個人的努力和悟性怎樣了,當然在學習單片機的過程中必須遵循一定的原則,堅守住一定的底線,這樣才能用最少的經歷,在最短的時間內獲得大的進步。

⑷ 單片機學習入門基礎

學習單片機的最有效方法是理論與實踐並重

對一個初學單片機的人來說,如果按教科書式的學法,上來就是一大堆指令、名詞,學了半天還搞不清這些指令起什麼作用,能夠產生什麼實際效果,那麼也許用不了幾天就會覺得枯燥乏味而半途而廢。所以學習與實踐結合是一個好方法,邊學習、邊演練,循序漸進,這樣用不了幾次就能將用到的指令理解、吃透、紮根於腦海,甚至「根深蒂固」。也就是說,當你此次學習完某幾條指令後(一次數量不求多,只求懂),接下去就該做實驗了,通過實驗,使你感受剛才的指令產生了控制效果,眼睛看得見(燈光)、耳朵聽得到(聲音),更能深刻理解指令是怎樣轉化成信號去控制電子產品的。說句過分的話,單片機與其說是學出來的,還不如說是做實驗練出來的,何況做實驗本身也是一種學習過程。《電子製作》2003~2004的《手把手教你學單片機》講座就是基於這樣一種邊學邊練的理念展開的,從眾多的讀者反饋來看,效果特別好,許多讀者經3~6個月的學習已能開發簡單的產品了(如霓紅燈廣告牌控制、累加計數器等)。

學習單片機要合理安排學習時間持之以恆

學習單片機可不能「三天打魚、二天曬網」 ,要有持之以恆的毅力與決心,學習完幾條指令後,就應及時做實驗,融會貫通,而不要等幾天或幾個星期有時間後再做實驗,這樣效果不好甚至前學後忘。另外要有打「持久戰」 的心理准備,不要興趣來時學上幾天,無興趣時涼上幾星期。學習單片機很重要的一點就是持之以恆。

學習單片機要使用循環學習法使之根深蒂固

《手把手教你學單片機》講座入門起點低,很多朋友覺得好學、易學,很快就能將講座從頭至尾學完、學懂,但過了幾個月,在開發產品時對指令的具體作用就有些淡忘了。根據現代科學的研究,對只短暫學過一遍的知識,充其量只比浮光掠影稍好。因此,較好的方法是,過一段時間後(1~2個月)再重新做一遍,這樣反復循環幾次就能徹底弄懂消化,永不忘卻。有道是:若人生能細看《水滸傳》10遍,那麼裡面的故事內容、人物場情將永生不忘。

學習單片機要進行適當投資購買實驗器材及書籍資料

單片機技術是一門含金量高的技術,一旦學會後,它給你帶來的效益回報當然也高,無論是應聘求職還是自起爐灶開廠辦公司,其前景是光明無限。因此在學習時要捨得適當投資購買必要的學習、實驗器材,另外還要經常去科技圖書店看看,購買一些適合自己學習、提高的書籍。總之,春天不播種哪來秋天的收獲?考慮到初學者的學習成本,《手把手教你學單片機》講座主要採用「程序完成後軟體模擬→單片機燒錄程序→試驗板通電實驗」的方法(現在的快閃型單片機其程序可燒寫1000次以上),而沒有採用價格昂貴的在線模擬器(ICE)進行實驗,這樣整套實驗器材(不包括PC機)只有幾百元,對大部分已工作的愛好者來說都有這個經濟能力承受。一旦當你掌握了單片機的編程技術,成為一個水平較高的單片機設計人員時,再買在線模擬器也不遲。

准備:
單片機燒錄器
單片機模擬器
單片機(89c2051,便宜)
軟體(Keil)
1、先找本單片機入門的書來看,對於寄存器不必很深的了解
2、照書上的電路圖搭好電路(復位、晶振、IO……)
3、將書上的范常式序燒入單片機跑(或者模擬,看程序運行)
4、當你做完IO流水燈實驗、串口收發數據實驗,再回去看書,能有更深的體會。
5、高級應用的書,或者做更多的東西~~

⑸ 單片機用C語言的基礎

單片機的外部結構:
1、 DIP40雙列直插;
2、 P0,P1,P2,P3四個8位準雙向I/O引腳;(作為I/O輸入時,要先輸出高電平)
3、 電源VCC(PIN40)和地線GND(PIN20);
4、 高電平復位RESET(PIN9);(10uF電容接VCC與RESET,即可實現上電復位)
5、 內置振盪電路,外部只要接晶體至X1(PIN18)和X0(PIN19);(頻率為主頻的12倍)
6、 程序配置EA(PIN31)接高電平VCC;(運行單片機內部ROM中的程序)
7、 P3支持第二功能:RXD、TXD、INT0、INT1、T0、T1

單片機內部I/O部件:(所為學習單片機,實際上就是編程式控制制以下I/O部件,完成指定任務)
1、 四個8位通用I/O埠,對應引腳P0、P1、P2和P3;
2、 兩個16位定時計數器;(TMOD,TCON,TL0,TH0,TL1,TH1)
3、 一個串列通信介面;(SCON,SBUF)
4、 一個中斷控制器;(IE,IP)

針對AT89C52單片機,頭文件AT89x52.h給出了SFR特殊功能寄存器所有埠的定義。針對MCS51系列單片機的C語言擴展變數類型。

C語言編程基礎:
1、 十六進製表示位元組0x5a:二進制為01011010B;0x6E為01101110。
2、 如果將一個16位二進數賦給一個8位的位元組變數,則自動截斷為低8位,而丟掉高8位。
3、 ++var表示對變數var先增一;var—表示對變數後減一。
4、 x |= 0x0f;表示為 x = x | 0x0f;
5、 TMOD = ( TMOD & 0xf0 ) | 0x05;表示給變數TMOD的低四位賦值0x5,而不改變TMOD的高四位。
6、 While( 1 ); 表示無限執行該語句,即死循環。語句後的分號表示空循環體,也就是{;}

⑹ 單片機基本知識有哪些

硬體:數電和模電;
軟體:C語言或是匯編
以下為單片機的基礎:
匯編或者是c語言
微機原理
電路分析

模擬電路
數字電路
pcb製作

⑺ 學習單片機基礎要有什麼基礎

模擬電路,數字電路,單片機原理,MCS8051匯編語言,KEIL C51編程

⑻ 學習單片機需要具備哪些基礎知識

要學單片機,首先要有硬體基礎,熟悉單片面內部結構和各引腳功能,這要先學講解單片機原理的資料,了解了單片機的工作原理,還要有電路設計的的功底,能設計外圍電路,否則稍有錯誤就不能正常運行,有了硬體設計能力再學習編寫程序,建議從匯編學習再學C程序編程.所以單片機設計是軟硬體設計兩方面兼有的。
C語言必須會,因為單片機是那個C語言寫程序的,你可以到網上下載譚浩強C設計第三版,這個對初學51單片機是綽綽有餘,硬體的話模電數電也要了解,否則後面學習對你的障礙很大,重要看你學習單片機的目的,是純粹單片機愛好者那,還是想忘研發上面發展,這個自己必須明確,如果以後想上研發方面發展,那你學習的東西還會很多,你可以到網上買塊51學習板50-70元的急可以了,到網上下載郭天祥老師十天學會51單片機教材,慢慢學習。

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

學習使用單片機就是理解單片機硬體結構,以及內部資源的應用,在匯編或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招降龍十八掌,但還不到打遍天下無敵手的境界。即使如此,也算是單片機大蝦了。

⑽ 單片機基礎知識

所謂的高八位,低八位是針對16位的數據而言的,比如int(unsigned
int)就是屬於16位數據,所謂的高8位就是指16位數據的高八位,低八位就是指16位數據的低八位了。
至於為什麼要區分高低八位呢?打個比方說如果我們使用的單片機只用了一個埠(8位)連接著一個設備,而這個設備需要通過單片機管腳輸入16位數據的話,那麼我們無法一次輸入16位數據的,只能分兩次輸入,就是這個用途。也有可能是因為這個設備需要輸入16位數據,但是只有8位數據傳輸口。
低電平和高電平與輸出/輸入類型有關的,常用的有兩種TTL和CMOS:
L表示低電平,H表示高電平
TTL電平標准
輸出
L:
<0.8V

H:>2.4V。
輸入
L:
<1.2V

H:>2.0V
CMOS電平:
輸出
L:
<0.1*Vcc

H:>0.9*Vcc。
輸入
L:
<0.3*Vcc

H:>0.7*Vcc.

閱讀全文

與單片機基礎相關的資料

熱點內容
新華保險伺服器登錄不上怎麼回事 瀏覽:391
氣溫高時汽車空調壓縮機振動 瀏覽:559
分配器python 瀏覽:222
outlook伺服器怎麼查詢 瀏覽:400
python預測疫情代碼 瀏覽:982
普通化學原理pdf 瀏覽:908
java的聖經 瀏覽:41
python遍歷兩個數組 瀏覽:396
手游搭建雲伺服器 瀏覽:401
視易鋒雲伺服器啟動黑屏 瀏覽:139
python怎麼獲取網頁a標簽內容 瀏覽:982
app更新後老的安裝包去哪裡了 瀏覽:199
集合運演算法則差集 瀏覽:310
x2pdf 瀏覽:271
python源碼cs 瀏覽:101
數控機床自動編程軟體 瀏覽:738
方舟的伺服器號是什麼 瀏覽:111
沒有伺服器怎麼發現其他節點 瀏覽:337
文明傳奇怎麼開伺服器 瀏覽:57
javalistint 瀏覽:675