情境一電子顯示屏的設(shè)計市公開課一等獎省賽課獲獎?wù)n件_第1頁
情境一電子顯示屏的設(shè)計市公開課一等獎省賽課獲獎?wù)n件_第2頁
情境一電子顯示屏的設(shè)計市公開課一等獎省賽課獲獎?wù)n件_第3頁
情境一電子顯示屏的設(shè)計市公開課一等獎省賽課獲獎?wù)n件_第4頁
情境一電子顯示屏的設(shè)計市公開課一等獎省賽課獲獎?wù)n件_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論