單片機(jī)原理及科學(xué)應(yīng)用_第1頁(yè)
單片機(jī)原理及科學(xué)應(yīng)用_第2頁(yè)
單片機(jī)原理及科學(xué)應(yīng)用_第3頁(yè)
單片機(jī)原理及科學(xué)應(yīng)用_第4頁(yè)
單片機(jī)原理及科學(xué)應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

單片機(jī)原理及應(yīng)用11/22/2019/sundae_me

ng1中南林業(yè)科技大學(xué)涉外學(xué)院11/22/20192單片機(jī)原理及應(yīng)用總結(jié)第一章51系列第二章I/O口,CPU,存儲(chǔ)器第三章尋址方式,各類指令的格式、功能字節(jié)數(shù)、周期數(shù)第四章子程序,查表程序,分支程序,循環(huán)程序中南林業(yè)科技大學(xué)涉外學(xué)院11/22/20193單片機(jī)原理及應(yīng)用·

第五章1、中斷TCON、SCON、IE、IP各中斷源的入口地址、請(qǐng)求標(biāo)志、撤消中斷服務(wù)程序2、定時(shí)器/計(jì)數(shù)器

TCON、TMODT0、T1的定時(shí)、計(jì)數(shù)初值,啟動(dòng),溢出

4種工作方式中南林業(yè)科技大學(xué)涉外學(xué)院

單片機(jī)原理及應(yīng)用11/22/20194·

第六章1、SCON、PCON發(fā)送、接收的SBUF,指令,完成標(biāo)志

4種工作方式的幀數(shù)據(jù)、波特率2、存儲(chǔ)器的擴(kuò)展:地址3、I/O口擴(kuò)展:81554、LED顯示,鍵盤(pán)5、A/D、D/A中南林業(yè)科技大學(xué)涉外學(xué)院11/22/20195單片機(jī)原理及應(yīng)用指令應(yīng)用實(shí)例【例1】在程序存儲(chǔ)器中有一平方表,從2000H單元開(kāi)始存放,如圖所示,試通過(guò)查表指令查找出6的平方。解:采用DPTR作為基址寄存器的查表程序比較簡(jiǎn)單,查表范圍大,也容易理解。只要預(yù)先使用一條16位數(shù)據(jù)傳送指令,把表的首地址2000H送入DPTR,然后進(jìn)行查表就可以了。相應(yīng)的程序如下:MOV

A,#6MOV

DPTR,#2000HMOVC

