【大學(xué)課件】單片機原理及應(yīng)用_第1頁
【大學(xué)課件】單片機原理及應(yīng)用_第2頁
【大學(xué)課件】單片機原理及應(yīng)用_第3頁
【大學(xué)課件】單片機原理及應(yīng)用_第4頁
【大學(xué)課件】單片機原理及應(yīng)用_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2021-7-20 1 單片機原理及應(yīng)用 中南林業(yè)科技大學(xué)涉外學(xué)院單片機原理及應(yīng)用 2021-7-202 總結(jié) v第一章 51系列 v第二章 I/O口,CPU,存儲器 v第三章 尋址方式,各類指令的格式、功能 字節(jié)數(shù)、周期數(shù) v第四章 子程序,查表程序,分支程序,循環(huán)程序 中南林業(yè)科技大學(xué)涉外學(xué)院單片機原理及應(yīng)用 2021-7-203 v第五章 v v 1、中斷TCON、SCON、IE、IP v 各中斷源的入口地址、請求標志、撤消 v 中斷效勞程序 v 2、定時器/計數(shù)器 v TCON、TMOD v T0、T1的定時、計數(shù)初值,啟動,溢 出 v 4種工作方式 中南林業(yè)科技大學(xué)涉外學(xué)院單片機原理

2、及應(yīng)用 2021-7-204 v第六章 1、 SCON、PCON 發(fā)送、接收的SBUF,指令,完成標志 4種工作方式的幀數(shù)據(jù)、波特率 2、存儲器的擴展:地址 3、I/O口擴展:8155 4、LED顯示,鍵盤 5、A/D、D/A 中南林業(yè)科技大學(xué)涉外學(xué)院單片機原理及應(yīng)用 2021-7-205 【例【例1】 在程序存儲器中有一平方表,從在程序存儲器中有一平方表,從2000H單單 元開始存放,如下圖,試通過查表指令查找出元開始存放,如下圖,試通過查表指令查找出 6的平方。的平方。 解:采用解:采用DPTR作為基址存放器的查表程序比較簡作為基址存放器的查表程序比較簡 單,查表范圍大,也容易理解。只要預(yù)

3、先使用單,查表范圍大,也容易理解。只要預(yù)先使用 一條一條16位數(shù)據(jù)傳送指令,把表的首地址位數(shù)據(jù)傳送指令,把表的首地址2000H 送入送入DPTR,然后進行查表就可以了。,然后進行查表就可以了。 相應(yīng)的程序如下:相應(yīng)的程序如下: MOV A,#6 ;設(shè)定備查的表項設(shè)定備查的表項 MOV DPTR,#2000H ;設(shè)置設(shè)置DPTR為表始址為表始址 MOVC A,A+DPTR ;將將A的平方值查表后送的平方值查表后送A 如果需要查找其他數(shù)的平方,只需要將累加器如果需要查找其他數(shù)的平方,只需要將累加器 A的內(nèi)容的內(nèi)容(變址變址)改一下即可。改一下即可。 2000H0 2001H1 2002H4 200

4、3H9 2004H16 2005H25 2006H36 2007H49 2008H64 2009H81 中南林業(yè)科技大學(xué)涉外學(xué)院單片機原理及應(yīng)用 2021-7-206 【例例2】 試編程計算試編程計算5678H1234H的值,結(jié)果保存在的值,結(jié)果保存在R6、 R5中。中。 解:減數(shù)和被減數(shù)都是解:減數(shù)和被減數(shù)都是16位二進制數(shù),計算時要先進行低位二進制數(shù),計算時要先進行低8 位的減法,然后再進行高位的減法,然后再進行高8位的減法,在進行低位的減法,在進行低8位減位減 法時,不需要考慮借位,所以要在減法指令之前將借位法時,不需要考慮借位,所以要在減法指令之前將借位 標志清標志清0。程序如下:。程

