89S51看門狗功能的使用方法:在ATMEL的89S51系列的89S51與89C51功能相同,指令兼容。HEX程序無需任何轉(zhuǎn)換可以直接使用。89S51只比89C51增加了一個看門狗功能。向看門狗寄存器(WDTRST地址是0A6H)中先寫入01EH,再寫入0E1H,即可激活看門狗。匯編程序如下:MOV 0A6H,#01EH ;先送1EMOV 0A6H,#0E1H ;后送E1C51程序如下:在AT89X51.h聲明文件中增加一行 sfr WDTRST = 0xA6來聲明看門狗寄存器。Main(){WDTRST=0x1E; //先送1EWDTRST=0xE1; //后送E1喂狗指令與激活相同:WDTRST=0x1E;WDTRST=0xE1;
上傳時間: 2013-10-08
上傳用戶:lyy1234
計算機的指令系統(tǒng)是表征計算機性能的重要指標,每種計算機都有自己的指令系統(tǒng)。MCS—51單片機的指令系統(tǒng)是一個具有255種代碼的集合,絕大多數(shù)指令包含兩個基本部分:操作碼和操作數(shù)。操作碼表明指令要執(zhí)行的操作的性質(zhì);操作數(shù)說明參與操作的數(shù)據(jù)或數(shù)據(jù)所存放的地址。MCS—51指令系統(tǒng)中所有程序指令是以機器語言形式表示,可分為單字節(jié)、雙字節(jié)、三字節(jié)3種格式。用二進制編碼表示的機器語言由于閱讀困難,且難以記憶。因此在微機控制系統(tǒng)中采用匯編語言指令來編寫程序。本章介紹MCS—51指令系統(tǒng)就是以匯編語言來描述的。 一條匯編語言指令中最多包含4個區(qū)段,如下所示: 標號: 操作碼目的操作數(shù),源源操作數(shù);注釋 標號與操作碼之間“:”隔開; 操作碼與操作數(shù)之間用“空格”隔開; 目的操作數(shù)和源源操作數(shù)之間有“,”分隔; 操作數(shù)與注釋之間用“;”隔開。 標號是由用戶定義的符號組成,必須用英文大寫字母開始。標號可有可無,若一條指令中有標號,標號代表該指令所存放的第一個字節(jié)存儲單元的地址,故標號又稱為符號地址,在匯編時,把該地址賦值給標號。 操作碼是指令的功能部分,不能缺省。MCS—51指令系統(tǒng)中共有42種助記符,代表了33種不同的功能。例如MOV是數(shù)據(jù)傳送的助記符。 操作數(shù)是指令要操作的數(shù)據(jù)信息。根據(jù)指令的不同功能,操作數(shù)的個數(shù)有3、2、1或沒有操作數(shù)。例如MOV A,#20H,包含了兩個操作數(shù)A和#20H,它們之間用“,”隔開。注釋可有可無,加入注釋主要為了便于閱讀,程序設(shè)計者對指令或程序段作簡要的功能說明,在閱讀程序或調(diào)試程序時將會帶來很多方便。
標簽: 8051 指令系統(tǒng) 單片機 計算機
上傳時間: 2013-11-04
上傳用戶:kr770906
單片機指令系統(tǒng) 3.1 MCS-51指令簡介 3.2 指令系統(tǒng) 3.1 MCS-51指令簡介 二、MCS-51系列單片機指令系統(tǒng)分類 按尋址方式分為以下七種:按功能分為以下四種: 1、立即立即尋址 1、數(shù)據(jù)傳送指令位操 2、直接尋址 2、算術(shù)運算指令 3、寄存器尋址 3、邏輯運算指令 4、寄存器間接尋址指令 4、控制轉(zhuǎn)移類指令 5、相對尋址 5、位操作指令 6、變址尋址 7、位尋址 三、尋址方式 3、寄存器間接尋址 MOV A, @R1 操作數(shù)是通過寄存器間接得到的。 4、立即尋址 MOV A, #40H 操作數(shù)在指令中直接給出。 5、基址寄存器加變址寄存器尋址 以DPTR或PC為基址寄存器,以A為變址寄存器, 以兩者相加形成的16位地址為操作數(shù)的地址。 MOVC A, @A+DPTR MOVC A, @A+PC 四、指令中常用符號說明 Rn——當前寄存器區(qū)的8個工作寄存器R0~R7(n=0~7); Ri——當前寄存器區(qū)可作地址寄存器的2個工作寄存器R0和R1(i=0,1); direct——8位內(nèi)部數(shù)據(jù)存儲器單元的地址及特殊功能寄存器的地址; #data——表示8位常數(shù)(立即數(shù)); #datal6——表示16位常數(shù); add 16——表示16位地址; addrll——表示11位地址; rel——8位帶符號的地址偏移量; bit——表示位地址; @——間接尋址寄存器或基址寄存器的前綴; ( )——表示括號中單元的內(nèi)容 (( ))——表示間接尋址的內(nèi)容; 五、MCS-51指令簡介 1. 以累加器A為目的操作數(shù)的指令 2. 以Rn為目的操作數(shù)的指令 3. 以直接地址為目的操作數(shù)的指令 4. 以寄存器間接地址為目的操作數(shù)指令 應用舉例1 8段數(shù)碼管顯示 應用舉例2 3.2 指令系統(tǒng) 2、堆棧操作指令 3. 累加器A與外部數(shù)據(jù)傳輸指令 4. 查表指令 MOVC A, @A+PC 例子: 5. 字節(jié)交換指令 6. 半字節(jié)交換指令 二、算術(shù)操作類指令 PSW寄存器 2. 帶進位加法指令 3. 加1指令 4. 十進制調(diào)整指令 5. 帶借位減法指令(Subtraction) 6. 減1指令(Decrease) 7. 乘法指令(Multiplication) 8. 除法指令(Division) 三、邏輯運算指令 1. 簡單邏輯操作指令 2. 循環(huán)指令 帶進位左循環(huán)指令(Rotate Accumulator Left through Carry flag) 右循環(huán)指令(Rotate Accumulator Right) 帶進位右循環(huán)指令(Rotate A Right with C) 3. 邏輯與指令 4. 邏輯或指令 5. 邏輯異或指令 四、控制轉(zhuǎn)移類指令 1. 跳轉(zhuǎn)指令 相對轉(zhuǎn)移指令 SJMP rel PC←(PC)+2 PC←(PC)+rel 程序中標號與地址之間的關(guān)系 2. 條件轉(zhuǎn)移指令 3. 比較不相等轉(zhuǎn)移指令 4. 減 1 不為 0 轉(zhuǎn)移指令 5. 調(diào)用子程序指令 7. 中斷返回指令 五、位操作指令 1. 數(shù)據(jù)位傳送指令 2. 位變量邏輯指令 3. 條件轉(zhuǎn)移類指令
標簽: 單片機 指令系統(tǒng)
上傳時間: 2013-10-27
上傳用戶:xuanjie
8086指令系統(tǒng)目錄 概述 2.1節(jié) 目錄 2.1.1--2.1.5(傳送) 2.1.1 目錄:1~3 2.1.1-1 MOV類例1 MOV類例2 MOV類例3 MOV類例4(END) 2.1.1-2. xchg --3.XLAT 查表示意圖(end) 2.1.2堆棧操作指令(1) 堆棧操作指令(2) 堆棧操作指令(3) 堆棧操作指令(4) 堆棧操作指令(5)(END) 2.1.3標志傳送指令(1) 標志傳送指令(2)(end) 2.1.4地址傳送指令(1) 地址傳送指令(2) 地址傳送指令(3)(end) 2.1.5輸入輸出指令(1) 輸入輸出指令(2) 輸入輸出指令(3)(end) 2.2節(jié) 目錄 2.2.1--2.2.6(算術(shù)) 2.2.1加法指令(1) 加法指令(2) 加法指令(3) 加法指令(4) 加法指令5 end 2.2.2減法指令(1) 減法指令(2) 減法指令(3) 減法指令(4) 減法指令(5) 減法指令(6)(end) 2.2.3乘法指令(1) 乘法指令(2) 乘法指令(3)(end) 2.2.4除法指令(1) 除法指令(2)(end) 2.2.5符號擴展指令(end) 符號擴展說明 2.2.6十進制調(diào)整指令(1) 十進制調(diào)整指令(2) 十進制調(diào)整指令(3) 十進制調(diào)整指令(4) 十進制調(diào)整指令(5) 十進制調(diào)整指令(6) 十進制調(diào)整指令(7) 十進制調(diào)整指令(8) 十進制調(diào)整指令(9)(end) 2.3節(jié) 目錄 2.3.1--2. 3.3(位) 2.3.1 邏輯運算指令(1) 邏輯運算指令(2) 邏輯運算指令(3) 邏輯運算指令(4) 邏輯運算指令(END) 2.3.2 移位指令(1) 移位指令(2) 移位指令(3) 移位指令(4)(end) 2.3.3 循環(huán)移位指令(1) 循環(huán)移位指令(2)(end) 2.4節(jié) 目錄 2.4.1 無條件轉(zhuǎn)移指令(1) 短轉(zhuǎn)移的轉(zhuǎn)移范圍 無條件轉(zhuǎn)移指令(2) 無條件轉(zhuǎn)移指令(3) 無條件轉(zhuǎn)移指令(4)(end) 2.4.2 條件轉(zhuǎn)移指令(1) 條件轉(zhuǎn)移指令(2) 條件轉(zhuǎn)移指令(3) 條件轉(zhuǎn)移指令(4) 條件轉(zhuǎn)移指令(5)(end) 2.4.3 循環(huán)控制指令(1) 循環(huán)控制指令(2)(end) 2.4.4 子程序調(diào)用及返回指令(1) 子程序調(diào)用及返回指令(2) 子程序調(diào)用及返回指令(3) 子程序調(diào)用及返回指令(4) 子程序調(diào)用及返回指令(5) 子程序調(diào)用及返回指令(6) (end) 2.4.5 中斷控制指令(1) 中斷控制指令(2) 中斷控制指令(3) 中斷控制指令(4) 中斷控制指令(5) 中斷控制指令(6) 中斷控制指令(7) 中斷控制指令(8)(end) 2.4.6 系統(tǒng)功能調(diào)用(1) 系統(tǒng)功能調(diào)用(2) 系統(tǒng)功能調(diào)用(3)(end) 2.5節(jié) 目錄 1---6(串操作) 串操作(1)傳送 串操作(2) 串操作(3) 串操作(4)存串 串操作(5)讀串、比較 串操作(6)搜索、重復前綴 串操作(7)REP 串操作(8)REPZ/REPNZ 串操作(9)前綴注釋 串操作(10)例題 串操作(11)注釋(end) 2.6 處理機控制類指令(1)(end)
標簽: 8086 指令系統(tǒng)
上傳時間: 2013-10-30
上傳用戶:大三三
匯編指令查詢器:數(shù)據(jù)傳送指令 MOV 格式: MOV OPRD1,OPRD2 功能: 本指令將一個源操作數(shù)送到目的操作數(shù)中,即OPRD1<--OPRD2. 說明: 1. OPRD1 為目的操作數(shù),可以是寄存器、存儲器、累加器. OPRD2 為源操作數(shù),可以是寄存器、存儲器、累加器和立即數(shù). 2. MOV 指令以分為以下四種情況: <1> 寄存器與寄存器之間的數(shù)據(jù)傳送指令 <2> 立即數(shù)到通用寄存器數(shù)據(jù)傳送指令 <3> 寄存器與存儲器之間的數(shù)據(jù)傳送指令 <4> 立即數(shù)到存儲器的數(shù)據(jù)傳送 3. 本指令不影響狀態(tài)標志位
上傳時間: 2013-11-13
上傳用戶:腳趾頭
基于單片機的紅外門進控制系統(tǒng)設(shè)計與制作:我們所做的創(chuàng)新實驗項目“基于單片機的紅外門控系統(tǒng)”已基本完成,現(xiàn)將其工作原理簡要說明。該系統(tǒng)主要分為兩大部分:一是紅外傳感器部分。二是單片機計數(shù)顯示控制部分。基本電路圖如下:其中紅外傳感器部分我們采用紅外對管實現(xiàn),紅外對管平行放置,平常處于接收狀態(tài),經(jīng)比較器輸出低電平,當有人經(jīng)過時,紅外線被擋住,接收管接收不到紅外線,經(jīng)比較器輸出高電平。這樣,當有人經(jīng)過時便會產(chǎn)生一個電平的跳變。單片機控制部分主要是通過外部兩個中斷判斷是否有人經(jīng)過,如果有人經(jīng)過,由于電平跳變的產(chǎn)生,進入中斷服務程序,這里我們采用了兩對紅外傳感器接到兩個外部中斷口,中斷0作為入口,實現(xiàn)加1操作,中斷1作為出口,實現(xiàn)減1操作。另外,我們通過P0口控制室內(nèi)燈的亮暗,當寄存器計數(shù)值為0時,熄燈,不為0時,燈亮。顯示部分,采用兩位數(shù)碼管動態(tài)顯示,如有必要,可以很方便的擴展為四位計數(shù)。精益求精!在實驗過程中,我們走了非常多的彎路,做出來的東西根本不是自己想要的,我們本想做成室內(nèi)只有一個門的進出計數(shù),原理已清楚,即在門的兩邊放置兩對紅外對管,進出時,擋住兩對對管的順序不同,因此,可判斷是進入還是出去,從而實現(xiàn)加減計數(shù),編程時,可分別在兩個中斷服務程序的入口置標志位,根據(jù)標志位判斷進出,詳細內(nèi)容在程序部分。理論如此,但在實際過程中,還是發(fā)現(xiàn)實現(xiàn)不了上述功能,我們初步判定認為是程序掌握得不夠好,相信隨著自己對單片機了解的深入,應該會做出更好的 (因為我們是臨時學的單片機),程序的具體內(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服務程序 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服務程序 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 ;由十六進制轉(zhuǎ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 ;將十六進制中最高位移入進位位中 RLC A MOV R7 , A MOV A , R6 RLC A MOV R6 , A MOV A , R5 ;每位數(shù)加上本身相當于將這個數(shù)乘以2 ADDC A , R5 DA A MOV R5 , A MOV A , R4 ADDC A , R4 DA A ;十進制調(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 ;延時子程序 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)實際應用廣泛。可用在生產(chǎn)線上產(chǎn)品數(shù)量統(tǒng)計、公交車智能計數(shù)問候(需添加語音芯片)、超市內(nèi)人數(shù)統(tǒng)計等公共場合。另外,添加串口通信部分便可實現(xiàn)與PC數(shù)據(jù)交換的功能。 由于,實驗簡化了,剩下不少零件和資金,所以我們又做了兩項其他的實驗。
標簽: 單片機 紅外 控制系統(tǒng)設(shè)計 原理圖
上傳時間: 2013-12-22
上傳用戶:tangsiyun
基于AT89C2051的紅外遙控學習器源程序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
上傳時間: 2013-10-15
上傳用戶:lyy1234
微型計算機課程設(shè)計論文—通用微機發(fā)聲程序的匯編設(shè)計 本文講述了在微型計算機中利用可編程時間間隔定時器的通用發(fā)聲程序設(shè)計,重點講述了程序的發(fā)聲原理,節(jié)拍的產(chǎn)生,按節(jié)拍改變的動畫程序原理,并以設(shè)計一個簡單的樂曲評分程序為引子,分析程序設(shè)計的細節(jié)。關(guān)鍵字:微機 8253 通用發(fā)聲程序 動畫技術(shù) 直接寫屏 1. 可編程時間間隔定時器8253在通用個人計算機中,有一個可編程時間間隔定時器8253,它能夠根據(jù)程序提供的計數(shù)值和工作方式,產(chǎn)生各種形狀和各種頻率的計數(shù)/定時脈沖,提供給系統(tǒng)各個部件使用。本設(shè)計是利用計算機控制發(fā)聲的原理,編寫演奏樂曲的程序。 在8253/54定時器內(nèi)部有3個獨立工作的計數(shù)器:計數(shù)器0,計數(shù)器1和計數(shù)器2,每個計數(shù)器都分配有一個斷口地址,分別為40H,41H和42H.8253/54內(nèi)部還有一個公用的控制寄存器,端地址為43H.端口地址輸入到8253/54的CS,AL,A0端,分別對3個計數(shù)器和控制器尋址. 對8353/54編程時,先要設(shè)定控制字,以選擇計數(shù)器,確定工作方式和計數(shù)值的格式.每計數(shù)器由三個引腳與外部聯(lián)系,見教材第320頁圖9-1.CLK為時鐘輸入端,GATE為門控信號輸入端,OUT為計數(shù)/定時信號輸入端.每個計數(shù)器中包含一個16位計數(shù)寄存器,這個計數(shù)器時以倒計數(shù)的方式計數(shù)的,也就是說,從計數(shù)初值逐次減1,直到減為0為止. 8253/54的三個計數(shù)器是分別編程的,在對任一個計數(shù)器編程時,必須首先講控制字節(jié)寫入控制寄存器.控制字的作用是告訴8253/54選擇哪個計數(shù)器工作,要求輸出什么樣的脈沖波形.另外,對8253/54的初始化工作還包括,向選定的計數(shù)器輸入一個計數(shù)初值,因為這個計數(shù)值可以是8為的,也可以是16為的,而8253/5的數(shù)據(jù)總線是8位的,所以要用兩條輸出指令來寫入初值.下面給出8253/54初始化程序段的一個例子,將計數(shù)器2設(shè)定為方式3,(關(guān)于計數(shù)器的工作方式參閱教材第325—330頁)計數(shù)初值為65536. MOV AL,10110110B ;選擇計數(shù)器2,按方式3工作,計數(shù)值是二進制格式 OUT 43H,AL ; j將控制字送入控制寄存器 MOV AL,0 ;計數(shù)初值為0 OUT 42H,AL ;將計數(shù)初值的低字節(jié)送入計數(shù)器2 OUT 42H,AL ;將計數(shù)初值的高字節(jié)送入計數(shù)器2 在IBM PC中8253/54的三個時鐘端CLK0,CLK1和CLK2的輸入頻率都是1.1931817MHZ. PC機上的大多數(shù)I/O都是由主板上的8255(或8255A)可編程序外圍接口芯片(PPI)管理的.關(guān)于8255A的結(jié)構(gòu)和工作原理及應用舉例參閱教材第340—373頁.教材第364頁的”PC/XT機中的揚聲器接口電路”一節(jié)介紹了揚聲器的驅(qū)動原理,并給出了通用發(fā)聲程序.本設(shè)計正是基于這個原理,通過編程,控制加到揚聲器上的信號的頻率,奏出樂曲的.2.發(fā)聲程序的設(shè)計下面是能產(chǎn)生頻率為f的通用發(fā)聲程序:MOV AL, 10110110B ;8253控制字:通道2,先寫低字節(jié),后寫高字節(jié) ;方式3,二進制計數(shù)OUT 43H, AL ;寫入控制字MOV DX, 0012H ;被除數(shù)高位MOV AX, 35DEH ;被除數(shù)低位 DIV ID ;求計數(shù)初值n,結(jié)果在AX中OUT 42H, AL ;送出低8位MOV AL, AHOUT 42H,AL ;送出高8位IN AL, 61H ;讀入8255A端口B的內(nèi)容MOV AH, AL ;保護B口的原狀態(tài)OR AL, 03H ;使B口后兩位置1,其余位保留OUT 61H,AL ;接通揚聲器,使它發(fā)聲
上傳時間: 2013-10-17
上傳用戶:sunjet
T2作為波特率控制UART_RXD 是硬中斷0或1口,如果能進入中斷,說明該線有一個起始位產(chǎn)生,進入中斷后調(diào)用下面的接收程序。退出硬中斷之前還需要將硬中斷標志重新復位。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,計數(shù)器2啟動,時間計數(shù)啟動。 MOV A,RCAP2L;計數(shù)器2重新裝載值 MOV TL2,A ;置計數(shù)器2初值 ;T2需要重新裝載 MOV A,DPH MOV A,RCAP2H MOV TH2,A MOV A,R0 SETB TR2 ;TR2置1,計數(shù)器 JNB TF2,$ CLR TF2 JNB TF2,$ CLR TF2
上傳時間: 2014-01-12
上傳用戶:二十八號
;片內(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é)個單元) 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ù)復制程序;入口 :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ù)復制程序;入口 :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ù)復制程序
上傳時間: 2013-10-30
上傳用戶:bs2005
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1