版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
汽電101班——《單片機》
單片機原理及應(yīng)用教案
課題名稱MCS-51單片機的概述
課次第(1)次課學時2
課型理論(∨);實驗();
教學目標使學生了解本課程的學習方法、單片機應(yīng)用等知識。
重點、難點及
重點掌握學習方法,解決方法是提高自學能力。
解決方法
1-1、學習本課程的意義
1-2、學習本課程的方法
教學基本內(nèi)容1-3、單片機發(fā)展過程
與教學設(shè)計
1-4、單片機的應(yīng)用
1-5、MCS51和AT89單片機
教學方法講授
教學手段講授
課外學習安排觀察汽車上如導(dǎo)航儀等單片機的應(yīng)用產(chǎn)品,關(guān)注相關(guān)電子專業(yè)的知識
參考資料《計算機原理》、《通信原理》、《數(shù)電》、《模電》
學習效果評測
課外學習
指導(dǎo)安排
教學后記
1
汽電101班——《單片機》
單片機原理及應(yīng)用講稿
教學內(nèi)容備注
第一章概論
1-1、學習本課程的意義
一、單片機的廣泛應(yīng)用
二、自動化專業(yè)的必修課
三、畢業(yè)設(shè)計
四、畢業(yè)后的應(yīng)用
1-2、學習本課程的方法
一、多記、多看、多練
二、多做實驗、驗證程序
三、對典型環(huán)節(jié)要熟記
四、隨時做好應(yīng)用的準備
五、有自學和專研的精神
六、實踐出真理
1-3、單片機發(fā)展過程
第一階段71——74年四位4004
第二階段74——78年76年的Inter公司的MCS48(8位)
第三階段78——83年高性能8位MCS-5116位MCS-96
第四階段1983年飛速發(fā)展和應(yīng)用階段
今后發(fā)展趨勢:
1、多功能
A/D、D/A大存儲量、驅(qū)動能力等
2、高性能
多CPU、高速度指令堆棧(RISC),流水線
3、低電壓、低功率
便攜式產(chǎn)品、消費類產(chǎn)品、CMOS工藝3V以下、uA級
4、低價格
目前流行的單片機、MCS-51系列的指令系統(tǒng)
AT89C51,AT89S51
1-4、單片機的應(yīng)用
1、儀器儀表2、工業(yè)領(lǐng)域控制器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技術(shù)集合一體,研制了真正的單片機,取代了8031和
8051產(chǎn)品
2
汽電101班——《單片機》
*MCS-51和AT89S51單片機的區(qū)別
AT89S51的主要特點:
1、和MCS51相兼容的8位CPU
2、具有4K的Flash、ROM存儲器,128字節(jié)RAM
3、2個定時器16位
4、32個I/O接口
5、1個全雙工串行通信接口VART
6、6個中斷源,4個優(yōu)先級
7、33MHZ的晶振頻率
8、ISP在線編程方式
9、一個WDT看門狗定時器
、雙數(shù)據(jù)指針,
10DPTR0DPTR1
11、向下兼容51全系列產(chǎn)品
3
汽電101班——《單片機》
單片機原理及應(yīng)用教案
課題名稱第二章AT89S51單片機的系統(tǒng)結(jié)構(gòu)
課次第(2-5)次課學時8
課型理論(∨);實驗();
教學目標使學生掌握AT89S51硬件資源、專用寄存器、存儲器結(jié)構(gòu)、并行接口結(jié)構(gòu)。
重點、難點及重點掌握專用寄存器、存儲器結(jié)構(gòu),難點是并行接口結(jié)構(gòu)。解決方法是多
解決方法加練習。
2.1、AT89S系列單片機的硬件結(jié)構(gòu)
2.1.1、AT89S51硬件結(jié)構(gòu)特點(P頁圖2-1)
12
2.1.2引腳功能(P頁圖2-3)
14
2.2、AT89S51單片機的中央處理器CPU,MCU
2.2.1、算術(shù)/邏輯運算部件:ALU
2.2.2、專用寄存器
教學基本內(nèi)容
2.2.3、振蕩器、時鐘電路及時序
與教學設(shè)計
2.3并行接口結(jié)構(gòu)
2.4存儲器結(jié)構(gòu)
2.5布爾處理器
2.6工作方式(復(fù)位、運行、低功耗,掉電)
2.6.1復(fù)位方式
2.6.2單片機在線編輯:ISP
教學方法講授
教學手段講授
課外學習安排14道習題
參考資料教材
學習效果評測
課外學習
每次課前半小時輔導(dǎo)
指導(dǎo)安排
教學后記
4
汽電101班——《單片機》
單片機原理及應(yīng)用講稿
教學內(nèi)容備注
第二章AT89S51單片機的系統(tǒng)結(jié)構(gòu)
2.1、AT89S系列單片機的硬件結(jié)構(gòu)
2.1.1、AT89S51硬件結(jié)構(gòu)特點(P頁圖2-1)
12
特點:
1、內(nèi)部ROM和RAM、R寄存器區(qū)
2、外部存儲器尋址空間
3、輸入輸出I/O接口
4、定時/計數(shù)器
5、中斷與堆棧
6、指令系統(tǒng)
7、布爾處理器
2.1.2引腳功能(P頁圖2-3)
14
2.2、AT89S51單片機的中央處理器CPU,MCU
2.2.1、算術(shù)/邏輯運算部件:ALU
1、運算部件
包括:ALU、布爾處理器、累加器ACC、寄存器B、暫存器1和暫存器2、
程序狀態(tài)寄存器PSW、十進制調(diào)整DA,進行算術(shù)/邏輯運算和布爾操作
2、控制部件
包括:程序計數(shù)器(指針)PC,程序地址寄存器,指令寄存器,指令譯碼
器,條件判斷跳轉(zhuǎn)電路,定時邏輯控制電路ALE,屬于傳輸控制部分和運算部
件一起完成指令的微操作
2.2.2、專用寄存器
1、累加器A
和運算單元一起完成運算、中轉(zhuǎn)站
2、寄存器B
和A一起完成乘除法運算,可做一般寄存器
3、程序狀態(tài)寄存器PSW
CYACFRSRSOVXP
010
CY—進、借位位、AC—半進位位、F—用戶標志
0
RS、RS選擇及寄存器組別的控制位
10
OV—溢出位、X—空、P—奇偶校驗位、A中“1”的個數(shù)
4、數(shù)據(jù)指針:DPTR、DPTR,十六位操作
01
2.2.3、振蕩器、時鐘電路及時序
(1)時鐘電路
5
汽電101班——《單片機》
拍
÷2狀態(tài)
÷3
1/6
機器
÷6
周期、倒數(shù)
外部時鐘輸入
(2)CPU時序概念
①振蕩周期=1/fz②狀態(tài)周期=2/fzS為狀態(tài)=P+P拍
12
③機器周期=12/fz④指令周期=1—4個機器周期
P頁圖2-8
18
2.3并行接口結(jié)構(gòu)
(1)P1口,普通I/O口
帶4個TTL負載
讀鎖存器信號
內(nèi)部總線上位電阻.
引腳
內(nèi)部寫信號
讀引腳信號
準雙向I/O接口
(2)P口
0
普通I/O接口
沒有上拉電阻,自己外接10K的電阻。
低八位地址線/數(shù)據(jù)線。外部擴展時用。
(3)P口
2
普通I/O接口和P口一樣
1
高8位地址、外部擴展時
(4)P3多功能接口
普通I/O接口和P1口一樣
第二功能:P3.0—RXDQ串行輸入
P3.1—TXD串行輸出
P3.2—INT0外部中斷輸入
P3.3—INT1外部中斷
P3.4—T0定時器外部計數(shù)輸入
P3.5—T1定時器外部計數(shù)輸入
P3.6—WR寫信號線
6
汽電101班——《單片機》
P3.7—RD讀信號線
擴展外部時讀寫控制線
2.4存儲器結(jié)構(gòu)
程序存儲器
內(nèi)部:4K:0000H~0FFFHEA=1
外擴:64K0000H~0FFFHEA=0控制線PSEN
數(shù)據(jù)存儲器
內(nèi)部有:R寄存器(00~1FH)位存儲器(20~2FH)
通用寄存區(qū)(30~7FH)特殊寄存器(80~0FFH)
外部可擴60K,控制線為WR,RD
2.4.1程序存儲器
單片機復(fù)位后開始工作PC=0000H
各中斷入口地址.外中斷0=00013H
T0地址=00013H
外中斷1=0013H
T0地址=0013H
串行口=0023H
2.4.2內(nèi)部數(shù)據(jù)存儲器(00~7FH)(80H~0FFH)
1、R寄存器區(qū):00H~1FH
RS1,RS0各R0R1R2R3R4R5R6R7
區(qū)
100區(qū)07H01H…..….….…………07H
011區(qū)08H….…..…..…..….…...0FH
102區(qū)10H….….…..….….….17H
113區(qū)18H….….….….….….1FH
2、位尋地區(qū)
一位寄存器的位地址:20.0H~2F.7H
3、通用寄存區(qū):30H~7FH
4、特殊寄存器區(qū):80H~0FFH不連續(xù)SFR寄存器(P24頁表
2-9)
5、外部數(shù)據(jù)寄存器
DPTR,R0,R1,指針,0000~0FFFH
2.5布爾處理器
CY-位累加器,操作位(20~2FH)00~7FH區(qū)
(0或8的SFR)80~0FFH
2.6工作方式(復(fù)位、運行、低功耗,掉電)
2.6.1復(fù)位方式
1、復(fù)位電路
7
汽電101班——《單片機》
持續(xù)高電平時≥2個機器周期,必須可靠
2,看門狗復(fù)位
啟動看門狗WDT
MOVWDTRST,#1EH
MOVWDTRST,#0E1H
*啟動后,在16383個機器周期內(nèi)必須重復(fù)執(zhí)行WDTRST啟動.
*當WPT溢出后,RST腳輸出98個振蕩周期高電平使單片機復(fù)位.從PC=0000開
始執(zhí)行
3、復(fù)位后SFR的狀態(tài)
PC=0000H,ACC,B,PSW,DPTR,計數(shù)/定時器,串行口,都為00H,而為00H,而
SP=07H,P0~P3=0FFH狀態(tài)
4、低功耗方式:PCON
?…….PD1DL
PD掉電方式位,PD=1進入掉電,單片機停止工作(設(shè)有時鐘)
RAM中的數(shù)據(jù)不變
掉電退出:必須RST(復(fù)位)有效,高電平
IDL待機IDL=1近式待機
單片機CPU停止工作,RC不工作RAM和SFR內(nèi)容不變,中斷系統(tǒng),定時器,串
行口仍然繼續(xù)工作(有時鐘)
待機退出,有中斷自動退出.IDC=0也可復(fù)為退出.
2.6.2單片機在線編輯:ISP
編輯接法,同步串行
串入串出波形(P33圖2-19)
串入
串出
時鐘
讀寫命令(P33頁表2-14)
8
汽電101班——《單片機》
單片機原理及應(yīng)用教案
課題名稱第三章:AT89C51單片機指令系統(tǒng)
課次第(6-8)次課學時6
課型理論(∨);實驗();
教學目標使學生掌握單片機指令系統(tǒng)與尋址方式。
重點、難點及
重點掌握指令系統(tǒng),難點是尋址方式。解決方法是多加練習。
解決方法
第三章:AT89C51單片機指令系統(tǒng)
§3-1-1指令格式
§3-1單片機系統(tǒng)的尋址方式
§3-1-2尋址方式
教學基本內(nèi)容§3-2單片機系統(tǒng)的分類
與教學設(shè)計§3-2-1傳遞指令
§3-2-2算術(shù)運算類指令
§3-2-3邏輯運算及移位類指令
§3-2-4控制轉(zhuǎn)移類指令
§3-2-5位操作指令
教學方法講授
教學手段講授
課外學習安排14道習題
參考資料教材
學習效果評測
課外學習
每次課前半小時輔導(dǎo)
指導(dǎo)安排
教學后記
9
汽電101班——《單片機》
單片機原理及應(yīng)用講稿
教學內(nèi)容備注
第三章:AT89C51單片機指令系統(tǒng)
§3-1單片機系統(tǒng)的尋址方式
§3-1-1指令格式
標號:操作碼目的操作數(shù),源操作數(shù)1,源操作數(shù)1,源操作數(shù)2;注釋
LOOP:CJNEA,31H,LOOP,;A≠(31H)轉(zhuǎn)LOOP1
INCA;A+1→A
2.指令中常用符號
(1)R和Ri=0,1,n=0~7
IN
(2)#data,#立即數(shù)data為8位數(shù)字
(3)#data16位數(shù)字
(4)rel相對地址
(5)addr1616位地址,64K范圍
⑹addr1111位目的地址,2K地址范圍
⑺divect8位內(nèi)存直接接地(特殊寄存器)
⑻bit位地址
⑼@R,@DPTR間接尋址寄存器,R為指針
ii
⑽[x]表示x中的內(nèi)容
⑾((x))x為指針,[x]為地址;該地址中內(nèi)容
⑿1和→1表示取反;→表示流向
§3-1-2尋址方式
1、寄存器尋址,R寄存器
MOVA,R(A)←(R)
00
2、立即尋址,#
MOVR,#30H;(R)=20H
00
3、寄存器間接尋址,@
MOVA,@R;(A)=((R))MOVA,@DPTR
00
4、直接尋址,無
MOVR,30H(R)=(30H)
00
5、變址尋址,查表
MOVA,@A+DPTR;A=((A+DPTR))A變址增量DPTR,首地址基址
6、相對尋址;
Jzloop
7、位尋址
MOVC,24H
§3-2單片機系統(tǒng)的分類
分為五類:傳送類、算術(shù)運算、邏輯運算、控制轉(zhuǎn)移(分支)、
位操作
§3-2-1傳遞指令
1、內(nèi)部數(shù)據(jù)傳遞類
(1)立即尋址:對象A,地址,direct,@R,R,DPTR和#data
in
5條,(P39頁)單向傳遞
10
汽電101班——《單片機》
(2)寄存器尋址:對象A,R,@R,direct,和A,R
nin
5條
(3)直接尋址:對象A,R,@R,direct,和direct
ni
4條
2、外部數(shù)據(jù)傳遞,(RAM擴展)MOVX
MOVXA,@DPTR
MOVXA,@R(P為高位)
i2
MOVX@R,A
MOVX@DPTR,A
3、程序存儲器的傳遞
MOVCA,@A+DPTR
MOVCA,@A+PC
4、數(shù)據(jù)交換指令:對象A,@R,R,direct和A
in
XCHA,direct
XCHA,@R
i
XCHA,R
0
XCHDA,@R(A)((R))
03~003~0
SWAPA(A)(A)
7~73~0
5、堆棧操作指令
PUSHdirect壓棧,先SP1→SP后((SP))←(direct)
POPdirect出棧先((SP))→direct后SP-1→SP
§3-2-2算術(shù)運算類指令
1、加法指令A(yù),#data,direct,@R,R和A
in
ADDA,#data
ADDA,direct
ADDA,R
0
ADDA,@R
0
2、帶進位加法
ADDA,#data
ADDA,direct
ADDA,R
i
ADDA,@R
i
3、帶進位減法
SUBBA,#data
SUBBA,direct
SUBBA,R
i
SUBBA,@R
0
4、加一、減一指令
INCA
INCdirect
INC@R
0
INCR
0
INCDPTR十六位
DECdirect
DEC@R
0
DECR
0
11
汽電101班——《單片機》
DECA
5、乘除法指令
乘法:NULAB
A*B的低8位存在A中,高8位存在B中
除法:DIVAB
A÷B的商存在A中,余數(shù)存在B中
6、二—十進制調(diào)整
DAA將二進制調(diào)整為十進制
§3-2-3邏輯運算及移位類指令
1、邏輯“與”指令A(yù)NL共6條
對象:A,#data,@R,R,direct和A,direct
in
ANLdirect,A
ANLdirect,#data
2、邏輯“或”指令ORL共6條,和“與”形式相同
3、邏輯“異或”XRL共6條,和“與”形式相同
4、累加器A取反、清零指令
取反:CPLA
清零:CPRA
5、移位指令
(1)不帶進位
左移:
右移:
(2)帶進位
左移:
右移:
§3-2-4控制轉(zhuǎn)移類指令
1、無條件轉(zhuǎn)移
LJMPaddr16;64K
AJMPaddr11;2K
STMPrel;-128~+127
JMP@A+DPTR;散轉(zhuǎn)
2、條件轉(zhuǎn)移
①累加器判零轉(zhuǎn)移指令2條
JErelA=0轉(zhuǎn)移;JNErelA≠0轉(zhuǎn)移
②比較轉(zhuǎn)移指令4條
CJNEA,#data,rel
CJNEA,direc,rel
12
汽電101班——《單片機》
CJNE@R,#data,rel
i
CJNER,#data,rel
n
③轉(zhuǎn)移、減一循環(huán)指令:DJNE減一,不為零轉(zhuǎn)移
DJNEdirect,rel
DJNER,rel
n
3、子程序調(diào)用指令
LCALLaddr16;子程序標號
ACALLaddr11
4、CPU控制指令
子程序返回RET
中斷程序返回RETI
空操作NOP
§3-2-5位操作指令
1、位傳遞指令
MOVbit,CMOVC,bit
2、置位指令(清零、復(fù)位、置“1”、置位)
CLRbitCLRC
SETBbitSETBC
3、位邏輯操作指令
ANLC,bitANLC,/bit寫
ORLC,bitOPLC,/blt或
CPLCCPLbit取反
4、位條件轉(zhuǎn)移指令
(1)通過進位位判斷轉(zhuǎn)移
JCrelJNCrel
(2)通過位單元內(nèi)容判斷轉(zhuǎn)移
JBbit,relJNBbit,rel
JBCbit,rel為“1”轉(zhuǎn)移并清零該位
13
汽電101班——《單片機》
單片機原理及應(yīng)用教案
課題名稱第四章匯編語言程序設(shè)計基礎(chǔ)
課次第(8-11)次課學時8
課型理論(∨);實驗();
教學目標使學生掌握匯編語言簡單程序設(shè)計方法。
重點、難點及
重點掌握設(shè)計方法,難點是循環(huán)程序和查表程序。解決方法是多加練習。
解決方法
第四章MCS_51匯編語言程序設(shè)計
4.1匯編語言程序設(shè)計概述
4.2單片機匯編語言程序的基本結(jié)構(gòu)形式
4.2.1順序程序設(shè)計
4.2.2分支程序設(shè)計
4.2.3循環(huán)程序設(shè)計
教學基本內(nèi)容
4.3MCS-51單片機匯編語言程序設(shè)計舉例
與教學設(shè)計
4.3.1算術(shù)運算程序
4.3.2數(shù)制轉(zhuǎn)換程序
4.3.4查表程序
4.4匯編語言原程序的編輯與匯編
4.5MCS-51匯編語言偽指令
教學方法講授
教學手段講授
課外學習安排24道習題
參考資料教材
學習效果評測
課外學習
每次課前半小時輔導(dǎo)
指導(dǎo)安排
教學后記
14
汽電101班——《單片機》
單片機原理及應(yīng)用講稿
教學內(nèi)容備注
第四章MCS_51匯編語言程序設(shè)計
4.1匯編語言程序設(shè)計概述
要求:熟悉匯編語句的基本格式,掌握匯編語言程序的三種基本結(jié)構(gòu)。
4.1.1匯編語言的特點與語句格式
特點:<1>匯編語言程序代碼生成效率高,運行速度快;
<2>匯編語言程序的開發(fā)難度較大;
<3>匯編語言控制的實時性好;
<4>匯編語言的可移植性較差;
匯編語言的語句格式:
標號:操作碼操作數(shù);注釋
關(guān)于語句格式的說明:
1、標號:標號是由1-8個ASCII字符組成,頭一個字符必須是字母;
標號不能使用系統(tǒng)中已經(jīng)定義的助記符、偽指令及其它標號;
標號的后面必須加冒號;
標號并不是每一條語句都需要;
2、操作碼:表明指令的作用與功能,不能缺少。
3、操作數(shù):是指令中的操作對相,一條指令中的操作數(shù)可以是1個、2個、3
個或沒有。
4、注釋:不生成可執(zhí)行的機器代碼,但是能增加程序的可閱讀性,便于程序
的調(diào)試與交流。
4.1.2匯編語言程序設(shè)計的特點
1、要求程序員要數(shù)據(jù)、程序空間的分配與使用作出具體的安排;
2、要求開發(fā)人員具有較好的硬件知識;
3、匯編語言程序設(shè)計的技巧較高
4.2單片機匯編語言程序的基本結(jié)構(gòu)形式
4.2.1順序程序設(shè)計
順序程序結(jié)構(gòu):無分支,無跳轉(zhuǎn)。
例1:有一變量存放在內(nèi)部RAM的20H單元,其取值范圍為:00H—05H,編制
一段程序求該變量的平方值,將結(jié)果存入21H單元。
程序如下:
ORG1000H
START:MOVDPTR,#2000H
MOVA,20H
MOVCA,@A+DPTR
MOV21H,A
SJMP$
;
ORG2000H
TABLE:
DB00H,01H,04H,09H,10H,19H
END
例2、三字節(jié)無符號數(shù)的加法
15
汽電101班——《單片機》
加數(shù):50H51H52HMOVA,@R0
被加數(shù):53H54H55HADDCA,@R1
結(jié)果:50H51H52HMOV@R0,A
程序如下:MOVR0,#52HDECR0
movR1,55hDECR1
MOVA,@R0MOVA,@R0
ADDA,@R1ADDCA,@R1
MOV@R0,AMOV@R0,A
DECR0MOV00H,C
DECR1
4.2.2分支程序設(shè)計
例1、求雙字節(jié)數(shù)的補碼
程序如下:
START:MOVR0,#add1MOVA,@R0
MOVR1,#add2CPLA
MOVA,@R0MOV@R1,A
CPLASJMPLOOP1
INCAZERO:MOVA,@R0
MOV@R1,ACPLA
INCR0INCA
INCR1MOV@R1,A
JZZEROLOOP1:END
例2、根據(jù)R7的內(nèi)容轉(zhuǎn)向相應(yīng)的處理程序
程序如下:
START:MOVDPTR,#TAB
MOVA,R7
ADDA,R7
MOVR3,A
MOVCA,@A+DPTR;先取出高8位地址
XCHA,R3
INCA
MOVCA,@A+DPTR;再取出低8位地址
MOVDPL,A
MOVDPH,R3
CLRA
JMP@A+DPTR
TAB:DWPORT0
DWPORT1
………
DWPORTN
4.2.3循環(huán)程序設(shè)計
循環(huán)程序結(jié)構(gòu):當型循環(huán)/直到型循環(huán)
例1、50ms延時程序(設(shè)系統(tǒng)為12M的晶振)
16
汽電101班——《單片機》
DELAY:MOVR7,#200
DELAY_1:MOVR6,#123
NOP
DELAY_2:DJNZR6,DELAY_2
DJNZR7,DELAY_1
RET
例2、將內(nèi)部RAM中起始地址為add的數(shù)據(jù)串傳送到外部RAM起始地址為
buffer的存儲區(qū)中去,直到發(fā)現(xiàn)”$”符號傳送結(jié)束.
程序如下:
MOVR0,#addLOOP1:MOVX@DPTR,A
MOVDPTR,#bufferINCR0
LOOP0:MOVA,@R0INCDPTR
CJNEA,#24H,LOOP1SJMPLOOP0
SJMPLOOP2LOOP2:END
4.3MCS-51單片機匯編語言程序設(shè)計舉例
要求:熟悉與掌握常用的基本匯編語言子程序設(shè)計的基本方法,重點包括算
術(shù)運算程序、代碼轉(zhuǎn)換程序、定時程序、查表程序等
4.3.1算術(shù)運算程序
1.加減法運算
例1:三字節(jié)無符號數(shù)的加法
加數(shù):50H51H52HMOVA,@R0
被加數(shù):53H54H55HADDCA,@R1
結(jié)果:50H51H52HMOV@R0,A
程序如下:MOVR0,#52HDECR0
MOVR1,55HDECR1
MOVA,@R0MOVA,@R0
ADDA,@R1ADDCA,@R1
MOV@R0,AMOV@R0,A
DECR0MOV00H,C
DECR1
例2:設(shè)有兩個N字節(jié)無符號數(shù)分別存放在內(nèi)部RAM的單元中,低字節(jié)在前,
高字節(jié)字節(jié)在后,分別用R0指示被減數(shù)單元地址,由R2指示減數(shù)單元地址,
其差存放在原被減數(shù)的單元地址中。
CLRCINCR0
MOVR2,#NINCR1
LOOP:MOVA,@R0DJNZR2,LOOP
SUBBA,@R1JCQAZ
MOV@R0,ARET
例3:假定R2、R3和R4、R5分別存放兩個16位的帶符號的二進制數(shù),其中
R2和R4的最高位為符號位,請編寫帶符號雙字節(jié)數(shù)的加減法運算程序,把運
算結(jié)果存入R6、R7單元。
17
汽電101班——《單片機》
BSUB:MOVA,R4MOVACC.7,C
CPLACC.7MOVR4,A
MOVR4,ARET
BADD:MOVA,R2JIAN:MOVA,R3
MOVC,ACC.7CLRC
MOVF0,CSUBBA,R5
XRLA,R4MOVR7,A
MOVC,ACC.7MOVA,R2
MOVA,R2SUBBA,R4
CLRACC.7MOVR6,A
MOVR2,AJNBACC.7,QWE
MOVA,R4BMP:MOVA,R7
CLRACC.7CPLA
MOVR4,AADDA,#1
JCJIANMOVR7,A
JIA:MOVA,R3MOVA,R6
ADDA,R5CPLA
MOVR7,AADDCA,#0
MOVA,R2MOVR6,A
ADDCA,R4CPLF0
MOVR6,ASJMPQWE
JBACC.7,QAZ......
QWE:MOVC,F0QAZ:
2.乘法運算
例、兩個雙字節(jié)數(shù)的乘法運算,RAM的R2、R3和R6、R7單元存放兩個雙字
節(jié)無符號數(shù)(R2、R6存放高字節(jié)),計算兩數(shù)之積并存入R4、R5、R6、R7單
元中。
參考程序如下:
DBMUL:MOVA,R3XCHA,R6
MOVB,R7XCHA,B
MULABADDCA,R5
XCHA,R7MOVR5,A
MOVR5,BMOVF0,C
MOVB,R2MOVA,R2
MULABMULAB
ADDA,R6ADDA,R5
MOVR4,AMOVR5,A
CLRACLRA
ADDCA,BMOVACC.0,C
MOVR5,AMOVC,F0
MOVA,R6ADDCA,B
MOVB,R3MOVR4,A
MULABRET
ADDA,R4
18
汽電101班——《單片機》
4.3.2數(shù)制轉(zhuǎn)換程序
1、十六進制數(shù)轉(zhuǎn)換為ASCII碼
例、在內(nèi)部RAM的hex單元存放由2位十六進制數(shù),試將其轉(zhuǎn)換成ASCII碼,
并存放在asc和asc+1單元中。
其參考程序如下:
MOVSP,#3FHPOPACC
MAIN:PUSHhexANLA,#0FH
ACALLHASCADDA,#07
POPhexMOVCA,@A+DPTR
MOVA,hexPUSHACC
SWAPAINCSP
PUSHACCINCSP
ACALLHASCRET
POPasc+1ASCTAB:
;;;;;;DB"0,1,2,3,4,5,6,7,8,9"
HASC:DECSPDB"A,B,C,D,E,F"
DECSP
2、ASCII碼轉(zhuǎn)換為十六進制碼
例、把外部RAM30H-3FH單元的ASCII碼轉(zhuǎn)換成十六進制碼并依次存入內(nèi)部RAM
的60H-67H單元。
MAIN:MOVR0,#30H
MOVR1,#60H
MOVR7,#08H
AB:ACALLTRAN
SWAPA
MOVX@R1,A
INCR0
ACALLTRAN
XCHDA,@R1
INCR0
INCR1
DJNZR7,AB
HALT:AJMPHALT
TRAN:CLRC
MOVXA,@R0
SUBBA,#30H
CJNEA,#0AH,BB
AJMPBC
BB:JCDONE
BC:SUBBA,#07H
DONE:RET
4.3.3定時程序
例、定時程序如下:
MOVR5,#TIME1
LOOP2:MOVR4,#TIME2
19
汽電101班——《單片機》
LOOP1:NOP
NOP
DJNZR4,LOOP1
DJNZR5,LOOP2
RET
該定時程序的執(zhí)行時間為:T=(((1+1+2)*TIME2+1+2)*TIME1+1)*T0
其中T0為單片機的機器周期
4.3.4查表程序
例1查有鍵按下字符串是否相等,相等A=0,否則A≠0兩字符串首地址Ro,R1
長度在A中,占用B
BJ:MOVR2,A
BJ1:MOVA,@Ro
MOVB,@Ro
CJNZA,B,LOOP;不能轉(zhuǎn)出
CNCRO;相等
DJNZR2,BJ1;
MOVA,#0;全相等
RET
LOOP:MOVA,#0全相等
RET
LOOP:MOVA,#1
RET
例2、根據(jù)鍵值轉(zhuǎn)向相應(yīng)的處理程序,
MOVDPTR,#BSPOPDPL
RLACLRA
MOVR2,AJMP@A+DPTR
MOVCA,@A+DPTRBS:
PUSHACCDBRK0L,RK0H
MOVA,R2DBRK1L,RK1H
INCADBRK2L,RK2H
MOVCA,@A+DPTR......
MOVDPH,A
20
汽電101班——《單片機》
例3查表程序設(shè)計
1.七段碼表
P0.7p0.6p0.5p0.4p0.3p0.2p0.1p0.0
hgfedcba“0”
00111111“1”
2.鍵值表
注意:常用的查表指令:
MOVCA,@A+DPTR
MOVCA,@A+PC
當使用MOVCA,@A+PC指令時,要注意查表指令與表首單元地址之間的差,并
對A的內(nèi)容進行相應(yīng)的修改。
0080900095MOVDPTR,#BS008FF583MOVDPH,A
008323RLA0091D082POPDPL
0084FAMOVR2,A0093E4CLRA
00852400ADDA,#0DH009473JMP@A+DPTR
008783MOVCA,@A+PCBS:
0088C0E0PUSHACC00950000DB00,00
008AEAMOVA,R20097000BDB00,11
008B04INCA00990021DB00,33
008C2400ADDA,#06H......
008E83MOVCA,@A+PC
4.4匯編語言原程序的編輯與匯編
要求:熟悉匯編語言程序編輯與匯編的基本方法
一、匯編語言源程序的編輯與匯編
1、編輯匯編源程序
文件名:*.ASM
文件內(nèi)容:符合匯編語言源程序的書寫格式
2、源程序的匯編
21
汽電101班——《單片機》
4.5MCS-51匯編語言偽指令
要求:掌握常用的匯編語言偽指令及其應(yīng)用
1、匯編起始偽指令ORG
格式:[標號:]ORG16位地址
例:ORG0050H
MAIN:MOVSP,#50H
-----------
2、匯編結(jié)束偽指令END
格式:[標號:]END[表達式]
3、字節(jié)數(shù)據(jù)定義偽指令DB
格式:[標號:]DBD1,D2,.....
例:DB"Howareyou!"
DB-2,-4,-6,8,10,18
4、字定義偽指令DW
格式:[標號:]DW16位數(shù)據(jù)表
例:ORG1000H
WORD:DW324AH,3CH
匯編后:(1000H)=32H,(1001H)=4AH
(1002H)=00H,(1003H)=3CH
5、空間定義偽指令DS
ORG3000H
BUF:DS50
............
6、賦值偽指令EQU
格式:符號名EQU表達式
COOLEREQUP1.0
HEATEREQUP1.2
VALUEEQU40H
........
SETBCOOLER
CLRHEATER
MOVVALUE,A
7、位地址符號定義偽指令BIT
QIDONGBITP1.0
FLAGBIT20H
22
汽電101班——《單片機》
單片機原理及應(yīng)用教案
課題名稱第五章:AT89S51單片機中斷系統(tǒng)
課次第(12-13)次課學時4
課型理論(∨);實驗();
教學目標使學生掌握中斷系統(tǒng)的設(shè)計方法。
重點、難點及重點掌握與中斷有關(guān)的寄存器,難點是中斷的編程及應(yīng)用。解決方法是多
解決方法加練習。
第五章中斷系統(tǒng)
§5-1AT89單片機的中斷及中斷請求源
§5-1-1中斷概念
§5-1-2中斷源AT89S51與中斷入口地址
§5-2與中斷有關(guān)的寄存器
教學基本內(nèi)容§5-3中斷響應(yīng)過程及應(yīng)用
與教學設(shè)計§5-3-1中斷響應(yīng)過程
§5-3-2中斷的編程及應(yīng)用
教學方法講授
教學手段講授
課外學習安排6道習題
參考資料教材
學習效果評測
課外學習
每次課前半小時輔導(dǎo)
指導(dǎo)安排
教學后記
23
汽電101班——《單片機》
單片機原理及應(yīng)用講稿
教學內(nèi)容備注
第五章中斷系統(tǒng)
§5-1AT89單片機的中斷及中斷請求源
§5-1-1中斷概念
1.中斷概念:處理過程學會事件處理
2.引入中斷的優(yōu)點
(1)高速CPU和慢速外設(shè)的矛盾
(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與中斷有關(guān)的寄存器
1.定時/計數(shù)中斷控制寄存器
TCON(88H)
TF1TR1TF0TR0IE1IT1IE0IT0
TFiIEi中斷標志
當TFi為1時有定時器益出Ti發(fā)出中斷請求,執(zhí)行中斷程序時清零
當IEi=1時,有外部引腳提出中斷請求
ITi為外部中斷方式選擇端:軟件設(shè)置
設(shè)ITi=1時外部INTi引腳為下降沿觸發(fā)IE使IEi=1
設(shè)ITi=0時外部INTi引腳為低電平出發(fā)IE使IEi=1
TRi為定時/計數(shù)進行計數(shù)TRi=0定時/計數(shù)停止計數(shù)
2.串行口中斷:
99H98H
…………….TIRI
SCON(98H)
24
汽電101班——《單片機》
RI=1接收完一組數(shù)據(jù),可以讀取SBUF,必須軟件清零
TI=1已發(fā)送完一組數(shù)據(jù),可以讀取SBUF,必須軟件清零
SBUF為串行口接收,發(fā)送寄存器地址99H
3.中斷允許寄存器:
IE(A8H)
EAET2ESET1EX1ET0EX0
EA=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)先控制寄存器IP
IP(0B8H)
PSPT1PX1PT0PX0
當哪位被軟件置”1”為高級中斷源,可以中斷嵌套
§5-3中斷響應(yīng)過程
§5-3-1中斷響應(yīng)過程
1.不響應(yīng)中斷的情況
(1)CUPE執(zhí)行同級或高級中斷程序,必須等執(zhí)行完
(2)執(zhí)行指令沒有執(zhí)行完,必須執(zhí)行完
(3)執(zhí)行RETI和IE.IP指令,必須執(zhí)行完該指令,且再執(zhí)行一條指令后
2.中斷響應(yīng)過程:
(1)置位相對應(yīng)優(yōu)先觸發(fā)器
(2)取下一條指令的PC指針壓棧SP+2
(3)執(zhí)行一條硬件轉(zhuǎn)移指令:PC取對應(yīng)的中斷入口地址
(4)執(zhí)行中斷服務(wù)子程序
(5)中斷返回彈出PC值SP-2
3.中斷響應(yīng)時間:最短需要三個機器周期
§5-3-2中斷的篇程及應(yīng)用
1.編寫過程:
(1)中斷源的初始化:INT引腳定時/計數(shù)UART串行口
等初始要求:對應(yīng)矢量口地址:ORG0000H初始化
AJMPCSH
ORG0003H
AJMPWBZD
ORG000BH
(2)確定優(yōu)先級同級可以不寫
(3)開中斷和允許中斷源中斷以上在主程序中篇寫(初始化)
(4)篇寫中斷時及多子程序:對應(yīng)中斷入口
2.應(yīng)用
25
汽電101班——《單片機》
例1:篇寫外部中斷INTO的電平觸發(fā)的初始化程序
CLRITO;電平觸發(fā)
SETBPXO;允許外中斷INTO
S
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年高考政治專題復(fù)習公民的政治生活提升練習題含解析
- 借機器協(xié)議合同范例
- 承包鄉(xiāng)村酒席合同范例
- 小學信息技術(shù)業(yè)務(wù)考試
- 外接電源協(xié)議合同范例
- 承包坑塘種樹合同范例
- 噴砂設(shè)備租賃合同范例
- 少宮合同范例
- 成縣醫(yī)院合同范例
- 合伙開店創(chuàng)業(yè)合同模板
- GB/T 44340-2024糧食儲藏玉米安全儲藏技術(shù)規(guī)范
- 點亮文明 課件 2024-2025學年蘇少版(2024)初中美術(shù)七年級上冊
- 建設(shè)用地土壤污染風險篩選值和管制值(基本項目)
- 2024年政府采購評審專家考試題庫含答案
- 2024屆廣西南寧市三中高三第一次適應(yīng)性考試歷史試題及答案
- 八年級地理上冊《交通運輸》-新人教版市公開課一等獎省賽課獲獎?wù)n件
- 前程無憂行測題庫
- 人教版2024年新版七年級上冊英語Unit 3 模擬測試卷(含答案)
- 電力電子技術(shù)(廣東工業(yè)大學)智慧樹知到期末考試答案章節(jié)答案2024年廣東工業(yè)大學
- 2023廣西玉林市北流市殘疾人聯(lián)合會招聘鎮(zhèn)(街道)社區(qū)殘疾人專職委員聘用前筆試歷年典型考題及考點剖析附答案帶詳解
- 金融借款合同糾紛代理解決方案
評論
0/150
提交評論