單片機有什麼用?

空用戶名

單片機的用途多了去了,

小到衣食住行,大到航空航母,都有單片機的身影。

單片機就是縮小版的計算機,麻雀雖小,五臟俱全,單片機內部集成了CPU,隨機內存和只讀內存,另有輸入輸出接口和中斷系統,以及定時器和計數器。它完成可以說是一臺微型的計算機,只不過它的功能沒有計算機那麼強大而已,但它的體積很小,可以在很多場合完成特定的工作。

利用單片機可以實現的功能很多,應用特別廣泛,比如我們日常生活中使用的各種家用電器,智能化設備,電子產品等等,都普遍的應用了單片機,通過編程可以實現各種各樣的功能。比如我們平常使用的計算器,就是由內部的專用的單片機來完成各種運算的。

多的我也不想說了,反正很有用就是了。


電子維修

1. uC/OS 是個什麼鬼?

在一些朋友的留言和大神的文章中多次提到了 uC/OS,相信很多朋友看到之後都是蒙B的 “這是個什麼鬼?”。uC/OS (Micro Control Operation System)翻譯過來就是微控制器操作系統,最初版本是在1992年發佈,現在已經發展到uC/OS III 了。

嗯,那它有什麼用呢?

接觸過單片機或編程的朋友一定知道 main() 函數,mian() 又叫主函數或者入口函數,顧名思義就是程序開始執行的地方(其實這是不嚴謹的,但是為了照顧小白可以這樣簡單的理解),而一般的裸機程序只有一個main(),從程序的開頭到結尾跑一次就完了,而為了讓程序能不停的跑往往會在main() 中加一個while(true) 讓其不斷的循環。uC/OS因為其處理方式理論上可以模擬無數個 "main() 函數"(任務),讓這些任務併發運行,就像在一個單片機中有多個main() 函數一樣,讓原本單線程的單片機能有多線程的效果。

那 uC/OS 是變出無限個main函數呢,答案就是時鐘節拍,時鐘節拍就是系統以固定的頻率產生中斷(時基中斷),並在中斷中處理與時間相關的事件,推動所有任務向前運行。簡單的來說就是高頻率的切換任務來實現類似多線程的效果,這個時鐘節拍是可調的,頻率越快越浪費cpu,相應的在多個任務間切換的速度也就越快。

那麼什麼是中斷呢?

從本質上來講,中斷是一種電信號的變化,當設備有某種事件發生時(產生電平變化),它就會產生中斷,通過總線把電信號發送給中斷控制器。如果中斷的線是激活的,中斷控制器就把電信號發送給處理器的某個特定引腳。處理器於是立即停止自己正在做的事,跳到中斷處理程序的入口點,進行中斷處理。(就好比小明現在正在看我寫的這篇文章,突然有快遞來敲門他就會先放下手機去取快遞然後回來接著看,既拿了快遞又讀了文章)如上圖所示電信號從低電平跳轉高電平的中斷稱之為上升沿中斷,反之稱之為下降沿中斷。

因為篇幅的限制以上只是簡單的介紹了一下uC/OS,當然它還有很多其它的優點,例如內存分配,任務消息隊列,等等。這些都是這個系統多年迭代累積下來的“車輪”,如果感興趣的朋友可以深入的瞭解一下。

uC/OS固然是好,但是真的有必要什麼都用 uC/OS麼?我看未必,殺雞何用宰牛刀。以下引用一位知友的留言:

“2以前沒學過操作系統,用單片機裸機寫程序。有一次做一個功能特別複雜的東西,發現中斷都快用完了,並且用中斷有些地方實現的特別勉強,冗餘,複雜。當時根本就不知道有多任務,也以那時的知識根本想不到如何優化。如果當時學過操作系統,用過ucos,這個問題就很好解決了。不信,你看能不能用裸機實現一個簡單的平板電腦。

6以後想去大公司,做平板,做手機,不會嵌入式linux估計不行吧,這個依舊包括了上述所有知識。”(這位朋友表達的意思我懂,在此只是引用這一段話,只是引用!)

