沈阳45老熟女高潮喷水亮点,亚洲国产欧美在线人成人,天堂在线www天堂中文在线,亚洲av日韩综合一区,亚洲av网一区二区三区

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

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