亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲(chóng)蟲(chóng)首頁(yè)| 資源下載| 資源專(zhuān)輯| 精品軟件
登錄| 注冊(cè)

clr

  • 單片機(jī)入門(mén)基礎(chǔ)知識(shí)大全免費(fèi)下載

    單片機(jī)入門(mén)基礎(chǔ)知識(shí)大全免費(fèi)下載 單片機(jī)第八課(尋址方式與指令系統(tǒng)) 通過(guò)前面的學(xué)習(xí),我們已經(jīng)了解了單片機(jī)內(nèi)部的結(jié)構(gòu),并且也已經(jīng)知道,要控制單片機(jī),讓它為我們干學(xué),要用指令,我們已學(xué)了幾條指令,但很零散,從現(xiàn)在開(kāi)始,我們將要系統(tǒng)地學(xué)習(xí)8051的指令部份。 一、概述 1、指令的格式 我們已知,要讓計(jì)算機(jī)做事,就得給計(jì)算機(jī)以指令,并且我們已知,計(jì)算機(jī)很“笨”,只能懂得數(shù)字,如前面我們寫(xiě)進(jìn)機(jī)器的75H,90H,00H等等,所以指令的第一種格式就是機(jī)器碼格式,也說(shuō)是數(shù)字的形式。但這種形式實(shí)在是為難我們?nèi)肆耍y記了,于是有另一種格式,助記符格式,如MOV P1,#0FFH,這樣就好記了。 這兩種格式之間的關(guān)系呢,我們不難理解,本質(zhì)上它們完全等價(jià),只是形式不一樣而已。 2、匯編 我們寫(xiě)指令使用匯編格式,而計(jì)算機(jī)只懂機(jī)器碼格式,所以要將我們寫(xiě)的匯編格式的指令轉(zhuǎn)換為機(jī)器碼格式,這種轉(zhuǎn)換有兩種方法:手工匯編和機(jī)器匯編。手工匯編實(shí)際上就是查表,因?yàn)檫@兩種格式純粹是格式不同,所以是一一對(duì)應(yīng)的,查一張表格就行了。不過(guò)手工查表總是嫌麻煩,所以就有了計(jì)算機(jī)軟件,用計(jì)算機(jī)軟件來(lái)替代手工查表,這就是機(jī)器匯編。 二、尋址 讓我們先來(lái)復(fù)習(xí)一下我們學(xué)過(guò)的一些指令:MOV P1,#0FFH,MOV R7,#0FFH這些指令都是將一些數(shù)據(jù)送到相應(yīng)的位置中去,為什么要送數(shù)據(jù)呢?第一個(gè)因?yàn)樗腿氲臄?shù)可以讓燈全滅掉,第二個(gè)是為了要實(shí)現(xiàn)延時(shí),從這里我們可以看出來(lái),在用單片機(jī)的編程語(yǔ)言編程時(shí),經(jīng)常要用到數(shù)據(jù)的傳遞,事實(shí)上數(shù)據(jù)傳遞是單片機(jī)編程時(shí)的一項(xiàng)重要工作,一共有28條指令(單片機(jī)共111條指令)。下面我們就從數(shù)據(jù)傳遞類(lèi)指令開(kāi)始吧。 分析一下MOV P1,#0FFH這條指令,我們不難得出結(jié)論,第一個(gè)詞MOV是命令動(dòng)詞,也就是決定做什么事情的,MOV是MOVE少寫(xiě)了一個(gè)E,所以就是“傳遞”,這就是指令,規(guī)定做什么事情,后面還有一些參數(shù),分析一下,數(shù)據(jù)傳遞必須要有一個(gè)“源”也就是你要送什么數(shù),必須要有一個(gè)“目的”,也就是你這個(gè)數(shù)要送到什么地方去,顯然在上面那條指令中,要送的數(shù)(源)就是0FFH,而要送達(dá)的地方(目的地)就是P1這個(gè)寄存器。在數(shù)據(jù)傳遞類(lèi)指令中,均將目的地寫(xiě)在指令的后面,而將源寫(xiě)在最后。 這條指令中,送給P1是這個(gè)數(shù)本身,換言之,做完這條指令后,我們可以明確地知道,P1中的值是0FFH,但是并不是任何時(shí)候都可以直接給出數(shù)本身的。例如,在我們前面給出的延時(shí)程序例是這樣寫(xiě)的: MAIN: SETB P1.0     ;(1)    LCALL DELAY ;(2)     clr P1.0      ;(3)    LCALL DELAY   ;(4)     AJMP MAIN    ;(5) ;以下子程序 DELAY: MOV R7,#250   ;(6) D1: MOV R6,#250   ;(7) D2: DJNZ R6,D2    ;(8)    DJNZ R7,D1   ;(9)    RET        ;(10)    END        ;(11)     表1  MAIN: SETB P1.0     ;(1)    MOV 30H,#255     LCALL DELAY ;     clr P1.0      ;(3)     MOV 30H,#200     LCALL DELAY   ;(4)     AJMP MAIN    ;(5) ;以下子程序 DELAY: MOV R7,30H   ;(6) D1: MOV R6,#250   ;(7) D2: DJNZ R6,D2    ;(8)    DJNZ R7,D1   ;(9)    RET        ;(10)    END        ;(11) 表2    這樣一來(lái),我每次調(diào)用延時(shí)程序延時(shí)的時(shí)間都是相同的(大致都是0.13S),如果我提出這樣的要求:燈亮后延時(shí)時(shí)間為0.13S燈滅,燈滅后延時(shí)0.1秒燈亮,如此循環(huán),這樣的程序還能滿足要求嗎?不能,怎么辦?我們可以把延時(shí)程序改成這樣(見(jiàn)表2):調(diào)用則見(jiàn)表2中的主程,也就是先把一個(gè)數(shù)送入30H,在子程序中R7中的值并不固定,而是根據(jù)30H單元中傳過(guò)來(lái)的數(shù)確定。這樣就可以滿足要求。 從這里我們可以得出結(jié)論,在數(shù)據(jù)傳遞中要找到被傳遞的數(shù),很多時(shí)候,這個(gè)數(shù)并不能直接給出,需要變化,這就引出了一個(gè)概念:如何尋找操作數(shù),我們把尋找操作數(shù)所在單元的地址稱(chēng)之為尋址。在這里我們直接使用數(shù)所在單元的地址找到了操作數(shù),所以稱(chēng)這種方法為直接尋址。除了這種方法之外,還有一種,如果我們把數(shù)放在工作寄存器中,從工作寄存器中尋找數(shù)據(jù),則稱(chēng)之為寄存器尋址。例:MOV A,R0就是將R0工作寄存器中的數(shù)據(jù)送到累加器A中去。提一個(gè)問(wèn)題:我們知道,工作寄存器就是內(nèi)存單元的一部份,如果我們選擇工作寄存器組0,則R0就是RAM的00H單元,那么這樣一來(lái),MOV A,00H,和MOV A,R0不就沒(méi)什么區(qū)別了嗎?為什么要加以區(qū)分呢?的確,這兩條指令執(zhí)行的結(jié)果是完全相同的,都是將00H單元中的內(nèi)容送到A中去,但是執(zhí)行的過(guò)程不同,執(zhí)行第一條指令需要2個(gè)周期,而第二條則只需要1個(gè)周期,第一條指令變成最終的目標(biāo)碼要兩個(gè)字節(jié)(E5H 00H),而第二條則只要一個(gè)字節(jié)(E8h)就可以了。 這么斤斤計(jì)較!不就差了一個(gè)周期嗎,如果是12M的晶振的話,也就1個(gè)微秒時(shí)間了,一個(gè)字節(jié)又能有多少? 不對(duì),如果這條指令只執(zhí)行一次,也許無(wú)所謂,但一條指令如果執(zhí)行上1000次,就是1毫秒,如果要執(zhí)行1000000萬(wàn)次,就是1S的誤差,這就很可觀了,單片機(jī)做的是實(shí)時(shí)控制的事,所以必須如此“斤斤計(jì)較”。字節(jié)數(shù)同樣如此。 再來(lái)提一個(gè)問(wèn)題,現(xiàn)在我們已知,尋找操作數(shù)可以通過(guò)直接給的方式(立即尋址)和直接給出數(shù)所在單元地址的方式(直接尋址),這就夠了嗎? 看這個(gè)問(wèn)題,要求從30H單元開(kāi)始,取20個(gè)數(shù),分別送入A累加器。 就我們目前掌握的辦法而言,要從30H單元取數(shù),就用MOV A,30H,那么下一個(gè)數(shù)呢?是31H單元的,怎么取呢?還是只能用MOV A,31H,那么20個(gè)數(shù),不是得20條指令才能寫(xiě)完嗎?這里只有20個(gè)數(shù),如果要送200個(gè)或2000個(gè)數(shù),那豈不要寫(xiě)上200條或2000條命令?這未免太笨了吧。為什么會(huì)出現(xiàn)這樣的狀況?是因?yàn)槲覀冎粫?huì)把地址寫(xiě)在指令中,所以就沒(méi)辦法了,如果我們不是把地址直接寫(xiě)在指令中,而是把地址放在另外一個(gè)寄存器單元中,根據(jù)這個(gè)寄存器單元中的數(shù)值決定該到哪個(gè)單元中取數(shù)據(jù),比如,當(dāng)前這個(gè)寄存器中的值是30H,那么就到30H單元中去取,如果是31H就到31H單元中去取,就可以解決這個(gè)問(wèn)題了。怎么個(gè)解決法呢?既然是看的寄存器中的值,那么我們就可以通過(guò)一定的方法讓這里面的值發(fā)生變化,比如取完一個(gè)數(shù)后,將這個(gè)寄存器單元中的值加1,還是執(zhí)行同一條指令,可是取數(shù)的對(duì)象卻不一樣了,不是嗎。通過(guò)例子來(lái)說(shuō)明吧。    MOV R7,#20    MOV R0,#30H LOOP:MOV A,@R0    INC R0    DJNZ R7,LOOP 這個(gè)例子中大部份指令我們是能看懂的,第一句,是將立即數(shù)20送到R7中,執(zhí)行完后R7中的值應(yīng)當(dāng)是20。第二句是將立即數(shù)30H送入R0工作寄存器中,所以執(zhí)行完后,R0單元中的值是30H,第三句,這是看一下R0單元中是什么值,把這個(gè)值作為地址,取這個(gè)地址單元的內(nèi)容送入A中,此時(shí),執(zhí)行這條指令的結(jié)果就相當(dāng)于MOV A,30H。第四句,沒(méi)學(xué)過(guò),就是把R0中的值加1,因此執(zhí)行完后,R0中的值就是31H,第五句,學(xué)過(guò),將R7中的值減1,看是否等于0,不等于0,則轉(zhuǎn)到標(biāo)號(hào)LOOP處繼續(xù)執(zhí)行,因此,執(zhí)行完這句后,將轉(zhuǎn)去執(zhí)行MOV A,@R0這句話,此時(shí)相當(dāng)于執(zhí)行了MOV A,31H(因?yàn)榇藭r(shí)的R0中的值已是31H了),如此,直到R7中的值逐次相減等于0,也就是循環(huán)20次為止,就實(shí)現(xiàn)了我們的要求:從30H單元開(kāi)始將20個(gè)數(shù)據(jù)送入A中。 這也是一種尋找數(shù)據(jù)的方法,由于數(shù)據(jù)是間接地被找到的,所以就稱(chēng)之為間址尋址。注意,在間址尋址中,只能用R0或R1存放等尋找的數(shù)據(jù)。 二、指令 數(shù)據(jù)傳遞類(lèi)指令 1) 以累加器為目的操作數(shù)的指令 MOV A,Rn MOV A,direct MOV A,@Ri MOV A,#data 第一條指令中,Rn代表的是R0-R7。第二條指令中,direct就是指的直接地址,而第三條指令中,就是我們剛才講過(guò)的。第四條指令是將立即數(shù)data送到A中。 下面我們通過(guò)一些例子加以說(shuō)明: MOV A,R1 ;將工作寄存器R1中的值送入A,R1中的值保持不變。 MOV A,30H ;將內(nèi)存30H單元中的值送入A,30H單元中的值保持不變。 MOV A,@R1 ;先看R1中是什么值,把這個(gè)值作為地址,并將這個(gè)地址單元中的值送入A中。如執(zhí)行命令前R1中的值為20H,則是將20H單元中的值送入A中。 MOV A,#34H ;將立即數(shù)34H送入A中,執(zhí)行完本條指令后,A中的值是34H。 2)以寄存器Rn為目的操作的指令 MOV Rn,A   MOV Rn,direct   MOV Rn,#data 這組指令功能是把源地址單元中的內(nèi)容送入工作寄存器,源操作數(shù)不變。

    標(biāo)簽: 單片機(jī) 免費(fèi)下載 基礎(chǔ)知識(shí)

    上傳時(shí)間: 2013-10-13

    上傳用戶:3294322651

  • 基于單片機(jī)的紅外門(mén)進(jìn)控制系統(tǒng)設(shè)計(jì)與制作(含源程序和原理圖)

    基于單片機(jī)的紅外門(mén)進(jìn)控制系統(tǒng)設(shè)計(jì)與制作:我們所做的創(chuàng)新實(shí)驗(yàn)項(xiàng)目“基于單片機(jī)的紅外門(mén)控系統(tǒng)”已基本完成,現(xiàn)將其工作原理簡(jiǎn)要說(shuō)明。該系統(tǒng)主要分為兩大部分:一是紅外傳感器部分。二是單片機(jī)計(jì)數(shù)顯示控制部分。基本電路圖如下:其中紅外傳感器部分我們采用紅外對(duì)管實(shí)現(xiàn),紅外對(duì)管平行放置,平常處于接收狀態(tài),經(jīng)比較器輸出低電平,當(dāng)有人經(jīng)過(guò)時(shí),紅外線被擋住,接收管接收不到紅外線,經(jīng)比較器輸出高電平。這樣,當(dāng)有人經(jīng)過(guò)時(shí)便會(huì)產(chǎn)生一個(gè)電平的跳變。單片機(jī)控制部分主要是通過(guò)外部?jī)蓚€(gè)中斷判斷是否有人經(jīng)過(guò),如果有人經(jīng)過(guò),由于電平跳變的產(chǎn)生,進(jìn)入中斷服務(wù)程序,這里我們采用了兩對(duì)紅外傳感器接到兩個(gè)外部中斷口,中斷0作為入口,實(shí)現(xiàn)加1操作,中斷1作為出口,實(shí)現(xiàn)減1操作。另外,我們通過(guò)P0口控制室內(nèi)燈的亮暗,當(dāng)寄存器計(jì)數(shù)值為0時(shí),熄燈,不為0時(shí),燈亮。顯示部分,采用兩位數(shù)碼管動(dòng)態(tài)顯示,如有必要,可以很方便的擴(kuò)展為四位計(jì)數(shù)。精益求精!在實(shí)驗(yàn)過(guò)程中,我們走了非常多的彎路,做出來(lái)的東西根本不是自己想要的,我們本想做成室內(nèi)只有一個(gè)門(mén)的進(jìn)出計(jì)數(shù),原理已清楚,即在門(mén)的兩邊放置兩對(duì)紅外對(duì)管,進(jìn)出時(shí),擋住兩對(duì)對(duì)管的順序不同,因此,可判斷是進(jìn)入還是出去,從而實(shí)現(xiàn)加減計(jì)數(shù),編程時(shí),可分別在兩個(gè)中斷服務(wù)程序的入口置標(biāo)志位,根據(jù)標(biāo)志位判斷進(jìn)出,詳細(xì)內(nèi)容在程序部分。理論如此,但在實(shí)際過(guò)程中,還是發(fā)現(xiàn)實(shí)現(xiàn)不了上述功能,我們初步判定認(rèn)為是程序掌握得不夠好,相信隨著自己對(duì)單片機(jī)了解的深入,應(yīng)該會(huì)做出更好的 (因?yàn)槲覀兪桥R時(shí)學(xué)的單片機(jī)),程序的具體內(nèi)容如下: $MOD52    ORG   0000H         LJMP  MAIN         ORG   0003H         LJMP  0100H         ORG   0013H         LJMP  0150H         ORG   0050HMAIN:    clr   A         MOV   30H , A           ;初始化緩存區(qū)         MOV   31H , A         MOV   32H , A         MOV   33H , A         MOV   R6  , A         MOV   R7  , A  SETB  EA  SETB  EX0  SETB  EX1  SETB  IT0  SETB  IT1  SETB  PX1NEXT1:   ACALL HEXTOBCDD        ;調(diào)用數(shù)制轉(zhuǎn)換子程序         ACALL DISPLAY          ;調(diào)用顯示子程序         LJMP  NEXT1          ORG   0100H  ;中斷0服務(wù)程序 LCALL  DELY mov 70h,#2 djnz 70h,next JBC  F0,NEXT         SETB F0        clr P0.0 LCALL  DELY0 SETB   P0.0                  MOV   A , R7   ADD   A , #1   MOV   R7, A   MOV   A , R6         ADDC  A , #0  MOV   R6 , A  CJNE  R6 , #07H , NEXT  clr   A  MOV   R6 , A  MOV   R7 , ANEXT:  RETI  ORG   0150H    ;中斷1服務(wù)程序 LCALL  DELY mov 70h,#2 djnz 70h,next2 JBC  F0,NEXT2 SETB  F0 clr P0.0 LCALL  DELY0 SETB   P0.0    clr C                     MOV   A , R7   SUBB   A , #1  MOV   R7, A  MOV   A , R6   SUBB  A , #0  MOV   R6 , A  CJNE  R6 , #07H , NEXT2  clr   A  MOV   R6 , A  MOV   R7 , ANEXT2:  RETI   ORG   0200HHEXTOBCDD:MOV  A , R6               ;由十六進(jìn)制轉(zhuǎn)化為十進(jìn)制         PUSH  ACC         MOV   A , R7         PUSH  ACC  MOV   A , R2         PUSH  ACC  clr   A         MOV   R3 , A  MOV   R4 , A  MOV   R5 , A  MOV   R2 , #10HHB3:     MOV   A  , R7              ;將十六進(jìn)制中最高位移入進(jìn)位位中         RLC   A  MOV   R7 , A  MOV   A  , R6  RLC   A  MOV   R6 , A  MOV   A  , R5              ;每位數(shù)加上本身相當(dāng)于將這個(gè)數(shù)乘以2  ADDC  A  , R5  DA    A  MOV   R5 , A  MOV   A  , R4  ADDC  A  , R4  DA    A                   ;十進(jìn)制調(diào)整  MOV   R4 , A  MOV   A  , R3  ADDC  A  , R3  DJNZ  R2 , HB3  POP   ACC   MOV   R2 , A  POP   ACC   MOV   R7 , A  POP   ACC  MOV   R6 , A  RET  ORG   0250HDISPLAY:  MOV   R0 , #30H         MOV   A  , R5  ANL   A  , #0FH  MOV   @R0 , A  MOV   A  , R5  SWAP  A  ANL   A  , #0FH  INC   R0  MOV   @R0 , A  MOV   A  , R4  ANL   A , #0FH  INC   R0  MOV   @R0 , A  MOV   A   , R4  SWAP  A  ANL   A  , #0FH  INC   R0  MOV   @R0 , A  MOV   R0 , #30H  MOV   R2 , #11111110BAGAIN:   MOV   A  , R2         MOV   P2 , A         MOV   A  , @R0  MOV   DPTR , #TAB  MOVC  A  , @A+DPTR  MOV   P1 , A  ACALL DELAY  INC   R0  MOV   A  , R2  RL    A  MOV   R2 , A  JB    ACC.4  , AGAIN   RETTAB:     DB    03FH , 06H , 5BH , 4FH , 66H , 6DH , 7DH , 07H , 7FH , 6FH   ;七段碼表DELY:    MOV   R1,#80D1:        MOV    R2,#100             DJNZ   R2,$ DJNZ    R1,D1 RET DELAY:   MOV   TMOD , #01H           ;延時(shí)子程序         MOV   TL0  , #0FEH         MOV   TH0  , #0FEH  SETB  TR0WAIT:    JNB   TF0  , WAIT         clr   TF0  clr   TR0  RETDELY0:   MOV  R1,  #200D3:  MOV  R2,#250          DJNZ  R2,$  DJNZ  R1,D3    RET          END       該系統(tǒng)實(shí)際應(yīng)用廣泛。可用在生產(chǎn)線上產(chǎn)品數(shù)量統(tǒng)計(jì)、公交車(chē)智能計(jì)數(shù)問(wèn)候(需添加語(yǔ)音芯片)、超市內(nèi)人數(shù)統(tǒng)計(jì)等公共場(chǎng)合。另外,添加串口通信部分便可實(shí)現(xiàn)與PC數(shù)據(jù)交換的功能。   由于,實(shí)驗(yàn)簡(jiǎn)化了,剩下不少零件和資金,所以我們又做了兩項(xiàng)其他的實(shí)驗(yàn)。

    標(biāo)簽: 單片機(jī) 紅外 控制系統(tǒng)設(shè)計(jì) 原理圖

    上傳時(shí)間: 2013-12-22

    上傳用戶:tangsiyun

  • 基于AT89C2051的紅外遙控學(xué)習(xí)器源程序

    基于AT89C2051的紅外遙控學(xué)習(xí)器源程序6 源程序          ORG 0000H          AJMP MAIN          ORG 0003H          AJMP KEYPRESS          ORG 000BH           AJMP TIMEOUT          ORG 001BH          AJMP TIMEOUT           SENDDUAN   BIT P3.0          JIEDUAN    BIT P3.1          INTRPO     BIT P3.2          JIEXUAN    BIT P3.3          SENDLIGHT  BIT P3.4          JIELIGHT   BIT P3.5          CS         BIT P3.7          DATADUAN   BIT P1.6          CLK        BIT P1.7           JIANWEI    EQU R5          JIANMA     EQU R6          SHANGJIAN  EQU 07H;R7          OPENKEY    EQU 81H          CLOSEKEY   EQU 00H          CHUT0      EQU 11H          CHUT1      EQU 11H          BUFBEGIN   EQU 18H          OPENT1     EQU 88H          CLOSET1    EQU 00H          OPENT0     EQU 82H          CLOSET0    EQU 00H          DATABEG1   EQU 0AAH          DATABEG2   EQU 33H           ORG 0030HMAIN:     MOV  IE,#80H          MOV  IP,#00H          MOV  P3,#0FFH          clr  CS          SETB P1.0          SETB P1.1          SETB P1.2          clr  P1.3          clr  P1.4          clr  P1.5          clr  P1.6          clr  P1.7                    MOV  R3,#80H          MOV  R0,00HCYCLE1:   MOV  @R0,#00H          INC  R0          DJNZ R3,CYCLE1                    MOV  PSW,#00H          MOV  SP,#07H           MOV  TMOD,#11H          MOV  TCON,#00H START:    MOV  SP,#07H          SETB SENDDUAN          clr  F0          SETB EXOWAITKEY:  MOV  C,F0          JNC  WAITKEY          CJNC JIANMA,#1BH,SEND          LCALL LEARNP          LJMP STARTSEND:     LCALL SENDP          LJMP START SENDP:    SETB SENDDUAN          clr  F0          MOV  TMOD,#CHUT1

    標(biāo)簽: C2051 2051 89C AT

    上傳時(shí)間: 2013-10-15

    上傳用戶:lyy1234

  • 模擬串口通訊程序(51匯編代碼編寫(xiě))

    T2作為波特率控制UART_RXD 是硬中斷0或1口,如果能進(jìn)入中斷,說(shuō)明該線有一個(gè)起始位產(chǎn)生,進(jìn)入中斷后調(diào)用下面的接收程序。退出硬中斷之前還需要將硬中斷標(biāo)志重新復(fù)位。UART_TXD 是任何其它IO即可。UART_SEND:    PUSH IE    PUSH DPH    PUSH DPL    PUSH PSW    PUSH 00H    PUSH ACC    clr EA    SETB UART_TXD        ;START BIT        MOV R0,A    clr TR2    ;TR2置1,計(jì)數(shù)器2啟動(dòng),時(shí)間計(jì)數(shù)啟動(dòng)。    MOV A,RCAP2L;計(jì)數(shù)器2重新裝載值    MOV TL2,A    ;置計(jì)數(shù)器2初值  ;T2需要重新裝載    MOV A,DPH    MOV A,RCAP2H    MOV TH2,A    MOV A,R0        SETB TR2    ;TR2置1,計(jì)數(shù)器    JNB TF2,$    clr TF2    JNB TF2,$    clr TF2

    標(biāo)簽: 模擬串口 通訊程序 匯編代碼 編寫(xiě)

    上傳時(shí)間: 2014-01-12

    上傳用戶:二十八號(hào)

  • 51程序庫(kù) (各種常用程序)

    ;片內(nèi)RAM初始化子程序 IBclr    :MOV    A,R0          MOV    R1,A          clr    AIBC1     :MOV    @R1,A          INC    R1          DJNZ   R7,IBC1          RET ;片外RAM初始化子程序 EBclr1   :MOV    A,ADDPL          MOV    DPL,A          MOV    A,ADDPH          MOV    DPH,A          clr    CEBC11    :MOVX   @DPTR,A          INC    DPTR          DJNZ   R7,EBC11          RET ;片外RAM初始化子程序(雙字節(jié)個(gè)單元) EBclr2   :MOV    A,ADDPL          MOV    DPL,A          MOV    A,ADDPH          MOV    DPH,A          MOV    A,R7          JZ     EBC21          INC    R6EBC21    :clr    A          MOVX   @DPTR,A          INC    DPTR          DJNZ   R7,EBC21          DJNZ   R6,EBC21          RET ;內(nèi)部RAM數(shù)據(jù)復(fù)制程序;入口    :R0,R7;占用資源:A;堆棧需求:2字節(jié);出口    :R1 IBMOV    :MOV    A,R0          ADD    A,R7          MOV    R0,A          MOV    A,R1          ADD    A,R7          MOV    R1,AIBM1     :DEC    R0          DEC    R1          MOV    A,@R0          MOV    @R1,A          DJNZ   R7,IBM1          RET ;外部RAM數(shù)據(jù)復(fù)制程序;入口    :ADDPH,ADDPL,R7;占用資源:ACC;堆棧需求:2字節(jié);出口    :R0,R1 EBMOV1   :MOV    A,ADDPL          ADD    A,R7          MOV    DPL,A          clr    A          ADDC   A,ADDPH          MOV    DPH,A          MOV    A,R7          ADD    A,R1          XCH    A,R0          ADDC   A,#00H          MOV    P2,AEBM11    :DEC    R0          CJNE   R0,#0FFH,EBM12          DEC    P2EBM12    :DEC    DPL          MOV    A,DPL          CJNE   A,#0FFH,EBM13          DEC    DPHEBM13    :MOVX   A,@R0          MOVX   @DPTR,A          DJNZ   R7,EBM11          RET ;外部RAM數(shù)據(jù)復(fù)制程序

    標(biāo)簽: 程序庫(kù) 常用程序

    上傳時(shí)間: 2013-10-30

    上傳用戶:bs2005

  • 溫度傳感器ds1820的匯編程序

    晶振:12M TEMPER_L EQU 36H TEMPER_H EQU 35H TEMPER_NUM EQU 60H FLAG1 BIT 00H DQ BIT P3.3AAA:MOV SP,#70H LCALL GET_TEMPER LCALL TEMPER_COV LJMP AAA NOP ;------------------讀出轉(zhuǎn)換后的溫度值 GET_TEMPER: SETB DQ ; 定時(shí)入口 BCD:LCALL INIT_1820 JB FLAG1,S22 LJMP BCD ; 若DS18B20不存在則返回S22:LCALL DELAY1 MOV A,#0CCH ; 跳過(guò)ROM匹配------0CC LCALL WRITE_1820 MOV A,#44H ; 發(fā)出溫度轉(zhuǎn)換命令 LCALL WRITE_1820 NOP LCALL DELAY LCALL DELAY CBA:LCALL INIT_1820 JB FLAG1,ABC LJMP CBA ABC:LCALL DELAY1 MOV A,#0CCH ; 跳過(guò)ROM匹配 LCALL WRITE_1820 MOV A,#0BEH ; 發(fā)出讀溫度命令 LCALL WRITE_1820 LCALL READ_18200 ;READ_1820 RET ;------------------讀DS18B20的程序,從DS18B20中讀出一個(gè)字節(jié)的數(shù)據(jù) READ_1820: MOV R2,#8 RE1: clr C

    標(biāo)簽: 1820 ds 溫度傳感器 匯編程序

    上傳時(shí)間: 2013-10-09

    上傳用戶:heart_2007

  • 紅外遙控接收程序

    紅外遙控接收;=================================================;; zsMCU51實(shí)驗(yàn)板配套學(xué)習(xí)例程;; 中山單片機(jī)學(xué)習(xí)網(wǎng) 智佳科技;; 作者:逸風(fēng) QQ:105558851;; http://www.zsmcu.com; E-mail:info@zsmcu.com;=================================================ORG 0000HLJMP START;轉(zhuǎn)入主程序ORG 0010HSTART:MAIN:JNB P2.2,IRLJMP MAIN;以下為進(jìn)入P3.2腳外部中斷子程序,也就是解碼程序IR:MOV R6,#9SB:ACALL DELAY882 ;調(diào)用882微秒延時(shí)子程序JB P2.2,EXIT ;延時(shí)882微秒后判斷P3.2腳是否出現(xiàn)高電平如果有就退出解碼程序DJNZ R6, SB ;重復(fù)10次,目的是檢測(cè)在8820微秒內(nèi)如果出現(xiàn)高電平就退出解碼程序;以上完成對(duì)遙控信號(hào)的9000微秒的初始低電平信號(hào)的識(shí)別。JNB P2.2, $ ;等待高電平避開(kāi)9毫秒低電平引導(dǎo)脈沖ACALL DELAY2400JNB P2.2,IR_Rp ;ACALL DELAY2400 ;延時(shí)4.74毫秒避開(kāi)4.5毫秒的結(jié)果碼MOV R1,#1AH ;設(shè)定1AH為起始RAM區(qū)MOV R2,#4PP:MOV R3,#8JJJJ:JNB P2.2,$ ;等待地址碼第一位的高電平信號(hào)LCALL DELAY882 ;高電平開(kāi)始后用882微秒的時(shí)間尺去判斷信號(hào)此時(shí)的高低電平狀態(tài)MOV C,P2.2 ;將P3.2引腳此時(shí)的電平狀態(tài)0或1存入C中 JNC UUU ;如果為0就跳轉(zhuǎn)到UUULCALL DELAY1000UUU:MOV A,@R1 ;將R1中地址的給ARRC A ;將C中的值0或1移入A中的最低位MOV @R1,A ;將A中的數(shù)暫時(shí)存放在R1中DJNZ R3,JJJJ ;接收地址碼的高8位INC R1 ;對(duì)R1中的值加1,換下一個(gè)RAMDJNZ R2,PP ;接收完16位地址碼和8位數(shù)據(jù)碼和8位數(shù)據(jù),存放在1AH/1BH/1CH/1DH的RAM中MOV P1,1DH ;將按鍵的鍵值通過(guò)P1口的8個(gè)LED顯示出來(lái)!clr P2.3 ;蜂鳴器鳴響-嘀嘀嘀-的聲音,表示解碼成功LCALL DELAY2400LCALL DELAY2400LCALL DELAY2400SETB P2.3;蜂鳴器停止LJMP MAINIR_Rp:LJMP MAINEXIT:LJMP MAIN ;退出解碼子程序;=============================882DELAY882: ;1.085x ((202x4)+5)=882MOV R7,#202DELAY882_A:NOPNOPDJNZ R7,DELAY882_ARET;=============================1000DELAY1000: ;1.085x ((229x4)+5)=999.285MOV R7,#229DELAY1000_A:NOPNOPDJNZ R7,DELAY1000_ARET;=============================2400

    標(biāo)簽: 紅外遙控 接收程序

    上傳時(shí)間: 2013-11-01

    上傳用戶:2525775

  • 4位八段數(shù)碼管的十進(jìn)制加計(jì)數(shù)仿真實(shí)驗(yàn)(含電路圖和仿真文件)

    4位八段數(shù)碼管的十進(jìn)制加計(jì)數(shù)仿真實(shí)驗(yàn),程序采用匯編語(yǔ)言編寫(xiě)。此程序在仿真軟件上與EDN-51實(shí)驗(yàn)板上均通過(guò)。仿真圖中的數(shù)碼管位驅(qū)動(dòng)采用74HC04,如按EDN-51板上用想同的PNP三極管驅(qū)動(dòng)在仿真軟件上則無(wú)法正常顯示。程序共分5塊,STAR0為數(shù)據(jù)初始化,STAR2為計(jì)數(shù)子程序,STAR3為4位數(shù)碼管動(dòng)態(tài)顯示子程序,STAR4為按鍵掃描子程序,STS00是延時(shí)子程序。由于EDN-51實(shí)驗(yàn)板上沒(méi)裝BCD譯碼器,所以編寫(xiě)程序比較煩瑣。 程序如下: ORG 0000H                LJMP STAR0                        ;轉(zhuǎn)程序 SRAR0ORG 0200H                                          ;程序地址 0200HSTAR0:   clr 00                                  ;位 00 清 0               MOV P1,#0FFH                    ;#0FFH-->P1               MOV P2,#0FH                      ;#0FH-->P2               MOV P0,#0FFH                    ;#0FFH-->P0               MOV 30H,#00H                    ;#00H-->30H               MOV 31H,#00H                    ;#00H-->30H               MOV 32H,#00H                    ;#00H-->30H               MOV 33H,#00H                    ;#00H-->30H               LJMP STAR3                        ;轉(zhuǎn)程序 SRAR3STAR2:   MOV A,#0AH                       ;#0AH-->A               INC 30H                                ;30H+1               CJNE A,30H,STJE                 ;30H 與 A 比較,不等轉(zhuǎn)移 STJE               MOV 30H,#00H                    ;#00H-->30H               INC 31H                                ;31H+1               CJNE A,31H,STJE                 ;31H 與 A 比較,不等轉(zhuǎn)移 STJE               MOV 31H,#00H                    ;#00H-->31H               INC 32H                                ;32H+1               CJNE A,32H,STJE                 ;32H 與 A 比較,不等轉(zhuǎn)移 STJE               MOV 32H,#00H                    ;#00H-->32H               INC 33H                                ;33H+1               CJNE A,33H,STJE                 ;33H 與 A 比較,不等轉(zhuǎn)移 STJE               MOV 33H,#00H                    ;#00H-->33H               MOV 32H,#00H                    ;#00H-->32H               MOV 31H,#00H                    ;#00H-->31H               MOV 30H,#00H                    ;#00H-->30HSTJE:      RET                                        ;子程序調(diào)用返回STAR3:   MOV R0,#30H                      ;#30H-->R0                MOV R6,#0F7H                   ;#0F7H-->R6SMG0:    MOV P1,#0FFH                    ;#0FFH-->P1                MOV A,R6                            ;R6-->A                MOV P1,A                            ;A-->P1                RR A                                     ;A向右移一位                MOV R6,A                           ;A-->R6                MOV A,@R0                       ;@R0-->A                ADD A,#04H                        ;#04H-->A                MOVC A,@A+PC               ;A+PC-->                MOV P0,A                            ;A-->P0                AJMP SMG1                        ;轉(zhuǎn)程序 SMG1SDATA:   DB 0C0H,0F9H,0A4H,0B0H,99H                DB 92H,82H,0F8H,80H,90H SMG1:     LCALL STAR4                    ;轉(zhuǎn)子程序 SRAR4                LCALL STS00                     ;轉(zhuǎn)子程序 STS00                INC R0                                 ;R0+1                CJNE R6,#07FH,SMG0       ;#07FH 與 R6 比較,不等轉(zhuǎn)移 SMG0                AJMP STAR3                       ;轉(zhuǎn)程序 SRAR3STAR4:    JNB P2.0,ST1                      ;P2.0=0 轉(zhuǎn) ST1                clr 00                                 ;位 00 清 0                SJMP ST3                            ;轉(zhuǎn)ST3ST1:         JNB 00,ST2                          ;位 00=0 轉(zhuǎn) ST2                SJMP ST3                            ;轉(zhuǎn) ST3ST2:         LCALL STAR2                    ;調(diào)子程序 STAR2                SETB 00                               ;位 00 置 1ST3:         RET                                      ;子程序調(diào)用返回ORG 0100H                                         ;地址 0100HSTS00:     MOV 60H,#003H                ;#003H-->60H  (211)DE001:     MOV 61H,#0FFH               ;#0FFH-->61H (255)DE002:     DJNZ 61H,DE002               ;61H 減 1 不等于 0 轉(zhuǎn) DE002                 DJNZ 60H,DE001               ;60H 減 1 不等于 0 轉(zhuǎn) DE001                 RET                                     ;子程序調(diào)用返回                 END                                    ;結(jié)束 上次的程序共有293句,經(jīng)小組成員建議,本人經(jīng)幾天的研究寫(xiě)了下面的這個(gè)程序,現(xiàn)在的程序用了63句,精簡(jiǎn)了230句。功能沒(méi)有減。如誰(shuí)有更簡(jiǎn)練的程序,請(qǐng)發(fā)上來(lái),大家一起學(xué)習(xí)。 4位八段數(shù)碼管的十進(jìn)制加計(jì)數(shù)仿真實(shí)驗(yàn)(含電路圖和仿真文件)

    標(biāo)簽: 數(shù)碼管 十進(jìn)制 仿真實(shí)驗(yàn) 仿真

    上傳時(shí)間: 2013-10-11

    上傳用戶:sssl

  • PLC TM卡開(kāi)發(fā)系統(tǒng)匯編程序(ATM8051)

    PLC TM卡開(kāi)發(fā)系統(tǒng)匯編程序(ATM8051) ;***************** 定義管腳*************************SCL BIT P1.0SDA BIT P1.1GC BIT P1.2BZ BIT P3.6LEDI BIT P1.4LEDII BIT P1.5OK BIT 20H.1OUT1 BIT P1.3OUT2 BIT P1.0OUT3 BIT P1.1RXD BIT P3.0TXD BIT P3.1PCV BIT P3.2WPC BIT P3.3RPC BIT P3.5LEDR BIT P3.4LEDL BIT P3.6TM BIT P3.7;********************定義寄存器***********************ROMDTA EQU 30H;NUMBY EQU 61H;SLA EQU 60H;MTD EQU 2FH;MRD EQU 40H;TEMP EQU 50H;;ORG 00H;;INDEX:MOV P1, #00H;MOV P2, #0FFHMOV MTD ,#00HCALL REEMOV R0,40HCJNE R0,#01,NO;MOV P2,#1CHLJMP VIMEN MOV P2,#79HACALL TOUCHRESET ;JNC NO ;CALL READTM ;CJNE A,#01H,NO;NOPMOV MTD, #00HCALL WEENOPMOV P2,#4AHSETB BZCALL TIMEclr BZMOV PCON, #0FFHVIME:CALL TIME1CALL TOUCHRESETJNC VIMECALL READTMCJNE A, #01H,VIME;NOPNOPNOPIII: MOV MTD,#00HCALL REECALL BBJNB OK,NO1LJMP ZHUNO1:MOV MTD,#10H

    標(biāo)簽: 8051 PLC ATM TM卡

    上傳時(shí)間: 2014-03-24

    上傳用戶:448949

  • 單片機(jī)實(shí)用子程序(MCS-51庫(kù))

    MCS-51單片機(jī)實(shí)用子程序庫(kù) ;片內(nèi)RAM初始化子程序IBclr: MOV A,R0MOV R1,Aclr AIBC1 : MOV @R1,AINC R1DJNZ R7,IBC1RET;片外RAM初始化子程序EBclr1: MOV A,ADDPLMOV DPL,AMOV A,ADDPHMOV DPH,Aclr CEBC11: MOVX @DPTR,AINC DPTRDJNZ R7,EBC11RET;片外RAM初始化子程序(雙字節(jié)個(gè)單元)EBclr2: MOV A,ADDPLMOV DPL,AMOV A,ADDPHMOV DPH,AMOV A,R7JZ EBC21INC R6EBC21: clr AMOVX @DPTR,AINC DPTRDJNZ R7,EBC21DJNZ R6,EBC21RET;內(nèi)部RAM數(shù)據(jù)復(fù)制程序;入口: R0,R7;占用資源: A;堆棧需求: 2字節(jié)

    標(biāo)簽: MCS 51 單片機(jī)實(shí)用 程序

    上傳時(shí)間: 2013-10-10

    上傳用戶:18602424091

亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久亚洲国产美女国产盗摄| 欧美一区国产二区| 国产精品福利在线| 国产亚洲欧美一区二区三区| 国产精品久久久久久福利一牛影视| 国产精品推荐精品| 在线观看一区| 性久久久久久| 欧美日韩精品伦理作品在线免费观看| 国产欧美日韩综合| 在线性视频日韩欧美| 久久久午夜视频| 国产精品日日摸夜夜添夜夜av| 在线观看亚洲| 性色一区二区| 欧美三级韩国三级日本三斤| 在线日韩成人| 欧美在线日韩精品| 国产精品久久久久一区| 亚洲美女毛片| 欧美激情按摩在线| 亚洲国产99精品国自产| 欧美中文字幕不卡| 国产日韩欧美综合精品| 亚洲午夜伦理| 国产精品久久久久久一区二区三区| 在线日韩欧美视频| 老巨人导航500精品| 国内偷自视频区视频综合| 亚洲一区二区网站| 国产精品福利网站| 午夜精品www| 国产日韩欧美在线看| 亚洲欧美自拍偷拍| 国产欧美一区二区三区视频| 亚洲一区激情| 国产精品免费网站| 亚洲特黄一级片| 欧美精品午夜| 一区二区三区**美女毛片| 国产精品一二三| 亚洲国产精品久久久久秋霞不卡 | 国产欧美欧美| 亚洲一区二区三区四区五区黄| 欧美在线视频免费观看| 国产午夜精品在线观看| 性欧美xxxx大乳国产app| 国产精品一区二区久久国产| 性欧美xxxx大乳国产app| 国内综合精品午夜久久资源| 久久综合电影| 亚洲精品日韩综合观看成人91 | 在线看国产日韩| 欧美激情1区2区| 亚洲一区二区精品在线观看| 国产性做久久久久久| 免费观看日韩| 亚洲一区二区免费在线| 国产精品一区二区视频| 久久久精品一区| 在线亚洲精品| 韩国v欧美v日本v亚洲v| 欧美另类在线播放| 久久99伊人| 9人人澡人人爽人人精品| 国产日韩一区二区| 欧美日本亚洲| 久久久久久久尹人综合网亚洲| 亚洲黄网站在线观看| 国产精品一区二区a| 欧美成人有码| 欧美在线看片| 亚洲精品在线观看视频| 国内精品久久久久久影视8| 欧美日韩成人综合在线一区二区 | 99国产精品国产精品毛片| 国产精品一二三| 免费人成精品欧美精品| 亚洲在线观看视频网站| 最新日韩av| 国产日韩精品一区二区三区| 欧美www视频| 久久成人资源| 亚洲免费在线视频| 日韩亚洲视频| 亚洲精品一区二区三| 伊人久久亚洲美女图片| 国产日韩精品久久久| 欧美91福利在线观看| 欧美一级黄色网| 亚洲制服欧美中文字幕中文字幕| 亚洲人成毛片在线播放| 亚洲第一精品久久忘忧草社区| 国产午夜精品久久久| 国产精品一区二区三区四区| 国产精品国产福利国产秒拍| 欧美日本国产一区| 欧美精选在线| 欧美日韩成人网| 欧美区一区二| 欧美日一区二区三区在线观看国产免 | 久久九九99视频| 欧美一区二区三区的| 亚洲欧美日韩天堂一区二区| 亚洲深夜av| 亚洲视屏一区| 亚洲专区在线| 欧美有码视频| 美腿丝袜亚洲色图| 欧美日本精品| 国产精品成人一区二区艾草| 欧美日韩亚洲在线| 国产精品日韩欧美大师| 国产精品羞羞答答| 国产一区二区三区四区老人| 国内自拍一区| 亚洲三级色网| 亚洲综合日本| 久久亚洲综合色一区二区三区| 欧美成人免费在线视频| 欧美日韩一区二区三| 国产精品久久久久久av下载红粉| 国产午夜精品久久久久久免费视| 黑人极品videos精品欧美裸| 亚洲国产精品一区二区久| 亚洲精品美女在线| 午夜激情久久久| 欧美国产精品| 国产精品乱码人人做人人爱| 国产亚洲一区在线| 亚洲国产日韩一区| 亚洲一区二区在线播放| 久久高清国产| 欧美国产日本| 国产精品一区一区| 亚洲国产精品一区二区www在线| 一区二区欧美视频| 久久久精彩视频| 欧美午夜激情视频| 精品1区2区| 亚洲影院免费| 欧美精品成人| 尤妮丝一区二区裸体视频| 一本综合精品| 浪潮色综合久久天堂| 欧美性猛交xxxx乱大交退制版| 国产精品一区一区| 日韩小视频在线观看| 久久激情五月激情| 欧美午夜视频在线观看| 在线观看日韩av电影| 亚洲欧美一区二区三区久久 | 亚洲午夜一二三区视频| 卡通动漫国产精品| 国产欧美精品一区| 日韩网站在线| 久久综合一区二区| 国产三级精品三级| 亚洲在线一区二区三区| 欧美高清视频一区二区| 国产午夜精品福利| 亚洲免费一级电影| 欧美日韩不卡| 亚洲精品在线免费| 欧美精品一区视频| 91久久亚洲| 欧美91视频| 亚洲国产欧美日韩另类综合| 久久美女性网| 在线观看av不卡| 蜜臀91精品一区二区三区| 国产午夜精品一区二区三区欧美| 亚洲综合精品| 国产欧美另类| 久久免费视频网站| 国产一区二区日韩| 久久疯狂做爰流白浆xx| 国产亚洲亚洲| 久久综合一区| 亚洲国产日韩欧美在线动漫| 暖暖成人免费视频| 亚洲免费av电影| 欧美日韩一级片在线观看| 中日韩高清电影网| 国产精品裸体一区二区三区| 亚洲国产综合在线| 欧美日韩ab片| 性欧美暴力猛交另类hd| 禁断一区二区三区在线 | 亚洲国产高清aⅴ视频| 久久精品官网| 伊人夜夜躁av伊人久久| 女人色偷偷aa久久天堂| 日韩写真视频在线观看| 国产精品啊v在线| 欧美一区二区日韩一区二区| 一区福利视频| 欧美日韩二区三区| 香蕉成人伊视频在线观看| 国产亚洲一区二区三区在线播放|