(此段純吐槽)可能是現在中國手機行業很賺錢。是個大一點的公司就要做平板,做手機,大公司都需要這樣的人才,一窩蜂的往裡鑽。雖然arm理論上也算是單片機的一種,但是我更喜歡將其歸入微處理器的行列,做手機做平板要是我肯定不會選stm32上uC/OS來做。如果是為了好找工作,為了做手機那還是學嵌入式linux比較靠譜。我是學自動化的,在我的感覺裡單片機(stm32,avr,飛思卡爾,51等等)這類是屬於微控器,最適合的就是用來做控制的,不是為了做手機而生的。

和做人一樣首先要清楚自己的定位,清楚自己能幹什麼,不能幹什麼。汽車芯片,3d打印機,數控機床,手環,液晶顯示器,四軸,錄像機,洗衣機,玩具,飛機儀表板等等等等,都有單片機的用武之地,我給它的定位就是簡單重複高效的控制器。有朋友留言說 “一句話想賺錢不要學這個。” 我只能引用這樣一句話 “中國不是實體經濟不行了,而是你的實體經濟不行了。”

2. 那你解釋一下運放虛短的原理 簡單講就好@obovgood

運算放大器 MIT的 Anant Agarwal 教授講的很好建議你去看看(其實網易公開課上有很多資源,都沒人看)

什麼是運算放大器?

運算放大器是一種帶有特殊耦合電路及反饋的放大器,其輸出信號可以是輸入信號加、減或微分、積分等數學運算的結果。(簡單的理解就是通過這個原件能實現輸入信號的數學運算)

正好我用一個實際的例子來講,下圖是我之前用來驅動激光的一個原理圖,看似很複雜不用怕,一步一步來。首先要知道這個電路是幹什麼用的,我上學的時候就是老師自己陶醉的在臺上講,也不告訴你學了知識能幹啥,最後學的都是一頭霧水,一臉茫然(又吐槽了)。為了保持激光穩定的工作,通過激光二極管的電流必須是恆定的,這個時候就需要橫流驅動。

LASER1+和LASER-之間接的就是要求橫流1A工作的激光二極管。如果電路看起來複雜圖中所有電容均可以理解為濾波作用。為了理解虛短,虛段我們將其都去掉,是不是看起來簡單了一些

LASER-下方是一個mos管,簡單的理解成一個特殊開關,它的1端口可以控制2->3的是否導通,並分去多餘的電壓。R8是0.03歐姆的採樣電阻,為了實現1A橫流R8a上方電壓要為0.03v(I=U/R),那麼運放端口6為0.03v。ok 這裡我們先學習一下

虛短(虛短指在分析運算放大器處於線性狀態時,可把兩輸入端視為等電位【這裡2,3,5,6都是輸入端】,就好像兩個輸入端短接在一起,但事實上並沒有短接,稱為“虛短”。由於運放的電壓放大倍數很大,而運放的輸出電壓是有限的。因此運放的差模輸入電壓不足1 mV,兩輸入端近似等電位,相當於 “短路”。)

虛斷(由於運放的差模輸入電阻很大。因此流入運放輸入端的電流往往不足1uA,遠小於輸入端外電路的電流。故通常可把運放的兩輸入端視為開路。“虛斷”是指在分析運放處於線性狀態時,可以把兩輸入端視為等效開路,這一特性 稱為虛假開路,簡稱虛斷。)

因為虛斷(5,6)為開路,沒有電流由6經過R8a到GND。

因為虛短所以(5,6)端口電壓相等均為0.03v,由於R7a,R7b串聯可得到端口1的電壓

(V1-V5)/R7a=V5/R7b --------> V1=(V5/R7b)*R7a+V5=0.33v

因為虛短所以(1,2,3)端口電壓相等,所以只要用單片機控制3端口的電壓為0.33v,激光器就能穩定在1A工作。

自己焊的原理板如圖,中間的小長方塊就是運放。

控制激光穩定輸出!

