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

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

?? 13.asm

?? 51單片機匯編
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
                ;******************;
                ;    定時器程序    ;
                ;    采用89c2051   ;
                ;    2001.10       ;
                ;******************;
	    ;
            ;******************
	    ;      偽定義     ;
	    ;******************
	    SL     EQU   30H       	   ;SL存放秒的個位數
	    SH	   EQU   31H       	   ;SH存放秒的十位數
	    ML    EQU   32H       		   ;ML存放分的個位數
	    MH	   EQU   33H       	   ;MH存放分的十位數
	    HL     EQU   34H       	   ;HL存放時的個位數
	    HH	   EQU   35H    	       ;HH存放時的十位數
	    ;
	    L0     EQU   36H       	   ;L0~L3:顯示數據存儲器
            L1	   EQU   37H
	    L2     EQU   38H
	    L3	   EQU   39H
	    DSPLYP    EQU   3AH         ;顯示數據指針(DISPLAY-POINT)
	    PLYTS     EQU   3BH         ;顯示次數計數器(DISPLAY-TIMES)
	    ;
	    LPLMOD   BIT   39H          ;低兩位顯示方式(LOW-PLAY-MOD)
	    HPLMOD   BIT   3AH         ;高兩位顯示方式(HIGH-PLAY-MOD)
	    BRIGHT    BIT   3BH         ;DISPLAY子程序參數:亮滅指示位
        ;
        TCOUNT   EQU   3CH         ;時間計數器(TIME-COUNT)
        ;
        ADDRES	 EQU   3DH           ;加1子程序參數
        MAX     EQU   3EH           ;加1子程序參數
	    IFDEC    BIT   20H            ;BCD加法子程序參數
            ;
        R_MOD  EQU   3FH          ;響鈴方式參數
	    ;
	    LED4     BIT   30H            ;發光管狀態位
	    BELL     BIT   P1.7           ;蜂鳴器
	    SWITCH  BIT   P3.7           ;繼電器
	    FKEY     BIT   P3.0           ;功能鍵 (S1)
	    MKEY    BIT   P3.1           ;修改鍵 (S2)
	    ;
	    WORKIN BIT   38H           	;工作狀態指示位
	    ;

            ;******************
            ;     中斷入口    ;
	        ;******************
		    ORG  	 0000H
            START:  LJMP	 MAIN         		; 0000H  引向主程序
		    LJMP	 ERR          		; 0003H
		    NOP
		    NOP
		    LJMP 	ERR          		; 引向出錯處理程序
		    LJMP 	PGT0         		; 000BH  引向中斷處理程序PGT0
		    NOP
		    NOP
		    LJMP 	ERR          		; 引向出錯處理程序
		    LJMP 	ERR          		; 0013H  INT1
		    NOP
		    NOP
		    LJMP 	ERR
		    LJMP 	ERR          		; 001BH  T1
		    NOP
		    NOP
		    LJMP 	ERR
		    LJMP 	ERR          		; 0023H
		    NOP
		    NOP
                    LJMP 	ERR
	            LJMP 	ERR          		; 002BH
		    NOP
		    NOP
	        ;
                ;************
                ;   主程序  ;
	    	;************
	       MAIN:   MOV   IE,  #00H            ;關中斷
                    MOV   SP,  #57H            ;設置堆棧指針
                    MOV   PSW,  #00H          ;選用寄存器組0
                    MOV   TMOD, #11H          ;設定中斷工作方式為T0和T1
            ;
                    MOV   A, 56H
                    CJNE  A, #0AAH, CSTART     ;判上電復位標志,無標志轉冷啟動
                    MOV   A, 57H
                    CJNE  A, #55H,  CSTART      ; 無標志轉冷啟動
                    AJMP  HSTART               ;有上電復位標志轉熱啟動
                    NOP
		    NOP
                    LJMP 	ERR                  ;軟件陷阱,引向出錯處理程序
            CSTART: MOV   P1, #0FFH             ;冷啟動,全面初始化
                    MOV   P3, #0FFH
                    MOV   TCON,  #00H          ;計時停止
                    MOV   TL0, #0B0H            ;賦中斷T0初值
                    MOV   TH0, #3CH
                    MOV   TCOUNT, #0AH          ;賦定時器初值
                    MOV   R5, #00H              ;R5為一空單元(備用)
                    MOV   R4, #00H              ; R4 為工作模式選擇寄存器
		    MOV   SL, #00H              ;定時單元清零
                    MOV   SH, #00H              ;秒
                    MOV   ML, #00H             ;
                    MOV   MH, #00H             ;分
                    MOV   HL, #00H             ;
                    MOV   HH, #00H             ;時
		    MOV   PLYTS,  #64H        	;賦顯示次數初值為100次
		    MOV   DSPLYP,  #L0		;顯示指針指向顯存單元
                    MOV   L0,  #0AH           ;送顯示數據"-----"
                    MOV   L1,  #0AH
                    MOV   L2,  #0AH
                    MOV   L3,  #04H
                    SETB   LED4                 ;LED4為數碼管之間的發光二極管
                    SETB   LPLMOD              ;設定顯示方式為閃爍
                    SETB   HPLMOD              ;
                    SETB   BRIGHT               ;允許顯示
		    CLR	   WORKIN	             ;清工作標志 , 待命
                    AJMP  SETUP                ;轉開始工作
                    NOP
		    NOP
                    LJMP 	ERR          ;軟件陷阱
         HSTART:    MOV   SCON, #00H    ; 有上電標志,熱啟動,清串行口控制寄存器
                    MOV   IP,  #00H      ; 清中斷優先控制寄存器
                    SETB   FKEY           ;重設按鍵
                    SETB   MKEY
                    SETB   EA              ;開中斷
                    AJMP  BEGIN           ;轉向繼續工作
                    NOP
		    NOP
                    LJMP	  ERR            ;軟件陷阱
            SETUP:  SETB  EA               ;開中斷
            ;
	      MAIN1:   ACALL  DISPLY          ;調用顯示
        	    	JB	   FKEY,  JUDGE    ;按鍵掃描
		    	ACALL  KEYDLY        ;延時消抖動
		    	JB	   FKEY,  JUDGE    ;無鍵按下轉向判斷是否到點
		    	CLR   ET0              ;功能鍵被按下,則
		    	CLR   TR0		        ;暫停計時
            	        ACALL MENU           ; 調用菜單設置程序
               BEGIN:  SETB  WORKIN          ;置工作標志位,開始工作
            		SETB  ET0              ;開中斷
			SETB  TR0              ;開始計時
			MOV   A, R4            ;移入工作模式選擇
			RL    A 		        ;指針放大
            	        MOV   DPTR,  #M_TAB
		    	JMP   @A+DPTR        ;根據工作模式跳轉到相應程序段
                M_TAB:  AJMP  WORK1
		    	AJMP  WORK2
		    	AJMP  WORK3
            		AJMP  WORK4
            		NOP
            		NOP
            		LJMP  ERR               ;軟件陷阱