5、序如下: MOV A,#78H;被減數(shù)低被減數(shù)低8位送累加器位送累加器 CLR C;清進位標志位清進位標志位CY SUBB A,#34H;減去減數(shù)減去減數(shù) MOV R5,A;保存低保存低8位位 MOV A,#56H;被減數(shù)高被減數(shù)高8位送累加器位送累加器 SUBB A,#12H;減去減數(shù)減去減數(shù) MOV R6,A;保存高保存高8位位 中南林業(yè)科技大學(xué)涉外學(xué)院單片機原理及應(yīng)用 2021-7-207 【例【例3】 拆字程序:在內(nèi)部拆字程序:在內(nèi)部RAM 40H單元保存有以壓縮單元保存有以壓縮BCD碼碼 表示的表示的2位十進制數(shù),編程將它們拆開,分別保存在內(nèi)部位十進制數(shù),編程將它們拆開,分別保存在內(nèi)

6、部 RAM的的41H、42H單元。單元。 解:程序如下:解:程序如下: MOV A,40H;壓縮壓縮BCD碼送累加器碼送累加器 ANL A,#0FH;高高4位清位清0,保存低保存低4位位 MOV 41H,A;保存低保存低4位位BCD碼碼 MOV A,40H;取數(shù)據(jù)取數(shù)據(jù) MOV A,#0F0H;低低4位清位清0,保存高保存高4位位 SWAP A;上下位交換上下位交換 MOV 42H,A;保存高保存高4位位BCD碼碼 中南林業(yè)科技大學(xué)涉外學(xué)院單片機原理及應(yīng)用 2021-7-208 【例【例4】 設(shè)設(shè)(SP)=30H,符號地址,符號地址PROG1指向程序存儲器的指向程序存儲器的 5678H單元,當

7、前單元,當前PC值為值為0123H。從。從0123H處執(zhí)行指令處執(zhí)行指令 “LCALL PROG1,分析執(zhí)行后,分析執(zhí)行后PC、SP的值和相關(guān)存儲的值和相關(guān)存儲 器的內(nèi)容。器的內(nèi)容。 解:執(zhí)行過程為:解:執(zhí)行過程為: (PC)+3=0123H+3=0126H。 將將PC內(nèi)容壓入堆棧:向內(nèi)容壓入堆棧:向(SP)+1=31H中壓入中壓入26H,向,向 (SP)+1=32H中壓入中壓入01H,(SP)=33H。 將將PROG1=5678H送入送入PC,即,即(PC)=5678H。程序轉(zhuǎn)向以。程序轉(zhuǎn)向以 5678H為首地址的子程序執(zhí)行。為首地址的子程序執(zhí)行。 最終執(zhí)行結(jié)果是:最終執(zhí)行結(jié)果是:(PC)=

8、5678H、(SP)=33H、(31H)=26H、 (32H)=01H。 中南林業(yè)科技大學(xué)涉外學(xué)院單片機原理及應(yīng)用 2021-7-209 【例【例5】 比較內(nèi)部比較內(nèi)部RAM中中40H、41H兩個單元中的數(shù)據(jù)大小,兩個單元中的數(shù)據(jù)大小, 將大的數(shù)送至將大的數(shù)送至42H單元。單元。 解:程序如下:解:程序如下: MOV A,40H ;取第一個數(shù)取第一個數(shù) CJNE A,41H,NEQU;比較比較,不相等轉(zhuǎn)移至不相等轉(zhuǎn)移至NEQU 處處 MOV 42H,40H ;相等相等, (40H)42H SJMP TOOFF;完成完成,轉(zhuǎn)移至結(jié)尾退出轉(zhuǎn)移至結(jié)尾退出 NEQU: JC LESS ;假設(shè)假設(shè)CY=

9、1,說明說明(40H)(41H)轉(zhuǎn)轉(zhuǎn) 移移 MOV 42H,40H;(40H)(41H),(40H)40H SJMP TOOFF;完成完成,轉(zhuǎn)移至結(jié)尾退出轉(zhuǎn)移至結(jié)尾退出 LESS: MOV 42H,41H;(40H)(41H),(41H)40H TOOFF: RET 中南林業(yè)科技大學(xué)涉外學(xué)院單片機原理及應(yīng)用 2021-7-2010 【例例1】 P1口做輸出口,控制口做輸出口,控制8盞燈盞燈(P1口輸出低電平時燈被點口輸出低電平時燈被點 亮亮),編程使燈按以下規(guī)律顯示:同一時間只有兩盞燈點亮,編程使燈按以下規(guī)律顯示:同一時間只有兩盞燈點亮, 從、控制的燈開始,每盞燈閃爍從、控制的燈開始,每盞燈閃

