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