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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 8.asm

?? 9個實例匯編程序,能幫助初學者快速掌握匯編語言.
?? ASM
字號:
;*************************************
;*                                   *
;*      自 動 往 返 小 汽 車         *
;*          2001年9月              *
;*************************************
;
;
;
;*************************************
;*                                   *
;*      主程序和中斷程序入口         *
;*                                   *
;*************************************
;
		ORG     0000H			;程序執行起始地址
                LJMP    START	;跳至START
		ORG     0003H			;外中斷0入口
                LJMP    INTEX0	;跳至INTEX0中斷服務程序
		ORG     000BH			;定時器T0中斷入口
                RETI				;中斷返回
                ORG     0013H			;外中斷1入口
                LJMP    INTEX1	;跳至INTEX1中斷服務程序
                ORG     001BH			;定時器T1中斷入口
                LJMP    INTT1	;跳至INTT1中斷服務程序
		ORG     0023H			;串口中斷入口
		RETI				;中斷返回
		ORG     002BH			;定時器T2中斷入口
		RETI				;中斷返回
;
;***************************
;*                         *
;*       初始化程序        *
;*                         *
;****************************
CLEARMEMIO:        MOV   R0,  #70H      ;清70H-76H顯示單元
                   MOV   R7,  #07H      ;循環次數
 ML0:              MOV   @R0, #00H      ;清0
                   INC   R0      	   ;下一地址
                   DJNZ  R7,  ML0       ;未完再循環
                   MOV   TMOD,#10H      	 ;T1為16位定時器
                   MOV   R4,#14H     	 ;1秒定時用(50毫秒20次)
                   MOV   TL1,#0B0H   	 ;50毫秒定時用初值
                   MOV   TH1,#3CH     	 ;
                   MOV     20H,#00H      	 ;清0操作
                   MOV     21H,#00H       ;
                   MOV     22H,#00H       ;
                   MOV     23H,#00H       ;
		   MOV	   24H,#00H      ;
                   CLR     30H            ;清停車標志
                   SETB    ET1            ;開T1中斷
                   SETB    EX1            ;開外中斷1
                   SETB    IT1            ;外中斷1采用邊沿觸發
                   SETB    IT0            ;外中斷0優先級為1(最高)
                   SETB    EX0            ;開外中斷0
                   SETB   EA       	     ;開總中斷允許
                   SETB   TR1        	 ;開啟定時器T1
                   RET            	    	;子程序返回
;
;*************************************
;*                                   *
;*	      主  程    序               *
;*                                   *
;*************************************
;
START:          LCALL   CLEARMEMIO      ;上電初始化
                SETB    P1.6    		   ;選擇7.5V輸出
                CLR     P1.7    		   ;選擇7.5V輸出
                SETB    P3.7    		   ;前進狀態
                CLR     P3.6    		   ;前進狀態
                CLR     P1.0    		   ;電機供電開始
MAIN:           LCALL   DISP    		   ;LED顯示一次
                LJMP	MAIN    		   ;轉MAIN循環
                NOP             		   ;PC值出錯處理
      	        NOP
	       	LJMP   	START    	   ;重新初始化
;
;*************************************
;*                                   *
;*外中斷0服務程序,用作跑道位置處理 *
;*   23H作跑道計數器                 *
;*************************************
INTEX0:       PUSH    ACC    		   ;堆棧保護
              PUSH    PSW    		   ;
              CLR     EX0    		   ;關中斷
              LCALL   DISP    		   ;LED顯示一次(延時抗干擾)
              JB     P3.2,IN0RET    	   ;P3.2為1退出(干擾)
              INC     23H    		   ;跑道計數器加1
              MOV     A,23H    		   ;數據入A
              CJNE    A,#06H,JUDGE1     ;不是第6道轉JUDGE1
              LCALL   STOP    		   ;是第6道,停車
              LJMP    IN0RET    		   ;轉中斷退出
JUDGE1:       CJNE    A,#03H,JUDGE2     ;不是第3道轉JUDGE2
              LCALL   STOPSLOW    	   ;是第3道,變慢車
              LJMP    IN0RET    		   ;轉中斷退出
