版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
單片機(jī)原理及應(yīng)用11/22/2019/sundae_me
ng1中南林業(yè)科技大學(xué)涉外學(xué)院11/22/20192單片機(jī)原理及應(yīng)用總結(jié)第一章51系列第二章I/O口,CPU,存儲器第三章尋址方式,各類指令的格式、功能字節(jié)數(shù)、周期數(shù)第四章子程序,查表程序,分支程序,循環(huán)程序中南林業(yè)科技大學(xué)涉外學(xué)院11/22/20193單片機(jī)原理及應(yīng)用·
第五章1、中斷TCON、SCON、IE、IP各中斷源的入口地址、請求標(biāo)志、撤消中斷服務(wù)程序2、定時器/計數(shù)器
TCON、TMODT0、T1的定時、計數(shù)初值,啟動,溢出
4種工作方式中南林業(yè)科技大學(xué)涉外學(xué)院
單片機(jī)原理及應(yīng)用11/22/20194·
第六章1、SCON、PCON發(fā)送、接收的SBUF,指令,完成標(biāo)志
4種工作方式的幀數(shù)據(jù)、波特率2、存儲器的擴(kuò)展:地址3、I/O口擴(kuò)展:81554、LED顯示,鍵盤5、A/D、D/A中南林業(yè)科技大學(xué)涉外學(xué)院11/22/20195單片機(jī)原理及應(yīng)用指令應(yīng)用實(shí)例【例1】在程序存儲器中有一平方表,從2000H單元開始存放,如圖所示,試通過查表指令查找出6的平方。解:采用DPTR作為基址寄存器的查表程序比較簡單,查表范圍大,也容易理解。只要預(yù)先使用一條16位數(shù)據(jù)傳送指令,把表的首地址2000H送入DPTR,然后進(jìn)行查表就可以了。相應(yīng)的程序如下:MOV
A,#6MOV
DPTR,#2000HMOVC
A,@A+DPTR;設(shè)定備查的表項;設(shè)置DPTR為表始址;將A的平方值查表后送A如果需要查找其他數(shù)的平方,只需要將累加器A的內(nèi)容(變址)改一下即可。2000H2001H2002H2003H2004H2005H2006H2007H2008H2009H0149162536496481中南林業(yè)科技大學(xué)涉外學(xué)院11/22/20196單片機(jī)原理及應(yīng)用指令應(yīng)用實(shí)例【例2】試編程計算5678H~1234H的值,結(jié)果保存在R6、R5中。解:減數(shù)和被減數(shù)都是16位二進(jìn)制數(shù),計算時要先進(jìn)行低8位的減法,然后再進(jìn)行高8位的減法,在進(jìn)行低8位減法時,不需要考慮借位,所以要在減法指令之前將借位標(biāo)志清0。程序如下:MOVA,#78H;被減數(shù)低8位送累加器CLRC;清進(jìn)位標(biāo)志位CYSUBBA,#34H;減去減數(shù)MOVR5,A;保存低8位MOVA,#56H;被減數(shù)高8位送累加器SUBBA,#12H;減去減數(shù)MOVR6,A;保存高8位中南林業(yè)科技大學(xué)涉外學(xué)院11/23/20197單片機(jī)原理及應(yīng)用指令應(yīng)用實(shí)例【例3】拆字程序:在內(nèi)部RAM
40H單元保存有以壓縮BCD碼表示的2位十進(jìn)制數(shù),編程將它們拆開,分別保存在內(nèi)部RAM的41H、42H單元。解:程序如下:MOVA,40H;壓縮BCD碼送累加器ANLA,#0FH;高4位清0,保留低4位MOV41H,A;保存低4位BCD碼MOVA,40H;取數(shù)據(jù)MOVA,#0F0H;低4位清0,保留高4位SWAPA;高低位交換MOV42H,A;保存高4位BCD碼中南林業(yè)科技大學(xué)涉外學(xué)院11/23/20198單片機(jī)原理及應(yīng)用指令應(yīng)用實(shí)例【例4】設(shè)(SP)=30H,符號地址PROG1指向程序存儲器的5678H單元,當(dāng)前PC值為0123H。從0123H處執(zhí)行指令“LCALL
PROG1”,分析執(zhí)行后PC、SP的值和相關(guān)存儲器的內(nèi)容。解:執(zhí)行過程為:(PC)+3=0123H+3=0126H。將PC內(nèi)容壓入堆棧:向(SP)+1=31H中壓入26H,向
(SP)+1=32H中壓入01H,(SP)=33H。將PROG1=5678H送入PC,即(PC)=5678H。程序轉(zhuǎn)向以5678H為首地址的子程序執(zhí)行。最終執(zhí)行結(jié)果是:(PC)=5678H、(SP)=33H、(31H)=26H、(32H)=01H。中南林業(yè)科技大學(xué)涉外學(xué)院11/23/20199單片機(jī)原理及應(yīng)用指令應(yīng)用實(shí)例【例5】比較內(nèi)部RAM中40H、41H兩個單元中的數(shù)據(jù)大小,將大的數(shù)送至42H單元。解:程序如下:MOV
A,40HCJNE
A,41H,NEQU;取第一個數(shù);比較,不相等轉(zhuǎn)移至NEQU處MOV
42H,40HSJMP
TOOFFNEQU:
JC
LESSMOV
42H,40H;相等,(40H)→42H;完成,轉(zhuǎn)移至結(jié)尾退出;若CY=1,說明(40H)<(41H)轉(zhuǎn)移;(40H)>(41H),(40H)→40H;完成,轉(zhuǎn)移至結(jié)尾退出;(40H)<(41H),(41H)→40HSJMP
TOOFFLESS:
MOV
42H,41HTOOFF:
RET中南林業(yè)科技大學(xué)涉外學(xué)院11/23/201910單片機(jī)原理及應(yīng)用程序設(shè)計實(shí)例【例1】P1口做輸出口,控制8盞燈(P1口輸出低電平時燈被
點(diǎn)亮),編程使燈按以下規(guī)律顯示:同一時間只有兩盞燈點(diǎn)亮,從P1.7、P1.6控制的燈開始,每盞燈閃爍5次,再移向下兩盞燈,同樣閃爍5次,循環(huán)往復(fù),延時時間1s。晶振頻率6MHz。解:主程序是雙重循環(huán)程序,循環(huán)移位是外循環(huán),燈閃爍5次是內(nèi)循環(huán),內(nèi)循環(huán)程序不能與外循環(huán)程序交叉。延時1S采用三重循環(huán)程序。晶振頻率為6MHz時,機(jī)器周期為2
s,延時程序的延時時間計算方法如下:{1+[1+(1+(1+1+2)×125+2)×200+2]×5+2}×2
s=1006036
s=1.006036s中南林業(yè)科技大學(xué)涉外學(xué)院單片機(jī)原理及應(yīng)用11/23/201144..33..22循循環(huán)環(huán)程程序序設(shè)計計實(shí)實(shí)例例地址機(jī)器碼程序注釋ORG
0000H0000H02
00
30LJMP
MAINORG
0030H0030H74
5FMAIN:
MOV
A,#5FH;燈點(diǎn)亮初始狀態(tài)0032H79
05LP1:
MOV
R1,#5;循環(huán)閃爍次數(shù)0034HF5
90LP2:
MOV
P1,A0036H12
01
00LCALL
DELAY;延時1s0039H75
90
FFMOV
P1,#0FFH003CH12
01
00LCALL
DELAY;延時1s003FHD9
F3DJNZ
R1,LP2;循環(huán)閃爍次數(shù)不夠5次,繼續(xù)0041H03RR
A;右移一位0042H03RR
A;再右移一位0043H1980
EDSJMP
LP1主程序:中南林業(yè)科技大學(xué)涉外學(xué)院11/23/201912單片機(jī)原理及應(yīng)用地址機(jī)器碼程序注釋ORG
0100H0100H7B
05DELAY:
MOV
R3,#5;延時1s的循環(huán)次數(shù)0102H7C
C8DEL3:
MOV
R4,#200;延時200ms的循環(huán)次數(shù)0104H7D
7DDEL2:
MOV
R5,#125;延時1ms的循環(huán)次數(shù)0106H00DEL1:
NOP0107H00NOP0108HDD
FEDJNZ
R5,DEL1010AHDC
F9DJNZ
R4,DEL2010CHDB
F5DJNZ
R3,DEL3010EH22RET;子程序返回END延時子程序:中南林業(yè)科技大學(xué)涉外學(xué)院11/23/201913單片機(jī)原理及應(yīng)用中斷的應(yīng)用實(shí)例【例1】P1口做輸出口,控制八只燈(P1口輸出低電平時燈被點(diǎn)亮),利用手控單脈沖信號作為外部中斷信號,控制八只燈按一定的規(guī)律循環(huán)點(diǎn)亮。解:手控單脈沖信號作為外部中斷信號由INT0(P3.2)管腳輸入,設(shè)置中斷允許寄存器IE中的EA、EX0位為1;只有一個中斷源可不設(shè)置優(yōu)先級別;中斷觸發(fā)方式設(shè)為邊沿觸發(fā),控制位IT0應(yīng)設(shè)置為1。中南林11/23/201914業(yè)科技大學(xué)涉外學(xué)院單片機(jī)原理及應(yīng)用參考程序:
ORG
0000H
;程序入口0000H02
00
50LJMP
MAIN;轉(zhuǎn)向主程序ORG
0003H;外部中斷0的入口地址0003H02
01
00LJMP
INT;轉(zhuǎn)向中斷服務(wù)程序ORG
0050H0050HD2
AFMAIN:
SETB
EA0052HD2
A8SETB
EX00054HD2
88SETB
IT0;中斷觸發(fā)方式為邊沿觸發(fā)0056H74
FEMOV
A,#0FEH0058HF5
90MOV
P1,A005AH80
FESJMP
$ORG
0100H0100H23INT:RL
A;中斷服務(wù)程序0101HF5
90MOV
P1,A0103H32RETIEND中南林業(yè)科技大學(xué)涉外學(xué)院單片機(jī)原理及應(yīng)用T及應(yīng)用實(shí)例【例2】在P1.0輸出周期為1
ms(頻率1kHz)的方波,采用定時器1方式0設(shè)計程序,晶振頻率為12MHz。解:根據(jù)題意,只要使P1.0每隔500
s取反一次即可得到周期1
m的方波,因而T1的定時時間為500
s。用定時器1方式0時,定時器/計數(shù)器方式寄存器TMOD高4位中的M1M0應(yīng)取00;可設(shè)定為軟件啟動定時器,故GATE取0;因?yàn)橛枚〞r功能,C/T取0;定時器方式寄存器TMOD低4位為無關(guān)位,一般都取0,所以TMOD應(yīng)為00H。晶振頻率為12MHz,T機(jī)=12/fosc=12/(12
106)=1
s定時初值
X=213-T/T機(jī)=213-500/1=8192-500=7692=1E0CH=1111000001100B因TL1的高3位未用,對計算出的定時初值X要進(jìn)行修正,即在低5位前插入3個0,修正后的定時初值X=1111000000001100B=F00CH11/23/201915中南林業(yè)科技大學(xué)涉外學(xué)院單片機(jī)原理及應(yīng)用11/23/2011666..33..22方方式式00及及應(yīng)應(yīng)用實(shí)實(shí)例例地址機(jī)器碼程序注釋ORG
0000H
用0000H02
00
50LJMP
MAINORG
0050HMAIN:SETB
P1.0
;置P1.0初始狀態(tài)0050HD2
900052H758900MOV
TMOD,#00H;置定時器1為工作方式00055H758DF1MOV
TH1,#0F0H;置500
s定時初值0058H758B0CMOV
TL1,#0CH005BHD28ESETB
TR1;啟動定時器1005DH108F02LP1:
JBC
TF1,LP2;查詢計數(shù)溢出0060H80FBSJMP
LP1;未到500
s繼續(xù)計數(shù)0062H758DF1LP2:
MOV
TH1,#0F0H;重新置500
s定時初值0065H758B0CMOV
TL1,#0CH0068HB290CPL
P1.0;輸出取反006AH80
E4SJMP
LP1;重復(fù)循環(huán)9END參考程序:中南林業(yè)科技大學(xué)涉外學(xué)院單片機(jī)原理及應(yīng)用串行口應(yīng)用舉例T1初值
=
256
-×=
232
=
E8H12×1200【例3】設(shè)甲乙機(jī)以串行方式1進(jìn)行數(shù)據(jù)傳送,fosc=11.0592MHz,波特率為1200b/s。甲機(jī)發(fā)送的16個數(shù)據(jù)存在內(nèi)RAM
40H~4FH單元中,乙機(jī)接收后存在內(nèi)RAM
50H為首地址的區(qū)域中。解:
串行方式1波特率取決于T1溢出率(設(shè)SMOD=0),
計算T1定時初值:11059200203211/23/201917中南林業(yè)科技大學(xué)涉外學(xué)院11/23/201918單片機(jī)原理及應(yīng)用MOVTMOD,#20H;置T1定時器工作方式2MOVTL1,#0E8H;置T1計數(shù)初值MOVTH1,#0E8H;置T1計數(shù)重裝值CLRET1;禁止T1中斷SETBTR1;T1啟動MOVSCON,#40H;置串行方式1,禁止接收MOVPCON,#00H;置SMOD=0(SMOD不能位操作)CLRES;禁止串行中斷MOVR0,#40H;置發(fā)送數(shù)據(jù)區(qū)首地址MOVR2,#16;置發(fā)送數(shù)據(jù)長度MOVA,@R0
;讀一個數(shù)據(jù)MOVSBUF,A;發(fā)送JNBTI,$;等待一幀數(shù)據(jù)發(fā)送完畢CLRTI;清發(fā)送中斷標(biāo)志INCR0;指向下一字節(jié)單元;判16個數(shù)據(jù)發(fā)完否?未完繼續(xù)DJNZ
R2,TRSARET;甲機(jī)發(fā)送子程序:TXDA:TRSA:單片機(jī)原理及應(yīng)用11/23/201919MOV
TMOD,#20H;置T1定時器工作方式2MOVTL1,#0E8H;置T1計數(shù)初值MOVTH1,#0E8H;置T1計數(shù)重裝值CLRET1;禁止T1中斷SETBTR1;T1啟動MOVSCON,#40H;置串行方式1,禁止接收MOVPCON,#00H;置SMOD=0(SMOD不能位操作)CLRES;禁止串行中斷MOVR0,#50H;置接收數(shù)據(jù)區(qū)首地址MOVR2,#16;置接收數(shù)據(jù)長度SETBREN;啟動接收J(rèn)NBRI,$;等待一幀數(shù)據(jù)接收完畢CLRRI;清接收中斷標(biāo)志MOVA,SBUF;讀接收數(shù)據(jù)MOV@R0,A;存接收數(shù)據(jù)INCR0;指向下一數(shù)據(jù)存儲單元DJNZR2,RDSB;判16個數(shù)據(jù)接收完否?未完繼續(xù)RET;中乙南林機(jī)業(yè)科接技收大學(xué)子涉程外程學(xué)序院:RXDB:RDSB:·中南林業(yè)科技大學(xué)涉外學(xué)院
單片機(jī)原理及應(yīng)用線選法擴(kuò)展二片2K容量,6116,一片4K容量,2716····2716:0000H~07FFH6116(1):0000H~07FFH
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 云南省昆明八中2025年高考物理模擬試卷(含答案)
- 安徽省聯(lián)考2024-2025學(xué)年高一上學(xué)期1月期末英語試題(無答案)
- 生物-內(nèi)蒙古鄂爾多斯市西四旗2024-2025學(xué)年2025屆高三第一(上)學(xué)期期末聯(lián)考試卷試題和答案
- 2024重慶離婚協(xié)議書格式范文
- 2024自動售貨機(jī)租賃合同
- 2025年度5G通信基站建設(shè)與維護(hù)合同范本3篇
- 2025年度寵物貓寄養(yǎng)與寵物用品租賃一體化協(xié)議3篇
- 2024頤和園職工制服采購環(huán)保責(zé)任及回收利用合同3篇
- 2024甲乙雙方關(guān)于購買房產(chǎn)的合同
- 2024版公私合營養(yǎng)老院服務(wù)協(xié)議示范文本版B版
- 期末(試題)-2024-2025學(xué)年人教PEP版(2024)英語三年級上冊
- 2024伊利在線測評題
- 安徽省A10聯(lián)盟2025屆高二上數(shù)學(xué)期末考試試題含解析
- 人民日報出版社有限責(zé)任公司招聘筆試題庫2024
- 《船舶建造安全監(jiān)理技術(shù)規(guī)范》(征求意見稿)
- 燃燒仿真.燃燒數(shù)值模擬方法:化學(xué)反應(yīng)動力學(xué)模型:燃燒仿真前沿技術(shù)與研究
- 線性代數(shù)考試練習(xí)題帶答案大全(二)
- 排水管網(wǎng)溯源排查項目專項培訓(xùn)
- 重癥超聲與休克-課件
- 電梯工程師在電梯設(shè)計中的工作內(nèi)容
- 二年級數(shù)學(xué)上冊口算天天練
評論
0/150
提交評論