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

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

?? zhonghe.asm

?? 關于proteus的仿真實例
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
 ORG 0000H
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              ; 工作狀態指示位
;

                         SJMP START
                         ORG 000BH

                         LJMP LOOP1
                         ;ORG 001BH
    ;LJMP INT_1

ORG 001BH

 JNB P0.6,YINYUE1  ;低音樂
 LJMP DIANZIQIN1

ORG 0030H

              DIANZIQIN1:
               ;JB P0.1,ZIJIDE
               JnB P3.6,HUAN   ;高主
                ;YINYUE1:ljmp YINYUE11
              ZIJIDE:;CLR P2.0
              LJMP INT_1
              HUAN:LJMP DIANZIQIN
               YINYUE1:INC 20H ;中斷服務,中斷計數器加1
                       MOV TH1,#0D8H
                      MOV TL1,#0EFH ;12M晶振,形成10毫秒中斷
                        RETI

                        START: LJMP  MAIN             ; 0000H  引向主程序
    LJMP  ERR              ; 0003H
    NOP
    NOP
    LJMP  ERR              ; 引向出錯處理程序
   LOOP1: LJMP  PGT0             ; 000BH  引向中斷處理程序PGT0
    NOP
    NOP
    LJMP  ERR              ; 引向出錯處理程序
   LOOP2: LJMP  ERR              ; 0013H  INT1
    NOP
    NOP
    LJMP  ERR
   LOOP3:LJMP  ERR              ; 001BH  T1
    NOP
    NOP
    LJMP  ERR
   LOOP4:LJMP  ERR              ; 0023H
    NOP
    NOP
    LJMP  ERR
    LJMP  ERR              ; 002BH
    NOP
    NOP
;
;************
;   主程序  ;
;************
MAIN: JNB P0.6,CCC
  LJMP DIANZIQIN
;CCC:LJMP YINYUE

 CCC: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程序
    MOV   L0,R4            ; 移入工作方式選擇數
    INC    L0
    ;
WAITMK: ACALL DISPLY         ; 等待M鍵釋放
    INC   R2               ; R2自增一
    CLR   C
    CJNE  R2,#0C8H,JGQUIC  ; 若R2大于等于200則調用快進子程序
JGQUIC: JC    WATMK1
        ACALL QUICK
WATMK1: JNB   MKEY,WAITMK      ; R2小于200則等待M鍵釋放
;
JGFKEY: JB    FKEY,MENU1       ; 功能(F)鍵掃描
    ACALL KEYDLY           ; 延時消抖動
    JB    FKEY,MENU1       ; 鍵未按下則轉修改(M)鍵掃描
    INC   R6               ; F鍵按鍵次數加1
    MOV   A,R6             ; 移入按鍵次數
    RL    A            ; 指針放大
    MOV   DPTR,#FUNTAB
    JMP   @A+DPTR          ; 根據按鍵次數跳轉到相應的程序段
FUNTAB: AJMP  WAITFK
    AJMP  SETLOW
    AJMP  SETHI
    AJMP  ENDMEN
    NOP
    NOP
    AJMP  ENDMEN
;STWKMD:                       ; 工作模式設定,不需另外改變菜單
;
SETLOW: MOV   MAX,#60H         ; 設置低位(秒位或分位)
    MOV   A,R4             ; 移入工作模式選擇數
    RL    A            ; 指針放大
    MOV   DPTR,#FTAB1
    JMP   @A+DPTR          ; 根據工作模式選擇數跳轉到相應的程序段
FTAB1:  AJMP  SETSS
    AJMP  SETM60
    AJMP  SETSS
    AJMP  SETM60
    NOP
    NOP
    AJMP  WAITFK
SETSS:    MOV   DSPLYP,#SL       ; 設定顯示區域為MM:SS
    MOV   ADDRES,#SH
    AJMP  WAITFK
SETM60:   MOV   DSPLYP,#ML       ; 設定顯示區域為HH:MM
    MOV   ADDRES,#MH
    AJMP  WAITFK