JUDGE2:       CJNE    A,#04H,JUDGE3     ;不是第4道轉JUDGE3
              LCALL   FAST    		   ;是第4道,變快車
              LJMP    IN0RET    		   ;轉中斷退出
JUDGE3:       CJNE    A,#05H,IN0RET     ;不是第5道轉INORET退出
              LCALL   STOPSLOW    	   ;是第5道,變慢車
IN0RET:       CLR     IE0    		   ;清外中斷0中斷標志
              POP     PSW    		   ;恢復現場
              POP     ACC    		   ;
              LCALL   DL7MS    		   ;延時7毫秒(抗干擾)
              SETB    EX0    		   ;開外中斷0
              RETI    		   		   ;中斷返回
;
;************************************
;*          慢車控制子程序          *
;************************************
STOPSLOW:      CLR     P1.6    		   ;關7.5V電源
               CPL     P3.6    		   ;反向驅動(剎車)
               CPL     P3.7    		   ;反向驅動
               LCALL   DS50MS    	   ;剎車時間(可根據試車情況調整)
               LCALL   DS50MS    	   ;
               LCALL   DS50MS    	   ;
               CPL     P3.6    		   ;正向驅動
               CPL     P3.7    		   ;正向驅動
               SETB    P1.7    		   ;開4.3V電源
               RET    		   			;返回
;
;************************************
;*         快車控制子程序           *
;************************************
FAST:          CLR     P1.7    		   ; 關4.3V電源
               SETB    P1.6    		   ; 開7.5V電源
               RET    		  		   ;返回
;
;************************************
;*         停車控制程序             *
;************************************
STOP:         MOV    23H,#00H    	   ;跑道計數單元清0
              CPL     P3.6    		   ;反向驅動(剎車)
              CPL     P3.7    		   ;反向驅動(剎車)
              LCALL   DS50MS    		   ;剎車時間
              LCALL   DS50MS    		   ;剎車時間(可調整)
              SETB   P1.0    		   ;關電機電源
              SETB   PT1    		       ;定時器T1為高優先級
              LCALL   DS10S    		   ;停車10秒
              CLR     PT1    		   ;恢復T1為低優先級
              SETB    P1.6    		   ;開7.5V電源(高速)
              CLR     P1.7    		   ;關4.3V
              CLR     P1.0    		   ;電機電源開
              CPL     30H    		   ;停車點位置判斷標志取反
              JB      30H,STREN    	   ;為1(中途停車)轉STREN
              LCALL   CLR00    		   ;是終點,調復0程序
 STREN:       RET    		   			;返回
;
;*********************************
;*        計時清0程序           *
;*********************************
CLR00:           MOV   70H,#00H    		   ;計時單元清0
                 MOV   71H,#00H    		   ;計時單元清0
                 MOV   72H,#00H    		   ;計時單元清0
                 MOV   73H,#00H    		   ;計時單元清0
                 RET    		   			   ;返回
;
;*************************************
;*                                   *
;*   外中斷1程序,里程計數用        *
;*   20H、21H、22H、24H作計數器     *
;*************************************
INTEX1:          PUSH   ACC    		   	   ;堆棧保護
                 PUSH   PSW    		   	   ;
                 CLR    EX1    		   	   ;關外中斷1
                 INC    20H    		   	   ;圈加1
  LLLL:          MOV    A,20H    		   ;判斷是否滿6圈
                 CJNE   A,#06H,LLL    	   ;不滿6圈轉LLL退出
                 MOV    20H,#00H    		   ;滿6圈清0進位(6圈為1米)
                 INC    21H    		   	   ;上位加1
                 MOV    A,21H    		   ;判斷是否滿10
                 CJNE   A,#0AH,LLL    	   ;不滿10轉LLL
                 MOV    21H,#00H    		   ; 滿10清0進1位
                 INC    22H    		   	   ; 高位加1
                 MOV    A,22H    		   ; 判斷是否滿10
                 CJNE   A,#0AH,LLL    	   ; 不滿10轉LLL
                 MOV    22H,#00H    		   ; 滿10清0進1位
                 INC    24H    		  	   ; 高位加1
                 MOV    A,24H    		   ; 判斷是否滿10
                 CJNE   A,#0AH,LLL    	   ; 不滿10轉LLL
                 MOV    24H,#00H    		   ; 滿10清0
