大家好,我是無際單片機編程的徐工,
在網上看到這么一個話題,自己特別有感觸,不自覺的想寫一下自己的看法,
單片機編程,我們的教材是《單片機原理及應用》, 當時我們的很多同學都覺得單片是最難的,

單片機對于大學生而言, 是一個新的學科,不像語文,英語,代數,數電等,學了很多年,
而且單片機里面的很多理論知識又非常抽象,不知道如何理解,很多東西都是要靠死記硬背,
大學單片機教程里面主要針對的就是單片機的設計原理,單片機的暫存器介紹,GPIO的結構,定時器的作業原理,以及匯編指令集體等,
這些東西往往是最枯燥的,而且是很難記憶的,
很多同學在網路上搜索了一下,網上說單片機編程的學習很簡單,這讓大家大跌眼鏡,
為什么?接下來我從四點給大家簡單的決議一下,
1.大學學習和實際作業的目標不一樣
大學學習的目標是掌握單片機的原理和理論,同學們的目標是期末考試能考60分,這門課就算是過關了,
但單片機程式開發的實際作業不一樣,實際作業中主要針對的是單片機的應用和開發,是要求你在規定的時間內完成產品的開發,
老板要你3天完成產品開發,你絕對不能超過3天,因為老板要賺錢,要算利潤,
2.大學教材缺少實戰
大學的單片機學習,大家基本上都是圍繞著《單片機編程與應用》這本書學習,沒有配套的學習套件,開發板,專案實戰,
脫離了應用,理論就無法落地,也無法得到驗證,這加劇了單片機學習的難度,
當然,以上這些情況隨著大學辦學條件越來越好,單片機學習的開發環境都有所好轉,
很多大學都設立了“單片機電子大賽實驗室”,主要是針對“全國電子專業人才設計與技能大賽”的,在這里大家可以參與單片機開發的實戰,
3.大學學習的理論知識和實際的需求嚴重脫軌
我參加作業10多年了,一直從事單片機程式的開發作業,如果現在回到大學,拿他們的期末考試卷考試,我基本上可以確定自己是不及格,
一方面是因為自己參加作業太多年,都是基于單片機產品開發應用的,理論知識基本上全忘了,另一方面,大學教材的知識,在單片機開發實際作業中基本上用不到,
就像單片機的結構是馮諾依曼?還是哈佛結構?我們作業中需要了解嗎?不需要,
大學教材里單片機的編程語言,主要學習的是匯編,但實際作業中,用得是非常非常少的,
也就是說單片機大學的教材和實際的作業需求沒有完美的接軌,
4.單片機學習需要理論和實戰相結合
理論知識過于枯燥,不能理解原理,死記硬背是很痛苦的,而且又是最容易忘記的,
如果單片機的學習,理論可以和實戰有效結合的話,單片機學習就會變得非常容易上手,
而且理論和實戰相互結合,也可以幫助你更加有效的理解單片機的理論知識,
我在這里給大家舉個例子,說明一下單片機編程的實戰有多簡單,
例如:如果要完成點亮LED1,代碼見下:
#include “reg52.h” //單片機頭檔案
sbit LED1 = P2^7; //LED1對應的IO定義 P2.7腳
void main(void)
{
LED1 = 0; // P2.7 輸出低電平,LED1 亮
while(1); // 無線回圈等待
}
當然我們實際的代碼不會這么粗糙,

說到這里,大家感徑訓是有點迷茫,如果想找一個單片機編程相關的作業,單片機開發需要學習那些知識呢?
第一: 單片機編程C語言基礎
大學學習的匯編語言,在實際作業中基本上用不到,目前絕大數的單片機編程用的都是C語言,
市面上絕大多數C語言教程都是針對純軟體方向,開發環境和開發模式會有差別,
針對單片機的C語言編程入門視頻教程可以找無際單片機編程,學完可以無縫過度到單片機的開發,
第二:單片機的外設驅動
C語言學會之后,大家需要掌握單片機的外設驅動,例如GPIO的輸入輸出,外部中斷,定時器,ADC等,
以上兩個是單片機產品開發的基礎,有了這些基礎,大家就可以做一下單片機開發的簡單專案了,就可以開始實戰了,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/291364.html
標籤:其他
上一篇:我漂了~~
