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

下載本文檔

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

文檔簡(jiǎn)介

子情景二單燈閃爍項(xiàng)目引入在公共場(chǎng)所,能夠看到各種各樣閃燈。單片機(jī)控制發(fā)光二極管亮滅。情境一電子顯示屏的設(shè)計(jì)第1頁(yè)經(jīng)過(guò)8051單片機(jī)控制一個(gè)發(fā)光二極管亮滅閃爍,點(diǎn)亮?xí)r間連續(xù)1秒鐘。項(xiàng)目要求情境一電子顯示屏的設(shè)計(jì)第2頁(yè)

項(xiàng)目分析1、單片機(jī)簡(jiǎn)單程序編寫(xiě)2、延時(shí)程序編寫(xiě)2、單片機(jī)與發(fā)光二極管連接

3、二極管閃爍程序情境一電子顯示屏的設(shè)計(jì)第3頁(yè)項(xiàng)目計(jì)劃1、設(shè)計(jì)單片機(jī)與二極管硬件連接圖2、編寫(xiě)程序3、運(yùn)行調(diào)試程序情境一電子顯示屏的設(shè)計(jì)第4頁(yè)1清0與取反指令(2條)取反:CPLA;/A→A例:若A=5CH,執(zhí)行CPLA

結(jié)果:A=A3H清0:CLRA

;0→AComPlementLogicOperation相關(guān)知識(shí)情境一電子顯示屏的設(shè)計(jì)第5頁(yè)2

控制轉(zhuǎn)移類(lèi)指令(17條)

共有控制程序轉(zhuǎn)移類(lèi)指令(不包含位操作類(lèi)轉(zhuǎn)移指令)。這類(lèi)指令普通不影響PSW。包含以下類(lèi)型:無(wú)條件轉(zhuǎn)移和條件轉(zhuǎn)移相對(duì)轉(zhuǎn)移和絕對(duì)轉(zhuǎn)移長(zhǎng)轉(zhuǎn)移和短轉(zhuǎn)移調(diào)用與返回指令情境一電子顯示屏的設(shè)計(jì)第6頁(yè)2.1

無(wú)條件轉(zhuǎn)移類(lèi)指令(4條)

短轉(zhuǎn)移類(lèi)指令:AJMPaddr11

長(zhǎng)轉(zhuǎn)移類(lèi)指令:LJMPaddr16

相對(duì)轉(zhuǎn)移指令:SJMPrel

間接轉(zhuǎn)移指令:JMP@A+DPTR(1)上面前三條指令,統(tǒng)統(tǒng)了解成:PC值改變,即跳轉(zhuǎn)到一個(gè)標(biāo)號(hào)處。那么他們區(qū)分何在呢?情境一電子顯示屏的設(shè)計(jì)第7頁(yè)跳轉(zhuǎn)范圍不一樣。

短轉(zhuǎn)移類(lèi)指令:AJMPaddr11

長(zhǎng)轉(zhuǎn)移類(lèi)指令:LJMPaddr16

相對(duì)轉(zhuǎn)移指令:SJMPrel轉(zhuǎn)移范圍:2KB64KB-128~+127指令組成不一樣。

AJMP、LJMP后跟是絕對(duì)地址,而SJMP后跟是相對(duì)地址。

指令長(zhǎng)度不一樣標(biāo)準(zhǔn)上,全部用SJMP或AJMP地方都能夠用

LJMP來(lái)替換。情境一電子顯示屏的設(shè)計(jì)第8頁(yè)間接轉(zhuǎn)移指令:JMP@A+DPTR