LLL:             MOV    74H,21H    		   ; 將里程數移入顯示單元(個位)
                 MOV    75H,22H    		   ; 將里程數移入顯示單元(十位)
                 MOV    76H,24H    		   ; 將里程數移入顯示單元(百位)
IN1RET:          POP    PSW    		   		;恢復堆棧
                 POP    ACC    		  		;
                 SETB   EX1    		   		;開外中斷1
                 RETI    		   			;中斷返回
;
;*************************************
;*           時間計時器程序           *
;*	     (T1定時中斷服務程序)      *
;*                                    *
;*************************************
INTT1:             PUSH  	ACC    		   ;堆棧保護
                   PUSH  	PSW    		   ;
                   MOV 	TL1,#0B0H      ;賦50毫秒定時初值
                   MOV 	TH1,#3CH    	   ;
                   DEC 	R4    		   ;減1
                   MOV 	A,R4    		   ;
                   JNZ 	RETT0    	   ;不為0轉RETT0
                   MOV 	R4,#14H    	   ;為0(1秒到)重賦初值
                   MOV 	R0,#71H    	   ;地址指向71H
                   ACALL 	ADD1    		   ;加1秒操作
                   MOV 	A,R3    		   ;
                   CLR 	C    		   ;
                   CJNE	A,#60H,CC  	   ;是否為60秒?
CC: 		   JC	 RETT0    	   ;小于60轉RETT0
                   ACALL CLR0    	   ;大于或等于60清0
                   MOV 	R0,#73H    	   ;指向分計時地址單元
                   ACALL ADD1    		   ;分加1
                   MOV 	A,R3    		   ;
                   CLR 	C    		   ;
                   CJNE A,#60H,CCC      ;是否為60分?
CCC: 		   JC	    RETT0    	    ;小于60轉RETT0
                   ACALL		CLR0    		    ;大于或等于60分計時單元清0
  RETT0: 	   POP 		PSW    		    ;恢復堆棧
                   POP 		ACC    		    ;
                   RETI    		   			;中斷返回
;
              ;;;;;;;;;;;;;; ;;;;
              ; 加1操作程序    ;
              ;;;;;;;;;;;;;; ;;;;
ADD1: 		   MOV	 A,@R0    		    ;取計數值
                   DEC	 R0    		    		;指向低一個地址
                   SWAP	 A    		    		;計數值高低四位交換
                   ORL 	 A,@R0    		    ;相或組合成一個數據
                   ADD 	 A,#01H    		    ;加1
                   DA 	 A    		    		;十進制調整
                   MOV 	 R3,A    		    ;暫存R3內
                   ANL 	 A,#0FH    		    ;高四位變0
                   MOV	 @R0,A    		    ;放回低地址
                   MOV	 A,R3    		    ;取回R3內數據
                   INC	 R0    		    		;地址加1
                   SWAP	 A    		    		;高低四位交換
                   ANL 	 A,#0FH    		    ;高四位為0
                   MOV	 @R0,A    		    ;放回原地址
                   RET    		    			;返回
;
               ;;;;;;;;;;;;;
               ; 清0程序  ;
               ;;;;;;;;;;;;;
CLR0: 		   CLR	 A    		    		;清A
                   MOV   @R0,A    		    ;對應地址單元清0
                   DEC	 R0    		    		;指向低一地址
                   MOV	 @R0,A    		    ;清0
                   RET    		    			;返回
;
;

               ;;;;;;;;;;;;;
               ; 顯示程序  ;
               ;;;;;;;;;;;;;
DISP: 		   MOV 	R1,#70H    		    ;顯示數據首址
                   MOV	R5,#0FEH    		    ;掃描字
PLAY:		   MOV	A,R5    		    		;掃描字入A
                   MOV	P2,A    		    		;從P2口輸出
                   MOV 	A,@R1    		    ;取顯示數據
                   MOV 	DPTR,#TAB        	;取段碼表首址
                   MOVC A,@A+DPTR        		; 查數據對應段碼
                   MOV	 P0,A    	    		;段碼從P0口輸出
                   LCALL DL1MS    			;點亮1毫秒
                   INC 	R1    		    		;指向下顯示數地址
                   MOV 	A,R5    		    		;掃描字入A
                   JNB	 ACC.6,ENDOUT   		;ACC.6=0轉ENDOUT結束
                   RL 	A    		    		;循環左移
                   MOV 	R5,A    		    		;放回A
                   AJMP PLAY    		    		;轉PLAY再顯示