注意以上所有推導能成立均建立在運放是線性工作的狀態,至於運放什麼時候是線性,如何在非線性條件下讓運放線性工作,Anant Agarwal 教授都講的很清楚了。如果你感興趣可以深入的學習一下,我還是再次吧視頻鏈接貼出來:

http://open.163.com/movie/2007/8/U/F/M7A8MMH3M_M7A8SLOUF.html

----------------------------------------------------------------------------------------------


數字美學

單片機從1971年發展至今,各方面都得到了發展,種類上更豐富,集成度更高,價格更便宜,功能上更強大。

也許我們不曾注意,但是,如今基本上每個家用電器中都有單片機的身影出現,可以不誇張地說,基本上每家都有好多個甚至超過十個以上的單片機,只不過這些單片機都隱身於各種電子產品內部,我們看不到罷了。

單片機體積小、控制功能強、功耗低、環境適應能力強、擴展靈活和使用方便,因此在導航、控制、測控、通信等各個領域都有廣泛使用。廣泛應用於儀器儀表、家用電器、醫用設備、航空航天、專用設備的智能化管理及過程控制等領域。

一、單片機的主要作用是監測和控制以及人機交互。

單片機的監測功能:單片機可以檢測電路的運行狀況(檢測電壓變化,運行環境變化等)等。

控制功能:單片機可以控制電路進行各種不同的控制(電機運行,電壓控制等)。

人機交互功能:顯示當前運行狀態,環境狀態等。

二、單片機的應用領域

智能儀器

在很多儀器儀表的應用中,使用單片機結合不同類型的傳感器,可實現諸如電壓、電流、功率、頻率、溼度、溫度等各種物理量的測量。

採用單片機+傳感器的方案,可以使儀器儀表實現數字化、智能化、微型化,且功能比起採用電子或數字電路更加強大。

汽車電子

單片機在汽車電子中的應用非常廣泛,例如汽車中的發動機控制器,基於CAN總線的汽車發動機智能電子控制器、GPS導航系統、abs防抱死系統、制動系統、胎壓檢測等。

家用電器

從電飯煲、洗衣機、電冰箱、空調機、彩電、其他音響視頻器材、再到電子秤量設備和白色家電等家電產品中到處都有單片機的身影。醫用設備領域單片機在醫用呼吸機,各種分析儀,監護儀,超聲診斷設備及病床呼叫系統等等都有廣泛應用。

工業控制

單片機可以構成形式多樣的控制系統、數據採集系統、通信系統、信號檢測系統、無線感知系統、測控系統、機器人等應用控制系統。例如工廠流水線的智能化管理,電梯智能化控制、各種報警系統,與計算機聯網構成二級控制系統等。

網絡和通信

現代的單片機普遍具備通信接口,可以很方便地與計算機進行數據通信,從手機,電話機、小型程控交換機、樓宇自動通信呼叫系統、列車無線通信、再到日常工作中隨處可見的移動電話,集群移動通信,無線電對講機等。

各種特定的功能模塊

某些專用單片機設計用於實現特定功能,從而在各種電路中進行模塊化應用。如音樂集成單片機等。

其他應用

單片機在工商、金融、科研、教育、電力、通信、物流和國防航空航天等領域都有著十分廣泛的用途。


老馬識途單片機