WORK1:  ;
  WORK2:  CLR   SWITCH            ;工作方式1和2:開繼電器
          AJMP  MAIN2
          NOP
	  NOP
          LJMP 	ERR                ;軟件陷阱
  WORK3:  ;
WORK4:  SETB  SWITCH             ;工作方式3和4:不開繼電器
  MAIN2:  CLR   BELL                 ;蜂鳴器短鳴一聲,以示開始工作
           ACALL  DL05S
           SETB  BELL
   JUDGE:  JNB WORKIN, MAIN1           ;判斷是否在定時之中
            MOV   A, SL                  ;判斷秒是否為零
            JNZ   MAIN1
            MOV   A, SH                ;判斷秒是否為零
            JNZ   MAIN1
            MOV   A, ML                ;判斷分是否為零
            JNZ   MAIN1
            MOV   A, MH                ;判斷分是否為零
            JNZ   MAIN1
            MOV   A, HL                ;判斷時是否為零
            JNZ   MAIN1
            MOV   A, HH                ;判斷時是否為零
            JNZ   MAIN1                ;若時分秒全為零則
            CLR   ET0                  ; 停止計時
            CLR   TR0                  ;
            ACALL ACTION              ; 調用到點工作子程序
            AJMP  MAIN                ; 返回
            NOP
	    NOP
            LJMP ERR                   ;軟件陷阱
	    ;
        ;******************
	    ;    倒計時程序   ;
	    ;******************
            PGT0:   CLR   EA            		 ;關中斷
                    PUSH  ACC		      		 ;保護現場
		    PUSH  PSW
		    PUSH  DPL
		    PUSH  DPH
		    MOV   PSW, #08H	      	 ;選用寄存器組1
		    CLR   TR0                	 ;暫停計時
		    MOV   A,#0B7H           	 ;中斷同步修正
		    ADD   A,TL0
		    MOV   TL0,A
		    MOV   A,#3CH
		    ADD   A,TH0
		    MOV   TH0,A
                    SETB  TR0                	 ;恢復計時
                    DEC   TCOUNT             	 ;定時器T0每50 000毫秒溢出一次,則
		    MOV   A,  TCOUNT         	 ; 溢出10次為0.5秒
	            JNZ   OUTT0	          	 ;判斷是否到半秒
		    MOV   TCOUNT, #0AH       	 ;
		    CPL   LED4		           	 ; 若到半秒LED取反
		    JNB   LED4, OUTT0         ;LED每閃爍一次是一秒
		    MOV   R0, #SH             ;移入秒位的地址
		    SETB  IFDEC                ;BCD子程序參數,使其做減法
		    ACALL ADDBCD            ;調用BCD子程序, 秒減1
		    CJNE  R3, #99H, OUTT0      ;判斷秒要否借位
                    MOV   SH, #05H            ;要借位則
                    MOV   SL, #09H            ; 送數據59(否則顯示99)
		    MOV   R0, #MH             ;移入分位的地址
		    ACALL ADDBCD	           ;分減1
		    CJNE  R3, #99H, OUTT0     ;判斷分要否借位
                    MOV   MH, #05H
                    MOV   ML, #09H
		    MOV   R0, #HH
		    ACALL ADDBCD
            OUTT0:  POP   DPH		       		;恢復現場
		    POP   DPL
		    POP   PSW
		    POP   ACC
		    SETB  EA
		    RETI                  		;中斷返回
                    NOP
		    NOP
                    LJMP ERR                    ;軟件陷阱
	;
	;
            ;**************************
	    ;   BCD子程序(加1或減1 )  ;
            ;**************************
   ADDBCD: MOV   A, @R0           ;移入被操作數的高位
	    DEC   R0                ;指針減一
	    SWAP  A
	    ORL   A, @R0            ;移入被操作數的低位
            MOV   B, #01H           ;B寄存器送立即數#01H
            MOV   C, IFDEC          ;若 減法標志位為1,則
            MOV   B.3,  C           ;
            MOV   B.4,  C           ; B寄存器的值被改為#99H
            MOV   B.7,  C           ;
	    ADD   A, B              ; 對一個壓縮的BCD碼加#99H等于對其減一
	    DA    A                 ;BCD碼調整
	    MOV   R3, A             ;暫存結果
	    ANL   A, #0FH           ;取低位碼
	    MOV   @R0, A           ;存數
	    MOV   A, R3             ;取回結果
	    INC   R0                ;指針加一
	    SWAP  A                ;交換
	    ANL   A, #0FH          ;取結果數的高位
	    MOV   @R0, A          ;存數
	    RET
            NOP
	    NOP
            LJMP 	ERR             ;軟件陷阱
	    ;
        ;**************
	;   加1程序   ;
        ;**************
	ADDONE: MOV  R0, ADDRES   ;移入被加數單元的地址
	         CLR   IFDEC         ;設定BCD子程序做加法
		 ACALL ADDBCD      ;調用BCD子程序
         	 CLR   C             ;判斷被加數是否大于
            	 MOV   A,  R3       ;最大值"MAX"
	 	 CJNE  A,  MAX, JGOVER
         JGOVER: JC    ENDADO
	         CLR   A            ;若大于"MAX",則清零
                  MOV   @R0, A
                  DEC   R0
                  MOV   @R0, A
	     ENDADO: RET
                  NOP
		  NOP
                  LJMP 		ERR       ;軟件陷阱
	    ;
        ;******************
	    ;   調時快進程序  ;
        ;******************
        QUICK:   CLR   LPLMOD	   ;設定顯示方式不閃爍
		  CLR   HPLMOD
                  ACALL ADDONE      ;調用加1子程序
                  MOV   L0,  R4       ;將工作模式選擇數移入顯存
                  INC   L0             ;加1轉化成顯示值
                  ACALL KEYDLY       ;延時
                  ACALL DL100
                  JNB   MKEY, QUICK      ;判斷鍵是否松開
                  SETB  LPLMOD          ;若松開則恢復閃爍顯示方式
		  CJNE  R6, #02H, ENDQUK
	          SETB  HPLMOD
                  CLR   LPLMOD
         ENDQUK: RET
                  NOP
		  NOP
                  LJMP ERR             ;軟件陷阱
	    ;