這條指令用途也是跳轉(zhuǎn),轉(zhuǎn)到什么地方去呢?這可不能由標(biāo)號(hào)簡(jiǎn)單地決定了。轉(zhuǎn)移地址由A+DPTR形成,并直接送入PC。指令對(duì)A、DPTR和標(biāo)志位均無(wú)影響。本指令可代替眾多判別跳轉(zhuǎn)指令,又稱(chēng)為散轉(zhuǎn)指令,多用于多分支程序結(jié)構(gòu)中。(2)第四條指令與前三條指令相比有所不一樣情境一電子顯示屏的設(shè)計(jì)第9頁(yè)例:MOVDPTR,#TAB;將TAB代表地址送入DPTRJMP@A+DPTR;跳轉(zhuǎn)TAB:AJMPROUT0;跳轉(zhuǎn)ROUT0開(kāi)始程序段TAB+2:AJMPROUT1;跳轉(zhuǎn)ROUT1開(kāi)始程序段TAB+4:

AJMPROUT2;跳轉(zhuǎn)ROUT2開(kāi)始程序段TAB+6:

AJMPROUT3;跳轉(zhuǎn)ROUT3開(kāi)始程序段

...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è)計(jì)第10頁(yè)2.2條件轉(zhuǎn)移指令(8條)條件轉(zhuǎn)移指令是指在滿足一定條件時(shí)進(jìn)行相對(duì)轉(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)移到相對(duì)于當(dāng)前PC值8位移量地址去。即:

新PC值=當(dāng)前PC+偏移量rel我們?cè)诰帉?xiě)匯編語(yǔ)言源程序時(shí),能夠直接寫(xiě)成:

JZ

標(biāo)號(hào) ;即轉(zhuǎn)移到標(biāo)號(hào)處。情境一電子顯示屏的設(shè)計(jì)第11頁(yè)例:MOVA,R0

JZL1MOVR1,#00HAJMPL2L1:MOVR1,#0FFH

L2:SJMPL2END

在執(zhí)行上面這段程序前:假如R0=0,結(jié)果R1=0FFH。而假如R00,則結(jié)果是R1=00H。把上面那個(gè)例子中JZ改成JNZ,看看程序執(zhí)行結(jié)果是什么?

假如R0=0,結(jié)果R1=00H。假如R00,結(jié)果是R1中值為0FFH。情境一電子顯示屏的設(shè)計(jì)第12頁(yè)二、比較不等轉(zhuǎn)移指令(4條)CJNEA,#data,rel

CJNEA,direct,relCJNERn,#data,relCJNE@Ri,#data,rel這類(lèi)指令功效是將兩個(gè)操作數(shù)比較,假如二者相等,就次序執(zhí)行,假如不相等,就轉(zhuǎn)移。一樣地,使用時(shí),我們能夠?qū)el了解成標(biāo)號(hào),即:

CJNEA,#data,標(biāo)號(hào)

CJNEA,direct,標(biāo)號(hào)

CJNERn,#data,標(biāo)號(hào)

CJNE@Ri,#data,標(biāo)號(hào)情境一電子顯示屏的設(shè)計(jì)第13頁(yè)利用這些指令,能夠判斷兩數(shù)是否相等。但有時(shí)還想得知兩數(shù)比較之后哪個(gè)大,哪個(gè)小,本條指令也含有這么功效:假如兩數(shù)不相等,則CPU還會(huì)用CY(進(jìn)位位)來(lái)反應(yīng)哪個(gè)數(shù)大,哪個(gè)數(shù)小。假如前面數(shù)大,則CY=0,不然CY=1。所以在程序轉(zhuǎn)移后再次利用CY就可判斷出哪個(gè)數(shù)大,哪個(gè)數(shù)小了。情境一電子顯示屏的設(shè)計(jì)第14頁(yè)舉例: 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è)計(jì)第15頁(yè)三、減1不為0轉(zhuǎn)移指令(2條)DJNZRn,relDJNZdirect,relDJNZ指令執(zhí)行過(guò)程是這么:它將第一個(gè)參數(shù)中值減1,然后看這個(gè)值是否等于0,假如等于0,就往下執(zhí)行,假如不等于0,就轉(zhuǎn)移到第二個(gè)參數(shù)所指定地方去。例:

DJNZ10H,LOOP...LOOP:...情境一電子顯示屏的設(shè)計(jì)第16頁(yè)例:

MOV23H,#0AHCLRALOOP:ADDA,23HDJNZ23H,LOOPSJMP$上述程序段執(zhí)行過(guò)程是:將23H單元中數(shù)連續(xù)相加,存至A中,每加一次,23H單元中數(shù)值減1,直至減到0,共加(23H)次。情境一電子顯示屏的設(shè)計(jì)第17頁(yè)3空操作指令(1條)

NOP空操作,就是什么事也不干,停一個(gè)周期,普通用作短時(shí)間延時(shí)。情境一電子顯示屏的設(shè)計(jì)第18頁(yè)4位操作指令(17條)MCS-51單片機(jī)硬件結(jié)構(gòu)中,有一個(gè)位處理器(又稱(chēng)布爾處理器),它有一套位變量處理指令集,包含位變量傳送、邏輯運(yùn)算、控制程序轉(zhuǎn)移等。在MCS-51中,有一部份RAM和一部份SFR是含有位尋址功效。位操作區(qū):內(nèi)部RAM20H-2FH這16個(gè)字節(jié)單元,即128個(gè)位單元(位地址空間位00~7FH);能夠位尋址特殊功效存放器:8031中有一情境一電子顯示屏的設(shè)計(jì)第19頁(yè)些SFR是能夠進(jìn)行位尋址,這些SFR特點(diǎn)是其字節(jié)地址均可被8整除,如A累加器,B存放器、PSW、IP(中止優(yōu)先級(jí)控制存放器)、IE(中止允許控制存放器)、SCON(串行口控制存放器)、TCON(定時(shí)器/計(jì)數(shù)器控制存放器)、P0-P3(I/O端口鎖存器)。在進(jìn)行位處理時(shí),CY用作“位累加器”。情境一電子顯示屏的設(shè)計(jì)第20頁(yè)

以PSW中位4(RS1)為例。直接(位)地址方式:如D4H;點(diǎn)操作符號(hào)方式:如PSW.4,D0H.4;位名稱(chēng)方式:如RS1;用戶定義名方式:如用偽指令bit

SUB.REGbit

RS1定義后,可用SUB.REG代替RS1。位地址表示方式情境一電子顯示屏的設(shè)計(jì)第21頁(yè)4.1位傳送指令(2條)

MOVC,bit

;bit

→CMOVbit,C ;C→bit這組指令功效是實(shí)現(xiàn)位累加器(CY)和其它位地址之間數(shù)據(jù)傳遞。例:MOVC,P1.0 ;將P1.0狀態(tài)送給C。

MOVP1.0,C;將C中狀態(tài)送到P1.0

;引腳上去。情境一電子顯示屏的設(shè)計(jì)第22頁(yè)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è)計(jì)第23頁(yè)4.3位邏輯運(yùn)算指令

(6條)

位與指令

ANLC,bit

;Cy與指定位值相與,結(jié)果送CyANLC,/bit

;先將指定位地址中值取出后取反,再和Cy相與,結(jié)果送回Cy。但注意:指定位地址中值本身并不發(fā)生改變。例:ANLC,/P1.0情境一電子顯示屏的設(shè)計(jì)第24頁(yè)位取反指令

CPLC

;使Cy值取反。CPLbit

;使指定位值取反。例:CPLP1.0位或指令

ORLC,bitORLC,/bit情境一電子顯示屏的設(shè)計(jì)第25頁(yè)4.4位條件轉(zhuǎn)移指令(5條)

判Cy轉(zhuǎn)移指令

JCrel JNCrel

第一條指令功效是假如Cy=1就轉(zhuǎn)移,不然就次序執(zhí)行。第二條指令則和第一條指令相反,即假如Cy=0就轉(zhuǎn)移,不然就次序執(zhí)行。一樣了解:JNC標(biāo)號(hào)情境一電子顯示屏的設(shè)計(jì)第26頁(yè)判位變量轉(zhuǎn)移指令

