導航:首頁 > 操作系統 > 單片機的方法

單片機的方法

發布時間:2022-05-26 09:47:35

A. 單片機常用的三種定時方法

1 方法1

在定時器溢出中斷得到響應時,停止定時器計數,讀出計數值(反映了中斷響應的延遲時間),根據此計數值算出到下一次中斷時,需多長時間,由此來重裝載和啟動定時器。例如定時周期為1ms,則通常定時器重裝載值為-1000(0FC18H)。下面的程序在計算每個定時周期的精確重裝載值時,考慮了由停止計數(CLR TR1)到重新啟動計數(SETB TR1)之間的7個機器周期時間。程序中#LOW(-1000+7)和#HIGH(-1000+7)是匯編符號,分別表示-1000+7=0FC1FH這個立即數的低位位元組(1FH)和高位位元組(0FCH)。
……
CLR EA ;禁止所有中斷
CLR TR1 ;停止定時器T1
MOV A,#LOW(-1000+7) ;期望數的低位位元組
ADD A,TL1 ;進行修正
MOV TL1,A ;重裝載低位位元組
MOV A,#HIGH(-1000+7) ;對高位位元組處理
ADDC A,TH1
MOV TH1,A
SETB TR1 ;重啟動定時器
SETB EA ;重開中斷
……

此方法適用於各種原因造成的定時誤差的情況,為通用方法。

2 方法2

假如定時周期為10ms,通常定時器重裝載值為0D8F0H,中斷子程序如下[2]:
ORL TL1,#0F0H
MOV TH1,#0D8H
……

這里用ORL TL1,#0F0H代替MOV TL1,#0F0H 可提高定時精度。此方法只適用於重裝載值低位位元組的低4位為零,且中斷響應的延遲時間小於16個機器周期的情況。類似的定時器重裝載值有0FFF0H,0FFE0H等。

3 方法3

假如定時周期為1ms,通常定時器重裝載值為0FC18H,中斷子程序如下:
MOV A,#LOW(-1000+4) ;期望數的低位位元組
ADD A,TL1
MOV TL1,A
MOV A,#HIGH(-1000+4) ;對高位位元組處理
ADDC A,TH1
MOV TH1,A
DEC TL1 ;恢復提前了的2個機器周期
……

這種方法中不停止定時器計數過程,若在執行指令ADDC A,TH1 或MOV TH1,A時,恰好產生TL1溢出向TH1進位的情況,則TH1的值就不對了,會產生更大的誤差。為此,程序段開頭為重裝載值加4,若有溢出進位,則可提前發生,其中2個機器周期是考慮到為TL1重裝載佔用的時間。

此方法適用於系統中無其它更高優先順序中斷源的情況。若類似方法1,在程序段開頭和結尾分別加上禁止所有中斷(CLR EA)和開中斷(SETB EA)指令,則將適用於所有情況。

4 方法4

假如定時周期不確定,只知道定時器重裝載值存放在寄存器R3、R2中,中斷子程序如下:
MOV A,#05H ;3個機器周期裝載TL1,2個周期提前
ADD A,TL1
ADD A,R2
MOV TL1,A
MOV A,R3 ;處理高位位元組
ADDC A,TH1
MOV TH1,A
DEC TL1 ;恢復提前了的2個機器周期
……

此法適用於定時周期不確定的情況,其它同方法3。

5 方法5

當定時中斷發生的位置可預知時,通常出現在主程序的AJMP $ (或SJMP $)等待指令處,中斷延遲時間為3個或4個機器周期。取固定值4可簡化補償程序。以定時周期1ms為例,中斷子程序如下:
ORG 001BH
MOV TL1,#LOW(-1000+4)
MOV TH1,#HIGH(-1000+4)
……

此方法適用於定時中斷總發生在同一條指令位置,且無其它中斷源的情況。
結 語

上述5種方法誤差均不超過1個機器周期,其中方法1、3、4較為通用,適用於任何情況,但程序較長;方法2、5簡單,但必須注意滿足對應條件,才能使用。當然,也還有其它方法[3],但比較煩瑣,並不理想,這里不一一介紹。

B. 單片機的運行方法是什麼呀

如果讓單片機運行起來需要兩個條件:硬體平台和程序代碼。
硬體平台可以動手搭建一個最簡51系統,也可以網上買塊實驗板,這就是硬體的准備。
程序代碼至少要有C語言編寫技能和學會一款編寫程序的軟體。
1、編寫C語言程序
2、編譯成單片機識別語言
3、如果編譯通過,接下來就需要調試運行,單片機工作狀況是否是自己預期的。
4、如果調試通過,下載程序到單片機
5、下載成功,正常運行