10、爍5次,再移向下兩盞燈,次,再移向下兩盞燈, 同樣閃爍同樣閃爍5次,循環(huán)往復(fù),延時時間次,循環(huán)往復(fù),延時時間1s。晶振頻率。晶振頻率6MHz。 解:主程序是雙重循環(huán)程序,循環(huán)移位是外循環(huán),燈閃爍解:主程序是雙重循環(huán)程序,循環(huán)移位是外循環(huán),燈閃爍5次次 是內(nèi)循環(huán),內(nèi)循環(huán)程序不能與外循環(huán)程序交叉。是內(nèi)循環(huán),內(nèi)循環(huán)程序不能與外循環(huán)程序交叉。 延時延時1S采用三重循環(huán)程序。晶振頻率為采用三重循環(huán)程序。晶振頻率為6MHz時,機器周時,機器周 期為期為2 s,延時程序的延時時間計算方法如下:,延時程序的延時時間計算方法如下: 1+1+(1+(1+1+2)1+1+(1+(1+1+2)125+2)125+2)

11、200+2200+25+25+22 2 s s =1006036 =1006036 中南林業(yè)科技大學(xué)涉外學(xué)院單片機原理及應(yīng)用 2021-7-2011 地址地址機器碼機器碼程序程序注釋注釋 ORG 0000H 0000H02 00 30 LJMP MAIN ORG 0030H 0030H74 5FMAIN: MOV A,#5FH;燈點亮初始狀態(tài)燈點亮初始狀態(tài) 0032H79 05 LP1: MOV R1,#5;循環(huán)閃爍次數(shù)循環(huán)閃爍次數(shù) 0034HF5 90 LP2: MOV P1,A 0036H12 01 00 LCALL DELAY;延時延時1s 0039H75 90 FF MOV P1,#0

12、FFH 003CH12 01 00 LCALL DELAY;延時延時1s 003FH D9 F3 DJNZ R1,LP2;循環(huán)閃爍次數(shù)不夠循環(huán)閃爍次數(shù)不夠5次次,繼繼 續(xù)續(xù) 0041H03 RR A;右移一位右移一位 0042H03 RR A;再右移一位再右移一位 0043H80 ED SJMP LP1 主程序: 中南林業(yè)科技大學(xué)涉外學(xué)院單片機原理及應(yīng)用 2021-7-2012 地址地址機器碼機器碼程序程序注釋注釋 ORG 0100H 0100H7B 05DELAY: MOV R3,#5;延時延時1s的循環(huán)次數(shù)的循環(huán)次數(shù) 0102H7C C8DEL3: MOV R4,#200;延時延時200m

13、s的循環(huán)次數(shù)的循環(huán)次數(shù) 0104H7D 7DDEL2: MOV R5,#125;延時延時1ms的循環(huán)次數(shù)的循環(huán)次數(shù) 0106H00DEL1: NOP 0107H00 NOP 0108HDD FE DJNZ R5,DEL1 010AHDC F9 DJNZ R4,DEL2 010CHDB F5 DJNZ R3,DEL3 010EH22 RET;子程序返回子程序返回 END 延時子程序: 中南林業(yè)科技大學(xué)涉外學(xué)院單片機原理及應(yīng)用 2021-7-2013 【例【例1】 P1口做輸出口,控制八只燈口做輸出口,控制八只燈(P1口輸出低電口輸出低電 平時燈被點亮平時燈被點亮),利用手控單脈沖信號作為外部中,

14、利用手控單脈沖信號作為外部中 斷信號,控制八只燈按一定的規(guī)律循環(huán)點亮。斷信號,控制八只燈按一定的規(guī)律循環(huán)點亮。 解:手控單脈沖信號作為外部中斷信號由解:手控單脈沖信號作為外部中斷信號由INT0(P3.2) 管腳輸入,設(shè)置中斷允許存放器管腳輸入,設(shè)置中斷允許存放器IE中的中的EA、EX0 位為位為1;只有一個中斷源可不設(shè)置優(yōu)先級別;中斷;只有一個中斷源可不設(shè)置優(yōu)先級別;中斷 觸發(fā)方式設(shè)為邊沿觸發(fā),控制位觸發(fā)方式設(shè)為邊沿觸發(fā),控制位IT0應(yīng)設(shè)置為應(yīng)設(shè)置為1。 中南林業(yè)科技大學(xué)涉外學(xué)院單片機原理及應(yīng)用 2021-7-2014 ORG 0000H;程序入口程序入口 0000H02 00 50 LJMP

