王侃
摘 要:單片機與簡單的接口電路相結合即可構成單片機最小系統(tǒng),這是單片機的基礎應用;在中職的單片機教學中,以單片機最小系統(tǒng)作為教學的切入點,通過在實訓臺做實驗,保證學生對單片機最小系統(tǒng)的學習。
關鍵詞:單片機;最小系統(tǒng);工作原理
單片機是相對枯燥的一門專業(yè)學科,特別是學生對單片機的理論知識的學習是相對匱乏的。筆者根據(jù)自身一線的單片機教學工作,發(fā)現(xiàn)學生在單片機學習中動手操作的能力欠缺,因此通過一系列實驗來激發(fā)學生的學習興趣。那么要實現(xiàn)這樣的效果,就要給學生介紹單片機的基本結構,再以單片機的最小系統(tǒng)為基礎核心,給學生設計有針對性的實驗進行教學,讓學生真正去理解單片機的原理。
一、單片機最小系統(tǒng)的基本組成及各部件功能
對于51系列單片機來說,必須具備幾個基本功能部件:中央處理器(CPU)、程序存儲器、數(shù)據(jù)存儲器、輸入/輸出就扣、定時/計數(shù)器、中斷系統(tǒng)等。單片機要正常工作,除了單片機本身以外,還必須要有:電源電路、復位電路、震蕩電路;如單片機最小工作系統(tǒng)圖所示。
通過對單片機內(nèi)部結構的認識,并將單片機與外部電源電路、時鐘振蕩電路以及復位電路相連接,就構成了單片機的最小工作系統(tǒng),其各電路功能如下:
1.電源電路
單片機芯片的第40引腳為電源正極引腳VCC,一般外接+5V電壓。20引腳為接地引腳GND。40號引腳、20號引腳合稱為電源引腳。
2.振蕩電路
單片機系統(tǒng)里都有晶振,在單片機系統(tǒng)里晶振作用很大,它結合單片機內(nèi)部的電路產(chǎn)生時鐘頻率,單片機晶振提供的時鐘頻率越高,單片機運行速度就越快,單片接的一切指令的執(zhí)行都是建立在單片機晶振提供的時鐘頻率上的。
單片機晶振的作用是為系統(tǒng)提供基本的時鐘信號。為使各部分功能保持同步,單片機通常采用一個系統(tǒng)共用一個晶振。晶振一般與鎖相環(huán)電路配合使用,以提供系統(tǒng)所需的時鐘頻率。如果不同子系統(tǒng)需要不同頻率的時鐘信號,可以用與同一個晶振相連的不同鎖相環(huán)來提供。51系列單片機使用11.0592MHz的晶體振蕩器作為振蕩源,由于單片機內(nèi)部帶有振蕩電路,所以外部只要連接一個晶振和兩個電容即可,電容容量一般在15pF至50pF之間。電容大小對振蕩頻率影響很小,可起頻率微調(diào)作用。
3.復位電路
單片機芯片的第9引腳RST是復位信號輸入端。在開機或工作中因干擾而使程序失控,或工作中程序處于某種死循環(huán)狀態(tài)等情況都需要復位。51系列單片機的復位靠外部電路實現(xiàn),信號從RST引腳輸入,高電平有效,只要能保持RST引腳高電平2個機器周期,單片機就能正常復位。
常見的復位電路有上電復位和按鍵復位兩種:上電復位:一般是在復位引腳RST上面連接一個電容到VCC,同時連接一個電阻到GND,以此來形成RC充放電回路,確保單片機上電的時間,RST引腳能夠有充足的時間保證高電平達到復位。按鍵復位:在復位電容上并聯(lián)一個開關,當開關按下時,電容被放電,RST隨之被拉到高電平,加上電容的充電,使得高電平得以被保持一段時間,達到單片機的復位。
二、單片機最小系統(tǒng)的外部電路連接
單片機的主要控制功能是通過I/O(輸入/輸出)口來實現(xiàn)的,而51系列單片機總共有4個8位的并行I/O端口,P0口:39引腳~32引腳對應P0.0~P0.7,統(tǒng)稱為P0口;P1口:1引腳~8引腳對應P1.0~P1.7,統(tǒng)稱為P1口,可作為準雙向I/O接口使用;P2口:21引腳~28引腳對應P2.0~P2.7,一般可作為準雙向I/O接口;P3口:10引腳~17引腳對應P3.0~P3.7,統(tǒng)稱為P3口。
根據(jù)單片機I/O口的功能特點和單片機最小系統(tǒng)來實現(xiàn)單片機控制8個發(fā)光二極管的循環(huán)閃爍實驗:采用P0口作為控制發(fā)光二極管的I/O口
1.匯編語言編寫源程序
ORG ?0000H ? ? ? ?;復位時程序從此開始
SJMP ?START ? ? ;跳到START進行初始化
ORG ?0030H ? ? ?;初始化程序從30H開始
START:MOV ?SP,#60H ? ?;給堆棧指針賦值
MOV ?P0,#0FFH ? ;讓P0口輸出高電平,即讓燈滅
;--------主程序--------
MAIN:MOV ?P0,#0FEH ?;將P0.0置0,其余引腳置1
CALL ?DELAY ? ? ;延時
MOV ?P0,#0FDH ? ;將P0.1置0,其余引腳置1
CALL ?DELAY ? ? ;延時
MOV ?P0,#0FBH ? ;將P0.2置0,其余引腳置1
CALL ?DELAY ? ? ;延時
MOV ?P0,#0F7H ? ;將P0.3置0,其余引腳置1
CALL ?DELAY ? ? ;延時
MOV ?P0,#0EFH ? ;將P0.4置0,其余引腳置1
CALL ?DELAY ? ? ;延時
MOV ?P0,#0DFH ? ;將P0.5置0,其余引腳置1
CALL ?DELAY ? ? ;延時
MOV ?P0,#0BFH ? ;將P0.6置0,其余引腳置1
CALL ?DELAY ? ? ;延時
MOV ?P0,#7FH ? ?;將P0.7置0,其余引腳置1
CALL ?DELAY ? ? ;延時
SJMP ?MAIN ? ? ;跳轉到MAIN處
;-------延時子程序------
DELAY:MOV ?R0,#250 ? ;給R0賦值250
D2:MOV ?R1,#250 ? ?;給R1賦值250
D1:DJNZ ?R1,D1 ? ? ;R1減1不等于0跳到D1處
DJNZ ?R0,D2 ? ? ;R0減1不等于0跳到D2處
RET ? ? ? ? ? ? ?;子程序結束返回
END ? ? ? ? ? ? ?;程序結束
2.保存和編譯,并調(diào)試運行程序
編譯好的匯編語言只有通過運行調(diào)試才能保證其使用的準確性,因此需要不斷調(diào)試匯編語言。
3.最終效果
單片機的P0口與外部的8個發(fā)光二極管用導線相連接,使用下載器下載至單片機芯片中并運行,達到8個發(fā)光二極管循環(huán)閃爍的效果
三、 結論
本文通過單片機最小系統(tǒng)的學習, 以單片機最小系統(tǒng)結合實驗進行教學設計,能夠使原本基礎較差的中職類學生更容易掌握單片機的工作原理,并提高學生對單片機學習的興趣,同時教師也顯著提高了單片機實驗課程的教學效果,且有利于學生對單片機后續(xù)知識的學習。
參考文獻:
[1]范紅剛,杜林娟.51單片機自學筆記(第2版)[M].北京:北京航空航天大學出版社,2014.
[2]李建忠.單片機原理及應用(第二版)[M].西安:西安電子科技大學出版社,2008.
[3]李全利,仲偉峰,徐 軍編著.單片機原理及應用[M].北京:清華大學出版社,2006.
(作者單位:河源理工學校)