C. MCS-51型單片機常用的復位方法有幾種應注意哪些事項

51單片機有五種常用的復位方法:


1.上電制動復位,注意:只要電源的的上升時間不超過1ms,就可以實現自動上電復位。


2.軟體復位,注意:復位信號保持時間是編程人員預定的時間。


3.按鍵電平復位,注意:復位信號保持時間大於2個時鍾周期。


4.外部脈沖復位,注意:復位信號保持時間大於2個時鍾周期。


5.看門狗溢出復位,注意:復位信號保持時間也是編程人員預定的時間。

D. 單片機的學習方法(要具體的哦)

沒分不回答。分少不說多,一句話,多動手,
先學會C。譚浩強的。講師曾怡。
買個學習板:1一個一個的程序能把它熟練寫出來,調試正常,2。一個禮拜後還重新寫調試一次,如果真的記下了PASS.next~
3.動手做板子。
熱轉印製作電路板完全教程
熱轉印製作簡單,製作精度高,相對與其他的製作方法成本低。
熱轉印准備:
1、 一台激光列印機或者一台復印機(復印機的話需要有復印原稿,原稿可以用噴墨列印機列印出來)。自己沒有列印機可以到復印店去,有U盤的可以考個protel上去,刪除庫能小很多,這樣列印精度有保證。
2、 一個電熨斗(調溫的更好)或一台用過塑機改成的熱轉印機。
3、 一張熱轉印紙。
4、 油性記號筆一隻。注意不要買到假貨,打開筆蓋可以聞到酒精的味道或寫到蠟紙上擦不掉的是真的。
5、 三氯化鐵。
6、 覆銅板一塊(單面或雙面),這里以單面為例。
7、 小電轉一把,配0.5mm~3mm的鑽頭。
8、 鋼鋸據條一片,木工細砂紙一張,美工刀一把,透明膠。
下面是部分工具的照片。

下面是覆銅板,左邊的單面,右邊的雙面:

制板步驟:
1、 用EDA軟體(protel、power PCB)布線,我這里以Protel為例。在布線時要注意,用熱轉印的方法可以做出10mil的線,但斷線的可能比較大,我們盡量用15mil以上的線寬規則。
2、 將PCB圖列印到熱轉印紙上。注意:剛剛的布線,單層板要布到底層,這樣在列印時就不用鏡像。如果是雙層布,那麼頂層一點要鏡像,不然我們轉印出來就反了。*作步驟:「setup Printer——HP LaserJet Final(這個選項是單層列印) ——Layers(選擇要列印的層)——BottomLayer(這里只要底層,我們選擇它),如果是雙層,我們在列印TopLayer時點Mirroring在Signal Layers欄選中TopLayers表示鏡像頂層。選好後OK確定。在剛剛那個菜單,點擊Options在Show hol前面打勾,這個是顯示鑽孔的。這個打開在我們鑽孔時將方便很多。點OK;點Print列印出圖。
設置列印機:

選擇列印設備:

設置列印層:

設置鏡像列印:

顯示鑽孔:

下面接一個列印裁減好的照片:

步驟三
3、 用鋼鋸據條裁減覆銅板到合適大小,注意在裁減時留點餘量,不要小了,畢竟據條也是有厚度的用木工砂紙打磨使邊界光滑平整。

裁減好的圖:

步驟四
4、 把列印好的轉印紙有字的一面平鋪到覆銅板有銅的一面。用透明膠固定一個邊。要是雙面板就比較麻煩了,我們要在四個固定孔上用0.5mm的鑽頭大孔進行定位,用元件剪下來的元件腳固定四個腳,再用透明膠固定。

下面是固定的照片:

5、 這一步是我們教程的關鍵部分,用電熨斗加溫(140度~170度左右,要是用溫度計更好)將轉印紙上塑料粉壓在銅上形成高精度的抗腐層。先加熱電熨斗,溫度合適時用力壓到電路板有紙的一面,不要移動,等有點溫度時再移動,移動時電熨斗要順著固定的那一面滑下去,用點力。熨時速度不要太快,讓覆銅板均勻升溫,當然也不能太慢,如果太慢銅皮可以和環氧樹脂分離,覆銅板報廢。電熨斗來回熨上幾次。在室溫下等電路板冷了再撕紙,注意:慢慢的撕。先撕開一點看看,如果不行我們可以再熨一次。重復上面的動作,直至完成。撕下後看看有沒有斷線的地方,如果有可以用記號筆補上。好的列印機出現斷線的不多。