15、 MAIN;轉(zhuǎn)向主程序轉(zhuǎn)向主程序 ORG 0003H;外部中斷外部中斷0的入口地址的入口地址 0003H02 01 00 LJMP INT;轉(zhuǎn)向中斷服務(wù)程序轉(zhuǎn)向中斷服務(wù)程序 ORG 0050H 0050HD2 AFMAIN: SETB EA 0052HD2 A8 SETB EX0 0054HD2 88 SETB IT0;中斷觸發(fā)方式為邊沿觸中斷觸發(fā)方式為邊沿觸 發(fā)發(fā) 0056H74 FE MOV A,#0FEH 0058HF5 90 MOV P1,A 005AH80 FE SJMP $ ORG 0100H 0100H23 INT:RL A;中斷服務(wù)程序中斷服務(wù)程序 0101HF5 90 MOV

16、 P1,A 0103H32 RETI END 參考程序: 中南林業(yè)科技大學(xué)涉外學(xué)院單片機原理及應(yīng)用 2021-7-2015 【例【例2】 在輸出周期為在輸出周期為1 ms(頻率頻率1kHz)的方波,采用定時器的方波,采用定時器1方式方式0 設(shè)計程序,晶振頻率為設(shè)計程序,晶振頻率為12MHz。 解:根據(jù)題意,只要使每隔解:根據(jù)題意,只要使每隔500s取反一次即可得到周期取反一次即可得到周期1 ms的的 方波,因而方波,因而T1的定時時間為的定時時間為500s。 用定時器用定時器1方式方式0時,定時器時,定時器/計數(shù)器方式存放器計數(shù)器方式存放器TMOD高高4位中位中 的的M1M0應(yīng)取應(yīng)取00;可設(shè)

17、定為軟件啟動定時器,故;可設(shè)定為軟件啟動定時器,故GATE取取0;因;因 為用定時功能,為用定時功能,C/T取取0;定時器方式存放器;定時器方式存放器TMOD低低4位為無位為無 關(guān)位,一般都取關(guān)位,一般都取0,所以,所以TMOD應(yīng)為應(yīng)為00H。 晶振頻率為晶振頻率為12MHz,T機機=12/fosc=12/(12106)=1s 定時初值定時初值 X=213-T/T機機=213-500/1=8192-500=7692 因因TL1的高的高3位未用,對計算出的定時初值位未用,對計算出的定時初值X要進行修正,即在要進行修正,即在 低低5位前插入位前插入3個個0,修正后的定時初值,修正后的定時初值 中南

18、林業(yè)科技大學(xué)涉外學(xué)院單片機原理及應(yīng)用 2021-7-2016 地址地址機器碼機器碼程序程序注釋注釋 ORG 0000H 0000H02 00 50 LJMP MAIN ORG 0050H 0050HD2 90MAIN: SETB P1.0;置置P1.0初始狀態(tài)初始狀態(tài) 0052H75 89 00 MOV TMOD,#00H;置定時器置定時器1為工作方式為工作方式0 0055H75 8D F1 MOV TH1,#0F0H;置置500 s定時初值定時初值 0058H75 8B 0C MOV TL1,#0CH 005BHD2 8E SETB TR1;啟動定時器啟動定時器1 005DH10 8F 02

19、 LP1: JBC TF1,LP2;查詢計數(shù)溢出查詢計數(shù)溢出 0060H80 FB SJMP LP1;未到未到500 s繼續(xù)計數(shù)繼續(xù)計數(shù) 0062H75 8D F1 LP2: MOV TH1,#0F0H;重新置重新置500 s定時初值定時初值 0065H75 8B 0C MOV TL1,#0CH 0068HB2 90 CPL P1.0;輸出取反輸出取反 006AH80 E4 SJMP LP1;重復(fù)循環(huán)重復(fù)循環(huán) END 參考程序: 中南林業(yè)科技大學(xué)涉外學(xué)院單片機原理及應(yīng)用 2021-7-2017 串行口應(yīng)用舉例串行口應(yīng)用舉例 【例例3 3】設(shè)甲乙機以串行方式設(shè)甲乙機以串行方式1 1進行數(shù)據(jù)傳送,