;
        ;******************
	    ;   功能菜單程序  ;
	    ;******************
	    MENU: MOV   R6,  #00H	        ; 初始化;  R6 計功能鍵按鍵次數
	       MOV   ADDRES,  #05H   ; 將 R5 的地址送入,以便于改變 R4 的值
               MOV   MAX, #04H        ; 定義工作模式選擇寄存器R4 的最大值
               MOV   DSPLYP, #L0       ;定義顯示指針指向顯存
               SETB  LPLMOD	    		;設定低兩位數閃爍
	       CLR   HPLMOD
               MOV   L0,  R4          	;送顯示數據"F-0X"
               INC    L0
               MOV   L1,  #00H
               MOV   L2,  #0BH
               MOV   L3,  #00H
               SETB  LED4
            ;
       WAITFK: ACALL DISPLY              ;等待F鍵釋放
	       JNB   FKEY,  WAITFK
       MENU1:  ACALL DISPLY
                JB    MKEY,  JGFKEY       ;M鍵掃描
                ACALL KEYDLY             ;延時消抖動
                JB    MKEY,  JGFKEY       ; 未按下則轉F鍵掃描
                CJNE  R6, #00H, NEXT1      ;
                MOV   SL, #00H            ;若中途改變定時方式,則清除原計時數據
                MOV   SH, #00H
                MOV   ML, #00H
                MOV   MH, #00H
                MOV   HL, #00H
                MOV   HH, #00H
       NEXT1:  MOV   R2,  #00H            ;R2用于判斷按鍵時間是否超過0.5秒
       NEXT2:  ACALL ADDONE             ;調用加1程序

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人自拍视频在线观看| 国产成人av网站| 26uuu另类欧美| 99re在线视频这里只有精品| 国产制服丝袜一区| 中文字幕视频一区| 精品国产一区二区三区av性色| 99视频一区二区| 国产精品久久久久久久久免费桃花| 欧美精品vⅰdeose4hd| 国产乱一区二区| 亚洲精品伦理在线| 在线观看91精品国产入口| 色哦色哦哦色天天综合| 国产成人精品免费在线| 日韩成人精品在线| 亚洲美女区一区| 亚洲国产视频在线| 亚洲欧美另类久久久精品| 欧美tk—视频vk| 日韩欧美电影一二三| 欧美精品一区二区三区蜜桃视频| 欧美老肥妇做.爰bbww| 色哟哟亚洲精品| 国产91综合一区在线观看| 色综合天天综合网国产成人综合天| kk眼镜猥琐国模调教系列一区二区 | 亚洲视频电影在线| 中文字幕av资源一区| 欧美国产一区二区| 亚洲综合无码一区二区| 婷婷中文字幕一区三区| 亚洲国产美国国产综合一区二区| 一区二区三区资源| 三级一区在线视频先锋| 日韩一区精品视频| 奇米影视一区二区三区小说| 亚洲一区二区三区三| 亚洲一区二区三区四区的| 精品理论电影在线| 国产精品久久久久久户外露出| 久久久久久夜精品精品免费| 久久久精品tv| 国产精品福利影院| 精品在线观看视频| 成人一道本在线| 一本一道久久a久久精品综合蜜臀| 色婷婷av一区二区三区软件| 欧美精品一区二区三| 久久久精品tv| 亚洲欧美区自拍先锋| 亚洲成人综合视频| 亚洲国产成人av好男人在线观看| 国产成人免费视频| 粉嫩高潮美女一区二区三区 | 国产成人av福利| 一本久久a久久免费精品不卡| 日韩视频一区二区在线观看| 久久久五月婷婷| 亚洲欧美日韩在线不卡| 婷婷综合另类小说色区| 亚州成人在线电影| 久久激情五月激情| 成人精品一区二区三区四区 | 久久精品国产精品亚洲精品| 国产精品一区二区在线播放| 色屁屁一区二区| 欧美mv日韩mv国产网站| 亚洲丝袜精品丝袜在线| 日韩三区在线观看| 亚洲第一电影网| 国产成人在线影院| 欧美高清视频一二三区| 日本一区二区不卡视频| 久久午夜免费电影| 亚洲欧美日韩一区二区三区在线观看| 日韩专区在线视频| 97精品久久久久中文字幕| 9191成人精品久久| 美女视频一区在线观看| 色婷婷综合久久| 国产日产精品一区| 久久精品理论片| 成人一区二区三区中文字幕| 国产精品热久久久久夜色精品三区 | 久久av中文字幕片| 欧美美女一区二区在线观看| 中文字幕在线观看一区二区| 紧缚奴在线一区二区三区| 欧美综合亚洲图片综合区| 天堂在线一区二区| 26uuu国产电影一区二区| 成人午夜大片免费观看| 亚洲女同一区二区| 在线成人免费观看| 国产一区二区三区综合| 亚洲欧美一区二区不卡| 在线播放国产精品二区一二区四区 | 欧美一级日韩免费不卡| 国产一区二区美女诱惑| 中文字幕一区二区三区乱码在线| 在线观看www91| 精品一区二区三区视频在线观看 | 久久九九全国免费| 国产精品88av| 精品嫩草影院久久| 国产99久久久国产精品潘金| 亚洲蜜臀av乱码久久精品| 日韩亚洲欧美在线观看| 成人app软件下载大全免费| 日韩经典一区二区| 国产三级精品三级在线专区| 欧美视频一二三区| 免费成人美女在线观看.| 久久综合久色欧美综合狠狠| 色婷婷久久久综合中文字幕 | 精品国产一区二区在线观看| av网站一区二区三区| 首页国产欧美日韩丝袜| 中文字幕一区日韩精品欧美| 日韩一区二区三区在线观看| 一本色道久久综合亚洲aⅴ蜜桃| 久草精品在线观看| 亚洲成人av福利| 日韩毛片高清在线播放| 精品久久久久一区| 欧美日韩精品欧美日韩精品一 | 午夜免费欧美电影| 国产精品国产馆在线真实露脸 | 久99久精品视频免费观看| 亚洲自拍另类综合| 中文字幕五月欧美| 国产免费观看久久| 欧美www视频| 91精品在线观看入口| 色综合婷婷久久| www.日韩大片| 丁香婷婷综合五月| 国产精品一级黄| 久国产精品韩国三级视频| 偷窥少妇高潮呻吟av久久免费| 自拍偷拍国产亚洲| 欧美国产精品中文字幕| 久久综合999| 精品日韩一区二区三区| 欧美成人精品3d动漫h| 欧美性猛交一区二区三区精品| 91麻豆6部合集magnet| 国产精品亚洲一区二区三区妖精| 精品无人区卡一卡二卡三乱码免费卡 | 欧美精品1区2区| 日韩一级免费一区| 欧美岛国在线观看| 欧美大片免费久久精品三p| 欧美一区午夜精品| 日韩视频在线观看一区二区| 欧美成人三级在线| 国产午夜精品福利| 国产精品伦理一区二区| 亚洲欧美日韩国产中文在线| 自拍偷在线精品自拍偷无码专区| 亚洲激情六月丁香| 亚洲精品精品亚洲| 天堂蜜桃一区二区三区| 精品影视av免费| 成人午夜电影网站| 一本大道久久a久久综合| 色综合亚洲欧洲| 91精品国产综合久久国产大片| 日韩欧美综合一区| 久久精品夜色噜噜亚洲a∨| 亚洲天堂福利av| 亚洲bt欧美bt精品| 国产精品资源在线看| 91免费看片在线观看| 欧美美女网站色| 国产香蕉久久精品综合网| 国产精品久久久久久久久免费樱桃 | 国产一区高清在线| 91视频在线观看| 91精品国产综合久久久蜜臀图片| 欧美一级一级性生活免费录像| 欧美久久久一区| 中文字幕不卡在线播放| 午夜视频在线观看一区| 国产精品一级在线| 欧美精品v国产精品v日韩精品| 国产欧美日产一区| 三级不卡在线观看| www.日韩大片| 日韩三级.com| 亚洲一区二区三区四区五区黄| 国产激情一区二区三区| 欧美日韩国产首页在线观看| 欧美国产日韩在线观看| 日本网站在线观看一区二区三区| 成人av在线看| 精品免费一区二区三区| 婷婷六月综合网| 99精品欧美一区|