單片機是一種集成電路芯片,是採用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計數器等功能(可能還包括顯示驅動電路、脈寬調製電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊硅片上構成的一個小而完善的微型計算機系統,在生活中有廣泛應用。

通過學習單片機,有利於深入瞭解微機的電子運行原理,有利於瞭解硬件基礎運行規則和規律。

在單片機編程中所需要用到的彙編指令,也有利於引導計算機科學相關專業的學生下潛去了解底層編程語言的特性。

目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網絡通訊與數據傳輸,工業自動化過程的實時控制和數據處理,廣泛使用的各種智能IC 卡,民用豪華轎車的安全保障系統,錄象機、攝象機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫療器械。

具體說明單片機的應用領域:

1. 單片機在智能儀器儀表中的應用

單片機本身不能做什麼事情,它的強大之所在於可以控制所有和它連接的模塊和傳感器,比如接上溫度傳感器可以測量出當前溫度;接上加速度傳感器,可以知道當前的角度;接上壓力傳感器,可以知道當前壓力等等。很多電壓表、功率計,示波器等各種分析儀器裡面都有單片機的身影。


2. 單片機在工業測控中的應用

其實最早的單片機正是從工業領域開始興起的,至今其在工業控制領域的應用仍然十分廣泛,利用單片機技術構成多種多樣的數據採集系統與智能控制系統,比如工廠流水線的智能化管理、智能化電梯、報警系統等等,均是通過單片機技術與計算機聯網構成二級控制系統。

3. 單片機在計算機網絡和通訊技術中的應用

現代的單片機普遍具備通信接口,可以很方便地與計算機進行數據通信,為在計算機網絡和通信設備間的應用提供了極好的物質條件,現在的通信設備基本上都實現了單片機智能控制,從手機,電話機、小型程控交換機、樓宇自動通信呼叫系統、列車無線通信、再到日常工作中隨處可見的移動電話,集群移動通信,無線電對講機等。


4. 單片機在日常生活及家電中的應用

單片機的應用領域很廣,最常見的就是電器行業了。一般來說,只要是稍微智能一點的電器裡面都能找到單片機的身影,比如電飯煲、洗衣機、空調機、電視、冰箱等。都是單片機的應用地方。
還有很多場合會有單片機的應用,基本上,你看到的智能電子產品都需要單片機來控制,這就是單片機的魅力之處。單片機用處還是很大的,凡是看到的智能化產品,基本都離不開單片機。


大學資源分享

單片機有什麼用?我以前和朋友聊天或者老同學見面,大家問起來我是學什麼專業做什麼工作的,我說我最近在玩單片機,當然更多情況下我會說是一名電子攻城獅,一般理工科一聽就大概懂了,但是碰到文科萌妹子她還是一臉懵逼,好奇心強的會繼續問下去,這個時候你告訴她“單片機是一種集成……”,打住,萌妹子眨巴幾下眼睛會說頭暈。要想話題還想繼續下去,應該這麼說:妹子你正在自拍用的手機,它的核心就是單片機…… 我掃視了一眼家中四周,視線所及範圍內但凡功能多點的電器其核心都是單片機,譬如冰箱、洗衣機、風扇、電子掛曆、電子相冊、智能烤火桌、小米淨化器、小米攝像頭,基本小米智能全系列都用到了單片機,以上舉例是告訴你單片機無處不在,它的作用就好比人的大腦,接收一些傳感器(耳朵、眼睛等)處理後的信號再進行一翻數據處理(人的思考或者潛意識)後做出相應的動作(跑、躲避、推開等)。


郭工聊電子

單片機的主要功能是什麼?

講的通俗一點,單片機的主要功能可以概括為:檢測外部信號,並按照人們寫入單片機中的程序邏輯輸出相應的信號

圖1 單片機

這個主要功能讀起來可能還有一點拗口,OK,再讓我們來舉個像子:家中電視機的遙控器,遙控器的功能就是看電視的人通過按遙控器上的按鈕來調臺或調高/高低音量。其實遙控器裡面就有一顆功能相對簡單的單片機,當用戶按下一個按鈕時,單片機就會檢測到相應的信號,然後單片機自動判斷是哪個按鈕被按下,假如是增加音量的按鈕,那麼單片機就會發出相應的信號驅動發射頭髮出無線信號(比如紅外信號)。當電視機接收到信號後就執行相應的動作,比如這裡的調高音量。

圖2 遙控器

單片機有什麼用?

通過以上的例子,應該可以瞭解單片機的作用了,要完成比較實用的功能,光靠單片機一個人是不行的,還需要單片機外部的電路來配合實現。

比如檢測外部信號,單片機自己是不能直接檢測光強弱、溫度、水位等信號,它需要一些傳感器將這些物理量先轉換成電壓信號,然後單片機再將電壓信號轉換成相應的物理量值進行內部的計算處理。

同樣,輸出相應的信號,其實單片機輸出的信號也就是電壓信號,如比0-5V之間的模擬電壓信號或者是5V / 0V的高 / 低電平數字信號,它需要外部電路的配合來實現各種功能,比如控制電動機旋轉等。

圖3 程序讓機器變成機器人

除了這些以外,還需要在單片機中寫入程序,不然單片機什麼也做不了。打個比喻,單片機這個物理器件就像是人的軀體,而程序就像是人的靈魂或思想,沒有程序的單片機就像是植物人,只能躺的床上什麼也做不了,有了程序,機器就可能變成機器人。


口口木的筆記

單片機有很多用途。可以作為微控芯片使用,內部集成了控制器,輸入輸出IO等外設。通俗來說就是利用控制器來控制你想要做的事情。

比如,測試裡面的自動沖水的,利用紅外對管來檢測,當有人的時候,紅外對管會接收到另外一個管子發送過來信號,單片機會接收到,然後去處理,就相當於人的大腦一樣。控制想做的是。然後就沖水。當你走時,紅外電平轉換,再次沖水。就這麼簡單。

學單片機其實前途不是很大。首先學到的知識有限,對內部寄存器,啟動代碼,底層編程瞭解的不夠深入。你就算學上很多年,雖然經驗豐富,但是人才還是很多。因為這個入門度比較低,很容易學會。那你的競爭力就大了,大了就導致工作不好找。這種循環。

作為入門可以從單片機學起,然後慢慢提升進入到linux嵌入式方面發展,這個方向要學的好才能有更好的競爭力。才能進入一個更大的平臺。學這個你別說你別說為了興趣,大家都是為了混口飯吃。混口好飯吃而已。

至於怎麼學習呢,那我建議先把單片機學好,工作一兩年之後就可以自己慢慢學習linux了。這樣有了工作經驗你學什麼都很快的。然後繼續提升自己。人生就是一個提升的階段。所以說努力吧。

最後需要學習單片機和linux資料,請在下方給我留言。資料發給你們即可。


踏著時光去旅行

單片機有什麼用,本人從事單片機開發多年,以我自身的經驗淺談一下單片機的作用。

今天你玩手機了吧,否則你不會看到我的信息,那麼手機會不會是單片機的產品呢?會,而且一定是,還是比單片機更聰明的CPU(中央處理器)。通常單片機是8位的控制器,而手機的CPU是32位或者64位的處理器。手機的芯片(一般是ARM系列的)都是在單片機的基礎上發展而來,如果你想學習,從事電子產品開發,可以選擇學好單片機,走遍天涯都不怕。



第二個例子,生活中只要是有電,不管是強電弱電,都有單片機的身影,只要談到控制,顯示,屏幕。那麼必定有單片機,基本覆蓋了所有的領域!不管大數據也好,不管人工智能也好,不管互聯網物聯網,通信,機械加工,數控車床,工業設備等行業都離不開單片機的作用。



總結,單片機是電子信息技術專業必須掌握的課程,它時時刻刻都存在身邊,讓生活變得更美好。還是那句話,學好單片機,走遍天涯都不怕!


烽火相約

單片機可以說就是一個微型的處理器,實際上可以這麼理解,單片機就是現在電腦裡的處理器的簡單版本。實際上早期的電腦裡的處理器就是現在的一些單片機。



單片機的用處太多了,基本上現在所

有的電子設備都要用到單片機比如遙控器一些玩具,一些智能家電。



學好單片機還是很有用的,可以自己做一些好玩的東西,以後找工作也比較好找。


鈦氪粉

常說的單片機,就是單板芯片,能夠處理比較簡單的任務,可以將繁多而又簡單人力勞動轉化成自動化的一個機器工作。例如洗衣機,可以將人從洗衣服的時間節省出來去做其他的事,省時高效。

單片機的身影,小到日常用的電子產品大到火箭的控制和醫療設備的使用,如電動剃鬚刀和CT射線檢測儀器。可以說,單片機涵蓋了我們生活的方方面面,只不過,我們看到的只是外殼,而沒有看見外殼裡面,高效工作的它們!


分享到:


相關文章: