单片机技术本来就包括硬件技术和软件技术,两者密不可分,有时还可以互通(即有些功能可以以软代硬,当然有些也可以以硬代软件),什么样的电路对应什么样的程序,不懂电路,是没办法去做好单片机编程的。
对于初学者,其实也不见的学多么高深的电路知识,只要有些一般的电路基础就可以的,比如电容、电阻、二极管、三极管等就行,重点是多实践,因为单片机技术作为技术类课程实践性非常强,它不像基础课程的数理化,看看书会做题就可以。随着你实践的进步,自然会要求你提高自己的理论水平,硬件和软件技术也一定会随之提高,这是一个循序渐进的过程。
至于编程语言上,汇编和C也并不完全独立的,有些功能只能用汇编,所以C语言的单片机程序里你会经常看到汇编代码。如果是初学的话,我觉得先学汇编是毫无疑问的。因为汇编语言直接对硬件编程,有助于你对单片机软硬件的理解。
追问那数字电路和模拟电路也是必须学的? 对吗?
追答当然是的,到了一定程度,可能还要学除电路以外更多的东西!如你要了解一些传感器的知识,还有涉及到力学的、光学的等很多,不过有些只要知道就要以了。