




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
單片機原理及座用
實髓指導(dǎo)書
淮陰工學(xué)院計算機工程學(xué)院編
2009年9月
目錄
目錄2
實驗一仿真環(huán)境使用3
實驗二數(shù)據(jù)區(qū)傳送、數(shù)據(jù)排序程序?qū)嶒?
實驗三鍵盤掃描顯示實驗13
實驗四脈沖計數(shù)(定時/計數(shù)器的記數(shù)功能實驗)20
實驗五A/D轉(zhuǎn)換實驗25
實驗六D/A0832轉(zhuǎn)換實驗29
實驗七步進電機控制實驗34
實驗八RAM擴展實驗41
實驗九力測量實驗45
實驗十溫度測量實驗50
實驗十一點陣LCD液晶顯示屏實驗54
實驗一仿真環(huán)境使用
一、實驗?zāi)康?/p>
1、熟悉仿真環(huán)境。
2、學(xué)習(xí)簡單程序調(diào)試的方法。
二、實驗內(nèi)容:
1、KEIL軟件的安裝
⑴將帶有KEIL安裝軟件的光盤放入光驅(qū)里,打開光驅(qū)中帶有KEIL安裝軟件的文件夾,
雙擊Setup文件夾中“Setup”即開始安裝。如果您的微機上己經(jīng)安裝了KEIL的軟件,會提
示您是否要先把您以前的軟件先卸載,此時您最好是先卸載掉,然后再安裝本軟件(如圖所
S0
⑵如果您需要把軟件安裝在C盤以外的其它盤,需要運行一個補丁文件,直接打開KEIL
軟件已安裝目錄中的\KEIL\UV2,雙擊“Crackdir”圖標(biāo),點擊確定即完成補丁的安裝(如
圖所示)。
⑶實驗中所用實驗例程在盤符\keil\uv2中,文件名為“3000TB51配套實驗程序”都是
工程文件,直接打開就可以進入調(diào)試界面;本書中所講軟件實驗在“51asm”文件夾中,都
以ASM的格式存放文件夾中。
2、硬件安裝
⑴連接51CPU板,在實驗箱右下角有三個插座:Jl、J2、J3,用來連接51CPU板,在
51CPU板上有一個小撥碼開關(guān):J18,是單片機的EA腳,是用來選擇讀片內(nèi)還是片外ROM
的,撥向左邊為讀片內(nèi)ROM;撥向右邊為讀片外ROM。
⑵KEIL仿真器與實驗箱的連接:將KEIL仿真器40芯的排線連到51CPU板的40芯插
座上,仿真器的USB連接線連到微機的USB口。
⑶八段數(shù)碼管右上角的兩個撥碼小開關(guān)是用來設(shè)置工作模式的,將兩個撥碼小開關(guān)同時
撥向右邊是選擇51單片機工作模式,此時應(yīng)撥向右邊。
3、KeilC軟件的操作說明
⑴新建一個項目文件。
首先點擊KeiluVision2,進入uVision2界面。點擊工具把Project選項中的NewProject,
準(zhǔn)備開始建立自己的項目。
輸入工程文件名稱,并選擇保存工程文件的目錄。
為項目文件選擇一個目標(biāo)器件(如ATMEL89c51),如圖所示。
flTftK
AHS*RSrBlViftXS)
?目特1crvI
r>Aua
設(shè)有ATWCSIr使用??■rnJHIOJS”代?MJ5I
芯策KS-51r
S5MSH>a>)誓*C)
B0S]-bu?4P?UlyS(*Uc2?*MOKSc?ntr?】kr32Vi_J
2T?wer*/Coxm.ter?.6Xat?rrx*(ts/2PnwityL?veli,VABT.
rhr??-L*v*lFra(rL*ek.4K>yt?iFl?d
128ByteiOirchtpM>
用鼠標(biāo)對項目工作區(qū)的目標(biāo)1,點擊右鍵在彈出的菜單中選擇“為目標(biāo)'目標(biāo)1'設(shè)置
選項”如下圖所示。
在“為目標(biāo)'目標(biāo)1'設(shè)置選項”中,點擊“調(diào)試”菜單,在此菜單中可選擇是使用硬
件仿真,還是軟件仿真,連接實驗箱做實驗時選擇硬件仿真,點擊硬件仿真選項后面的[設(shè)
置]選項,在此對對話框中選擇串口和波特率,串口根據(jù)所連電腦來決定。波特率為38400。
|M50KMMM9000?31&rj.ro?
gIfrolMtQtbugHaitiPatDher.lookMSMMowA.16lM
二000?,k=上|~~3MQl|a30國必:的
忡⑶叫向
Outp?t|Listtnc|CSt|AS!|BL51L?e*t?|US1liteXby||
PL??43St*pGotill??in'
UJ_J
Svtti?C(C*cMO*ti<
‘牛仿真£??(?*?*?1<?<S?a?t?a
P
11行c
|7Yotgoiii”AF?8w*?<?f-C?eh?
PlaawyDinlty
(P*fL:haPAIA
FC?ch?QDDE
?
刁
Progre
"Proj<
i
j
Innni■1HlMAZ?I^jT7~
點擊“文件/新建”創(chuàng)建源程序文件并輸入程序代碼。
在文本框中輸入原程序,如下圖所示
IJ39CICAPMJM吁
點擊“文件/保存“對程序進行保存
7reI
SotraGroupt
但存在(1)|
1^PtoiBCtNMCl.p^
■PntKttMMEl八K
文
口加5I存
?3
保系物①)3hl”(…
DDDCIi?IMAc-MAraw/
用鼠標(biāo)對項目工作區(qū)的目標(biāo)1,點擊右鍵在彈出的菜單中選擇添加文件到原代碼組,如
下圖所示
aau。fRI2MF@9OR*,;a
,coa<nXS13
?15Urget
Q)auMt?rortrr
OxelOO
Addt。'女xr<edx?「OxalOl
0xel02'
leroets,Groups,Fites...0xel02
RMTOV*Group'301*8GroupI'andM'*Plh<ON?IO3
JIucharcodetab(17J-(
IkiI
在彈出的添加文件框中,選擇需要添加到項目中的文件
&■3“值臺④tnJH
文忡8on[ixr
|CSo?rc?fil?(?c)
點擊編譯連接的圖標(biāo),對項目文件進行編譯
AnomntHMKt“ME程代'UfiE犬實餐實?十人zuMmo-j.nl
在調(diào)試界面中可以對程序進行單步或者全速運行的調(diào)試
若要查看內(nèi)存中的數(shù)據(jù),點擊“視圖/存儲器窗口”
-4Vision:31
I文件編輯(J)視圖(V)項目(P)調(diào)試6)閃存(a)外圍設(shè)備(r)工具(T)版本控制⑸)窗口鄰)幫助(X)
?O?)V狀態(tài)欄6)'好口M■z
3文件工具欄根)
SQ0創(chuàng)建工具欄(B)務(wù)/無曬11]的中++
頊目工作區(qū)?調(diào)試工具欄痣)
寄存器Q項目窗口(P)
|S-Rtgs國輸出窗口9)\3000TB51配套實差例程\1實驗一八段數(shù)碼管顯示實若\」
rO僉一八段數(shù)稿管士昆
林
值源文件瀏覽器G)g口
rl;
equ0e101h
懿
F演
口
r2,sX
:一儆皮匯編窗口iequ0e1O2h,H?)
00位
制
r3口
;
告
iequ0e102h口
謊
舞監(jiān)視和調(diào)用堆棧窗口記)人
1a口
,
equ0e103h,
r5示
:
顯,
^黑
r6
equ60h示
要代碼作用范圍窗口&)顯
…”r7equ70h
在此地址框中,輸入不同的指令查看內(nèi)部數(shù)據(jù)
如果需要查看一些內(nèi)部數(shù)據(jù),在菜單欄點擊[視圖/存儲窗口]。
C:0X地址顯示程序存儲區(qū)數(shù)據(jù)
X:0X地址顯示數(shù)據(jù)存儲區(qū)中數(shù)據(jù)
D:0X地址顯示CPU內(nèi)部存儲區(qū)中數(shù)據(jù)
地址:|d:0x80
oooooooo
D:0x80:FFooooooFF00
D:0x89:00oooooooo00
D:0x92:00ooFFoooo00
D:0x9B:00nnnnnnnn00
入內(nèi)存#3人內(nèi)存#4
~|L:1C:1HUMRf'K
如5-畫圖I||度M陶*國11:30
注意:仿真器使用者使用時應(yīng)注意:
KeilC仿真器用戶程序在全速運行時,如果需暫停運行,請按實驗儀鍵盤“RST”,此
時仿真器存儲器數(shù)據(jù)清零。如果您要再次運行您所編寫的程序,就必須重新裝載運行。
4、拆字程序:把8000H地址上的內(nèi)容拆開,高位送8001H地址的低位,低位送8002H
地址的低位,8001H、8002H地址的高位清零
;參考程序
ORG0000H
MOVDPTR,#8000H;指定的字節(jié)
MOVXA,@DPTR
MOVB,A;暫存
SWAPA;交換
ANLA,#0FH;屏敝高位
INCDPTR
MOVX@DPTR,A
INCDPTR
MOVA,B
ANLA,#0FH;指定字節(jié)的內(nèi)容屏敝高位
MOVX@DPTR,A
LOOP:SJMPLOOP
實驗二數(shù)據(jù)區(qū)傳送、數(shù)據(jù)排序程序?qū)嶒?/p>
一、實驗?zāi)康?/p>
1、學(xué)習(xí)Windows平臺下的編輯、編譯、排錯調(diào)試方法。
2、學(xué)習(xí)修改和觀察變量的方法;綜合使用單步、斷點調(diào)試的方法。
二、實驗內(nèi)容:
1、數(shù)據(jù)傳送
把內(nèi)部RAM中起始地址為DATA的數(shù)據(jù)傳送到內(nèi)部RAM以BUFFER為首地址的區(qū)域,直到
發(fā)現(xiàn)“$”字符的ASCII碼為止,數(shù)據(jù)串的最大長度為32個字節(jié)。
2、多字節(jié)BCD碼加法
3、編寫并調(diào)試一個排序子程序,其功能為用冒泡法將內(nèi)部RAM中幾個單字節(jié)無符號
正整數(shù),按從小到大的次序重新排列。
三、實驗器材:
計算機1臺
四、實驗步驟
1、參閱《硬件安裝》把綜合實驗儀、仿真器與PC機串行口連起來,打開電源。
2、在PC機上用鼠標(biāo)點擊“KEILuvision2”圖標(biāo),進入KEIL調(diào)試環(huán)境,選擇串行口,
點擊“確認(rèn)”。
3、打開“項目/新建項目”,輸入項目名,選擇目標(biāo)MCU,如:inte189c52。
4、編輯文件:用鼠標(biāo)點擊[文件I新文件],在文本編輯器中編輯程序:
5、文件保存:用鼠標(biāo)點擊[文件I保存],在對話框中輸入文件名。
6^為項目添加文件:單擊左邊的[項目工作區(qū)/源代碼組1]右鍵在出現(xiàn)菜單中選擇[添加
文件到組''源代碼組1”],在彈出的對話框中選中您剛保存的文件,點擊確認(rèn)完成項目文
件的添加。
7、為項目設(shè)置通訊口:單擊左邊的[項目工作區(qū)/目標(biāo)1]右鍵在出現(xiàn)的菜單中選擇[為目
標(biāo)“目標(biāo)1”設(shè)置選項],在彈出的菜單中選擇[調(diào)試]。在新窗口中選擇使用Keilmonitor-51
Driver。單擊設(shè)置在出現(xiàn)的窗口中設(shè)置串口和波特率(注:波特率必須為38400)。
8、文件編譯、連接、裝載:用鼠標(biāo)點擊[項目/重建所有目標(biāo)文件],系統(tǒng)自動進行編譯,
并出現(xiàn)信息窗口。若有語法錯誤,則需重新修正,需再次執(zhí)行重建所有目標(biāo)文件;若無語法
錯誤,點擊[調(diào)試/啟動/停止調(diào)試]后,進入調(diào)試狀態(tài)。
9、設(shè)置觀察窗口:用鼠標(biāo)點擊[視圖/存儲口窗口],在地址口輸入CPU內(nèi)部存貯區(qū)地址,
回車之后出現(xiàn)地址為50H的數(shù)據(jù)顯示于窗口中。
10、單步執(zhí)行程序:按F11鍵一條一條地執(zhí)行下去,注意觀察左邊寄存器區(qū)中相應(yīng)的寄
存器或者CPU內(nèi)部存貯區(qū)中相應(yīng)的數(shù)據(jù)寄存器單元的數(shù)據(jù)變化。
11、連續(xù)運行:用鼠標(biāo)點擊[外圍設(shè)備/復(fù)位CPU],使PC指向0000H,點擊[調(diào)試/運行]
后,程序開始連續(xù)運行。如需暫停,用鼠標(biāo)點擊[調(diào)試/停止運行]。
12、斷點運行:要使程序執(zhí)行到某條指令處暫停,如希望程序執(zhí)行到LOOP1處暫停,
可按如下操作:將光標(biāo)移到LOOP1處雙擊鼠標(biāo)左鍵,即可設(shè)置斷點,用鼠標(biāo)點擊[調(diào)試/運
行],程序?qū)⒃贚OOP行停止運行。
13、復(fù)位:用鼠標(biāo)點擊[外圍設(shè)備/復(fù)位CPU],強迫PC指向0000H。
圖1數(shù)據(jù)傳送子程序流程圖圖2數(shù)據(jù)排序程序流程圖
①數(shù)據(jù)傳送子程序
1、數(shù)據(jù)傳送
把內(nèi)部RAM中起始地址為DATA的數(shù)據(jù)傳送到內(nèi)部RAM以BUFFER為首地址的區(qū)域,直到
發(fā)現(xiàn)“$”字符的ASCII碼為止,數(shù)據(jù)串的最大長度為32個字節(jié)。
OrgIDOOOh
MOVRO,#DATA
MOVRI,#BUFFER
MOVR2,#20H
LOOP:MOVA,@R0
SUBBA,#24H
JZEXIT
INCRI
INCRO
MOV@R1,A
DJNZR2,LOOP
LOOP:AJMP$
ret
2、多字節(jié)BCD碼加法
入口條件:字節(jié)數(shù)在R7中,被加數(shù)在[R0]中,加數(shù)在[R1]中。
出口條件:和在[R0]中,最高位進位在CY中。
影響資源:PSW、A、P2堆棧需求:2字節(jié)
OrgOOOOh
BCDA:MOVA,R7
MOVR2,A
ADDA,RO
MOVRO,A
MOVA,R2
ADDA,RI
MOVRI,A
CLRC
BCD1:DECRO
DECRI
MOVA,?RO
ADDCA,@R1
DAA
MOV@R0,A
DJNZR2,BCD1
ret
3;用冒泡法進行數(shù)據(jù)排序
ORGOOOOH
MOVR3,#50H
LOOPO:MOVA,R3
MOVRO,A;指針?biāo)蚏O
MOVR7,#()AH;長度送R7
CLROOH;標(biāo)志位為0
MOVA,@R0
LOOP1:INCRO
MOVR2,A
CLRC
MOV22H,@R0
CJNEA,22H,LOOP2;相等嗎?
SETBC
LOOP2:MOVA,R2
JCLOOP3;小于或等于不交換
SETBOOH
XCHA,@R0
DECRO
XCHA,@R0
INCRO;大于交換位置
LOOP3:MOVA,@R0
DJNZR7,LOOP1
JBOOH,LOOPO;一次循環(huán)中有交換繼續(xù)
LOOP:SJMPLOOP;無交換退出
END
實驗三鍵盤掃描顯示實驗
一、實驗?zāi)康?
1、掌握鍵盤和顯示器的接口方法和編程方法。
2、掌握鍵盤掃描和LED八段數(shù)碼管顯示器的工作原理。
二、實驗要求:
在上一個實驗的基礎(chǔ)上,利用實驗儀提供的鍵盤掃描電路和顯示電路,做一個掃描鍵盤和
數(shù)碼顯示實驗,把按鍵輸入的鍵碼在六位數(shù)碼管上顯示出來。
實驗程序可分成三個模塊。
1、鍵輸入模塊:掃描鍵盤、讀取一次鍵盤并將鍵值存入鍵值緩沖單元。
2、顯示模塊:將顯示單元的內(nèi)容在顯示器上動態(tài)顯示。
3、主程序:調(diào)用鍵輸入模塊和顯示模塊。
三、實驗器材:
1、單片機綜合實驗儀1臺
2、KEIL仿真器1臺
3、計算機1臺
四、實驗電路:
這里只是鍵盤示意圖,詳細(xì)原理參見“8155鍵顯模塊”。
列碼
行碼(OelOlH)
(OelO3H)
圖3鍵盤示意圖
五、實驗說明:
本實驗儀提供了一個6X4的小鍵盤,向列掃描碼地址(OelOlH)逐列輸出低電平,然后從
行碼地址(OelO3H)讀回,如果有鍵按下,則相應(yīng)行的值應(yīng)為低,如果無鍵按下,由于上拉的作用,
行碼為高.這樣就可以通過輸出的列碼和讀取的行碼來判斷按下的是什么鍵。在判斷有鍵按
下后,要有一定的延時,防止鍵盤抖動。列掃描碼還可以分時用作LED的位選通信號。
六、實驗流程圖:
圖4實驗主程序框圖
圖5讀鍵輸入子程序框圖
顯示程序框圖見上個實驗
七、實驗程序:
;鍵盤掃描實驗
OUTBITequOelOlh;位控制口
CLK164equ0el02h;段控制口(接164時鐘位)
DAT164equOelO2h;段控制口(接164數(shù)據(jù)位)
INequOelO3h;鍵盤讀入口
ORGOOOOH
LJMPSTAR
?Has1
KEY1:MOV13H,#06H
MOV12H,#20H
KEY2:MOVA,12H
CPLA
MOVR7,A
MOVDPTR,#0E101H
MOVA,R7
MOVX@DPTR,A
MOVA,12H
CLRC
RRCA
MOV12H,A
MOVDPTR,#0E103H
MOVXA,@DPTR
MOVR7,A
MOVA,R7
CPLA
MOVR7,A
MOVA,R7
ANLA,#0FH
MOV14H,A
DEC13H
MOVR7J3H
MOVA,R7
JZKEYDIS
MOVA,14H
JZKEY2
KEYDIS:MOVA,14H
JZTESTKEY5
MOVA,13H
ADDA,ACC
ADDA,ACC
MOV13H,A
MOVA,14H
JNBACC.1,TESTKEY
INC13H
SJMPTESTKEY2
,,—
;鍵盤掃描
TESTKEY:MOVA,14H
JNBACC.2,TESTKEY1
INC13H
INC13H
SJMPTESTKEY2
TESTKEY1:MOVA,14H
JNBACC.3,TESTKEY2
MOVA,#03H
ADDA,13H
MOV13H,A
TESTKEY2:MOVDPTR,#0E101H
CLRA
MOVX@DPTR,A
TESTKEY3:MOVR7,#0AH
LCALLMLOOP
LCALLMLOOP4
MOVA,R7
JNZTESTKEY3
MOVR7,13H
MOVA,R7
MOVDPTR,#0134H
MOVCA,@A+DPTR
MOVR7,A
RET
TESTKEY4:DB22H;n
TESTKEY5:MOVR7,#0FFH
RET
,-
GETKEY:MOV10H,#20H
MOV0EH,#00H
GETKEY1:MOVA,0EH
CLRC
SUBBA,#06H
JNCGOON2
MOVDPTR,#0E101H
CLRA
MOVX@DPTR,A
MOVR7,0EH
MOVA,#08H
ADDA,R7
MOVRO,A
MOVA,@R0
MOVR7,A
MOVI1H,R7
MOV0FH,#00H
GETKEY2:MOVA,0FH
CLRC
SUBBA,#08H
JNCGOON1
MOVA,I1H
JNBACC7KLOOP
MOVDPTR,#0E102H
MOVA,#01H
MOVX@DPTR,A
SJMPKLOOP1
,,
KLOOP:MOVDPTR,#0E102H
CLRA
MOVX@DPTR,A
KLOOP1:MOVDPTR,#0E102H
MOVXA,@DPTR
MOVR7,A
MOVA,R7
ORLA,#02H
MOVR7,A
MOVA,R7
MOVX@DPTR,A
MOVDPTR,#0E102H
MOVXA,@DPTR
MOVR7,A
MOVA,R7
ANLA,#0FDH
MOVR7,A
MOVA,R7
MOVX@DPTR,A
MOVA,11H
ADDA,ACC
MOV11H,A
INCOFH
SJMPGETKEY2
GOON1:MOVDPTR,#0E101H
MOVA,10H
MOVX@DPTR,A
MOVR7,#01H
LCALLMLOOP
MOVA,10H
CLRC
RRCA
MOV10H,A
INCOEH
SJMPGETKEY1
GOON2:RET
WAIT:MOVDPTR,#0E100H
MOVA,#03H
MOVX@DPTR,A
MOV08H,#0FFH
MOV09H,#0FFH
MOV0AH,#0FFH
MOV0BH,#0FFH
MOV0CH,#00H
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家校共建合同:學(xué)院與家長權(quán)益保障
- 國家機關(guān)勞動合同樣本合同
- 工廠保安用工合同
- 消防課程安全課件
- 智能儀器儀表智能醫(yī)療應(yīng)用考核試卷
- 成人高考地理知識要點專項訓(xùn)練考核試卷
- 斯洛文尼亞網(wǎng)絡(luò)廣告競爭格局洞察考核試卷
- 文化用品租賃業(yè)務(wù)項目管理考核試卷
- 機場航站樓空氣質(zhì)量控制考核試卷
- 2024信息物理融合智能系統(tǒng)實施流程
- DB11T 2033-2022 餐廚垃圾源頭減量操作要求
- 1.2 歌曲 《春天來了》 課件(11張)
- 【人教版】pep六年級英語下全冊教案(表格版)
- 護理培訓(xùn)師競聘
- 北師大版小學(xué)數(shù)學(xué)五年級下冊同步課時練習(xí)試題含答案(全冊)
- 4《我們的公共生活》第一課時 教學(xué)設(shè)計-2023-2024學(xué)年道德與法治五年級下冊統(tǒng)編版
- 2024年放射工作人員放射防護培訓(xùn)考試題及答案
- SH∕T 3097-2017 石油化工靜電接地設(shè)計規(guī)范
- 高中英語真題-高考英語語法填空專練(6)及答案
- 倉儲物流中心物業(yè)管理服務(wù)費報價單
- 室內(nèi)給水管道安裝安全技術(shù)交底
評論
0/150
提交評論