轉印好的照片:

用三氯化鐵溶液進行腐蝕,FeCl2和H2O的比例我一般看他的腐蝕速度,用開水來融化三綠化鐵,在反應中用開水來維持溫度,用化學上說的水浴,也就是在容器下放一個水盆來盛開水。,在反應中不斷的要它加快它的腐蝕速度。

下面是腐蝕中的照片:在自己製作印製電路板時,要用三氯化鐵溶液來腐蝕電路板。現在三氯化鐵大部分是固體狀態。
要配成腐蝕電路板的溶液,可按質量大小配比:用35%的三氯化鐵加65%的水配製。三氯化鐵的濃度要求並不是很嚴格的,濃度高的溶液腐蝕速度要快點,濃度低的溶液腐蝕速度慢點。腐蝕電路板時三氯化鐵的溶液最好在30~50℃,最高不要超過65℃。腐蝕時可用竹夾子夾住電路板在三氯化鐵溶液中晃動以加快腐蝕速度,一般情況下15~30分鍾電路板即可腐蝕好。
配製好的三氯化鐵溶液可多次使用,但發現溶液中沉澱較多時,就應重新配製三氯化鐵溶液。
腐蝕溫度可在55℃左右進行,腐蝕速度較快,腐蝕好的電路板用清水沖洗干凈。

我們要時刻注意腐蝕的進度,特別是在線寬小的時候,腐蝕剛完成就要馬上拿開並沖洗干凈。

腐蝕效果:

背面的照片效果:

7、 鑽孔
鑽孔就不用說什麼了,一般用0.8mm的鑽頭,如果要用小的0.5mm也可以,大家可以以實際的元件管腳大小來選擇鑽頭的直徑。打如固定孔這樣大的孔時可以先用小鑽孔打定位孔。
打孔後照片:

至此,我們的熱轉印已經完成,下面是一些後期的出來工作了。
1、用木工細紗紙打磨,把銅線上的塑料粉除去。我要過幾天再焊這個東東,所以現在現在不能除去,要不氧化了。對不起大家了,現在看不到照片。當然我們也可以只把焊盤上的除去,其他保留作為阻焊層來保護電路板,但我覺得黑色的不好看,呵呵。
2、除去後就是焊接了。
3、焊接調試完成後,我們要加層膜來保護電路板,塗上油漆。指甲油是一個不錯的選擇哦,還可以以個人喜好來選擇顏色,呵呵
成品欣賞

雙面板正面

雙面板背面

單面板

E. 單片機的學習方法

從剛開始接觸單片機,到現在已經有3年的時間了,在這期間學習和使用了51單片機、飛思卡爾單片機,LPC2138,PIC16F887等系列的單片機,每接觸一款單片機,都會經歷熟悉其基本開發,然後將其用於項目中的過程,對於如何學習一款單片機,自己做了如下的總結。
大家都知道,51單片機是最容易入門的,不僅因為其編程簡單,更重要的是網上的資料非常豐富。所以一般學習單片機開發的都將51單片機作為入門開發的首選。我學習51單片機的時候是採用這樣的一個步驟進行學習的:
第一步(熟悉的過程):在網上找學習資料,在網上看了很多。印像最深的要數王雲老師的雲龍51單片機視頻教程,因為這個教程從基礎到復雜的編程慢慢深入,邊講邊寫代碼,講的比較的全面,而且也生動,所以那一階段,也是我學習單片機進步最快的階段,這時對51單片機也就沒有感到陌生了。通過視頻讓我知道了該怎樣學習單片機,學習單片機,要從實驗入手,先熟悉單片機再說,開發語言開始使用的是C語言比匯編更好理解。
第二步(進階的過程):有了第一步的基礎之後,接下來的便是進階的過程,買了一款51單片機開發板,然後就開始了我的學習之旅,每次聽課的時候,按照上面的實驗,以及課堂上面調試程序時出現的一些問題,自己認真的在電腦上進行調試,並分析產生故障的原因,讓我有了一定的開發基礎。在看完了視頻教程之後,後面又對基礎的知識進行了下補習,主要是看單片機原理性的教材,因為有些細節性的東西還是要從教材上面獲得。圍繞單片機的LED燈進行控制,通過控制LED燈的亮、滅,熟悉了51單片機的內部的各種資源,這樣就能使我在很短的時間內,將51單片機內部的各個功能部件全部都使用到了。
第三步(項目實戰的階段):學習單片機的時候,雖然也編寫了一些程序,但是那些都是一些很小的模塊程序,並沒有起到綜合應用的目的,所以在這之後,我和另外一個學習硬體的同學一起組成了一個小的團隊,進行項目實踐開發,那時候,實驗室的條件比價好,有很多的器件可以自己使用。所以,我們就設計了我們的第一個作品,基於單片機的液體點滴監控系統。做這個系統時,就將以前單片機所學的知識,做了一個綜合的應用,包括有LCD1602控制,串口的控制等。
經過以上三個步驟的學習之後,對於51單片機的開發基本上就算入門了。而對於其他類型的單片機,如飛思卡爾單片機,LPC2148 ARM7單片機,PIC16F887等,雖然每個系列的功能不一樣,但是最基本的編程思想還是一樣的,不同的可能就是編譯器,程序下載的軟體等差別,所以有了51單片機的開發基礎之後,學習其他單片機所採用的方法就是一個差異化的學習,學習各種單片機不同的地方,這樣,就能很快的熟悉一款新的型號的單片機。

