午夜亚洲av中文字字幕乱码,一级日本大片免费观看,欧美牲交a欧美牲交一级aa,亚州熟妇视频无码

我的單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)職業(yè)之路

發(fā)布時(shí)間:2024-11-17
我于2004年考進(jìn)一所大專院校,學(xué)習(xí)電氣工程及其自動(dòng)化專業(yè)。2005年第二學(xué)期,我們這個(gè)專業(yè)開(kāi)設(shè)了單片機(jī)課程。從那以后,我便有了單片機(jī)這個(gè)概念。雖然學(xué)習(xí)了一個(gè)學(xué)期,但對(duì)單片機(jī)還是云里霧里,只知道單片機(jī)就是一個(gè)完全集成在一個(gè)芯片上的微型計(jì)算機(jī),也只知道單片機(jī)要用匯編語(yǔ)言編程。雖然在學(xué)校里做了一些實(shí)驗(yàn),但像我們這些理解能力遲鈍的學(xué)生,在這種應(yīng)付的學(xué)習(xí)環(huán)境下,根本就不會(huì)去了解實(shí)驗(yàn)的原理,實(shí)驗(yàn)的目的,跟著其它優(yōu)秀的同學(xué)把實(shí)驗(yàn)報(bào)告寫(xiě)出來(lái)就完事了。 但我們那個(gè)單片機(jī)老師對(duì)學(xué)生還是很負(fù)責(zé)的。盡管他在課堂教學(xué)上,不是那么嚴(yán)厲,但他對(duì)我們畢業(yè)后的就業(yè)還是很關(guān)心。我清楚地記得他說(shuō)過(guò)這樣一句話:我們這個(gè)專業(yè)的學(xué)生,不要畢業(yè)后,只會(huì)做接個(gè)燈泡這么簡(jiǎn)單的工作,我們要做些有水平的工作,比如單片機(jī)開(kāi)發(fā),plc開(kāi)發(fā)??梢哉f(shuō),這句話,深深的印在了我的腦海里。是呀,雖然我是大專生,但我也是有夢(mèng)想的。雖然小時(shí)候,夢(mèng)想自己可以考上清華、北大,可以成為科學(xué)家,但現(xiàn)在是絕對(duì)不可能的了,但我也要往高處走,盡自己最大所能,把技術(shù)學(xué)好,做好。所以,我報(bào)名參加了這位老師辦的單片機(jī)培訓(xùn)課。
這個(gè)培訓(xùn)課沒(méi)有我想像的收獲有多大??梢哉f(shuō),在這個(gè)培訓(xùn)課上,我只知道了幾個(gè)單片機(jī)開(kāi)發(fā)的軟硬件工具,keil、開(kāi)發(fā)板、仿真芯片、protel99se繪圖軟件,會(huì)看著原理圖搭接電路了。但對(duì)單片機(jī)程序設(shè)計(jì),還是一點(diǎn)想法沒(méi)有。因?yàn)?,這位老師,也是用匯編語(yǔ)言給我們講解單片機(jī)開(kāi)發(fā)。很快畢業(yè)了。我就陷入了找工作的茫茫人海中。
第一份工作是跟著一位包工頭做電工,第二份工作是在一個(gè)電氣設(shè)備公司做電氣裝配工。第三份工作是給一個(gè)boss仿一個(gè)大型機(jī)械公司做的平衡儀控制板。前兩份工作,可以說(shuō)和單片機(jī)開(kāi)發(fā)一點(diǎn)關(guān)系都沒(méi)有。第三份工作我還是有所收獲的,因?yàn)?,它正合我意。我?dāng)時(shí)是這樣想的,單片機(jī)系統(tǒng)開(kāi)發(fā)實(shí)際上屬于電子技術(shù)范疇的,所以,我必須打好電子技術(shù)基礎(chǔ),但我在學(xué)校里學(xué)的是強(qiáng)電,電子技術(shù)只學(xué)了一些皮毛。所以,前兩份工作,必然做不長(zhǎng)。但徐州電子技術(shù)企業(yè)太少了,雖然有一些比較好點(diǎn)的公司,人家一看你這學(xué)歷、你這水平,根本就不給你面試的機(jī)會(huì)。這第三份工作,我還是有所收獲的,我自學(xué)會(huì)了電子線路繪圖軟件。但兩個(gè)多月的時(shí)間過(guò)去了,我也沒(méi)弄出啥結(jié)果來(lái),自己也感覺(jué)不好意思待了,所以,就主動(dòng)離職了。沒(méi)工作的心情不好受呀,心里著急呀,但我還是有明確思路的,就是找電子方面的工作。于是,第五份工作,名義上是電子技術(shù)員,實(shí)際上是電子裝配工,而且,我一干竟然是一年半。在這里,我真的接觸到了實(shí)際電路。無(wú)論是模擬的,還是數(shù)字的,還是基于單片機(jī)的。雖然,我只是一個(gè)電子產(chǎn)品裝配工。但我不同于其它人,每個(gè)產(chǎn)品的電路原理,我都會(huì)仔細(xì)的思考。所以,在這里,我知道了,開(kāi)關(guān)電源、高頻電子鎮(zhèn)流器、還有一些實(shí)用的電子元器件。后來(lái),我發(fā)現(xiàn)在這里,真得沒(méi)啥前途,在這里,只會(huì)離我單片機(jī)開(kāi)發(fā)的夢(mèng)想越來(lái)越遠(yuǎn),所以,我又選 擇了離職。
那是2009年剛過(guò)完春節(jié)。我想,這次找工作,我一定要找到對(duì)口的,我一定要實(shí)現(xiàn)單片機(jī)開(kāi)發(fā)這個(gè)職業(yè)。找工作真的很難。但我想,之所以難,是我心里沒(méi)底,沒(méi)有底氣。如果我想求得一單片機(jī)開(kāi)發(fā)的崗位,但我一點(diǎn)開(kāi)發(fā)經(jīng)驗(yàn)也沒(méi)有。我就算是在做好準(zhǔn)備、在自圓其說(shuō),在熱愛(ài)這個(gè)技術(shù),我一點(diǎn)實(shí)戰(zhàn)經(jīng)驗(yàn)沒(méi)有呀。
所以,我還是選擇了一家很小的公司。但這家公司用到的單片機(jī)與我平時(shí)自學(xué)的不一樣,我平時(shí)看了許多51單片機(jī)方面的書(shū),甚至通過(guò)同學(xué)的介紹也了解目前單片機(jī)的開(kāi)發(fā)已普遍采用c語(yǔ)言了,但這家公司用的單片機(jī)是非常的小,有的只有8個(gè)管腳 ,而且只支持匯編語(yǔ)言。還有一種情況是,另外一個(gè)工程師特別封閉自己的技術(shù),我只是個(gè)畫(huà)板子工,根本就沒(méi)功夫去碰軟件上的東西。 畫(huà)了大概兩個(gè)多月的板子,原來(lái)的工程師因?yàn)楹屠习逵忻?,辭職了。公司就剩我一個(gè)技術(shù)人員,但老板對(duì)推出新產(chǎn)品特別急切,在加上我當(dāng)時(shí)對(duì)匯編語(yǔ)言編程沒(méi)啥思路,所以,我還是繼續(xù)做我的畫(huà)板子工。仿別人的機(jī)器時(shí),芯片都是找人破解的。后來(lái),因?yàn)榉N種原因,我離開(kāi)了那家公司。在那邊所收獲到的就是會(huì)用protel99se繪制單層pcb,如此而已。 又一次陷入了找工作的狀態(tài)中。這次找工作花的時(shí)間比較長(zhǎng)。在沒(méi)工作這段時(shí)間,我拿起了買(mǎi)了將近一年多時(shí)間的譚浩強(qiáng)老師寫(xiě)的c語(yǔ)言程序設(shè)計(jì)一書(shū)。大學(xué)的時(shí)候,沒(méi)學(xué)過(guò)c語(yǔ)言,覺(jué)得c語(yǔ)言多難多難。但翻了翻,看了看視頻,感覺(jué)也不是太難,就是由函數(shù)構(gòu)成的。然后,所有的函數(shù)有一個(gè)公共入口main函數(shù),還有各種各樣的基礎(chǔ)數(shù)據(jù)類型,構(gòu)造數(shù)據(jù)類型等。而且,用于單片機(jī)開(kāi)發(fā)的c語(yǔ)言-c51更是挺簡(jiǎn)單的,一些較復(fù)雜的數(shù)據(jù)結(jié)構(gòu)在單片機(jī)程序設(shè)計(jì)中用得很少。還有更重要的是,我終于拿起了,買(mǎi)了許久的51單片機(jī)開(kāi)發(fā)板。跑了一些程序,自己也做了一些簡(jiǎn)單的實(shí)驗(yàn)。我覺(jué)得對(duì)基于c語(yǔ)言的單片機(jī)系統(tǒng)開(kāi)發(fā)入門(mén)了。但應(yīng)付實(shí)際工作,可能還會(huì)存在一些問(wèn)題。所以,我迫切希望自己能找到單片機(jī)開(kāi)發(fā)的職位,哪怕工資不是很高。因?yàn)槟且荒?,我結(jié)婚了,即將面臨著來(lái)自生活上的壓力。所以,在找對(duì)口的工作和工資高的工作之間,我一直在猶豫。并且心理也清楚自己的技術(shù)實(shí)力。但單片機(jī)開(kāi)發(fā)依然是我追求的目標(biāo),我絕對(duì)不會(huì)放棄的。
在這種情況下,我對(duì)工作也不在挑三揀四了,最重要的是工資高,我要養(yǎng)家活口呀。但我一直沒(méi)放棄對(duì)單片機(jī)開(kāi)發(fā)的自學(xué),雖然,我心理明白,搞單片機(jī)開(kāi)發(fā)是一個(gè)實(shí)踐性很強(qiáng)的工作,但沒(méi)有深厚的理論也是不行的,只有真正理解了,見(jiàn)識(shí)的多了,才會(huì)提高能力,所以,閑暇時(shí),我一直在讀單片機(jī)開(kāi)發(fā)方面的書(shū)。甚至,用自己低微的收入買(mǎi)了一塊arm開(kāi)發(fā)板,那時(shí),我了解到,很多人都在搞arm,所以,我也買(mǎi)了一塊開(kāi)發(fā)板,想自學(xué),不過(guò)現(xiàn)在,也把它束之高閣了。可能是由于壓力大吧,也可能是我和她的學(xué)歷上的差異等,我和原來(lái)的那位分了。這又一次,讓我陷入了人生的低谷。我開(kāi)始在外面租房子住,因?yàn)橐粋€(gè)人,所以,我更有時(shí)間看書(shū)學(xué)習(xí)。
有時(shí)候,我把單片機(jī)開(kāi)發(fā)板拿出來(lái),在電腦旁做一些實(shí)驗(yàn),大部分時(shí)候,我是在看書(shū)。因?yàn)闆](méi)有了家庭的束縛,我對(duì)找工作更加自由。一定要找一個(gè)對(duì)口的工作,能學(xué)到東西的工作。所以,我又開(kāi)始了離職,找工作,再離職,再找工作的循環(huán)中。因?yàn)槟挲g比較大了吧,看同齡人畢業(yè)那么多年后,收入都在增加,而我還在學(xué)技術(shù),還在為找對(duì)口的工作而發(fā)愁。所以,在工資、對(duì)口、學(xué)習(xí)三方面,我不得不做一些平衡。最終,我還是選擇了工資不能太低的工作。
我雖然自學(xué)了很多科目,看了許多單片機(jī)開(kāi)發(fā)方面的書(shū)。但真正對(duì)我有幫助的,還是我現(xiàn)在的這份工作,或許是多年的理論知識(shí)消化吧。盡管在找到這份之前,我沒(méi)有完整的開(kāi)發(fā)過(guò)一個(gè)單片機(jī)應(yīng)用系統(tǒng),但是,我對(duì)單片機(jī)不在感到神秘了。也許是單片機(jī)用的太廣了,也許是一個(gè)很普及的技術(shù)了,也或許是我看得單片機(jī)書(shū)多了吧。來(lái)到這家公司,我確實(shí)收獲了許多。盡管大多數(shù)時(shí)候我在抱怨公司這不好,那不好,但我心理清楚,在這里,我是很有收獲的。學(xué)到了許多單片機(jī)程序設(shè)計(jì)思想。
如今c語(yǔ)言已經(jīng)成為單片機(jī)程序設(shè)計(jì)公認(rèn)的語(yǔ)言。我用c語(yǔ)言進(jìn)行單片機(jī)程序設(shè)計(jì)也有兩年多的時(shí)間了,c語(yǔ)言程序的特點(diǎn)使我對(duì)單片機(jī)開(kāi)發(fā)更加感興趣。讓我從一個(gè)了解單片機(jī)的彷徨者到今天能用單片機(jī)開(kāi)發(fā)一些產(chǎn)品,這期間我深有感觸。 眾所周知,單片機(jī)實(shí)際上就是一個(gè)典型的微型計(jì)算機(jī)系統(tǒng)。作為一款單片機(jī),無(wú)論大小,都集成了計(jì)算機(jī)最基本的五大部件,運(yùn)算器、控制器、存儲(chǔ)器、輸入輸出。但單片機(jī)在用途上是與通用微處理器不同的。單片機(jī)是面向特殊用途的,常作為某一個(gè)設(shè)備的控制單元,所以單片機(jī)又常稱為微控制器,英文縮寫(xiě)mcu。
最初的單片機(jī)開(kāi)發(fā)語(yǔ)言是匯編語(yǔ)言,但匯編語(yǔ)言會(huì)隨著單片機(jī)種類的不同而不同。程序設(shè)計(jì)起來(lái)難度較大。后來(lái)人們改用c語(yǔ)言作為單片機(jī)程序設(shè)計(jì)的通用語(yǔ)言。這種不依賴于機(jī)器硬件的語(yǔ)言,可以方便的在各類單片機(jī)系統(tǒng)中移植,極大的加快了單片機(jī)程序開(kāi)發(fā)的時(shí)間。
我們知道,從總的方向來(lái)講,指令是按順序被執(zhí)行的,除非遇到中斷。但作為單片機(jī)軟件系統(tǒng),我們不能用指令流的思想去構(gòu)建一個(gè)單片機(jī)軟件系統(tǒng)。通常我們會(huì)借助pc軟件系統(tǒng)的思想,對(duì)單片機(jī)軟件系統(tǒng)在宏觀上進(jìn)行分層。
首先,我們要通過(guò)單片機(jī)系統(tǒng)的硬件資源,明確要對(duì)哪些硬件資源進(jìn)行軟件封裝或者軟件抽象,這一步我們稱為硬件驅(qū)動(dòng)程序設(shè)計(jì)。對(duì)應(yīng)的軟件層,我們稱為驅(qū)動(dòng)層。這一層的程序設(shè)計(jì)是純粹面向硬件設(shè)計(jì)的。要求程序設(shè)計(jì)人員必須對(duì)器件時(shí)序、內(nèi)部可編程寄存器相當(dāng)熟悉,而且還要熟悉常用的芯片級(jí)總線,如i2c、spi等。有時(shí),我們也將外部總線(通信接口),如rs232協(xié)議、rs485協(xié)議、can總線等,也歸到這一層。
其次,是監(jiān)控程序?qū)?,或者,我們冠之以操作系統(tǒng)層。這一層最主要的任務(wù)是管理。主要管理應(yīng)用程序與應(yīng)用程序之間、驅(qū)動(dòng)程序與應(yīng)用程序之間的關(guān)系。從某種意義上講,也是一種通信關(guān)系。這一層基本上決定了程序的框架。比如常用的狀態(tài)機(jī)思想、消息存取思想等。
最后一層是應(yīng)用層。這一層是體現(xiàn)系統(tǒng)功能的。應(yīng)用程序通常也稱為任務(wù),是直接面向使用者的。與驅(qū)動(dòng)層相比,這一層的程序設(shè)計(jì)是面向邏輯的,面向數(shù)據(jù)處理的。
不論一個(gè)單片機(jī)軟件系統(tǒng)規(guī)模有多大,它都體現(xiàn)了這三層架構(gòu)。這也是我們程序設(shè)計(jì)最基本的思路。按照這種思路,我相信,設(shè)計(jì)出來(lái)的軟件更有條理,更有層次感 ,便于分工,同時(shí)也加快了程序開(kāi)發(fā)的時(shí)間。
終于有機(jī)會(huì)從事基于單片機(jī)的電子產(chǎn)品開(kāi)發(fā)這種工作。這是一家從事車(chē)載收放機(jī)生產(chǎn)的小型公司。公司規(guī)模不大,大概有四五十人。核心技術(shù)主要靠方案商的支持。具體來(lái)講,方案商提供基本的開(kāi)發(fā)包,并且提供技術(shù)支持。這對(duì)我來(lái)講,是很有意義的。因?yàn)榭梢詮姆桨干烫峁┑能浻布_(kāi)發(fā)包里面學(xué)到很多開(kāi)發(fā)上的技巧。盡管公司效益不是太好,但對(duì)我這個(gè)沒(méi)有實(shí)戰(zhàn)經(jīng)驗(yàn),只會(huì)紙上談兵的,所謂單片機(jī)技術(shù)人員,是非常有益處的。
剛一接觸以前工程師留下的程序時(shí),我真是有些暈頭轉(zhuǎn)向。唯一知道的是,程序的入口是main函數(shù),不管這個(gè)項(xiàng)目里面有多少源文件。幸虧有在線調(diào)試器,只需和目標(biāo)板連上幾根線,就可以在線仿真所寫(xiě)的代碼了。不過(guò),剛一開(kāi)始是盲目的,或者說(shuō),沒(méi)有具體想好程序如何編制,就開(kāi)始寫(xiě)代碼,然后用仿真器實(shí)驗(yàn)運(yùn)行結(jié)果。這種盲目的編碼,往往帶來(lái)巨大的返工。所以,后來(lái)我想到,得先在紙上畫(huà)畫(huà)程序的思路,盡管,我寫(xiě)不出完美的程序流程圖或者什么ns流程圖,但最起碼,我要對(duì)所寫(xiě)的程序有個(gè)整體的把握。
后來(lái)我發(fā)現(xiàn),其實(shí)方案商已經(jīng)給出程序框架的說(shuō)明了,是什么基于消息存取的。我立馬意識(shí)到這應(yīng)該是一種單片機(jī)程序設(shè)計(jì)思想。我上網(wǎng)也找了一些資料,也在仔細(xì)揣摩這種思想在我們這個(gè)產(chǎn)品開(kāi)發(fā)中的具體應(yīng)用。所以,我總結(jié)了一下,我接觸到的這個(gè)產(chǎn)品軟件上的特點(diǎn)。
首先分析下這個(gè)系統(tǒng)的構(gòu)成。由按鍵、顯示模塊、u盤(pán)接口、sd卡接口、24c02、fm模塊、靜音電路以及功放和電源模塊。按鍵采用adkey。即采集每個(gè)按鍵按下后,對(duì)應(yīng)電阻上所分得的電壓值,以此來(lái)區(qū)分是哪個(gè)鍵被接下。顯示模塊用得是段式lcd。這種顯示器與led不同。led是單向供電,自發(fā)光。而這種段式lcd所顯示的段本身不發(fā)光,需要背光源,并且段兩端需要接交流電壓,長(zhǎng)時(shí)間通直流電壓,會(huì)損壞液晶。其它的如u盤(pán)文件、sd卡文件讀取,以及解碼是方案商提供的。雖然最核心的東西沒(méi)有學(xué)到,但對(duì)于按鍵驅(qū)動(dòng)、lcd驅(qū)動(dòng)、24c02驅(qū)動(dòng)等還是長(zhǎng)了見(jiàn)識(shí)。
1、很多函數(shù)是放在定時(shí)中斷里面執(zhí)行的。比如按鍵掃描、lcd掃描都是放在定時(shí)中斷函數(shù)里面的。
2、采集到的按鍵值轉(zhuǎn)換成“消息”存放到消息池里面,消息池有深度,存滿后,自動(dòng)從頭開(kāi)始存放。
3、每個(gè)功能模塊(fm、mp3、rtc)都是相互獨(dú)立的,都是采用相同的程序框架。
4、關(guān)于while(1)。必須在while(1)內(nèi)部有跳出此死循環(huán)的條件。
5、函數(shù)是分段存儲(chǔ)的。
這種表象的認(rèn)識(shí),對(duì)我在此源程序上的修改是有幫助的。以后,我會(huì)一一分析每一個(gè)模塊的編程策略。
上一個(gè):瑞典發(fā)貨政策:運(yùn)輸要求、海關(guān)程序和法規(guī)要求詳解
下一個(gè):全自動(dòng)在線檢重分揀秤,自動(dòng)檢重設(shè)備重檢機(jī)

突然有自己的ems快遞怎么回事(為什么無(wú)緣無(wú)故收到ems的快遞)
海運(yùn)澳大利亞時(shí)間(澳大利亞有海運(yùn)嗎)
亞馬遜卡派約不到倉(cāng)能改ups派送嗎?
空運(yùn)價(jià)格國(guó)際(ems國(guó)際空運(yùn)價(jià)格)
怎么關(guān)閉r9s按鍵燈,OPPO R9s怎么關(guān)閉下方兩側(cè)按鍵燈
壓濾機(jī)在清洗后的操作注意項(xiàng)
為什么要測(cè)試玻璃瓶玻璃藥品瓶啤酒瓶輸液瓶的耐內(nèi)壓性能呢?
美國(guó)海運(yùn)費(fèi)同比(美國(guó)海運(yùn)費(fèi)暴跌原因)
防爆型污水自吸泵的特點(diǎn)與用途
恒溫恒濕試驗(yàn)箱濕度Z低可以做到多少呢?