ENDOUT:		   MOV  P2,#0FFH	    		;顯示結束處理。P2口置1
                   RET    		    			;子程序結束
;
;LED共陰段碼表(0-9)
TAB: 		   DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
;
;1毫秒延時程序
DL1MS: 		MOV R6,#14H
DL1:   		MOV R7,#19H
DL2:   		DJNZ R7,DL2
                DJNZ R6,DL1
                RET
;
;延時程序,用調用顯示程序實現,可使LED顯示穩定
DS50MS: 	LCALL DISP	    		;(7毫秒)
                LCALL DISP
                LCALL DISP
DS20MS: 	LCALL DISP
                LCALL DISP
                LCALL DISP
                RET
;
;10秒延時程序,用調用顯示程序實現,可使LED顯示不熄滅
DS10S:    	MOV    R2,#08H	    ;(8*11*16*7=9956毫秒)
TI0:    	MOV    R0,#0B0H
TI1:    	LCALL  DISP
         	DJNZ   R0,TI1
        	DJNZ   R2,TI0
        	RET
;7毫秒延時程序,跑道計數器抗干擾用
DL7MS:    SETB   PX1    		       ;外中斷1置高優先級
          MOV    R2,#0EH    	               ;賦定時值
DL11:     LCALL  DISP    		       ;調用顯示程序
          DJNZ   R2,DL11    	               ;循環
          CLR    PX1    		       ;外中斷1恢復低優先級
          RET    		    	       ;返回
