




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、單片機原理及應用教案課題名稱MCS-51單片機的概述課次第(1)次課學時2課型理論();實驗();教學目標使學生了解本課程的學習方法、單片機應用等知識。重點、難點及解決方法重點掌握學習方法,解決方法是提高自學能力。教學基本內(nèi)容與教學設計1-1、學習本課程的意義1-2、學習本課程的方法1-3、單片機發(fā)展過程1-4、單片機的應用1-5、MCS51和AT89單片機教學方法講授教學手段講授課外學習安排觀察汽車上如導航儀等單片機的應用產(chǎn)品,關注相關電子專業(yè)的知識參考資料計算機原理、通信原理、數(shù)電、模電學習效果評測課外學習指導安排教學后記單片機原理及應用講稿教學內(nèi)容備 注第一章 概論1-1、學習本課程的意
2、義一、單片機的廣泛應用二、自動化專業(yè)的必修課三、畢業(yè)設計四、畢業(yè)后的應用1-2、學習本課程的方法一、多記、多看、多練二、多做實驗、驗證程序三、對典型環(huán)節(jié)要熟記四、隨時做好應用的準備五、有自學和專研的精神六、實踐出真理1-3、單片機發(fā)展過程第一階段 7174年 四位4004第二階段 7478年 76年的Inter公司的MCS48(8位)第三階段 7883年 高性能 8位MCS-51 16位MCS-96第四階段 1983年 飛速發(fā)展和應用階段今后發(fā)展趨勢:1、 多功能A/D、D/A大存儲量、驅(qū)動能力等2、 高性能多CPU、高速度 指令堆棧(RISC),流水線3、 低電壓、低功率便攜式產(chǎn)品、消費類產(chǎn)
3、品、CMOS工藝 3V以下、uA級4、 低價格目前流行的單片機、MCS-51系列的指令系統(tǒng)AT89C51,AT89S511-4、單片機的應用1、儀器儀表 2、工業(yè)領域控制器 3、醫(yī)療衛(wèi)生 4、辦公室自動化 5、金融電子系統(tǒng) 6、防盜報警 7、無線電 8、家用電器 9、信息處理 10、汽車、航運、高速公路、航天航空1-5、MCS51和AT89單片機以Inter公司8051為內(nèi)核,ATMEL公司利用Flash存儲,增加ISP功能(串行口)及E2PROM技術集合一體,研制了真正的單片機,取代了8031和8051產(chǎn)品*MCS-51和AT89S51單片機的區(qū)別AT89S51的主要特點:1、 和MCS51
4、相兼容的8位CPU2、 具有4K的Flash、ROM存儲器,128字節(jié)RAM3、 2個定時器 16位4、 32個I/O接口5、 1個全雙工串行通信接口 VART6、 6個中斷源,4個優(yōu)先級7、 33MHZ的晶振頻率8、 ISP在線編程方式9、 一個WDT看門狗定時器10、雙數(shù)據(jù)指針DPTR0,DPTR111、向下兼容51全系列產(chǎn)品單片機原理及應用教案課題名稱第二章 AT89S51單片機的系統(tǒng)結(jié)構(gòu)課次第(2-5)次課學時8課型理論();實驗();教學目標使學生掌握AT89S51硬件資源、專用寄存器、存儲器結(jié)構(gòu)、并行接口結(jié)構(gòu)。重點、難點及解決方法重點掌握專用寄存器、存儲器結(jié)構(gòu),難點是并行接口結(jié)構(gòu)。
5、解決方法是多加練習。教學基本內(nèi)容與教學設計2.1、AT89S系列單片機的硬件結(jié)構(gòu)、AT89S51硬件結(jié)構(gòu)特點 (P12頁 圖2-1) 引腳功能 (P14頁 圖2-3)2.2、 AT89S51單片機的中央處理器CPU,MCU、算術/邏輯運算部件:ALU、專用寄存器、振蕩器、時鐘電路及時序2.3 并行接口結(jié)構(gòu)2.4存儲器結(jié)構(gòu)2.5布爾處理器2.6工作方式(復位、運行、低功耗,掉電)復位方式 單片機在線編輯:ISP教學方法講授教學手段講授課外學習安排14道習題參考資料教材學習效果評測課外學習指導安排每次課前半小時輔導教學后記單片機原理及應用講稿教學內(nèi)容備 注第二章 AT89S51單片機的系統(tǒng)結(jié)構(gòu)2.
6、1、AT89S系列單片機的硬件結(jié)構(gòu)、AT89S51硬件結(jié)構(gòu)特點 (P12頁 圖2-1)特點:1、 內(nèi)部ROM和RAM、R寄存器區(qū)2、 外部存儲器尋址空間3、 輸入輸出I/O接口4、 定時/計數(shù)器5、 中斷與堆棧6、 指令系統(tǒng)7、 布爾處理器 引腳功能 (P14頁 圖2-3)2.2、 AT89S51單片機的中央處理器CPU,MCU、算術/邏輯運算部件:ALU1、運算部件 包括:ALU、布爾處理器、累加器ACC、寄存器B、暫存器1和暫存器2、程序狀態(tài)寄存器PSW、十進制調(diào)整DA,進行算術/邏輯運算和布爾操作2、控制部件 包括:程序計數(shù)器(指針)PC,程序地址寄存器,指令寄存器,指令譯碼器,條件判斷
7、跳轉(zhuǎn)電路,定時邏輯控制電路ALE,屬于傳輸控制部分和運算部件一起完成指令的微操作、專用寄存器1、累加器A 和運算單元一起完成運算、中轉(zhuǎn)站2、寄存器B 和A一起完成乘除法運算,可做一般寄存器3、程序狀態(tài)寄存器PSWCYACF0RS1RS0OVXPCY進、借位位、AC半進位位、F0用戶標志RS1、RS0選擇及寄存器組別的控制位OV溢出位、X空、P奇偶校驗位、A中“1”的個數(shù)4、數(shù)據(jù)指針:DPTR0、DPTR1,十六位操作、振蕩器、時鐘電路及時序(1)時鐘電路(2)CPU時序概念振蕩周期=1/fz 狀態(tài)周期=2/fz S為狀態(tài)=P1+P2拍機器周期=12/fz 指令周期=14個機器周期P18頁 圖2
8、-82.3 并行接口結(jié)構(gòu)(1)P1口,普通I/O口帶4個TTL負載準雙向I/O接口(2)P0口普通I/O接口沒有上拉電阻,自己外接10K的電阻。 低八位地址線/數(shù)據(jù)線。外部擴展時用。 (3)P2口 普通I/O接口和P1口一樣 高8位地址、外部擴展時 (4)P3多功能接口 普通I/O接口和P1口一樣 第二功能:P3.0RXDQ串行輸入 P3.1TXD串行輸出 P3.2外部中斷輸入 P3.3 外部中斷 P3.4T0定時器外部計數(shù)輸入 P3.5T1定時器外部計數(shù)輸入 P3.6寫信號線 P3.7讀信號線 擴展外部時讀寫控制線2.4存儲器結(jié)構(gòu) 程序存儲器內(nèi)部: 4K:0000H0FFFH =1 外擴:
9、64K0000H0FFFH =0控制線 數(shù)據(jù)存儲器內(nèi)部有: R寄存器(001FH) 位存儲器(202FH) 通用寄存區(qū)(307FH) 特殊寄存器(800FFH) 外部可擴60K,控制線為,程序存儲器單片機復位后開始工作PC=0000H各中斷入口地址.外中斷0=00013H T0地址=00013H 外中斷1=0013H T0地址=0013H 串行口=0023H內(nèi)部數(shù)據(jù)存儲器(007FH)(80H0FFH)1、R寄存器區(qū):00H1FHRS1,RS0 各區(qū)R0R1R2R3R4R5R6R7100區(qū)07H01H.07H011區(qū)08H.0FH102區(qū)10H.17H113區(qū)18H.1FH 2、位尋地區(qū)一位寄
10、存器的位地址:20.0H2F.7H3、通用寄存區(qū):30H7FH4、特殊寄存器區(qū): 80H0FFH 不連續(xù) SFR寄存器 (P24頁 表2-9)5、外部數(shù)據(jù)寄存器DPTR,R0,R1,指針,00000FFFH2.5布爾處理器 CY-位累加器 , 操作位(202FH)007FH區(qū) (0或8的SFR)800FFH2.6工作方式(復位、運行、低功耗,掉電)復位方式1、復位電路 持續(xù)高電平時2個機器周期,必須可靠2,看門狗復位啟動看門狗WDTMOV WDTRST, #1EHMOV WDTRST, #0E1H*啟動后,在16383個機器周期內(nèi)必須重復執(zhí)行WDTRST啟動.*當WPT溢出后,RST腳輸出98
11、個振蕩周期高電平使單片機復位.從PC=0000開始執(zhí)行3、復位后SFR的狀態(tài) PC=0000H,ACC,B,PSW,DPTR,計數(shù)/定時器,串行口,都為00H,而為00H,而SP=07H,P0P3=0FFH狀態(tài)4、低功耗方式:PCON?.PD1DLPD掉電方式位,PD=1進入掉電,單片機停止工作(設有時鐘)RAM中的數(shù)據(jù)不變掉電退出:必須RST(復位)有效,高電平IDL待機 IDL=1近式待機 單片機CPU停止工作,RC不工作RAM和SFR內(nèi)容不變,中斷系統(tǒng),定時器,串行口仍然繼續(xù)工作(有時鐘)待機退出,有中斷自動退出.IDC=0也可復為退出. 單片機在線編輯:ISP編輯接法,同步串行 串入串
12、出波形 (P33圖2-19)讀寫命令 (P33頁 表2-14) 單片機原理及應用教案課題名稱第三章:AT89C51單片機指令系統(tǒng)課次第(6-8)次課學時6課型理論();實驗();教學目標使學生掌握單片機指令系統(tǒng)與尋址方式。重點、難點及解決方法重點掌握指令系統(tǒng),難點是尋址方式。解決方法是多加練習。教學基本內(nèi)容與教學設計第三章:AT89C51單片機指令系統(tǒng) §311指令格式§3-1單片機系統(tǒng)的尋址方式§312 尋址方式§32 單片機系統(tǒng)的分類§321傳遞指令§322算術運算類指令§323邏輯運算及移位類指令§324控制
13、轉(zhuǎn)移類指令 §325位操作指令教學方法講授教學手段講授課外學習安排14道習題參考資料教材學習效果評測課外學習指導安排每次課前半小時輔導教學后記單片機原理及應用講稿教學內(nèi)容備 注第三章:AT89C51單片機指令系統(tǒng) §3-1單片機系統(tǒng)的尋址方式§311指令格式標號:操作碼 目的操作數(shù),源操作數(shù)1,源操作數(shù)1,源操作數(shù)2;注釋LOOP:CJNE A , 31H,LOOP,;A(31H)轉(zhuǎn)LOOP1 INC A;A+1A2.指令中常用符號(1)RI 和R N i=0,1 ,n=07(2)#data ,#立即數(shù) data為8位數(shù)字 (3)#data 16位數(shù)字(4)rel
14、 相對地址(5)addr16 16位地址,64K范圍 addr 11 11位目的地址,2K地址范圍 divect 8位內(nèi)存直接接地(特殊寄存器) bit 位地址 Ri, DPTR 間接尋址寄存器,Ri為指針 x 表示x中的內(nèi)容 (x) x為指針,x為地址;該地址中內(nèi)容 1和 1表示取反;表示流向§312 尋址方式1、寄存器尋址,R寄存器 MOV A , R0 (A)(R0)2、立即尋址,# MOV R0 , #30H ; (R0)=20H3、寄存器間接尋址 , MOV A , R0 ; (A)=( R0) MOV A , DPTR4、直接尋址, 無 MOV R0 , 30H (R0)
15、=(30H)5、變址尋址, 查表 MOV A,A+DPTR;A=(A+DPTR) A變址增量DPTR,首地址基址6、相對尋址; Jz loop7、位尋址 MOV C, 24H§32 單片機系統(tǒng)的分類 分為五類:傳送類、算術運算、邏輯運算、控制轉(zhuǎn)移(分支) 、位操作§321傳遞指令1、 內(nèi)部數(shù)據(jù)傳遞類(1) 立即尋址:對象A,地址,direct,Ri ,Rn, DPTR和#data5條,(P39頁 ) 單向傳遞 (2)寄存器尋址:對象A,Rn,Ri ,direct,和A,Rn 5條 (3)直接尋址:對象A,Rn,Ri ,direct,和direct 4條2、 外部數(shù)據(jù)傳遞,(
16、RAM擴展) MOVXMOVX A,DPTRMOVX A, Ri (P2為高位)MOVX R, AMOVX DPTR,A3、 程序存儲器的傳遞MOVC A,A+DPTRMOVC A,A+PC4、 數(shù)據(jù)交換指令:對象A,Ri ,Rn,direct和AXCH A, directXCH A, RiXCH A, R0XCHD A,R0 (A30)(R0)30)SWAP A (A77)(A30)5、 堆棧操作指令PUSH direct 壓棧,先SP1SP后(SP) (direct)POP direct 出棧 先(SP) direct后SP-1SP§322算術運算類指令1、 加法指令 A, #d
17、ata, direct, Ri, Rn 和AADD A, #dataADD A, directADD A, R0ADD A,R02、 帶進位加法ADD A, #dataADD A, directADD A, RiADD A, Ri3、 帶進位減法SUBB A, #dataSUBB A, directSUBB A, RiSUBB A,R04、 加一、減一指令INC AINC directINC R0INC R0INC DPTR 十六位DEC directDEC R0DEC R0DEC A5、 乘除法指令乘法:NUL AB A*B的低8位存在A中,高8位存在B中除法:DIV AB A÷B
18、的商存在A中,余數(shù)存在B中6、 二十進制調(diào)整DA A將二進制調(diào)整為十進制§323邏輯運算及移位類指令1、 邏輯“與”指令 ANL 共6條對象:A,#data, Ri ,Rn,direct和A, directANL direct, AANL direct, #data2、 邏輯“或”指令 ORL 共6條,和“與”形式相同3、 邏輯“異或” XRL 共6條,和“與”形式相同4、 累加器A取反、清零指令取反:CPL A清零:CPR A5、 移位指令§324控制轉(zhuǎn)移類指令1、 無條件轉(zhuǎn)移LJMP addr 16 ; 64KAJMP addr 11 ; 2KSTMP rel ;-12
19、8+127JMP A+DPTR ;散轉(zhuǎn)2、 條件轉(zhuǎn)移累加器判零轉(zhuǎn)移指令 2條 JE rel A=0轉(zhuǎn)移;JNE rel A0 轉(zhuǎn)移比較轉(zhuǎn)移指令 4條 CJNE A, #data, rel CJNE A, direc, rel CJNE Ri, #data, rel CJNE Rn, #data, rel轉(zhuǎn)移、減一循環(huán)指令:DJNE 減一,不為零轉(zhuǎn)移 DJNE direct, rel DJNE Rn , rel3、 子程序調(diào)用指令LCALL addr16 ;子程序標號ACALL addr114、 CPU控制指令子程序返回 RET中斷程序返回 RETI空操作 NOP§325位操作指令1、
20、 位傳遞指令MOV bit, C MOV C, bit2、 置位指令(清零、復位、置“1”、置位)CLR bit CLR CSETB bit SETB C3、 位邏輯操作指令ANL C, bit ANL C,/bit 寫ORL C, bit OPL C,/blt 或CPL C CPL bit 取反4、 位條件轉(zhuǎn)移指令(1)通過進位位判斷轉(zhuǎn)移 JC rel JNC rel (2)通過位單元內(nèi)容判斷轉(zhuǎn)移 JB bit, rel JNB bit, rel JBC bit, rel 為“1”轉(zhuǎn)移并清零該位單片機原理及應用教案課題名稱第四章 匯編語言程序設計基礎課次第(8-11)次課學時8課型理論();
21、實驗();教學目標使學生掌握匯編語言簡單程序設計方法。重點、難點及解決方法重點掌握設計方法,難點是循環(huán)程序和查表程序。解決方法是多加練習。教學基本內(nèi)容與教學設計第四章 MCS_51 匯編語言程序設計 4.1 匯編語言程序設計概述 4.2 單片機匯編語言程序的基本結(jié)構(gòu)形式 順序程序設計 分支程序設計 循環(huán)程序設計 4.3 MCS-51 單片機匯編語言程序設計舉例 算術運算程序 數(shù)制轉(zhuǎn)換程序 查表程序 4.4 匯編語言原程序的編輯與匯編 4.5 MCS-51 匯編語言偽指令 教學方法講授教學手段講授課外學習安排24道習題參考資料教材學習效果評測課外學習指導安排每次課前半小時輔導教學后記單片機原理及
22、應用講稿教學內(nèi)容備 注第四章 MCS_51 匯編語言程序設計 4.1 匯編語言程序設計概述 要求 :熟悉匯編語句的基本格式,掌握匯編語言程序的三種基本結(jié)構(gòu)。 匯編語言的特點與語句格式 特點: <1> 匯編語言程序代碼生成效率高,運行速度快; <2> 匯編語言程序的開發(fā)難度較大; <3> 匯編語言控制的實時性好; <4> 匯編語言的可移植性較差; 匯編語言的語句格式: 標號: 操作碼 操作數(shù) ;注釋 關于語句格式的說明: 1、標號:標號是由1-8個ASCII字符組成,頭一個字符必須是字母; 標號不能使用系統(tǒng)中已經(jīng)定義的助記符、偽指令及其它標號; 標
23、號的后面必須加冒號; 標號并不是每一條語句都需要; 2、操作碼:表明指令的作用與功能,不能缺少。 3、操作數(shù):是指令中的操作對相,一條指令中的操作數(shù)可以是1個、2個、3個或沒有。 4、注釋:不生成可執(zhí)行的機器代碼,但是能增加程序的可閱讀性,便于程序的調(diào)試與交流。 412 匯編語言程序設計的特點 1、要求程序員要數(shù)據(jù)、程序空間的分配與使用作出具體的安排; 2、要求開發(fā)人員具有較好的硬件知識; 3、匯編語言程序設計的技巧較高 4.2 單片機匯編語言程序的基本結(jié)構(gòu)形式 順序程序設計 順序程序結(jié)構(gòu):無分支,無跳轉(zhuǎn)。 例1:有一變量存放在內(nèi)部 RAM的20H單元,其取值范圍為:00H05H,編制一段程序
24、求該變量的平方值,將結(jié)果存入21H單元。 程序如下: ORG 1000H START: MOV DPTR,#2000H MOV A,20H MOVC A,A+DPTR MOV 21H,A SJMP $ ; ORG 2000H TABLE: DB 00H,01H,04H,09H,10H,19H END 例2、三字節(jié)無符號數(shù)的加法 加數(shù) : 50H 51H 52H 被加數(shù) :53H 54H 55H 結(jié)果 : 50H 51H 52H 程序如下 : MOV R0,#52H mov R1,55h MOV A,R0 ADD A,R1 MOV R0,A DEC R0 DEC R1 MOV A,R0 ADDC
25、 A,R1 MOV R0,A DEC R0 DEC R1 MOV A,R0 ADDC A,R1 MOV R0,A MOV 00H,C 分支程序設計 例1、求雙字節(jié)數(shù)的補碼 程序如下 : START: MOV R0,#add1 MOV R1,#add2 MOV A,R0 CPL A INC A MOV R1,A INC R0 INC R1 JZ ZERO MOV A,R0 CPL A MOV R1,A SJMP LOOP1 ZERO: MOV A,R0 CPL A INC A MOV R1,A LOOP1: END例2、根據(jù) R7的內(nèi)容轉(zhuǎn)向相應的處理程序 程序如下 : START: MOV DP
26、TR,#TAB MOV A,R7 ADD A,R7 MOV R3,A MOVC A,A+DPTR ;先取出高8位地址 XCH A,R3 INC A MOVC A,A+DPTR ;再取出低8位地址 MOV DPL,A MOV DPH,R3 CLR A JMP A+DPTR TAB: DW PORT0 DW PORT1 DW PORTN 循環(huán)程序設計 循環(huán)程序結(jié)構(gòu) :當型循環(huán)/直到型循環(huán) 例1、 50ms延時程序(設系統(tǒng)為12M的晶振) DELAY: MOV R7,#200 DELAY_1 : MOV R6,#123 NOP DELAY_2: DJNZ R6,DELAY_2 DJNZ R7,DEL
27、AY_1 RET 例2、將內(nèi)部 RAM中起始地址為add的數(shù)據(jù)串傳送到外部RAM起始地址為buffer的存儲區(qū)中去,直到發(fā)現(xiàn)”$”符號傳送結(jié)束. 程序如下 : MOV R0,#add MOV DPTR,#buffer LOOP0: MOV A,R0 CJNE A,#24H,LOOP1 SJMP LOOP2 LOOP1: MOVX DPTR,A INC R0 INC DPTR SJMP LOOP0 LOOP2: END 4.3 MCS-51 單片機匯編語言程序設計舉例 要求:熟悉與掌握常用的基本匯編語言子程序設計的基本方法 , 重點包括算術運算程序、代碼轉(zhuǎn)換程序、定時程序、查表程序等 算術運算程
28、序 1 加減法運算 例 1:三字節(jié)無符號數(shù)的加法 加數(shù) : 50H 51H 52H 被加數(shù) :53H 54H 55H 結(jié)果 : 50H 51H 52H 程序如下 : MOV R0,#52HMOV R1,55H MOV A,R0 ADD A,R1 MOV R0,A DEC R0 DEC R1 MOV A,R0 ADDC A,R1 MOV R0,A DEC R0 DEC R1 MOV A,R0 ADDC A,R1 MOV R0,A MOV 00H,C 例 2:設有兩個N字節(jié)無符號數(shù)分別存放在內(nèi)部RAM的單元中,低字節(jié)在前,高字節(jié)字節(jié)在后,分別用R0指示被減數(shù)單元地址,由R2指示減數(shù)單元地址,其差存
29、放在原被減數(shù)的單元地址中。 CLR C MOV R2,#N LOOP: MOV A,R0SUBB A,R1 MOV R0,AINC R0 INC R1 DJNZ R2,LOOP JC QAZ RET 例 3:假定R2、R3和R4、R5分別存放兩個16位的帶符號的二進制數(shù),其中R2和R4的最高位為符號位,請編寫帶符號雙字節(jié)數(shù)的加減法運算程序,把運算結(jié)果存入R6、R7單元。BSUB: MOV A,R4 CPL ACC.7 MOV R4,A BADD: MOV A,R2 MOV C,ACC.7 MOV F0,C XRL A,R4 MOV C,ACC.7 MOV A,R2 CLR ACC.7 MOV
30、R2,A MOV A,R4 CLR ACC.7 MOV R4,A JC JIAN JIA: MOV A,R3 ADD A,R5 MOV R7,A MOV A,R2 ADDC A,R4 MOV R6,A JB ACC.7,QAZ QWE: MOV C,F0 MOV ACC.7,C MOV R4,A RET JIAN: MOV A,R3 CLR C SUBB A,R5 MOV R7,A MOV A,R2 SUBB A,R4 MOV R6,A JNB ACC.7,QWE BMP: MOV A,R7 CPL A ADD A,#1 MOV R7,A MOV A,R6 CPL A ADDC A,#0 MO
31、V R6,A CPL F0 SJMP QWE . QAZ: 2.乘法運算例、兩個雙字節(jié)數(shù)的乘法運算, RAM的R2、R3和R6、R7單元存放兩個雙字節(jié)無符號數(shù)(R2、R6存放高字節(jié)),計算兩數(shù)之積并存入R4、R5、R6、R7單元中。 參考程序如下: DBMUL: MOV A,R3 MOV B,R7 MUL AB XCH A,R7 MOV R5,B MOV B,R2 MUL AB ADD A,R6 MOV R4,A CLR A ADDC A,B MOV R5,A MOV A,R6 MOV B,R3 MUL AB ADD A,R4 XCH A,R6 XCH A,B ADDC A,R5 MOV R5
32、,A MOV F0,C MOV A,R2 MUL AB ADD A,R5 MOV R5,A CLR A MOV ACC.0,C MOV C,F0 ADDC A,B MOV R4,A RET 數(shù)制轉(zhuǎn)換程序 1、十六進制數(shù)轉(zhuǎn)換為ASCII碼 例、在內(nèi)部 RAM的hex單元存放由2位十六進制數(shù),試將其轉(zhuǎn)換成ASCII碼,并存放在asc和asc+1單元中。 其參考程序如下: MOV SP,#3FH MAIN: PUSH hex ACALL HASC POP hex MOV A,hex SWAP A PUSH ACC ACALL HASC POP asc+1 ; HASC: DEC SP
33、DEC SP POP ACC ANL A,#0FH ADD A,#07 MOVC A,A+DPTR PUSH ACC INC SP INC SP RET ASCTAB: DB "0,1,2,3,4,5,6,7,8,9" DB "A,B,C,D,E,F" 2、ASCII碼轉(zhuǎn)換為十六進制碼 例、把外部 RAM30H-3FH單元的ASCII碼轉(zhuǎn)換成十六進制碼并依次存入內(nèi)部RAM的60H-67H單元。 MAIN: MOV R0,#30H MOV R1,#60H MOV R7,#08H AB: ACALL TRAN SWAP A MOVX R1,A INC R0
34、ACALL TRAN XCHD A,R1 INC R0 INC R1 DJNZ R7,AB HALT: AJMP HALT TRAN: CLR C MOVX A,R0 SUBB A,#30H CJNE A,#0AH,BB AJMP BC BB: JC DONE BC: SUBB A,#07H DONE: RET 定時程序 例、定時程序如下: MOV R5,#TIME1 LOOP2: MOV R4,#TIME2 LOOP1: NOP NOP DJNZ R4,LOOP1 DJNZ R5,LOOP2 RET 該定時程序的執(zhí)行時間為: T=(1+1+2)*TIME2+1+2)*TIME1+1)*T0
35、其中 T0為單片機的機器周期 查表程序 例1 查有鍵按下字符串是否相等,相等A=0,否則A0兩字符串首地址Ro,R1長度在A中,占用BBJ : MOV R2,ABJ1: MOV A, RoMOV B, RoCJNZ A,B,LOOP;不能轉(zhuǎn)出CNC RO; 相等DJNZ R2, BJ1; MOV A,#0; 全相等RETLOOP:MOV A,#0 全相等RETLOOP: MOVA, #1 RET例2、根據(jù)鍵值轉(zhuǎn)向相應的處理程序,MOV DPTR,#BS RL A MOV R2,A MOVC A,A+DPTR PUSH ACC MOV A,R2 INC A MOVC A,A+DPTR MOV D
36、PH,A POP DPL CLR A JMP A+DPTR BS: DB RK0L,RK0H DB RK1L,RK1H DB RK2L,RK2H . 例3查表程序設計 1.七段碼表h g f e d c b a “0”0 0 1 1 1 1 1 1 “1”2.鍵值表注意:常用的查表指令: MOVC A,A+DPTR MOVC A,A+PC 當使用 MOVC A,A+PC指令時,要注意查表指令與表首單元地址之間的差,并對A的內(nèi)容進行相應的修改。 0080 900095 MOV DPTR,#BS 0083 23 RL A 0084 FA MOV R2,A 0085 2400 ADD A,#0DH
37、0087 83 MOVC A,A+PC 0088 C0E0 PUSH ACC 008A EA MOV A,R2 008B 04 INC A 008C 2400 ADD A,#06H 008E 83 MOVC A,A+PC 008F F583 MOV DPH,A 0091 D082 POP DPL 0093 E4 CLR A 0094 73 JMP A+DPTR BS: 0095 0000 DB 00,00 0097 000B DB 00,11 0099 0021 DB 00,33 . 4.4 匯編語言原程序的編輯與匯編 要求: 熟悉匯編語言程序編輯與匯編的基本方法 一、匯編語言源程序的編輯與匯
38、編 1、編輯匯編源程序 文件名: *.ASM 文件內(nèi)容 :符合匯編語言源程序的書寫格式 2、源程序的匯編 45 MCS-51 匯編語言偽指令 要求: 掌握常用的匯編語言偽指令及其應用 1、匯編起始偽指令ORG 格式 :標號:ORG 16位地址 例 : ORG 0050H MAIN: MOV SP,#50H - 2、匯編結(jié)束偽指令END 格式 :標號:END 表達式 3、字節(jié)數(shù)據(jù)定義偽指令DB 格式 :標號:DB D1,D2,. 例 : DB "How are you!" DB -2,-4,-6,8,10,18 4、字定義偽指令DW 格式 :標號:DW 16位數(shù)據(jù)表 例 :
39、ORG 1000H WORD: DW 324AH,3CH 匯編后 :(1000H)=32H,(1001H)=4AH (1002H)=00H,(1003H)=3CH 5、空間定義偽指令DS ORG 3000H BUF: DS 50 . 6、賦值偽指令EQU 格式 :符號名EQU表達式 COOLER EQU P1.0 HEATER EQU P1.2 VALUE EQU 40H . SETB COOLER CLR HEATER MOV VALUE,A 7、位地址符號定義偽指令BIT QIDONG BIT P1.0 FLAG BIT 20H 單片機原理及應用教案課題名稱第五章:AT89S51單片機中斷
40、系統(tǒng) 課次第(12-13)次課學時4課型理論();實驗();教學目標使學生掌握中斷系統(tǒng)的設計方法。重點、難點及解決方法重點掌握與中斷有關的寄存器,難點是中斷的編程及應用。解決方法是多加練習。教學基本內(nèi)容與教學設計第五章 中斷系統(tǒng)§5-1 AT89單片機的中斷及中斷請求源§5-1-1 中斷概念 §5-1-2 中斷源AT89S51與中斷入口地址§5-2 與中斷有關的寄存器§5-3 中斷響應過程及應用§5-3-1 中斷響應過程§5-3-2 中斷的編程及應用 教學方法講授教學手段講授課外學習安排6道習題參考資料教材學習效果評測課外學
41、習指導安排每次課前半小時輔導教學后記單片機原理及應用講稿教學內(nèi)容備 注第五章 中斷系統(tǒng)§5-1 AT89單片機的中斷及中斷請求源§5-1-1 中斷概念 1.中斷概念:處理過程 學會事件處理 2.引入中斷的優(yōu)點 (1)高速CPU和慢速外設的矛盾 (2)及時處理信息,提高時實控制能力 (3)具備故障處理能力§5-1-2 中斷源AT89S51 中斷入口地址 五個中斷源:INT0 (0003H) TO (000BH) INT1 (0013H) T1 (001BH) VART (0023H) T2 (002BH)中斷系統(tǒng)示意圖: (P83圖 5-2) §5-2 與
42、中斷有關的寄存器1.定時/計數(shù)中斷控制寄存器 TCON (88H)TF1TR1TF0TR0IE1IT1IE0IT0 TF IE中斷標志當TF為1時 有定時器益出T發(fā)出中斷請求,執(zhí)行中斷程序時清零當IE=1時,有外部引腳提出中斷請求IT為外部中斷方式選擇端:軟件設置設IT=1時 外部INT引腳為下降沿觸發(fā)IE使IE=1設IT=0時 外部INT引腳為低電平出發(fā)IE 使IE=1TR為定時/計數(shù)進行計數(shù) TR=0定時/計數(shù)停止計數(shù)2.串行口中斷: 99H 98H .TIRISCON (98H) RI=1接收完一組數(shù)據(jù),可以讀取SBUF,必須軟件清零TI=1已發(fā)送完一組數(shù)據(jù),可以讀取SBUF,必須軟件清
43、零SBUF為串行口接收,發(fā)送寄存器地址99H3.中斷允許寄存器: IE (A8H)EAET2ESET1EX1ET0EX0EA=1 #CUP中斷 EA=0 禁止CUP中斷EX0=1 允許INT0中斷 EX0=0 禁止INTO中斷ET0=1 允許T0中斷 ET0=0 禁止TO中斷EX1=1 允許INT1中斷 EX1=0 禁止INT1中斷ET1=1 允許T1中斷 ET1=0 禁止 T1中斷ES=1 允許UART中斷 ES=0 禁止串行口中斷ET2=1 允許T2中斷 ET2=0 禁止T2中斷4.中斷優(yōu)先級 1.在同級下查詢順序2.兩個優(yōu)先級:中斷優(yōu)先控制寄存器IPIP (0B8H) PSPT1PX1P
44、T0PX0 當哪位被軟件置”1”為高級中斷源,可以中斷嵌套§5-3中斷響應過程§5-3-1中斷響應過程1.不響應中斷的情況(1)CUPE執(zhí)行同級或高級中斷程序,必須等執(zhí)行完(2)執(zhí)行指令沒有執(zhí)行完,必須執(zhí)行完(3)執(zhí)行RETI和IE.IP指令,必須執(zhí)行完該指令,且再執(zhí)行一條指令后2.中斷響應過程:(1)置位相對應優(yōu)先觸發(fā)器(2)取下一條指令的PC指針壓棧SP+2(3)執(zhí)行一條硬件轉(zhuǎn)移指令:PC取對應的中斷入口地址(4)執(zhí)行中斷服務子程序(5)中斷返回彈出PC值SP-23.中斷響應時間:最短需要三個機器周期§5-3-2 中斷的篇程及應用 1.編寫過程: (1)中斷源
45、的初始化:INT引腳 定時/計數(shù) UART串行口 等初始要求:對應矢量口地址:ORG 0000H 初始化 AJMP CSH ORG 0003H AJMP WBZD ORG 000BH (2)確定優(yōu)先級 同級可以不寫 (3)開中斷和允許中斷源中斷 以上在主程序中篇寫(初始化) (4)篇寫中斷時及多子程序:對應中斷入口 2.應用例1:篇寫外部中斷INTO的電平觸發(fā)的初始化程序 CLR ITO ;電平觸發(fā) SETB PXO ;允許外中斷INTO SETB EA ;開CUP中斷 例2:篇寫計數(shù)器(外部事件)30H計數(shù) ORG 0000H AJMP CSH;轉(zhuǎn)初始化 ORG 0003H AIMP 00B
46、ZD 初始化代入口地址 ORG 0100H CSH: MOV SP #60H MOV 30H #00H SETB IT0 下降沿觸發(fā) SETB EX0 允許INT0中斷 SETB EA 開CUP中斷 初始化完成 ECX SJMP $ 執(zhí)行主程序 WBZD0: INC 30H RETI END單片機原理及應用教案課題名稱第六章 單片機定時/計數(shù)器 課次第(14-16)次課學時6課型理論();實驗();教學目標熟悉定時器 / 計數(shù)器的寄存器,掌握其工作方式 1 、 2 。重點、難點及解決方法重點掌握與定時/計數(shù)器有關的寄存器,難點是定時/計數(shù)器編程及應用。解決方法是多加練習。教學基本內(nèi)容與教學設計第六章 AT89S51 單片機的定時 / 計數(shù)器 ¬ 2個16位的定時器§6-
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- epc項目國家合同范本
- 化驗儀器采購合同范本
- 單位日常維護合同范本
- 2025江西省安全員《B證》考試題庫
- Avision虹光AV188快速說明書
- 儲能柜銷售合同范本
- 醫(yī)療廠房銷售合同范本
- 印刷機采購合同范例
- 廠家瓷磚訂購合同范本
- 2025年甘肅省安全員《B證》考試題庫
- DL-T5190.1-2022電力建設施工技術規(guī)范第1部分:土建結(jié)構(gòu)工程
- 陜西省民用建筑能耗監(jiān)測系統(tǒng)技術指南
- 教育機構(gòu)傳染病防控應急預案
- 商業(yè)道德承諾書
- 光伏電站巡檢記錄表完整
- 足浴年工作總結(jié)及計劃
- 高血壓患者不遵醫(yī)飲食行為的原因分析及對策
- 《煤制油技術》課程標準(煤化工技術)
- 膝關節(jié)僵硬個案護理
- 高速公路服務區(qū)管理系統(tǒng)搭建
- 2024年中國華能瀾滄江水電股份有限公司招聘筆試參考題庫含答案解析
評論
0/150
提交評論