20、波進行數(shù)據(jù)傳送,波 特率為特率為1200b/s1200b/s。甲機發(fā)送的。甲機發(fā)送的1616個數(shù)據(jù)存在內(nèi)個數(shù)據(jù)存在內(nèi)RAM RAM 40H40H4FH4FH單元中,乙機接收后存在內(nèi)單元中,乙機接收后存在內(nèi)RAM 50HRAM 50H為首地為首地 址的區(qū)域中址的區(qū)域中。 T1T1初值初值 = 256 - = 256 - = 232 = E8H = 232 = E8H 3232121212001200 解:解: 串行方式串行方式1 1波特率取決于波特率取決于T1T1溢出率溢出率( (設(shè)設(shè)SMOD=0),SMOD=0), 計算計算T1T1定時初值:定時初值: 11059200110592002 20

21、 0 中南林業(yè)科技大學(xué)涉外學(xué)院單片機原理及應(yīng)用 2021-7-2018 甲機發(fā)送子程序:甲機發(fā)送子程序: MOV TMOD,#20HMOV TMOD,#20H; ;置置T1T1定時器工作方式定時器工作方式2 2 MOV TL1,#0E8HMOV TL1,#0E8H; ;置置T1T1計數(shù)初值計數(shù)初值 MOV TH1,#0E8HMOV TH1,#0E8H; ;置置T1T1計數(shù)重裝值計數(shù)重裝值 CLR ET1CLR ET1; ;禁止禁止T1T1中斷中斷 SETB TR1SETB TR1;T1;T1啟動啟動 MOV SCON,#40HMOV SCON,#40H; ;置串行方式置串行方式1,1,禁止接收

22、禁止接收 MOV PCON,#00HMOV PCON,#00H; ;置置SMOD=0(SMODSMOD=0(SMOD不能位操作不能位操作) ) CLR ESCLR ES; ;禁止串行中斷禁止串行中斷 MOV R0,#40HMOV R0,#40H; ;置發(fā)送數(shù)據(jù)區(qū)首地址置發(fā)送數(shù)據(jù)區(qū)首地址 MOV R2,#16MOV R2,#16; ;置發(fā)送數(shù)據(jù)長度置發(fā)送數(shù)據(jù)長度 MOVMOVA,R0A,R0; ;讀一個數(shù)據(jù)讀一個數(shù)據(jù) MOVMOVSBUF,ASBUF,A; ;發(fā)送發(fā)送 JNBJNBTI,$TI,$; ;等待一幀數(shù)據(jù)發(fā)送完畢等待一幀數(shù)據(jù)發(fā)送完畢 CLRCLRTITI; ;清發(fā)送中斷標志清發(fā)送中斷標

23、志 INCINCR0R0; ;指向下一字節(jié)單元指向下一字節(jié)單元 DJNZDJNZR2,TRSAR2,TRSA; ;判判1616個數(shù)據(jù)發(fā)完否個數(shù)據(jù)發(fā)完否? ?未完繼續(xù)未完繼續(xù) RET RET ; ; TXDA:TXDA: TRSA:TRSA: 中南林業(yè)科技大學(xué)涉外學(xué)院單片機原理及應(yīng)用 2021-7-2019 MOV TMOD,#20HMOV TMOD,#20H; ;置置T1T1定時器工作方式定時器工作方式2 2 MOV TL1,#0E8HMOV TL1,#0E8H; ;置置T1T1計數(shù)初值計數(shù)初值 MOV TH1,#0E8HMOV TH1,#0E8H; ;置置T1T1計數(shù)重裝值計數(shù)重裝值 CLR ET1CLR ET1; ;禁止禁止T1T1中斷中斷 SETB TR1SETB TR1;T1;T1啟動啟動 MOV SCON,#4

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論