轉(zhuǎn)http://user.qzone.qq.com/447657890/blog/1443681851:學(xué)習(xí)單片機(jī)八大步驟
學(xué)習(xí)使用單片機(jī)就是理解單片機(jī)硬件結(jié)構(gòu),在匯編或C語言中學(xué)會(huì)各種功能的初始化設(shè)置,以及實(shí)現(xiàn)各種功能的程序編制。
第一步:數(shù)字I/O的使用
使用按鈕輸入信號(hào),發(fā)光二極管顯示輸出電平,就可以學(xué)習(xí)引腳的數(shù)字I/O功能,在按下某個(gè)按鈕后,某發(fā)光二極管發(fā)亮,這就是數(shù)字電路中組合邏輯的功能,雖然很簡(jiǎn)單,但是可以學(xué)習(xí)一般的單片機(jī)編程思想,例如,必須設(shè)置很多寄存器對(duì)引腳進(jìn)行初始化處理,才能使引腳具備有數(shù)字輸入和輸出輸出功能。每使用單片機(jī)的一個(gè)功能,就要對(duì)控制該功能的寄存器進(jìn)行設(shè)置,這就是單片機(jī)編程的特點(diǎn),千萬不要怕麻煩,所有的單片機(jī)都是這樣。
第二步:定時(shí)器的使用
學(xué)會(huì)定時(shí)器的使用,就可以用單片機(jī)實(shí)現(xiàn)時(shí)序電路,時(shí)序電路的功能是強(qiáng)大的,在工業(yè)、家用電氣設(shè)備的控制中有很多應(yīng)用,例如,可以用單片機(jī)實(shí)現(xiàn)一個(gè)具有一個(gè)按鈕的樓道燈開關(guān),該開關(guān)在按鈕按下一次后,燈亮3分鐘后自動(dòng)滅,當(dāng)按鈕連續(xù)按下兩次后,燈常亮不滅,當(dāng)按鈕按下時(shí)間超過2s,則燈滅。數(shù)字集成電路可以實(shí)現(xiàn)時(shí)序電路,可編程邏輯器件(PLD)可以實(shí)現(xiàn)時(shí)序電路,可編程控制器(PLC)也可以實(shí)現(xiàn)時(shí)序電路,但是只有單片機(jī)實(shí)現(xiàn)起來最簡(jiǎn)單,成本最低。
定時(shí)器的使用是非常重要的,邏輯加時(shí)間控制是單片機(jī)使用的基礎(chǔ)。
第三步:中斷
單片機(jī)的特點(diǎn)是一段程序反復(fù)執(zhí)行,程序中的每個(gè)指令的執(zhí)行都需要一定的執(zhí)行時(shí)間,如果程序沒有執(zhí)行到某指令,則該指令的動(dòng)作就不會(huì)發(fā)生,這樣就會(huì)耽誤很多快速發(fā)生的事情,例如,按鈕按下時(shí)的下降沿。要使單片機(jī)在程序正常運(yùn)行過程中,對(duì)快速動(dòng)作做出反應(yīng),就必須使用單片機(jī)的中斷功能,該功能就是在快速動(dòng)作發(fā)生后,單片機(jī)中斷正常運(yùn)行的程序,處理快速發(fā)生的動(dòng)作,處理完成后,在返回執(zhí)行正常的程序。中斷功能使用中的困難是需要精確地知道什么時(shí)候不允許中斷發(fā)生(屏蔽中斷)、什么時(shí)候允許中斷發(fā)生(開中斷),需要設(shè)置哪些寄存器才能使某
種中斷起作用,中斷開始時(shí),程序應(yīng)該干什么,中斷完成后,程序應(yīng)該干什么等等。
中斷學(xué)會(huì)后,就可以編制更復(fù)雜結(jié)構(gòu)的程序,這樣的程序可以干著一件事,監(jiān)視著一件事,一旦監(jiān)視的事情發(fā)生,就中斷正在干的事情,處理監(jiān)視的事情,當(dāng)然也可以監(jiān)視多個(gè)事情,形象的比喻,中斷功能使單片機(jī)具有吃著碗里的,看著鍋里的功能。
以上三步學(xué)會(huì),就相當(dāng)于降龍十八掌武功,會(huì)了三掌了,可以勉強(qiáng)護(hù)身。
第四步:與PC機(jī)進(jìn)行RS232通信
單片機(jī)都有USART接口,特別是MSP430系列中很多型號(hào),都具有兩個(gè)USART接口。USART接口不能直接與PC機(jī)的RS232接口連接,它們之間的邏輯電平不同,需要使用一個(gè)MAX3232芯片進(jìn)行電平轉(zhuǎn)換。
USART接口的使用是非常重要的,通過該接口,可以使單片機(jī)與PC機(jī)之間交換信息,雖然RS232通信并不先進(jìn),但是對(duì)于接口的學(xué)習(xí)是非常重要的。正確使用USART接口,需要學(xué)習(xí)通信協(xié)議,PC機(jī)的RS232接口編程等等知識(shí)。試想,單片機(jī)實(shí)驗(yàn)板上的數(shù)據(jù)顯示在PC機(jī)監(jiān)視器上,而PC機(jī)的鍵盤信號(hào)可以在單片機(jī)實(shí)驗(yàn)板上得到顯示,將是多么有意思的事情?。?/p>
第五步:學(xué)會(huì)A/D轉(zhuǎn)換
MAP430單片機(jī)帶有多通道12位A/D轉(zhuǎn)換器,通過這些A/D轉(zhuǎn)換器可以使單片機(jī)操作模擬量,顯示和檢測(cè)電壓、電流等信號(hào)。學(xué)習(xí)時(shí)注意模擬地與數(shù)字地、參考電壓、采樣時(shí)間,轉(zhuǎn)換速率,轉(zhuǎn)換誤差等概念。
使用A/D轉(zhuǎn)換功能的簡(jiǎn)單的例子是設(shè)計(jì)一個(gè)電壓表。
第六步:學(xué)會(huì)PCI、I2C接口和液晶顯示器接口
這些接口的使用可以使單片機(jī)更容易連接外部設(shè)備,在擴(kuò)展單片機(jī)功能方面非常重要。
第七步:學(xué)會(huì)比較、捕捉、PWM功能
這些功能可以使單片機(jī)能夠控制電機(jī),檢測(cè)轉(zhuǎn)速信號(hào),實(shí)現(xiàn)電機(jī)調(diào)速器等控制起功能。
如果以上七步都學(xué)會(huì),就可以設(shè)計(jì)一般的應(yīng)用系統(tǒng),相當(dāng)于學(xué)會(huì)十招降龍十八掌,可以出手攻擊了。
第八步:學(xué)習(xí)USB接口、TCP/IP接口、各種工業(yè)總線的硬件與軟件設(shè)計(jì)
學(xué)習(xí)USB接口、TCP/IP接口、各種工業(yè)總線的硬件與軟件設(shè)計(jì)是非常重要的,因?yàn)檫@是當(dāng)前產(chǎn)品開發(fā)的發(fā)展方向。
1、C開發(fā)經(jīng)驗(yàn)
條件:linux(這都有吧)
方法:隨便,主要是掌握ansiC編程(不包括gtk,qt等圖形可視化開發(fā))
2、網(wǎng)絡(luò)、操作系統(tǒng)、體系結(jié)構(gòu)
條件:linux,各種書,算法、例程。
方法:通過C編程實(shí)現(xiàn)簡(jiǎn)單的網(wǎng)絡(luò)等知識(shí)的算法和過程。
3、嵌入式系統(tǒng)概念
條件:各個(gè)嵌入式網(wǎng)站,討論組,書籍
方法:少提問(尤其是等著天上掉餡餅,這主要是防止增長惰性,也解決不了實(shí)際問題),多思考。
4、嵌入式開發(fā)實(shí)踐
條件:各種嵌入式系統(tǒng)開發(fā)工具的demo版(或者D版,如果有的話),包括編譯器,仿真器??梢哉腋呤謧円部梢韵螺d。
方法:這里有兩個(gè)分支,一個(gè)是基于mcu/dsp的嵌入式系統(tǒng)開發(fā),一個(gè)是象palmos,wince,ucos等rtos下的應(yīng)用軟件開發(fā)。對(duì)硬件感興趣,想成為真正高手的由第一個(gè)分支入手,以后進(jìn)入第二個(gè)分支;如果十分厭煩硬件,只想停留在軟件開發(fā)上的,可以只由第二個(gè)分支入手,以后就和pc上的開發(fā)沒有什么本質(zhì)上的區(qū)別了,找份不錯(cuò)的工作應(yīng)該沒問題,可以不用進(jìn)行下面的步驟了,感興趣可以參考第6條。
5、硬件開發(fā)
條件:各種嵌入式芯片、存儲(chǔ)器等電路器件,protel99等電路設(shè)計(jì)軟件,電路板制作。
方法:這時(shí)候該有開發(fā)條件了,最起碼是51系列,這個(gè)比較方便。電路的設(shè)計(jì)內(nèi)容較多,不過看起來嚇人,實(shí)際上比軟件要簡(jiǎn)單的多。只要下功夫,實(shí)踐會(huì)告訴你一切。
6、硬件工程/軟件工程/項(xiàng)目管理
條件:各個(gè)芯片詳細(xì)資料和使用經(jīng)驗(yàn),軟件工程知識(shí),項(xiàng)目管理知識(shí),培訓(xùn),大型項(xiàng)目參與經(jīng)驗(yàn)
方法:已經(jīng)是高手了,但是學(xué)無止境,沾沾自喜于已有的知識(shí)是致命的。那個(gè)下一步。。。,你該是管理者了。
補(bǔ)充幾點(diǎn).
要想成為高手中的高手,最好從鉆研如下領(lǐng)域修煉:
1,分析一種RTOS的源代碼--UCOS最容易;
2,分析一種通訊協(xié)議棧的實(shí)現(xiàn)方式--TCP/IP最實(shí)用;
3,精通一種DSP的開發(fā)集成環(huán)境--TI CCS2.1最優(yōu)秀,精華在其內(nèi)帶的RTOS;
4,精通一種單片機(jī)的開發(fā)集成環(huán)境--keil C最經(jīng)典;
5,精通一種MCU的開發(fā)集成環(huán)境--ADS 1.2最流行;
要想成為大師級(jí)人物再從如下領(lǐng)域開始修煉:
1,精通一種系統(tǒng)建模語言和工具--Telelogic tau SDL/UML suit最經(jīng)典;
2,精通一種算法仿真工具--Matlab simulink 最便宜;
要想檢驗(yàn)一下自己是否到達(dá)了至尊級(jí)人物,可以做如下的事:
動(dòng)手搭建一套紅外或者藍(lán)牙通訊原型系統(tǒng),模擬前端可以用現(xiàn)成的,基帶用DSP,主控用個(gè)32BMCU,DSP和協(xié)議軟件自己寫。當(dāng)然不可能做全,做個(gè)子集就可以了
C語言編程方法
[ 2006-9-15 11:22:20 | Author: bug ]
1、選擇合適的算法和數(shù)據(jù)結(jié)構(gòu)
應(yīng)該熟悉算法語言,知道各種算法的優(yōu)缺點(diǎn),具體資料請(qǐng)參見相應(yīng)的參考資料,有很多計(jì)算機(jī)書籍上都有介紹。將比較慢的順序查找法用較快的二分查找或亂序查找法代替,插入排序或冒泡排序法用快速排序、合并排序或根排序代替,都可以大大提高程序執(zhí)行的效率。.選擇一種合適的數(shù)據(jù)結(jié)構(gòu)也很重要,比如你在一堆隨機(jī)存放的數(shù)中使用了大量的插入和刪除指令,那使用鏈表要快得多。數(shù)組與指針語句具有十分密切的關(guān)系,一般來說,指針比較靈活簡(jiǎn)潔,而數(shù)組則比較直觀,容易理解。對(duì)于大部分的編譯器,使用指針比使用數(shù)組生成的代碼更短,執(zhí)行效率更高。但是在Keil中則相反,使用數(shù)組比使用的指針生成的代碼更短。
2、使用盡量小的數(shù)據(jù)類型
能夠使用字符型(char)定義的變量,就不要使用整型(int)變量來定義;能夠使用整型變量定義的變量就不要用長整型(long int),能不使用浮點(diǎn)型(float)變量就不要使用浮點(diǎn)型變量。當(dāng)然,在定義變量后不要超過變量的作用范圍,如果超過變量的范圍賦值,C編譯器并不報(bào)錯(cuò),但程序運(yùn)行結(jié)果卻錯(cuò)了,而且這樣的錯(cuò)誤很難發(fā)現(xiàn)。在ICCAVR中,可以在Options中設(shè)定使用printf參數(shù),盡量使用基本型參數(shù)(%c、%d、%x、%X、%u和%s格式說明符),少用長整型參數(shù)(%ld、%lu、%lx和%lX格式說明符),至于浮點(diǎn)型的參數(shù)(%f)則盡量不要使用,其它C編譯器也一樣。在其它條件不變的情況下,使用%f參數(shù),會(huì)使生成的代碼的數(shù)量增加很多,執(zhí)行速度降低。
3、使用自加、自減指令
通常使用自加、自減指令和復(fù)合賦值表達(dá)式(如a-=1及a+=1等)都能夠生成高質(zhì)量的程序代碼,編譯器通常都能夠生成inc和dec之類的指令,而使用a=a+1或a=a-1之類的指令,有很多C編譯器都會(huì)生成二到三個(gè)字節(jié)的指令。在AVR單片適用的ICCAVR、GCCAVR、IAR等C編譯器以上幾種書寫方式生成的代碼是一樣的,也能夠生成高質(zhì)量的inc和dec之類的的代碼。
4、減少運(yùn)算的強(qiáng)度
可以使用運(yùn)算量小但功能相同的表達(dá)式替換原來復(fù)雜的的表達(dá)式。如下:
(1)、求余運(yùn)算。
a=a%8;
可以改為:
a=a&7;
說明:位操作只需一個(gè)指令周期即可完成,而大部分的C編譯器的“%”運(yùn)算均是調(diào)用子程序來完成,代碼長、執(zhí)行速度慢。通常,只要求是求2n方的余數(shù),均可使用位操作的方法來代替。
(2)、平方運(yùn)算
a=pow(a,2.0);
可以改為:
a=a*a;
說明:在有內(nèi)置硬件乘法器的單片機(jī)中(如51系列),乘法運(yùn)算比求平方運(yùn)算快得多,因?yàn)楦↑c(diǎn)數(shù)的求平方是通過調(diào)用子程序來實(shí)現(xiàn)的,在自帶硬件乘法器的AVR單片機(jī)中,如ATMega163中,乘法運(yùn)算只需2個(gè)時(shí)鐘周期就可以完成。既使是在沒有內(nèi)置硬件乘法器的AVR單片機(jī)中,乘法運(yùn)算的子程序比平方運(yùn)算的子程序代碼短,執(zhí)行速度快。
如果是求3次方,如:
a=pow(a,3.0);
更改為:
a=a*a*a;
則效率的改善更明顯。
(3)、用移位實(shí)現(xiàn)乘除法運(yùn)算
a=a*4;
b=b/4;
可以改為:
a=a<<2;
b=b>>2;
說明:通常如果需要乘以或除以2n,都可以用移位的方法代替。在ICCAVR中,如果乘以2n,都可以生成左移的代碼,而乘以其它的整數(shù)或除以任何數(shù),均調(diào)用乘除法子程序。用移位的方法得到代碼比調(diào)用乘除法子程序生成的代碼效率高。實(shí)際上,只要是乘以或除以一個(gè)整數(shù),均可以用移位的方法得到結(jié)果,如:
a=a*9
可以改為:
a=(a<<3)+a
5、循環(huán)
(1)、循環(huán)語
對(duì)于一些不需要循環(huán)變量參加運(yùn)算的任務(wù)可以把它們放到循環(huán)外面,這里的任務(wù)包括表達(dá)式、函數(shù)的調(diào)用、指針運(yùn)算、數(shù)組訪問等,應(yīng)該將沒有必要執(zhí)行多次的操作全部集合在一起,放到一個(gè)init的初始化程序中進(jìn)行。
(2)、延時(shí)函數(shù):
通常使用的延時(shí)函數(shù)均采用自加的形式:
void delay (void)
{
unsigned int i;
for (i=0;i<1000;i++)
;
}
將其改為自減延時(shí)函數(shù):
void delay (void)
{
unsigned int i;
for (i=1000;i>0;i--)
;
}
兩個(gè)函數(shù)的延時(shí)效果相似,但幾乎所有的C編譯對(duì)后一種函數(shù)生成的代碼均比前一種代碼少1~3個(gè)字節(jié),因?yàn)閹缀跛械腗CU均有為0轉(zhuǎn)移的指令,采用后一種方式能夠生成這類指令。在使用while循環(huán)時(shí)也一樣,使用自減指令控制循環(huán)會(huì)比使用自加指令控制循環(huán)生成的代碼更少1~3個(gè)字母。但是在循環(huán)中有通過循環(huán)變量“i”讀寫數(shù)組的指令時(shí),使用預(yù)減循環(huán)時(shí)有可能使數(shù)組超界,要引起注意。
(3)while循環(huán)和do…while循環(huán)
用while循環(huán)時(shí)有以下兩種循環(huán)形式:
unsigned int i;
i=0;
while (i<1000)
{
i++;
//用戶程序
}
或:
unsigned int i;
i=1000;
do
i--;
//用戶程序
while (i>0);
在這兩種循環(huán)中,使用do…while循環(huán)編譯后生成的代碼的長度短于while循環(huán)。
6、查表
在程序中一般不進(jìn)行非常復(fù)雜的運(yùn)算,如浮點(diǎn)數(shù)的乘除及開方等,以及一些復(fù)雜的數(shù)學(xué)模型的插補(bǔ)運(yùn)算,對(duì)這些即消耗時(shí)間又消費(fèi)資源的運(yùn)算,應(yīng)盡量使用查表的方式,并且將數(shù)據(jù)表置于程序存儲(chǔ)區(qū)。如果直接生成所需的表比較困難,也盡量在啟了,減少了程序執(zhí)行過程中重復(fù)計(jì)算的工作量。
7、其它
比如使用在線匯編及將字符串和一些常量保存在程序存儲(chǔ)器中,均有利于優(yōu)化
一般我們現(xiàn)在用的比較多的是MCS-51的單片機(jī),它的資料比較多,用的人也很多,市場(chǎng)也很大。就我個(gè)人的體會(huì)怎么樣才能更快的學(xué)會(huì)單片機(jī)這門課。單片機(jī)這門課是一項(xiàng)非常重視動(dòng)手實(shí)踐的科目,不能總是看書,但是學(xué)習(xí)它首先必須得看書,因?yàn)閺臅心阈枰蟾帕私庖幌?,單片機(jī)的各個(gè)功能寄存器,而說明白點(diǎn),我們使用單片機(jī)就是用軟件去控制單片機(jī)的各個(gè)功能寄存器,再說明白點(diǎn),就是控制單片機(jī)那些管腳的電平什么時(shí)候輸出高,什么時(shí)候輸出低。由這些高低電平的變化來控制你的系統(tǒng)板,實(shí)現(xiàn)我們需要的各個(gè)功能。至于看書,只需大概了解單片機(jī)各管腳都是干什么的?能實(shí)現(xiàn)什么樣的功能?第一次,第二次你可能看不明白,但這不要緊,因?yàn)檫€缺少實(shí)際的感觀認(rèn)識(shí)。所以我總是說,學(xué)單片機(jī)看書看兩三天的就夠了,看小說你一天能看五六本,看單片機(jī)你兩三天看兩三遍就夠了,可以不用仔細(xì)的看。大概了解一下書上的內(nèi)容,然后實(shí)踐,這是非常關(guān)鍵的,如果說學(xué)單片機(jī)你不實(shí)踐那是不可能學(xué)會(huì)的,關(guān)于實(shí)踐有兩種方法你可以選擇,一種方法:你自己花錢買一塊單片機(jī)的學(xué)習(xí)板,不要求功能太全的,對(duì)于初學(xué)者來說你買功能非常多的那種板子,上面有很多東西你這輩子都用不著,我建議有流水燈、數(shù)碼管、獨(dú)立鍵盤、矩陣鍵盤、AD或DA(原理一樣)、液晶、蜂鳴器,這就差不多了。如果上面我提到的這些,你能熟練應(yīng)用,那可以說對(duì)于單片機(jī)方面的硬件你已經(jīng)入門了,剩下的就是自己練習(xí)設(shè)計(jì)電路,不斷的積累經(jīng)驗(yàn)。只要過了第一關(guān),后面的路就好走多了,萬事開頭難,大家可能都聽過。方法二:你身邊如果有單片機(jī)方面的高手,向他求助,讓他幫你搭個(gè)簡(jiǎn)單的最小系統(tǒng)板。對(duì)于高手來說,做個(gè)單片機(jī)的最小系統(tǒng)板只需要一分鐘的時(shí)間,而對(duì)于初學(xué)者可就難多了,因?yàn)橹挥袑?duì)硬件了解了,才能熟練運(yùn)用。而如果你身邊沒有這樣的高手,又找不到可以幫助你的人,那我勸你最好是自己買上一塊,畢竟自己有一塊要方便的多,以后做單片機(jī)類的小實(shí)驗(yàn)時(shí)都能用得上,還省事。
有了單片機(jī)學(xué)習(xí)板之后你就要多練習(xí),最好是自己有臺(tái)電腦,一天少看電影,少打游戲,把學(xué)習(xí)板和電腦連好,打開調(diào)試軟件坐在電腦前,先學(xué)會(huì)怎么用調(diào)試軟件,然后從最簡(jiǎn)單的流水燈實(shí)驗(yàn)做起,等你能讓那八個(gè)流水燈按照你的意愿隨意流動(dòng)時(shí)你已經(jīng)入門了,你會(huì)發(fā)現(xiàn)單片機(jī)是多么迷人的東西啊,太好玩了,這不是在學(xué)習(xí)知識(shí),而是在玩,當(dāng)你編寫的程序按你的意愿實(shí)現(xiàn)時(shí)你比做什么事都開心,你會(huì)上癮的,真的。做電子類的人真的會(huì)上癮。然后讓數(shù)碼管亮起來,這兩項(xiàng)會(huì)了后,你已經(jīng)不能自拔了,你已經(jīng)開始考慮你這輩子要走哪一行了。就是要這樣練習(xí),在寫程序的時(shí)候你肯定會(huì)遇到很多問題,而這時(shí)你再去翻書找,或是問別人,當(dāng)?shù)玫浇獯鸷竽銜?huì)記住一輩子的,知識(shí)必須用于現(xiàn)實(shí)生活中,解決實(shí)際問題,這樣才能發(fā)揮它的作用,你自己好好想想,上了這么多年大學(xué),天天上課,你在課堂上學(xué)到了什么?是不是為了期末考試而忙碌呢?考完得了90分,哈哈哈好高興啊,下學(xué)期開學(xué)回來忘的一干二凈,是不是?你學(xué)到什么了?但是我告訴你單片機(jī)一旦學(xué)會(huì),永遠(yuǎn)不會(huì)忘了。另外我再說說用匯編和C語言編程的問題。很多同學(xué)大一二就開設(shè)了C語言的課,我也上過,我知道那時(shí)天天就是幾乘幾,幾加幾啊,求個(gè)階乘啊。學(xué)完了有什么用?讓你用C語言編單片機(jī)的程序你是不是就傻了?書上的東西我們必須要會(huì)運(yùn)用。單片機(jī)編程用C語言或匯編語言都可以,但是我建議用C語言比較好,如果原來有C語言的基礎(chǔ)那學(xué)起來會(huì)更好,如果沒有,也可以邊學(xué)單片機(jī)邊學(xué)C語言,C語言也挺簡(jiǎn)單,只是一門工具而已,我勸你最好學(xué)會(huì),將來肯定用得著,要不你以后也得學(xué),你一點(diǎn)匯編都不會(huì)根本無所謂,但你一點(diǎn)C語言都不會(huì)那你將來會(huì)吃苦頭。匯編寫程序代碼效率高,但相對(duì)難度較大,而且很羅嗦,尤其是遇到算法方面的問題時(shí),根本是麻煩的不得了,現(xiàn)在單片機(jī)的主頻在不斷的提高,我們完全不需要那么高效率的代碼,因?yàn)橛懈哳l率的時(shí)鐘,單片機(jī)的ROM也在不斷的提高,足夠裝得下你用C語言寫的任何代碼,C語言的資料又多又好找,將來可移植性非常好,只需要變一個(gè)IO口寫個(gè)溫度傳感器的程序在哪里都能用,所以我勸大家用C語言。
總結(jié)上面,只要你有信心,做事能堅(jiān)持到底,有不成功不放棄的強(qiáng)烈意志,那學(xué)個(gè)單片機(jī)來說就是件非常容易的事。
學(xué)習(xí)并不是一件容易的事,有時(shí)要經(jīng)過不斷地琢磨、探討、鉆研,才能弄懂一個(gè)問題。這就要靠堅(jiān)持不懈的決心。有疑難時(shí),可以將問題擱置一下,但決不能碰到困難就放棄不干。失敗乃成功之母。在失敗中也有重要的經(jīng)驗(yàn)可汲取。成功貴在堅(jiān)持。貴在堅(jiān)持不懈的信心和毅力,要有屢敗屢戰(zhàn)的韌性。
有人說:“所謂英雄,并不比普通人更有運(yùn)氣,只是比普通人更具有延續(xù)最后5分鐘的勇氣”。這句話說得很有道理,也就是堅(jiān)持到最后才能看見勝利。
現(xiàn)在,社會(huì)進(jìn)步了,知識(shí)普及了,學(xué)習(xí)電子技術(shù)就更加有條件了。有一位學(xué)習(xí)電子技術(shù)的技校學(xué)生,剛到企業(yè)時(shí)對(duì)電子電路很感興趣,學(xué)習(xí)進(jìn)步也較快,后來,漸漸地興趣索然了。為什么呢?用他的話說:看見這一大塊線路板就頭暈。這就是在工作中遭遇困唯時(shí),產(chǎn)生畏難情緒了。不進(jìn)則退,這是學(xué)習(xí)的大忌。而另一位大專生,喜歡搶著參加電路裝配和電路實(shí)驗(yàn),對(duì)一些實(shí)驗(yàn)的電路,他主動(dòng)幫著焊接、測(cè)試數(shù)據(jù),并對(duì)于不了解的電路原理,能夠勤問、勤學(xué)習(xí)。因此,他進(jìn)步很快,不到兩年,就掌握了許多自動(dòng)控制方面的技術(shù)。
我認(rèn)為學(xué)習(xí)電子制作要注意幾點(diǎn):
1.根據(jù)實(shí)際情況扎實(shí)地學(xué)習(xí)好電子電路的基礎(chǔ)知識(shí)。比如:模擬電路方面的運(yùn)放電路使用知識(shí);常用電路基礎(chǔ)知識(shí)(如三極管的常用電路知識(shí)等);常用模擬電路的使用知識(shí)(如555時(shí)基電路);數(shù)字電路方面的ttl電路使用常識(shí);coms電路使用常識(shí)等。這些電路并不能在幾個(gè)月內(nèi)就會(huì)很好地掌握,而是需要掌握先用先學(xué),急用先學(xué),常用先學(xué)的原則。并要堅(jiān)持系統(tǒng)地學(xué)習(xí)。
2.要勤動(dòng)手。要對(duì)感興趣的電路進(jìn)行實(shí)驗(yàn)制作。學(xué)習(xí)電子電路的特點(diǎn)是:只有動(dòng)手制作才能真正學(xué)會(huì)電子技術(shù)。如果單純理論學(xué)習(xí),不動(dòng)手實(shí)踐,就是學(xué)習(xí)一輩子也只能“紙上談兵”,不會(huì)得到真才實(shí)學(xué)。因?yàn)?,只有在?shí)踐制作中才會(huì)碰到各式各樣的問題,而解決問題的能力,便是電子技術(shù)的精髓所在。一張?jiān)O(shè)計(jì)得再好的線路圖,如果沒有進(jìn)行實(shí)際制作和實(shí)驗(yàn),就無法知道電路的性能優(yōu)劣。因此,勤學(xué)苦練是學(xué)習(xí)電子制作的至關(guān)重要。
3.要注意學(xué)習(xí)的方法和實(shí)踐的難易程度。學(xué)習(xí)應(yīng)該先易后難,步步深入,不能妄想一口吃成個(gè)大胖子。要多讀電子書刊。肯于為購買圖書投點(diǎn)資。另外,要盡量擴(kuò)展知識(shí)面,以獲舉一反三的借鑒之功。實(shí)踐時(shí)要根據(jù)自己的條件來決定,不要做自己根本不能完成的事情。只有力所能及才能不至于影響到自己進(jìn)一步學(xué)習(xí)的興趣。其實(shí),再復(fù)雜的電路也是由一個(gè)個(gè)小電路組成的。我們只要掌握了常用電路的特性,就能靈活地組成各種復(fù)雜的電路。
4.要培養(yǎng)自己的濃烈興趣愛好習(xí)慣。興趣愛好是學(xué)習(xí)電子技術(shù)的動(dòng)力。有興趣愛好的人學(xué)習(xí)電子技術(shù)再累也不會(huì)覺得累。他會(huì)自覺自愿地放棄休息而廢寢忘食地進(jìn)行學(xué)習(xí)和實(shí)驗(yàn)。電子制作對(duì)于愛好者來說是一種“娛樂”,是一種“享受”。
5.當(dāng)掌握了一定的電子技術(shù)后,就要努力制作一些對(duì)社會(huì),對(duì)單位有貢獻(xiàn)的電子產(chǎn)品,那怕是改進(jìn)同類產(chǎn)品也好。開發(fā)產(chǎn)品之余,應(yīng)主動(dòng)去解決一些生產(chǎn)現(xiàn)場(chǎng)的實(shí)際問題,以獲得更好學(xué)習(xí)的支持,為自己的進(jìn)一步學(xué)習(xí)和鍛煉打下基礎(chǔ)。我曾接觸過許多剛踏上工作崗位的中專生、大學(xué)生,高中生等。一些學(xué)習(xí)過電子電路、自動(dòng)化控制的大學(xué)生,滿懷信心地走上工作崗位,想用自己的知識(shí)為企業(yè)大干一場(chǎng)??墒牵叩狡髽I(yè)看到一大堆電子線路板就懵了。這些復(fù)雜的電子電路,在書本上沒有講過,有許多元件不認(rèn)識(shí)。這是由于我們的教育脫離實(shí)踐的一方面表現(xiàn)。教材往往比企業(yè)的實(shí)用電子技術(shù)要晚上幾年。因此,即使是學(xué)電子的大學(xué)生,走上工作崗位后,還是要堅(jiān)持不懈地進(jìn)行學(xué)習(xí),才能掌握好實(shí)用的電子技術(shù)。如果在讀書時(shí)就熱愛電子制作,實(shí)際接觸電子制作,這對(duì)將來走上工作崗位后的開展工作會(huì)有很大的幫助。這些道理要等到走上工作崗位后才能明白。學(xué)習(xí)電子制作,文化程度不一定是根本條件,即便是初中以上的文化程度,也能夠掌握一定的電子制作技術(shù)。關(guān)鍵是你對(duì)電子制作技術(shù)興趣的濃烈程度如何。實(shí)踐證明,有濃烈興趣的電子愛好者,經(jīng)過十幾年的刻苦勤勞的學(xué)習(xí),其掌握電子技術(shù)的水平會(huì)大大提高,總是會(huì)引人注目地成為電子技術(shù)上的能手。真正喜愛電子制作的愛好者,大多有堅(jiān)持不懈的精神。電子技術(shù)就是在不斷的學(xué)習(xí)和實(shí)驗(yàn)中得到了提高。學(xué)習(xí)電子技術(shù)并不是短期行為,而是要持之以恒,矢志不渝地學(xué)習(xí)一生的技術(shù)。電子技術(shù)不斷推陳出新的趨勢(shì),就是我們電子愛好者不斷學(xué)習(xí)新技術(shù)的動(dòng)力。
本人做過技術(shù)開發(fā)工作多年,從焊電路板的小工程師逐漸做到項(xiàng)目經(jīng)理、研發(fā)經(jīng)理,現(xiàn)在做到總工程師,作為工程師有親身的感受,作為研發(fā)主管,對(duì)工程師的性格、心理和知識(shí)結(jié)構(gòu)有非常深入的了解,現(xiàn)在把自己的一點(diǎn)感悟與大家分享,希望大家批評(píng)指正,歡迎補(bǔ)充完善。
有強(qiáng)烈的好奇心。這是成為高手的必要條件,喜歡新生事物,對(duì)問題喜歡刨根問底,以鉆研為樂趣。那種得過且過,敷衍了事,僅僅把工作當(dāng)作飯碗的人連熟手都成不了,更何況高手。有好奇心的人,可以為解決一個(gè)問題通宵干,躺在床上也在尋思解決方案,這樣的人就是高手的胚子!
做事謹(jǐn)慎細(xì)致,考慮問題全面。技術(shù)工作來不得半點(diǎn)粗心馬虎,否則問題多多,后患無窮。甚至給生產(chǎn)、產(chǎn)品品質(zhì)造成重大影響,給公司造成重大經(jīng)濟(jì)損失。馬虎的人不可能成為優(yōu)秀的工程師,只可能當(dāng)當(dāng)助手,哪個(gè)上司敢把項(xiàng)目交給一個(gè)馬大哈?改,難吶,本性難移!趁早找個(gè)理由炒他魷魚!
模擬、數(shù)字,高頻、低頻,軟件、硬件,模具、結(jié)構(gòu),甚至文字功底也必不可少(撰寫產(chǎn)品使用手冊(cè)、工藝指導(dǎo)書等等也可看出一個(gè)人的專業(yè)水準(zhǔn))具備完善的知識(shí)體系。企業(yè)中的工程師不是研究學(xué)問,也沒指望成為科學(xué)家,是為企業(yè)的產(chǎn)品服務(wù)的。因此,全面的知識(shí)架構(gòu)對(duì)于迅速完成產(chǎn)品開發(fā)任務(wù)非常重要,復(fù)合型人才更為難得。既然是高手,當(dāng)然十八般兵器樣樣精通,否則,難以獨(dú)挑大梁,只能做配角。沒有全面的知識(shí),要上升到項(xiàng)目經(jīng)理、研發(fā)經(jīng)理層面是不可能的。企業(yè)中的工程師必須時(shí)刻關(guān)注成本、生產(chǎn)工藝、用戶需求、測(cè)試環(huán)境、采購渠道、配套廠家工藝水平等等許多方面,一點(diǎn)不慎后續(xù)問題就冒出來了。你的設(shè)計(jì)再好,工藝性差,車間生產(chǎn)裝配調(diào)試?yán)щy,導(dǎo)致生產(chǎn)成本急劇上升,或者配套廠家工藝水平達(dá)不到又有什么用?或者器件采購困難,經(jīng)常影響按期交貨也同樣對(duì)企業(yè)不利。時(shí)刻提醒自己,產(chǎn)品是賺錢的工具,自己才能的張揚(yáng)要服從這一大前提。這里要特別提醒那些學(xué)歷高,某方面技術(shù)精深,但對(duì)企業(yè)運(yùn)作、生產(chǎn)工藝、生產(chǎn)流程、物流管理、行銷模式、市場(chǎng)調(diào)查、用戶心理是“二把刀”的人,不要自恃一點(diǎn)dsp皮毛就以為可以天下無敵,謙虛地深入基層,熟悉一切,虛心學(xué)習(xí)其他方面的知識(shí),才有大為!
思路開闊,能從市場(chǎng)、用戶和生產(chǎn)工藝角度考慮產(chǎn)品開發(fā)。唯技術(shù)至上的人,思路狹隘,即使聰明過人,只能扮演一個(gè)處理具體問題的小角色。企業(yè)的唯一目標(biāo)是賺錢,能賺錢就是好產(chǎn)品,不能賺錢就等于零。這就能解釋為什么很多研究所、大學(xué)開發(fā)的產(chǎn)品填補(bǔ)了多少多少空白,但在產(chǎn)業(yè)化過程中卻總賺不到錢,最后落滿灰塵。企業(yè)的工程師,務(wù)必堅(jiān)持市場(chǎng)第一,用戶至上的開發(fā)思路,你的工作僅僅是開發(fā)出低成本的、工藝性好的、品質(zhì)穩(wěn)定的,最關(guān)鍵是滿足目標(biāo)用戶需求的產(chǎn)品,不能憑想象發(fā)揮,自以為是,要知道,用戶永遠(yuǎn)是對(duì)的,你不能讓他們服從你的思路,你每天窩在實(shí)驗(yàn)室,對(duì)市場(chǎng)又了解多少?,對(duì)消費(fèi)心理又知道多少,別自以為聰明,道聽途說幾句話就輕易下結(jié)論!
現(xiàn)實(shí)、靈活的開發(fā)思路是高手的重要特征。企業(yè)的產(chǎn)品開發(fā)是和市場(chǎng)緊密聯(lián)系在一起的,不是國家撥款的基礎(chǔ)理論研究。樹立市場(chǎng)化的研發(fā)策略是高手必備的素質(zhì)!不要指望你能搞出超英趕美的世界級(jí)產(chǎn)品,你現(xiàn)在的實(shí)驗(yàn)條件、項(xiàng)目管理水平、人員素質(zhì)、資金投入、信息交流等等和人家相比差了十萬八千里,你憑什么搞出世界級(jí)的東西?家電巨頭投下數(shù)億元開發(fā)手機(jī),高手云集,十余年了,手機(jī)的核心技術(shù)還是人家的。你做過的電路、編寫過的程序千萬人做過,你只不過東拼西湊地組合出了一個(gè)東西而已,必須要清醒地、謙虛地認(rèn)識(shí)到這一層面。因此,在開發(fā)過程中,不要一切都自己開發(fā)、研究,大膽地借鑒國外的東西,絕大多數(shù)產(chǎn)品人家早已經(jīng)普及,不妨照搬其中的功能模塊,再結(jié)合自己實(shí)際情況,去搞開發(fā)才是高明的做法。再者別人的產(chǎn)品經(jīng)過現(xiàn)場(chǎng)用戶的使用,許多隱患已經(jīng)消除,水平再高的人做的新產(chǎn)品也會(huì)從用戶哪里反饋回來一些缺陷,直接模仿別人的產(chǎn)品,即可消除許多缺陷點(diǎn)。同時(shí),可以大大縮短研發(fā)周期,減少研發(fā)費(fèi)用,搶先一步推向市場(chǎng),絕對(duì)是上策。當(dāng)然,受到專利保護(hù)的技術(shù)要注意,仔細(xì)看看相關(guān)法律,在法律允許范圍內(nèi)從事,體會(huì)一下總還是有辦法的!
這里要一再強(qiáng)調(diào),我所指的是“企業(yè)里受歡迎的高手!”不是科學(xué)院里的專家,不是陳景潤!這是截然不同的概念。企業(yè)里的高手,不僅僅要了解技術(shù)、工藝以及生產(chǎn)方面的知識(shí),團(tuán)隊(duì)意識(shí),管理才能,協(xié)調(diào)溝通能力,系統(tǒng)規(guī)劃能力,甚至語言表達(dá)能力都是很重要的,這些是高手的綜合素質(zhì)的體現(xiàn)。
特別對(duì)畢業(yè)2-4年的年輕工程師提個(gè)醒,要清楚認(rèn)識(shí)自己,知道自己的斤兩,不要以為做過2-3個(gè)項(xiàng)目就飄飄然,人家也是那樣過來的!其實(shí)還差得遠(yuǎn)!等到了二十七、八歲,你會(huì)逐漸明白的。學(xué)海無涯,除過極個(gè)別特殊天才人物,大家都是普通人,互有長短,謙虛謹(jǐn)慎,心態(tài)平和是成就大事的基礎(chǔ),總那么浮躁,狂妄,藐視他人,將導(dǎo)致團(tuán)隊(duì)合作困難,同事關(guān)系緊張,項(xiàng)目的進(jìn)展必然不順利,從而延長成為高手的時(shí)間,單純從技術(shù)來看,不過在某個(gè)狹小領(lǐng)域有小小心得而已,距離經(jīng)驗(yàn)豐富、技能全面的高手還有八年抗戰(zhàn)的歷程。一般來講,畢業(yè)5-6年,技術(shù)初步達(dá)到全面成熟(那些得過且過的人,二十年也成熟不了,現(xiàn)在幾十歲來應(yīng)聘的人也不少,水平還是馬馬乎乎),再逐漸吸收管理知識(shí)、市場(chǎng)知識(shí)等其他企業(yè)里所涉及的方面的技能,30歲左右基本圓滿已經(jīng)非常不簡(jiǎn)單了!時(shí)刻要有謙和的心態(tài),是在團(tuán)隊(duì)中脫穎而出的必須條件。
聯(lián)系客服