JBbit,relJNBbit,relJBCbit,rel第一條指令:假如指定(bit)=1,則轉(zhuǎn)移,不然次序執(zhí)行,第二條指令功效相反。一樣了解:JBbit,標(biāo)號(hào)第三條指令是假如指定(bit)=1,則轉(zhuǎn)移,并把該位清0,不然次序執(zhí)行。情境一電子顯示屏的設(shè)計(jì)第27頁(yè)5偽指令

在匯編時(shí)起控制作用,本身并不產(chǎn)生機(jī)器碼,而僅是為匯編服務(wù)一些指令,稱(chēng)為偽指令。偽指令不屬于80C51指令系統(tǒng)。5.1起始偽指令ORG(Origin)

功效:要求ORG下面目標(biāo)程序起始地址。格式:ORG16位地址ORG0100HSTART:MOVA,#05HADDA,#08HMOV20H,AORG0100H表示該偽指令下面第一條指令起始地址是0100H,即MOVA,#05H指令第一個(gè)字節(jié)地址為0100H,或標(biāo)號(hào)START代表地址為0100H。情境一電子顯示屏的設(shè)計(jì)第28頁(yè)功效:將一個(gè)數(shù)據(jù)或特定匯編符號(hào)賦予要求 字符名稱(chēng)。5.2結(jié)束偽指令END功效:匯編語(yǔ)言源程序結(jié)束標(biāo)志。

在END后面指令,匯編程序不再處理。格式:END5.3

等值偽指令EQU(Equate)格式:字符名稱(chēng)EQU

數(shù)據(jù)或匯編符號(hào)比如:PPEQUR0;PP=R0MOVA,PP;AR0

這里將PP等值為匯編符號(hào)R0,在指令中PP就能夠代替R0來(lái)使用。

情境一電子顯示屏的設(shè)計(jì)第29頁(yè)5.4

數(shù)據(jù)地址賦值偽指令

DATA格式:字符名稱(chēng)DATA

表示式功效:將數(shù)據(jù)地址或代碼地址賦予要求 字符名稱(chēng)。5.5定義字節(jié)偽指令DB(DefineByte)格式:DB8位二進(jìn)制數(shù)表功效:從指定地址單元開(kāi)始,定義若干 個(gè)8位內(nèi)存單元數(shù)據(jù)。數(shù)據(jù)與數(shù)據(jù)之間用“,”分割。情境一電子顯示屏的設(shè)計(jì)第30頁(yè)比如:

ORG4000HTAB:DB73H,45,“A”,“2”TAB1:DB101B

以上指令經(jīng)匯編后,將對(duì)4000H開(kāi)始若干內(nèi)存單元賦值。(4000H)=73H,(4001H):2DH(注:4516進(jìn)制數(shù)),5.6

定義字偽指令DW(DefineWord)格式:DW16位二進(jìn)制數(shù)表功效:從指定地址單元開(kāi)始,定義 若干個(gè)16位數(shù)據(jù)。情境一電子顯示屏的設(shè)計(jì)第31頁(yè)格式:字符名稱(chēng)BIT

位地址5.7定義位地址偽指令BIT功效:將位地址賦予所要求字符名稱(chēng)。

AQBITP0.0DEFBIT30H

把P0.0位地址賦給字符AQ,把位地址30H賦給字符DEF。在其后編程中,AQ可作P0.0使用,DEF可作位地址30H使用。情境一電子顯示屏的設(shè)計(jì)第32頁(yè)6.1要求:占用存放空間少;運(yùn)行時(shí)間短;程序編制、調(diào)試及排錯(cuò)所需時(shí)間短;結(jié)構(gòu)清楚,易讀、易于移植6程序設(shè)計(jì)方法和技巧