A,@A+DPTR;設(shè)定備查的表項(xiàng);設(shè)置DPTR為表始址;將A的平方值查表后送A如果需要查找其他數(shù)的平方,只需要將累加器A的內(nèi)容(變址)改一下即可。2000H2001H2002H2003H2004H2005H2006H2007H2008H2009H0149162536496481中南林業(yè)科技大學(xué)涉外學(xué)院11/22/20196單片機(jī)原理及應(yīng)用指令應(yīng)用實(shí)例【例2】試編程計(jì)算5678H~1234H的值,結(jié)果保存在R6、R5中。解:減數(shù)和被減數(shù)都是16位二進(jìn)制數(shù),計(jì)算時(shí)要先進(jìn)行低8位的減法,然后再進(jìn)行高8位的減法,在進(jìn)行低8位減法時(shí),不需要考慮借位,所以要在減法指令之前將借位標(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ù),編程將它們拆開(kāi),分別保存在內(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,符號(hào)地址PROG1指向程序存儲(chǔ)器的5678H單元,當(dāng)前PC值為0123H。從0123H處執(zhí)行指令“LCALL

PROG1”,分析執(zhí)行后PC、SP的值和相關(guān)存儲(chǔ)器的內(nèi)容。解:執(zhí)行過(guò)程為:(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兩個(gè)單元中的數(shù)據(jù)大小,將大的數(shù)送至42H單元。解:程序如下:MOV

A,40HCJNE

A,41H,NEQU;取第一個(gè)數(shù);比較,不相等轉(zhuǎn)移至NEQU處MOV

42H,40HSJMP

TOOFFNEQU:

JC

LESSMOV

42H,40H;相等,(40H)→42H;完成,轉(zhuǎn)移至結(jié)尾退出;若CY=1,說(shuō)明(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è)計(jì)實(shí)例【例1】P1口做輸出口,控制8盞燈(P1口輸出低電平時(shí)燈被

點(diǎn)亮),編程使燈按以下規(guī)律顯示:同一時(shí)間只有兩盞燈點(diǎn)亮,從P1.7、P1.6控制的燈開(kāi)始,每盞燈閃爍5次,再移向下兩盞燈,同樣閃爍5次,循環(huán)往復(fù),延時(shí)時(shí)間1s。晶振頻率6MHz。解:主程序是雙重循環(huán)程序,循環(huán)移位是外循環(huán),燈閃爍5次是內(nèi)循環(huán),內(nèi)循環(huán)程序不能與外循環(huán)程序交叉。延時(shí)1S采用三重循環(huán)程序。晶振頻率為6MHz時(shí),機(jī)器周期為2

s,延時(shí)程序的延時(shí)時(shí)間計(jì)算方法如下:{1+[1+(1+(1+1+2)×125+2)×200+2]×5+2}×2

s=1006036

s=1.006036s中南林業(yè)科技大學(xué)涉外學(xué)院?jiǎn)纹瑱C(jī)原理及應(yīng)用11/23/201144..33..22循循環(huán)環(huán)程程序序設(shè)計(jì)計(jì)實(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;延時(shí)1s0039H75

90

FFMOV

P1,#0FFH003CH12

01

00LCALL

DELAY;延時(shí)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;延時(shí)1s的循環(huán)次數(shù)0102H7C

C8DEL3:

MOV

R4,#200;延時(shí)200ms的循環(huán)次數(shù)0104H7D

7DDEL2:

MOV

R5,#125;延時(shí)1ms的循環(huán)次數(shù)0106H00DEL1:

NOP0107H00NOP0108HDD

FEDJNZ

R5,DEL1010AHDC

F9DJNZ

R4,DEL2010CHDB

F5DJNZ

R3,DEL3010EH22RET;子程序返回END延時(shí)子程序:中南林業(yè)科技大學(xué)涉外學(xué)院11/23/201913單片機(jī)原理及應(yīng)用中斷的應(yīng)用實(shí)例【例1】P1口做輸出口,控制八只燈(P1口輸出低電平時(shí)燈被點(diǎn)亮),利用手控單脈沖信號(hào)作為外部中斷信號(hào),控制八只燈按一定的規(guī)律循環(huán)點(diǎn)亮。解:手控單脈沖信號(hào)作為外部中斷信號(hào)由INT0(P3.2)管腳輸入,設(shè)置中斷允許寄存器IE中的EA、EX0位為1;只有一個(gè)中斷源可不設(shè)置優(yōu)先級(jí)別;中斷觸發(fā)方式設(shè)為邊沿觸發(fā),控制位IT0應(yīng)設(shè)置為1。中南林11/23/201914業(yè)科技大學(xué)涉外學(xué)院?jiǎn)纹瑱C(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é)院?jiǎn)纹瑱C(jī)原理及應(yīng)用T及應(yīng)用實(shí)例【例2】在P1.0輸出周期為1

ms(頻率1kHz)的方波,采用定時(shí)器1方式0設(shè)計(jì)程序,晶振頻率為12MHz。解:根據(jù)題意,只要使P1.0每隔500

s取反一次即可得到周期1

m的方波,因而T1的定時(shí)時(shí)間為500

s。用定時(shí)器1方式0時(shí),定時(shí)器/計(jì)數(shù)器方式寄存器TMOD高4位中的M1M0應(yīng)取00;可設(shè)定為軟件啟動(dòng)定時(shí)器,故GATE取0;因?yàn)橛枚〞r(shí)功能,C/T取0;定時(shí)器方式寄存器TMOD低4位為無(wú)關(guān)位,一般都取0,所以TMOD應(yīng)為00H。晶振頻率為12MHz,T機(jī)=12/fosc=12/(12

106)=1

