從零制作單片機目前看來是幾乎不可能的,因為目前世界上能夠制作單片機的也至于有數的幾家而已,國內目前的單片機做的好的、真正是自己核心技術的也就51單片機了。 首先既然是玩單片機,那肯定是需要編程的,所以需要C語言的知識,其次玩電子那就需要點電路知識了,先來點基本的就夠了,后面再深入,能基本的看懂電路,照著圖連接就夠了,估計以前物理上學的電路就夠了,然后是開發環境,寫代碼的軟件和編譯工具,這些一邊玩一邊學就可以了。所以說,單從字面意思來說,這個問題很難回答。
如果這個問題是:從零學習單片機需要哪些知識?我們倒是可以來認真說一下。
其實現在學習單片機,我覺得可以按照這個思路,邊用邊學,而不是邊學邊用。先會簡單應用,在深入理解原理。這樣有個好處就是:用中學,學中用。尤其是對于已經工作的人來說,不可能有條件進行深入系統的學習。所以要邊用邊學。
一、先學會簡單的單片機
電路設計和程序設計這樣做的目的是先培養起來興趣,而不是先用枯燥的理論知識打消很多人的學習興趣和信心。先要知道怎樣能夠讓單片機按照自己的意愿去“干活”。
這個階段需要搞明白的有這幾點:怎樣寫單片機程序;怎樣設計單片機電路;這樣把寫好的程序“裝到”單片機里面。
就是電路了,因為電子元器件只有在設計好的電路中才能夠穩定工作。自然地,要想讓單片機能夠工作,那么就必須知道單片機小系統電路都包含哪些電路模塊,這些電路模塊都分別實現哪些功能。在這個基礎上,還要知道單片機的程序怎么寫,寫完以后通過什么手段把程序“裝到單片機”里面。這里面有輕重緩急、主要和次要的區別。但是終,所有這些都必須要有,才能構成完整的單片機系統。
在這個階段可以先模仿現成的單片機電路和程序。而不必去糾纏為什么要這樣寫程序,為什么要這樣設計電路等等問題。
二、再了解單片機的工作原理
例如我們先學會了編寫一個讓發光二極管點亮和熄滅的程序。程序寫好了,電路裝好了,程序下載到單片機里面,LED可以正常發光和熄滅。這時,我們再來進行分析,單片機程序中是通過哪些語句控制的LED的亮滅,這里面就會涉及到單片機I/O口的知識,以及端口控制寄存器的知識,甚至還會有單片機時鐘寄存器的配置等知識,這些就需要我們去查找相關資料,去了解他媽們的原理和控制流程。電路中也會有時鐘電路是怎樣設計的?工作原理是什么?復位電路是怎么實現的等等。
三、融會貫通
對于很多人來說,單片機入門是比較快的,當入門后,就可以設計一些復雜的電路,編寫一些復雜的程序,從而實現更多功能,這樣就很自然的學會了。