F. 單片機設計方法有哪些

1-以編譯語言而言:
1,使用匯編語言
2,使用C語言

2-畫板:
1,Protel
2,PADS
3, Allegro
等。。。。。。

3-軟體模擬

1,Protus
2,Tinapro
3,multisim

不知道你說的方法是什麼?

G. 新手該如何學習單片機有什麼方法或者竅門

事實上,單片機並不是難學的,掌握了正確的學習方法,可以說很簡單就可以學會。新手如何學習單片機呢?下面提供三個學習方法,供新手參考。

一:自己花錢買一塊單片機的學習板,不要求功能太全的,對於初學者來說你買功能非常多的那種板子,我建議有流水燈、數碼管、獨立鍵盤、矩陣鍵盤、AD或DA(原理一樣)、液晶、蜂鳴器,這就差不多了。如果上面我提到的這些,你能熟練應用,那可以說對於單片機方面的硬體你已經入門了,剩下的就是自己練習設計電路,不斷的積累經驗。只要過了第一關,後面的路就好走多了,萬事開頭難,大家可能都聽過。

二:你身邊如果有單片機方面的高手,向他求助,讓他幫你搭個簡單的最小系統板。對於高手來說,做個單片機的最小系統板只需要一分鍾的時間,而對於初學者可就難多了,因為只有對硬體了解了,才能熟練運用。而如果你身邊沒有這樣的高手,又找不到可以幫助你的人,那我勸你最好是自己買上一塊,畢竟自己有一塊要方便的多,以後做單片機類的小實驗時都能用得上,還省事。

有了單片機學習板之後你就要多練習,最好是自己有台電腦,一天少看電影,少打游戲,把學習板和電腦連好,打開調試軟體坐在電腦前,先學會怎麼用調試軟體,然後從最簡單的流水燈實驗做起,等你能讓那八個流水燈按照你的意願隨意流動時你已經入門了,你會發現單片機是多麼迷人的東西啊,太好玩了,這不是在學習知識,而是在玩,當你編寫的程序按你的意願實現時你比做什麼事都開心,你會上癮的,真的。

做電子類的人真的會上癮。然後讓數碼管亮起來,這兩項會了後,你已經不能自拔了,你已經開始考慮你這輩子要走哪一行了。就是要這樣練習,在寫程序的時候你肯定會遇到很多問題,而這時你再去翻書找,或是問別人,當得到解答後你會記住一輩子的,知識必須用於現實生活中,解決實際問題,這樣才能發揮它的作用。

三:參加單片機的培訓。這里推薦華清遠見的嵌入式+單片機培訓,華清遠見的單片機講師都是來自著名IT企業的擁有十幾年甚至幾十年經驗的實戰性專家,胸有成竹目無全牛得心應手為所欲為無所不為,說得就是這群人。他們不僅腹有錦綉,且能出口成章滔滔不絕。不厭其煩地為學生答疑解惑,高屋建瓴地為學生指點迷津,是他們拿手的事情。學會嵌入式和單片機,走到哪裡沒不怕沒飯吃!

新手如何學習單片機?其實很簡單就可以學會,上面的三種方法任選一即可,我想大部分人都會選擇參加培訓,簡單快捷,就業率高,也有人消耗一兩年來自學,不管哪種,還是根據自身的情況來決定最好!

H. 針對51單片機的學習,大家有什麼好的方法