s定時(shí)初值

X=213-T/T機(jī)=213-500/1=8192-500=7692=1E0CH=1111000001100B因TL1的高3位未用,對(duì)計(jì)算出的定時(shí)初值X要進(jìn)行修正,即在低5位前插入3個(gè)0,修正后的定時(shí)初值X=1111000000001100B=F00CH11/23/201915中南林業(yè)科技大學(xué)涉外學(xué)院?jiǎn)纹瑱C(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;置定時(shí)器1為工作方式00055H758DF1MOV

TH1,#0F0H;置500

s定時(shí)初值0058H758B0CMOV

TL1,#0CH005BHD28ESETB

TR1;啟動(dòng)定時(shí)器1005DH108F02LP1:

JBC

TF1,LP2;查詢計(jì)數(shù)溢出0060H80FBSJMP

LP1;未到500

s繼續(xù)計(jì)數(shù)0062H758DF1LP2:

MOV

TH1,#0F0H;重新置500

s定時(shí)初值0065H758B0CMOV

TL1,#0CH0068HB290CPL

P1.0;輸出取反006AH80

E4SJMP

LP1;重復(fù)循環(huán)9END參考程序:中南林業(yè)科技大學(xué)涉外學(xué)院?jiǎn)纹瑱C(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個(gè)數(shù)據(jù)存在內(nèi)RAM

40H~4FH單元中,乙機(jī)接收后存在內(nèi)RAM

50H為首地址的區(qū)域中。解:

串行方式1波特率取決于T1溢出率(設(shè)SMOD=0),

計(jì)算T1定時(shí)初值:11059200203211/23/201917中南林業(yè)科技大學(xué)涉外學(xué)院11/23/201918單片機(jī)原理及應(yīng)用MOVTMOD,#20H;置T1定時(shí)器工作方式2MOVTL1,#0E8H;置T1計(jì)數(shù)初值MOVTH1,#0E8H;置T1計(jì)數(shù)重裝值CLRET1;禁止T1中斷SETBTR1;T1啟動(dòng)MOVSCON,#40H;置串行方式1,禁止接收MOVPCON,#00H;置SMOD=0(SMOD不能位操作)CLRES;禁止串行中斷MOVR0,#40H;置發(fā)送數(shù)據(jù)區(qū)首地址MOVR2,#16;置發(fā)送數(shù)據(jù)長(zhǎng)度MOVA,@R0

;讀一個(gè)數(shù)據(jù)MOVSBUF,A;發(fā)送JNBTI,$;等待一幀數(shù)據(jù)發(fā)送完畢CLRTI;清發(fā)送中斷標(biāo)志INCR0;指向下一字節(jié)單元;判16個(gè)數(shù)據(jù)發(fā)完否?未完繼續(xù)DJNZ

R2,TRSARET;甲機(jī)發(fā)送子程序:TXDA:TRSA:單片機(jī)原理及應(yīng)用11/23/201919MOV

TMOD,#20H;置T1定時(shí)器工作方式2MOVTL1,#0E8H;置T1計(jì)數(shù)初值MOVTH1,#0E8H;置T1計(jì)數(shù)重裝值CLRET1;禁止T1中斷SETBTR1;T1啟動(dòng)MOVSCON,#40H;置串行方式1,禁止接收MOVPCON,#00H;置SMOD=0(SMOD不能位操作)CLRES;禁止串行中斷MOVR0,#50H;置接收數(shù)據(jù)區(qū)首地址MOVR2,#16;置接收數(shù)據(jù)長(zhǎng)度SETBREN;啟動(dòng)接收J(rèn)NBRI,$;等待一幀數(shù)據(jù)接收完畢CLRRI;清接收中斷標(biāo)志MOVA,SBUF;讀接收數(shù)據(jù)MOV@R0,A;存接收數(shù)據(jù)INCR0;指向下一數(shù)據(jù)存儲(chǔ)單元DJNZR2,RDSB;判16個(gè)數(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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論