;
SETHI:    CLR   LPLMOD           ; 設置高位(分位或時位)
    SETB  HPLMOD           ; 高兩位數碼管閃爍
    MOV   MAX,#31H         ; 最大數為30
    MOV   A,R4             ; 移入工作模式選擇數
    RL    A                ; 指針放大
    MOV   DPTR,#FTAB2      ; 移入表首地址
    JMP   @A+DPTR          ; 根據工作模式選擇數跳轉到相應的程序段
FTAB2:  AJMP  SETM30
    AJMP  SETHH
    AJMP  SETM30
    AJMP  SETHH
    NOP
    NOP
    AJMP  WAITFK           ; 返回等待鍵釋放
SETM30: MOV   ADDRES,#MH       ; 移入分位的地址
        AJMP  WAITFK           ; 轉向等待鍵釋放
SETHH:  MOV   ADDRES,#HH       ; 移入時位的地址
    AJMP  WAITFK           ; 轉向等待鍵釋放
;
ENDMEN: CLR   HPLMOD           ; 恢復不閃爍顯示方式
    RET
    NOP
    NOP
    LJMP  ERR              ; 軟件陷阱
;
;****************
;  到點工作程序 ;
;****************
ACTION: MOV   L0,R4            ; 移入工作模式選擇數
    INC   L0               ; 送顯示數"F-0X"
    MOV   L1,#00H
    MOV   L2,#0BH

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产免费| 一本高清dvd不卡在线观看| 69成人精品免费视频| 一二三四区精品视频| 在线电影院国产精品| 麻豆一区二区三区| 久久久久国产成人精品亚洲午夜| 国产一区二区三区久久悠悠色av| 欧美大片日本大片免费观看| 国产乱码精品一区二区三区av| 中文字幕第一区二区| 91亚洲精品一区二区乱码| 一区二区国产视频| 日韩欧美国产综合一区 | 欧美综合天天夜夜久久| 亚洲高清免费视频| 精品国产1区二区| 97精品国产97久久久久久久久久久久 | 奇米精品一区二区三区四区 | 国产精品蜜臀在线观看| 精品视频全国免费看| 蜜臀av在线播放一区二区三区 | 制服丝袜亚洲网站| 国产黄色91视频| 亚洲男同1069视频| 日韩一区二区三区高清免费看看| 国产又黄又大久久| 亚洲中国最大av网站| 26uuu精品一区二区| 在线观看精品一区| 国产精品自拍三区| 樱桃视频在线观看一区| 精品国精品国产尤物美女| 91亚洲大成网污www| 青青草91视频| 亚洲精品视频免费观看| 精品国产免费久久| 91麻豆免费观看| 国内精品国产三级国产a久久| 亚洲激情男女视频| 日本欧美在线看| 欧美v日韩v国产v| 成人性视频免费网站| 美女视频黄频大全不卡视频在线播放| 国产精品久久免费看| 欧美成人乱码一区二区三区| 日本精品免费观看高清观看| 国产精品18久久久久久久网站| 图片区小说区区亚洲影院| 中文字幕永久在线不卡| 2021中文字幕一区亚洲| 欧美精品丝袜久久久中文字幕| 91浏览器在线视频| 成人免费毛片aaaaa**| 久久丁香综合五月国产三级网站| 亚洲高清久久久| 自拍偷拍欧美激情| 国产精品色在线| 久久久久久久久久电影| 精品剧情在线观看| 欧美大片在线观看| 日韩女优av电影在线观看| 555夜色666亚洲国产免| 欧美视频你懂的| 99久久精品国产观看| 成人av网站在线观看| 成人aaaa免费全部观看| 国产91精品露脸国语对白| 国产乱对白刺激视频不卡| 久久精品国产**网站演员| 免费在线观看不卡| 蜜桃av一区二区在线观看| 青青草成人在线观看| 美女免费视频一区二区| 蜜桃av一区二区| 麻豆成人av在线| 久久99久国产精品黄毛片色诱| 久久99久久精品| 国产伦精一区二区三区| 高清不卡一二三区| 成人精品小蝌蚪| 色综合咪咪久久| 欧美日韩一二三区| 欧美另类久久久品| 日韩欧美国产一区二区在线播放| 欧美sm美女调教| 亚洲国产电影在线观看| 国产精品久久综合| 亚洲欧美国产高清| 图片区日韩欧美亚洲| 捆绑调教一区二区三区| 国产乱一区二区| aaa亚洲精品| 欧美性猛交xxxx黑人交| 日韩手机在线导航| 欧美激情在线观看视频免费| 国产精品国产三级国产三级人妇| 亚洲欧洲中文日韩久久av乱码| 亚洲第四色夜色| 国产综合色视频| 91小视频免费观看| 91.xcao| 久久九九久精品国产免费直播| 国产精品伦理一区二区| 亚洲午夜日本在线观看| 久久精品国产一区二区| 国产**成人网毛片九色 | 精品一区二区在线看| 国产黄色精品视频| 欧美日韩精品综合在线| 精品国产乱子伦一区| 亚洲日本丝袜连裤袜办公室| 石原莉奈在线亚洲三区| 成人av网在线| 日韩视频不卡中文| 国产精品成人网| 日韩激情一区二区| 成人黄色软件下载| 91精品国产综合久久精品麻豆| 国产精品传媒入口麻豆| 青青草原综合久久大伊人精品优势| 国产精品一区二区91| 欧美精品三级日韩久久| 国产精品全国免费观看高清 | 国内国产精品久久| 欧美最新大片在线看| 久久青草欧美一区二区三区| 亚洲第一二三四区| 99这里都是精品| 精品国产伦理网| 亚洲一区二区中文在线| 成人黄色电影在线| 26uuu色噜噜精品一区二区| 一区二区三区欧美激情| 成人禁用看黄a在线| 精品国产成人系列| 日韩精品三区四区| 在线精品视频免费播放| 国产精品国产三级国产| 国产一区999| 精品国精品国产尤物美女| 午夜精品久久久久久久久久久| 91农村精品一区二区在线| 亚洲国产成人私人影院tom| 久久99久久精品| 欧美一区午夜视频在线观看| 亚洲精品成人天堂一二三| 成人黄色综合网站| 久久九九久久九九| 国产一区二区调教| 26uuu国产电影一区二区| 日韩 欧美一区二区三区| 欧美伊人久久久久久午夜久久久久| 中文字幕av一区二区三区免费看| 国产精品一区二区在线看| 日韩一卡二卡三卡| 免费观看在线色综合| 在线91免费看| 男人操女人的视频在线观看欧美| 欧美日韩精品电影| 午夜欧美2019年伦理| 欧美日韩视频在线第一区| 亚洲国产成人av网| 欧美色倩网站大全免费| 亚洲成人激情自拍| 91久久一区二区| 亚洲精品国久久99热| 欧美亚洲高清一区二区三区不卡| 亚洲伦理在线精品| 欧美视频一区二区三区四区| 亚洲最大成人综合| 91精品一区二区三区久久久久久| 婷婷中文字幕综合| 欧美精品自拍偷拍| 久久99在线观看| 国产网红主播福利一区二区| 国产精品一区二区三区网站| 国产精品无人区| 91美女在线视频| 午夜久久久久久| 日韩欧美区一区二| 丁香天五香天堂综合| 中文字幕一区日韩精品欧美| 日本久久精品电影| 欧美bbbbb| 国产精品区一区二区三区| 99精品视频在线观看免费| 亚洲精品国产一区二区精华液| 欧美肥胖老妇做爰| 国产一区二区三区免费| 136国产福利精品导航| 欧美午夜视频网站| 蜜桃精品视频在线| 中文欧美字幕免费| 欧美日韩三级在线| 国产成人午夜精品影院观看视频| 日韩一区在线免费观看| 91精品久久久久久蜜臀| 国产成a人亚洲精品| 亚洲韩国一区二区三区|