51單片機學完了?
不會是在開發板上編完了幾個示常式序吧?
那隻是個開始。
首先,1,你能不能把你的開發板所有的資源都用上,編一個復雜的液晶時鍾,帶溫度顯示,漢字液晶菜單驅動,24C02存儲鬧鍾,矩陣鍵盤輸入控制,溫度報警。並且有良好的人機界面,設置菜單。
還有,2,我問你,你能不能完全自主的設計一個復雜的電路,比如說多糧庫多點溫度濕度監控報警系統,每個倉庫一個單片機,控制多個感測器,採集溫濕度信號通過485數據線通過一定的協議,或者通過無線傳輸晶元和天線,傳送到主機,由主機的漢字液晶屏來控制,由多組數碼管組成的顯示牆顯示各點的溫度,並且有良好的用戶界面,方便的設置設置各種參數,監控各個糧庫。而且必須從選用零件,到設計,到編程,繪制電路板,調試,焊接樣機,組裝測試,都是你一個人完成。或者大部分你一個人完成,其他的由你來指揮完成。
以上兩點,我保證,由51單片機配合各種晶元就都能完成,
能做到第一點,說明你編程還可以,能看懂電路圖,懂得各種模塊的協同工作(這是編程的關鍵)
能做到第二點,說明你學會了51。再學其他的單片機,信手拈來。
連第一條都做不到,那就別考慮在學別的。
單片機是個軟硬結合的東西,硬體為主,軟體為輔。
主要還是要會電路。

I. 如何快速入門單片機

學習單片機技術必須注重「理論+實踐」的方法。如果只學理論知識而不動手操作,則收效甚微;如果只進行實踐操作而不學習理論知識,效果也不明顯。

因此,學好單片機技術必須做到理論、實踐同時學,理論知識和實踐技能就像人的兩條腿,缺一不可。

我試過很多種教學法,綜合考慮還是覺得平凡老師創立的任務教學法的效果最好。它是一種基於理論聯系實踐的教學法。

本人在任務教學法的基礎上開創了一種「邊學邊做」的單片機學習法,教學效果很好。

「邊學邊做」的教學方法概述

「邊學邊做」教學模式是以建構主義學習理論為指導下,依據人的認知規律設計完整的項目作為教學內容,採用多媒體、網路、模擬技術、實驗實訓設備等教學手段,在完成具體任務中組織教學的一種適合技能教育的教學模式
單片機基礎知識,包括單片機內部結構、引腳功能、中斷系統,定時計數系統,串列通訊系統等。單片機C語言基礎知識,包括C語言的數據類型與運算符、C語言語句、數組、指針、函數、編譯預處理等。

請注意,這些知識應該邊學邊做,在做產品的過程中,需要哪些知識,就學習哪些知識。

焊接技能

我們主張用萬能板製作單片機產品。因為這種實踐方法,不僅能鍛煉焊接技術,同時還能提高識別單片機硬體電路圖的能力。更重要的是掌握了單片機開發的基本步驟,提高了軟硬體的編程與設計能力。為日後開發設計電子產品打下堅實的基礎,因此訓練好拖焊技術非常重要。

J. 單片機調試的方法和步驟是什麼

首先,了解硬體介面以及功能,以便於配置IO埠;

第二,根據硬體設計以及功能需要,編寫單片機程序;

第三,編譯程序,把程序燒寫到單片機中,或者鏈接debug調試器,在線對單片機進行模擬;

第四,在線模擬可以支持單步調試和斷點調試,測試單片機的軟體功能;

第五,如果出現問題,首先分析是軟體邏輯的問題,還是硬體方面的問題,以便於對症下葯;

最後,將軟體寫入單片機的flash中,將單片機加密,防止其他人竊取單片機內部代碼。

閱讀全文

與單片機的方法相關的資料

熱點內容
給手機加密碼忘記了怎麼辦 瀏覽:596
單片機運算符 瀏覽:292
移動端微信商城源碼 瀏覽:442
編程貓下一個背景在哪裡 瀏覽:354
javaclasstype 瀏覽:234
樂高編程和樂高課的延伸 瀏覽:354
蘋果手機怎麼切換app美國賬號 瀏覽:861
編譯程序輸入一個字元串 瀏覽:407
圓命令畫法 瀏覽:308
如果給電腦e盤文件加密 瀏覽:802
javaswing項目 瀏覽:778
androidsdksetup 瀏覽:1005
pdf怎麼設置中文 瀏覽:128
安卓手機用什麼軟體看倫敦金 瀏覽:966
魅族文件夾無名稱 瀏覽:792
蘇黎世無人機演算法 瀏覽:876
核桃編程和小碼王的融資 瀏覽:686
微積分教材pdf 瀏覽:728
寫python給微信好友發消息 瀏覽:340
蚊帳自營米加密 瀏覽:422