版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
子情景二單燈閃爍項目引入在公共場所,能夠看到各種各樣閃燈。單片機控制發(fā)光二極管亮滅。情境一電子顯示屏的設(shè)計第1頁經(jīng)過8051單片機控制一個發(fā)光二極管亮滅閃爍,點亮?xí)r間連續(xù)1秒鐘。項目要求情境一電子顯示屏的設(shè)計第2頁
項目分析1、單片機簡單程序編寫2、延時程序編寫2、單片機與發(fā)光二極管連接
3、二極管閃爍程序情境一電子顯示屏的設(shè)計第3頁項目計劃1、設(shè)計單片機與二極管硬件連接圖2、編寫程序3、運行調(diào)試程序情境一電子顯示屏的設(shè)計第4頁1清0與取反指令(2條)取反:CPLA;/A→A例:若A=5CH,執(zhí)行CPLA
結(jié)果:A=A3H清0:CLRA
;0→AComPlementLogicOperation相關(guān)知識情境一電子顯示屏的設(shè)計第5頁2
控制轉(zhuǎn)移類指令(17條)
共有控制程序轉(zhuǎn)移類指令(不包含位操作類轉(zhuǎn)移指令)。這類指令普通不影響PSW。包含以下類型:無條件轉(zhuǎn)移和條件轉(zhuǎn)移相對轉(zhuǎn)移和絕對轉(zhuǎn)移長轉(zhuǎn)移和短轉(zhuǎn)移調(diào)用與返回指令情境一電子顯示屏的設(shè)計第6頁2.1
無條件轉(zhuǎn)移類指令(4條)
短轉(zhuǎn)移類指令:AJMPaddr11
長轉(zhuǎn)移類指令:LJMPaddr16
相對轉(zhuǎn)移指令:SJMPrel
間接轉(zhuǎn)移指令:JMP@A+DPTR(1)上面前三條指令,統(tǒng)統(tǒng)了解成:PC值改變,即跳轉(zhuǎn)到一個標(biāo)號處。那么他們區(qū)分何在呢?情境一電子顯示屏的設(shè)計第7頁跳轉(zhuǎn)范圍不一樣。
短轉(zhuǎn)移類指令:AJMPaddr11
長轉(zhuǎn)移類指令:LJMPaddr16
相對轉(zhuǎn)移指令:SJMPrel轉(zhuǎn)移范圍:2KB64KB-128~+127指令組成不一樣。
AJMP、LJMP后跟是絕對地址,而SJMP后跟是相對地址。
指令長度不一樣標(biāo)準(zhǔn)上,全部用SJMP或AJMP地方都能夠用
LJMP來替換。情境一電子顯示屏的設(shè)計第8頁間接轉(zhuǎn)移指令:JMP@A+DPTR
這條指令用途也是跳轉(zhuǎn),轉(zhuǎn)到什么地方去呢?這可不能由標(biāo)號簡單地決定了。轉(zhuǎn)移地址由A+DPTR形成,并直接送入PC。指令對A、DPTR和標(biāo)志位均無影響。本指令可代替眾多判別跳轉(zhuǎn)指令,又稱為散轉(zhuǎn)指令,多用于多分支程序結(jié)構(gòu)中。(2)第四條指令與前三條指令相比有所不一樣情境一電子顯示屏的設(shè)計第9頁例:MOVDPTR,#TAB;將TAB代表地址送入DPTRJMP@A+DPTR;跳轉(zhuǎn)TAB:AJMPROUT0;跳轉(zhuǎn)ROUT0開始程序段TAB+2:AJMPROUT1;跳轉(zhuǎn)ROUT1開始程序段TAB+4:
AJMPROUT2;跳轉(zhuǎn)ROUT2開始程序段TAB+6:
AJMPROUT3;跳轉(zhuǎn)ROUT3開始程序段
...ROUT0:
...ROUT1:
...ROUT2:
...ROUT3:執(zhí)行該段程序后,程序?qū)⒁罁?jù)A中內(nèi)容轉(zhuǎn)移到不一樣程序段去執(zhí)行----散轉(zhuǎn)。A=0,轉(zhuǎn)ROUT0A=2,轉(zhuǎn)ROUT1A=4,轉(zhuǎn)ROUT2A=6,轉(zhuǎn)ROUT3情境一電子顯示屏的設(shè)計第10頁2.2條件轉(zhuǎn)移指令(8條)條件轉(zhuǎn)移指令是指在滿足一定條件時進(jìn)行相對轉(zhuǎn)移,不然程序繼續(xù)執(zhí)行本指令下一條指令。一、判A內(nèi)容是否為0轉(zhuǎn)移指令(2條)
JZrel;假如A=0,則轉(zhuǎn)移,不然次序執(zhí)行。
JNZ
rel;假如A≠0,就轉(zhuǎn)移。轉(zhuǎn)移到相對于當(dāng)前PC值8位移量地址去。即:
新PC值=當(dāng)前PC+偏移量rel我們在編寫匯編語言源程序時,能夠直接寫成:
JZ
標(biāo)號 ;即轉(zhuǎn)移到標(biāo)號處。情境一電子顯示屏的設(shè)計第11頁例:MOVA,R0
JZL1MOVR1,#00HAJMPL2L1:MOVR1,#0FFH
L2:SJMPL2END
在執(zhí)行上面這段程序前:假如R0=0,結(jié)果R1=0FFH。而假如R00,則結(jié)果是R1=00H。把上面那個例子中JZ改成JNZ,看看程序執(zhí)行結(jié)果是什么?
假如R0=0,結(jié)果R1=00H。假如R00,結(jié)果是R1中值為0FFH。情境一電子顯示屏的設(shè)計第12頁二、比較不等轉(zhuǎn)移指令(4條)CJNEA,#data,rel
CJNEA,direct,relCJNERn,#data,relCJNE@Ri,#data,rel這類指令功效是將兩個操作數(shù)比較,假如二者相等,就次序執(zhí)行,假如不相等,就轉(zhuǎn)移。一樣地,使用時,我們能夠?qū)el了解成標(biāo)號,即:
CJNEA,#data,標(biāo)號
CJNEA,direct,標(biāo)號
CJNERn,#data,標(biāo)號
CJNE@Ri,#data,標(biāo)號情境一電子顯示屏的設(shè)計第13頁利用這些指令,能夠判斷兩數(shù)是否相等。但有時還想得知兩數(shù)比較之后哪個大,哪個小,本條指令也含有這么功效:假如兩數(shù)不相等,則CPU還會用CY(進(jìn)位位)來反應(yīng)哪個數(shù)大,哪個數(shù)小。假如前面數(shù)大,則CY=0,不然CY=1。所以在程序轉(zhuǎn)移后再次利用CY就可判斷出哪個數(shù)大,哪個數(shù)小了。情境一電子顯示屏的設(shè)計第14頁舉例: MOVA,R0CJNEA,#10H,L1MOVR1,#0;如R0=10H,則不轉(zhuǎn)移R1=00H;
AJMPL3L1:JCL2 ;如CY=1即R0<10H,則轉(zhuǎn)移
MOVR1,#0AAH;不然CY=0即R0>10H,則轉(zhuǎn)移
AJMPL3L2:MOVR1,#0FFHL3:SJMPL3所以最終止果是:本程序執(zhí)行前,假如R0=10H,則R1=00H;假如R0>10H,則R1=0AAH;假如R0<10H,則R1=0FFH。情境一電子顯示屏的設(shè)計第15頁三、減1不為0轉(zhuǎn)移指令(2條)DJNZRn,relDJNZdirect,relDJNZ指令執(zhí)行過程是這么:它將第一個參數(shù)中值減1,然后看這個值是否等于0,假如等于0,就往下執(zhí)行,假如不等于0,就轉(zhuǎn)移到第二個參數(shù)所指定地方去。例:
DJNZ10H,LOOP...LOOP:...情境一電子顯示屏的設(shè)計第16頁例:
MOV23H,#0AHCLRALOOP:ADDA,23HDJNZ23H,LOOPSJMP$上述程序段執(zhí)行過程是:將23H單元中數(shù)連續(xù)相加,存至A中,每加一次,23H單元中數(shù)值減1,直至減到0,共加(23H)次。情境一電子顯示屏的設(shè)計第17頁3空操作指令(1條)
NOP空操作,就是什么事也不干,停一個周期,普通用作短時間延時。情境一電子顯示屏的設(shè)計第18頁4位操作指令(17條)MCS-51單片機硬件結(jié)構(gòu)中,有一個位處理器(又稱布爾處理器),它有一套位變量處理指令集,包含位變量傳送、邏輯運算、控制程序轉(zhuǎn)移等。在MCS-51中,有一部份RAM和一部份SFR是含有位尋址功效。位操作區(qū):內(nèi)部RAM20H-2FH這16個字節(jié)單元,即128個位單元(位地址空間位00~7FH);能夠位尋址特殊功效存放器:8031中有一情境一電子顯示屏的設(shè)計第19頁些SFR是能夠進(jìn)行位尋址,這些SFR特點是其字節(jié)地址均可被8整除,如A累加器,B存放器、PSW、IP(中止優(yōu)先級控制存放器)、IE(中止允許控制存放器)、SCON(串行口控制存放器)、TCON(定時器/計數(shù)器控制存放器)、P0-P3(I/O端口鎖存器)。在進(jìn)行位處理時,CY用作“位累加器”。情境一電子顯示屏的設(shè)計第20頁
以PSW中位4(RS1)為例。直接(位)地址方式:如D4H;點操作符號方式:如PSW.4,D0H.4;位名稱方式:如RS1;用戶定義名方式:如用偽指令bit
SUB.REGbit
RS1定義后,可用SUB.REG代替RS1。位地址表示方式情境一電子顯示屏的設(shè)計第21頁4.1位傳送指令(2條)
MOVC,bit
;bit
→CMOVbit,C ;C→bit這組指令功效是實現(xiàn)位累加器(CY)和其它位地址之間數(shù)據(jù)傳遞。例:MOVC,P1.0 ;將P1.0狀態(tài)送給C。
MOVP1.0,C;將C中狀態(tài)送到P1.0
;引腳上去。情境一電子顯示屏的設(shè)計第22頁4.2位清0和置位(4條)
位清0指令
CLRC
;使CY=0CLRbit
;使指令位地址等于0。例:CLRP1.0;即使P1.0變?yōu)?
位置1指令
SETBC
;使CY=1SETBbit
;使指定位地址等于1。例:SETBP1.0;使P.0變?yōu)?情境一電子顯示屏的設(shè)計第23頁4.3位邏輯運算指令
(6條)
位與指令
ANLC,bit
;Cy與指定位值相與,結(jié)果送CyANLC,/bit
;先將指定位地址中值取出后取反,再和Cy相與,結(jié)果送回Cy。但注意:指定位地址中值本身并不發(fā)生改變。例:ANLC,/P1.0情境一電子顯示屏的設(shè)計第24頁位取反指令
CPLC
;使Cy值取反。CPLbit
;使指定位值取反。例:CPLP1.0位或指令
ORLC,bitORLC,/bit情境一電子顯示屏的設(shè)計第25頁4.4位條件轉(zhuǎn)移指令(5條)
判Cy轉(zhuǎn)移指令
JCrel JNCrel
第一條指令功效是假如Cy=1就轉(zhuǎn)移,不然就次序執(zhí)行。第二條指令則和第一條指令相反,即假如Cy=0就轉(zhuǎn)移,不然就次序執(zhí)行。一樣了解:JNC標(biāo)號情境一電子顯示屏的設(shè)計第26頁判位變量轉(zhuǎn)移指令
JBbit,relJNBbit,relJBCbit,rel第一條指令:假如指定(bit)=1,則轉(zhuǎn)移,不然次序執(zhí)行,第二條指令功效相反。一樣了解:JBbit,標(biāo)號第三條指令是假如指定(bit)=1,則轉(zhuǎn)移,并把該位清0,不然次序執(zhí)行。情境一電子顯示屏的設(shè)計第27頁5偽指令
在匯編時起控制作用,本身并不產(chǎn)生機器碼,而僅是為匯編服務(wù)一些指令,稱為偽指令。偽指令不屬于80C51指令系統(tǒng)。5.1起始偽指令ORG(Origin)
功效:要求ORG下面目標(biāo)程序起始地址。格式:ORG16位地址ORG0100HSTART:MOVA,#05HADDA,#08HMOV20H,AORG0100H表示該偽指令下面第一條指令起始地址是0100H,即MOVA,#05H指令第一個字節(jié)地址為0100H,或標(biāo)號START代表地址為0100H。情境一電子顯示屏的設(shè)計第28頁功效:將一個數(shù)據(jù)或特定匯編符號賦予要求 字符名稱。5.2結(jié)束偽指令END功效:匯編語言源程序結(jié)束標(biāo)志。
在END后面指令,匯編程序不再處理。格式:END5.3
等值偽指令EQU(Equate)格式:字符名稱EQU
數(shù)據(jù)或匯編符號比如:PPEQUR0;PP=R0MOVA,PP;AR0
這里將PP等值為匯編符號R0,在指令中PP就能夠代替R0來使用。
情境一電子顯示屏的設(shè)計第29頁5.4
數(shù)據(jù)地址賦值偽指令
DATA格式:字符名稱DATA
表示式功效:將數(shù)據(jù)地址或代碼地址賦予要求 字符名稱。5.5定義字節(jié)偽指令DB(DefineByte)格式:DB8位二進(jìn)制數(shù)表功效:從指定地址單元開始,定義若干 個8位內(nèi)存單元數(shù)據(jù)。數(shù)據(jù)與數(shù)據(jù)之間用“,”分割。情境一電子顯示屏的設(shè)計第30頁比如:
ORG4000HTAB:DB73H,45,“A”,“2”TAB1:DB101B
以上指令經(jīng)匯編后,將對4000H開始若干內(nèi)存單元賦值。(4000H)=73H,(4001H):2DH(注:4516進(jìn)制數(shù)),5.6
定義字偽指令DW(DefineWord)格式:DW16位二進(jìn)制數(shù)表功效:從指定地址單元開始,定義 若干個16位數(shù)據(jù)。情境一電子顯示屏的設(shè)計第31頁格式:字符名稱BIT
位地址5.7定義位地址偽指令BIT功效:將位地址賦予所要求字符名稱。
AQBITP0.0DEFBIT30H
把P0.0位地址賦給字符AQ,把位地址30H賦給字符DEF。在其后編程中,AQ可作P0.0使用,DEF可作位地址30H使用。情境一電子顯示屏的設(shè)計第32頁6.1要求:占用存放空間少;運行時間短;程序編制、調(diào)試及排錯所需時間短;結(jié)構(gòu)清楚,易讀、易于移植6程序設(shè)計方法和技巧
情境一電子顯示屏的設(shè)計第33頁6.2程序設(shè)計普通步驟(1)分析工作任務(wù),明確要到達(dá)工作目標(biāo)、技術(shù)指標(biāo)等。(2)確定處理問題算法。算法就是怎樣將實際問題轉(zhuǎn)化成程序模塊來處理,要對不一樣算法進(jìn)行分析、比較,找出最適宜算法。(3)畫程序流程圖。其圖形符號要求均與高級語言流程圖相同,如桶形框表示程序開始或結(jié)束,矩形框表示需要進(jìn)行工作,菱形框表示需要判斷事情,指向線表示程序流向等。(4)分配內(nèi)存工作單元,確定程序與數(shù)據(jù)存放地址。(5)編寫源程序。(6)上機調(diào)試、修改源程序。情境一電子顯示屏的設(shè)計第34頁6.3程序設(shè)計普通技巧盡可能采取循環(huán)結(jié)構(gòu)和子程序結(jié)構(gòu)。這么能夠使程序總?cè)萘看蟠蠼档?,提升程序效率,?jié)約內(nèi)存。盡可能少用無條件轉(zhuǎn)移指令。這么能夠使程序條理愈加清楚,從而降低錯誤。對于通用子程序,除了用于存放子程序入口參數(shù)存放器外,子程序中用到其它存放器內(nèi)容應(yīng)壓入堆棧,即保護現(xiàn)場。普通無須把標(biāo)志存放器壓入堆棧。在中止處理程序中,除了要保護中止處理程序中用到存放器外,還要保護標(biāo)志存放器。用累加器傳遞入口參數(shù)或返回參數(shù)比較方便,在子程序中,普通無須把累加器內(nèi)容壓入堆棧。情境一電子顯示屏的設(shè)計第35頁匯編語言慣用延時程序所用到指令指令占用機器周期數(shù)MOVRn,#Data1DJNZRn,rel2RET2NOP17延時程序情境一電子顯示屏的設(shè)計第36頁基本延時模式及延時時間計算:單循環(huán)延時程序MOVR0,#X;1個機器周期D1:DJNZR0,D1;2個機器周期RET;2個機器周期單延時時間:=2*X*T+1*T+2*T=(2*X+3)*T假定晶振12MHZ時,當(dāng)X=0時循環(huán)256次,最長延時515μs當(dāng)X=1時循環(huán)1次,最短延時5μs情境一電子顯示屏的設(shè)計第37頁雙重循環(huán)延時程序MOVR1,#Y;1個機器周期D1:MOVR0,#X;1個機器周期D2:DJNZR0,D2;2個機器周期DJNZR1,D1;2個機器周期RET;2個機器周期雙重循環(huán)延時時=(2*X+1+2)*Y*T+1*T+2*T=(2*X*Y+3*Y+3)*T假定晶振12MHZ時,最長延時131843μs最短延時8μs情境一電子顯示屏的設(shè)計第38頁三重循環(huán)延時程序
MOVR2,#Z;1個機器周期D1:MOVR1,#Y;1個機器周期D2:MOVR0,#X;1個機器周期D3:DJNZR0,D3;2個機器周期
DJNZR1,D2;2個機器周期
DJNZR2,D1;2個機器周期
RET;2個機器周期三重循環(huán)延時時間:=[(2*X+1+2)*Y+1+2]*Z*T+1*T+2*T=(2*X*Y*Z+3*Y*Z+3*Z+3)*T假定晶振12MHZ時,最長延時33751811μs最短延時11μs情境一電子顯示屏的設(shè)計第39頁1、設(shè)計硬件連接圖
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人消費信用貸款合同范本8篇
- 二零二五年度智能門禁系統(tǒng)數(shù)據(jù)安全保密合同4篇
- 二零二五年度農(nóng)業(yè)合作社勞務(wù)輸出合同范本4篇
- 高層建筑勞務(wù)分包合同(2025年度)安全生產(chǎn)與環(huán)境保護要求3篇
- 二零二五年規(guī)?;B(yǎng)殖場合伙管理合同3篇
- 二零二五年度建筑模板腳手架安全防護設(shè)施供應(yīng)合同規(guī)范4篇
- 漳州城市職業(yè)學(xué)院《二維動畫短片創(chuàng)作》2023-2024學(xué)年第一學(xué)期期末試卷
- 湛江科技學(xué)院《音樂劇表演》2023-2024學(xué)年第一學(xué)期期末試卷
- 運城學(xué)院《經(jīng)貿(mào)日語(1)》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五年度門窗行業(yè)節(jié)能減排技術(shù)應(yīng)用合同范本4篇
- 2205雙相不銹鋼的焊接工藝
- 2023年全國高中數(shù)學(xué)聯(lián)賽江西省預(yù)賽試題及答案
- 啤酒廠糖化車間熱量衡算
- 英文標(biāo)點符號用法(句號分號冒號問號感嘆號)(課堂)課件
- 22部能夠療傷的身心靈療愈電影
- 領(lǐng)導(dǎo)干部有效授權(quán)的技巧與藝術(shù)課件
- DB37-T 1915-2020 安全生產(chǎn)培訓(xùn)質(zhì)量控制規(guī)范-(高清版)
- 陜西省商洛市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細(xì)
- 實習(xí)生請假條
- 光伏電站繼電保護運行規(guī)程
- 廚房的管理流程與制度及廚房崗位工作流程
評論
0/150
提交評論