要成為電子設計達人 先學會這些
這個技術宅的世界里面,極端的人有兩種,一種習慣將所有的事情全都交給單片機做,而另一種習慣將所有的事情都分解,然后全都交給分立元件來實現(xiàn)。你是哪一種?
肯定很多人都不會做到這么極端。這兩者一定是相輔相成的,但你覺得怎樣的規(guī)模的任務才合適交給獨立的分立元件來做呢?這就是一個要考慮實現(xiàn)難度和功能必要性的任務了。我們不妨考慮這樣的一個場景:如果你現(xiàn)在想要使用Arduino完成一個比較復雜的演示項目,要裝進去的內容有很多,你會為一個需要控制開關的閃爍燈安排一段子程序嗎?
顯然,這樣并不太合適。更別提為了控制閃爍燈還要打亂主程序的時序。因此把這部分沒什么意義的電路交給分立元件就是一個好主意。再停頓一下,為了這樣的目的,你會怎么設計電路?
實際上,答案已經(jīng)呼之欲出了,對于無線電愛好者來說,最常見的一個定時/震蕩電路就是555電路所組成的。你可以用555電路來搭出一個簡單的多諧振蕩器來控制閃爍燈的通斷,而用Arduino來控制555電路的啟停。這樣雖然不能節(jié)省IO口,但是在軟件編寫的壓力上會減輕很多。這就是某種意義上來說,軟硬件雙管齊下能夠帶給我們的好處。
同樣的道理,我們既然能夠用硬件來減少軟件的負擔,我們也同樣可以用軟件來減少硬件的開銷。最熟悉的例子當屬按鍵去抖了。在要求不高的情況下,軟件去抖非常方便,而去抖的寫法已經(jīng)成為了基本功的一部分。
最好的設計永遠是平衡了硬件和軟件的負擔的,好的設計可以加快開發(fā)的速度,減少錯誤發(fā)生的概率。而如果能平衡好一個項目的話,你的設計功力一定又有長進!