摘 要:很多電子類專業的學生甚至到了畢業,仍然沒有掌握單片機,一方面單片機知識本身有一定的難度,另一方面教師對單片機的入門指導存在一定的不足之處。所以,下面從一個簡單的高中學習過的發光二極管閃爍電路開始,進一步詳細闡述引入單片機后實現同一功能的原理及過程。初學者有一點c語言基礎,就能快速入門單片機。
關鍵詞:零基礎;單片機;c語言;入門
一、概述
單片機是電子類專業的靈魂,重要性無論怎么強調都不過分。然而有一部分電子類畢業生一直到畢業,仍然沒有入門。我認為原因主要有三個:①對于單片機的重要性強調得不夠,沒有引起學生的高度注意;②單片機的入門有一個門檻,是一個質的飛躍;③已有的書籍講解比較復雜,鋪墊過多,理論過多,甚至有的書籍還使用匯編來講解,使得本來有一定難度的單片機學習變得更為復雜。以上原因使得有一部分學生過早地放棄了對它的努力,導致單片
機方面知識比較匱乏。
為了引導初學者入門,對單片機有一個直觀的概念,本文先復習一個高中學過的、簡單的發光二極管閃爍電路,然后使用單片機電路來實現同一功能,詳細講解全過程。只要有一點c語言基礎,相信通過本文,讀者可以達到單片機快速入門的目的。
二、單片機發光二極管閃爍電路
單片機是指一個集成在一塊芯片上的完整計算機系統。它相當于一個微型的計算機,主要功能就是對管腳進行高低電平的控制。如下圖所示:
由于這個c代碼比較短,為了完整地闡述原理,把全部代碼都列出來了。
第1行,包含單片機頭文件,定義了單片機的一系列(如大部分管腳的名稱)的宏定義。比如39號管腳就是P0口的最低位。
第2-7行是一個延時函數。
第8-17行是主函數,主函數只包含了一個無限循環10-16。
第12行給單片機的P0口賦值1,也就是給39號管腳高電平,發光二極管滅。
第13行延遲100 ms。
第14行給單片機的P0口賦值0,也就是給39號管腳低電平,發光二極管亮。
第15行延遲100 ms。然后再回到循環,一直持續下去。
2.燒錄二進制文件到單片機中
上一節的工作最后生成了led.hex文件,這些工作都是在pc機上完成的。這一節的工作就是把這個led.hex文件燒錄到單片機上面,也就是下載到單片機上。因為led.hex只有在單片機上面才能實現控制單片機的功能。如何下載二進制文件,對一般開發人員是很難的。但是單片機廠商在提供單片機的同時,提供了一個工具,只需要幾個簡單的步驟,就可以很方便地把程序下載到單片機上。這樣對于使用單片機的開發人員就可以集中精力去編寫c語言代碼來實現需要的功能。
三、結束語
本文使用單片機實現了一個簡單的閃爍發光二極管電路。對于具有一點c語言基礎的初學者,可以快速入門學習單片機。
參考文獻:
[1]韋東山.嵌入式Linux應用開發完全手冊[M].北京:人民郵電出版社,2008-08.
[2]杜春雷.ARM體系結構與編程[M].北京:清華大學出版社,2003.
[3]詹榮開.嵌入式系統BootLoader技術內幕.http://www.ibm.
com/developerworks/cn/linux/l-btloader/.
[4]徐海兵.GNU make中文手冊.
[5]Samsung electronics. S3C2440A USER’S MANUAL.
[6]GNU Make. Richard M. Stallman,Roland McGrath,Paul
D.Smith.
[7]Arthur Griffith. GCC: The Complete Reference. McGraw:Hill/Osborne.
[8]葛中海,尤新芳.Protel Dxp2004簡明教程與考證指南.北京:電子工業出版社,2010.
(作者單位 武漢市湖北經濟學院電子工程系)