;
          END    		    		;程序結束

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久影院亚瑟| 老汉av免费一区二区三区| 亚洲精品老司机| 秋霞国产午夜精品免费视频| 风流少妇一区二区| 在线精品视频免费观看| 久久日一线二线三线suv| 亚洲一线二线三线视频| 国产成人在线视频免费播放| 91麻豆精品国产自产在线 | 国产aⅴ综合色| 欧美日韩中文一区| 国产精品久久久久久久久搜平片| 日本女优在线视频一区二区| 91免费国产在线观看| 久久人人97超碰com| 奇米色一区二区| 欧美最新大片在线看| 国产精品另类一区| 久久草av在线| 日韩三级在线免费观看| 亚洲18色成人| 日韩午夜中文字幕| 丝袜亚洲另类欧美综合| 欧美在线观看视频一区二区三区| 国产精品欧美综合在线| 国产精品自产自拍| 久久综合九色综合欧美就去吻| 日本视频免费一区| 91麻豆精品国产91久久久久久 | 精品久久久久久亚洲综合网| 午夜影院在线观看欧美| 欧美吻胸吃奶大尺度电影| 亚洲女同女同女同女同女同69| 成人免费视频免费观看| 国产精品乱人伦| 成人黄动漫网站免费app| 国产精品久久久久永久免费观看 | 午夜精品久久久久久久| 欧美在线观看禁18| 亚洲成人av电影在线| 欧美日韩国产a| 日韩黄色片在线观看| 日韩欧美中文一区二区| 久久激情五月激情| 久久久久国色av免费看影院| 国产福利一区二区三区视频在线 | 亚洲精品免费在线| 94色蜜桃网一区二区三区| 亚洲视频网在线直播| 欧美在线色视频| 日韩不卡在线观看日韩不卡视频| 911国产精品| 国产一区999| 亚洲日本在线a| 欧美日韩亚洲综合一区| 另类小说色综合网站| 国产欧美在线观看一区| 99久久精品国产麻豆演员表| 亚洲成人激情综合网| 日韩视频永久免费| 成人精品视频网站| 亚洲亚洲精品在线观看| 日韩三级中文字幕| 成人高清伦理免费影院在线观看| 亚洲激情男女视频| 欧美一区二区三区在| 成人亚洲一区二区一| 亚洲第一综合色| 久久久久国产精品麻豆| 91国内精品野花午夜精品| 日本不卡一区二区三区| 国产精品久久久久久久久久久免费看| 久久久99久久| 在线精品国精品国产尤物884a | 亚洲男人的天堂网| 欧美一区二区美女| 91日韩一区二区三区| 蜜桃视频第一区免费观看| 国产精品狼人久久影院观看方式| 欧美少妇一区二区| 成人精品视频网站| 另类小说视频一区二区| 亚洲综合小说图片| 国产日韩综合av| 日韩欧美自拍偷拍| 欧美在线短视频| 成人国产电影网| 美女视频网站久久| 亚洲精品视频在线| 欧美国产综合色视频| 日韩亚洲电影在线| 欧美日韩国产123区| 99精品国产一区二区三区不卡| 日韩av一级片| 亚洲大型综合色站| 亚洲激情校园春色| 国产精品私人影院| 亚洲精品一区二区三区99| 欧美性生活大片视频| av在线不卡免费看| 成人午夜私人影院| 国产美女av一区二区三区| 日韩在线一二三区| 三级在线观看一区二区| 亚洲综合激情小说| 一区二区三区国产精华| 亚洲视频狠狠干| 国产精品高清亚洲| 国产精品久久久久永久免费观看| 久久综合色鬼综合色| 91精品国产丝袜白色高跟鞋| 欧美精品三级日韩久久| 欧美在线观看视频一区二区三区| 97久久精品人人做人人爽50路| 粉嫩高潮美女一区二区三区| 国产自产2019最新不卡| 经典一区二区三区| 极品少妇xxxx精品少妇| 精品一区二区三区香蕉蜜桃 | 亚洲精品乱码久久久久久| 亚洲天堂免费在线观看视频| 国产精品福利一区二区三区| 欧美激情中文字幕一区二区| 亚洲国产精品国自产拍av| 中文字幕在线观看不卡| 亚洲精品视频在线观看免费| 亚洲精品久久久久久国产精华液| 亚洲精品乱码久久久久久| 一区二区三区在线视频观看| 亚洲主播在线观看| 日日夜夜免费精品| 国产综合色在线视频区| 成人一区二区三区视频在线观看 | 久久电影国产免费久久电影 | 久久色视频免费观看| 国产亚洲一区二区三区在线观看| 亚洲小说春色综合另类电影| 日精品一区二区三区| 久久国产夜色精品鲁鲁99| 国产在线一区二区综合免费视频| 国产精品一区二区三区99| 91社区在线播放| 欧美裸体bbwbbwbbw| 精品国产乱码久久久久久免费| 国产亚洲女人久久久久毛片| 亚洲欧洲av色图| 亚洲高清免费观看高清完整版在线观看| 亚洲123区在线观看| 久久99精品视频| 色婷婷综合久久久久中文| 3d动漫精品啪啪一区二区竹菊| 26uuu色噜噜精品一区| 中文字幕日韩一区二区| 日韩国产精品久久久| 大白屁股一区二区视频| 欧美三级日本三级少妇99| 久久久久久久久岛国免费| 亚洲一区欧美一区| 国产一区二区成人久久免费影院| 91麻豆6部合集magnet| 777欧美精品| 亚洲欧洲在线观看av| 久久激情五月婷婷| 在线精品视频免费观看| 国产亚洲成年网址在线观看| 亚洲午夜激情av| 国产91精品在线观看| 欧美日韩激情一区| 国产精品美女一区二区三区| 美女视频网站久久| 在线看日韩精品电影| 中文av一区二区| 蜜桃免费网站一区二区三区| 色狠狠色噜噜噜综合网| 久久精品一区二区三区不卡| 视频在线观看91| 日本丶国产丶欧美色综合| 久久精品一二三| 麻豆91在线播放免费| 欧美日韩日日摸| 亚洲激情欧美激情| 99在线热播精品免费| 久久久无码精品亚洲日韩按摩| 图片区日韩欧美亚洲| 91黄色免费网站| 亚洲乱码国产乱码精品精小说 | 婷婷成人激情在线网| 91首页免费视频| 国产精品久久福利| 国产成人在线免费| 久久久久久亚洲综合| 久久精品国产精品亚洲精品| 这里只有精品电影| 亚洲国产精品麻豆| 91一区二区在线| 中文字幕制服丝袜成人av | 国产精品国产馆在线真实露脸 | 久久丁香综合五月国产三级网站| 在线观看91av|