情境一電子顯示屏的設(shè)計(jì)第33頁(yè)6.2程序設(shè)計(jì)普通步驟(1)分析工作任務(wù),明確要到達(dá)工作目標(biāo)、技術(shù)指標(biāo)等。(2)確定處理問(wèn)題算法。算法就是怎樣將實(shí)際問(wèn)題轉(zhuǎn)化成程序模塊來(lái)處理,要對(duì)不一樣算法進(jìn)行分析、比較,找出最適宜算法。(3)畫(huà)程序流程圖。其圖形符號(hào)要求均與高級(jí)語(yǔ)言流程圖相同,如桶形框表示程序開(kāi)始或結(jié)束,矩形框表示需要進(jìn)行工作,菱形框表示需要判斷事情,指向線表示程序流向等。(4)分配內(nèi)存工作單元,確定程序與數(shù)據(jù)存放地址。(5)編寫(xiě)源程序。(6)上機(jī)調(diào)試、修改源程序。情境一電子顯示屏的設(shè)計(jì)第34頁(yè)6.3程序設(shè)計(jì)普通技巧盡可能采取循環(huán)結(jié)構(gòu)和子程序結(jié)構(gòu)。這么能夠使程序總?cè)萘看蟠蠼档停嵘绦蛐?,?jié)約內(nèi)存。盡可能少用無(wú)條件轉(zhuǎn)移指令。這么能夠使程序條理愈加清楚,從而降低錯(cuò)誤。對(duì)于通用子程序,除了用于存放子程序入口參數(shù)存放器外,子程序中用到其它存放器內(nèi)容應(yīng)壓入堆棧,即保護(hù)現(xiàn)場(chǎng)。普通無(wú)須把標(biāo)志存放器壓入堆棧。在中止處理程序中,除了要保護(hù)中止處理程序中用到存放器外,還要保護(hù)標(biāo)志存放器。用累加器傳遞入口參數(shù)或返回參數(shù)比較方便,在子程序中,普通無(wú)須把累加器內(nèi)容壓入堆棧。情境一電子顯示屏的設(shè)計(jì)第35頁(yè)匯編語(yǔ)言慣用延時(shí)程序所用到指令指令占用機(jī)器周期數(shù)MOVRn,#Data1DJNZRn,rel2RET2NOP17延時(shí)程序情境一電子顯示屏的設(shè)計(jì)第36頁(yè)基本延時(shí)模式及延時(shí)時(shí)間計(jì)算:?jiǎn)窝h(huán)延時(shí)程序MOVR0,#X;1個(gè)機(jī)器周期D1:DJNZR0,D1;2個(gè)機(jī)器周期RET;2個(gè)機(jī)器周期單延時(shí)時(shí)間:=2*X*T+1*T+2*T=(2*X+3)*T假定晶振12MHZ時(shí),當(dāng)X=0時(shí)循環(huán)256次,最長(zhǎng)延時(shí)515μs當(dāng)X=1時(shí)循環(huán)1次,最短延時(shí)5μs情境一電子顯示屏的設(shè)計(jì)第37頁(yè)雙重循環(huán)延時(shí)程序MOVR1,#Y;1個(gè)機(jī)器周期D1:MOVR0,#X;1個(gè)機(jī)器周期D2:DJNZR0,D2;2個(gè)機(jī)器周期DJNZR1,D1;2個(gè)機(jī)器周期RET;2個(gè)機(jī)器周期雙重循環(huán)延時(shí)時(shí)=(2*X+1+2)*Y*T+1*T+2*T=(2*X*Y+3*Y+3)*T假定晶振12MHZ時(shí),最長(zhǎng)延時(shí)131843μs最短延時(shí)8μs情境一電子顯示屏的設(shè)計(jì)第38頁(yè)三重循環(huán)延時(shí)程序

MOVR2,#Z;1個(gè)機(jī)器周期D1:MOVR1,#Y;1個(gè)機(jī)器周期D2:MOVR0,#X;1個(gè)機(jī)器周期D3:DJNZR0,D3;2個(gè)機(jī)器周期

DJNZR1,D2;2個(gè)機(jī)器周期

DJNZR2,D1;2個(gè)機(jī)器周期

RET;2個(gè)機(jī)器周期三重循環(huán)延時(shí)時(shí)間:=[(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時(shí),最長(zhǎng)延時(shí)33751811μs最短延時(shí)11μs情境一電子顯示屏的設(shè)計(jì)第39頁(yè)1、設(shè)計(jì)硬件連接圖

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論