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

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

?? 1602lcdstopwatch.asm

?? * 1602LCD顯示秒表 * * K3 --- 控制按鍵 (p3.4) * * 第一次按下時,開始計時
?? ASM
字號:
;********************************************************************************
;*  1602LCD顯示秒表               *
;********************************************************************************
;*  描述:                                                                       *
;*          1602LCD顯示秒表                                                     *
;*          K3 --- 控制按鍵 (p3.4)                                              *
;*                 第一次按下時,開始計時,第二次按下時,暫停計時。               *
;*                 第三次按下時,累計計時,第四次按下時,暫停計時。               *
;*          K4 --- 清零按鍵 (p3.5)                                              *
;*                 在任何狀態下,按一下K4,均可清零。                           *
;*                                                                              *
;********************************************************************************
;晶振 11.0592M
;定時器0,方式1
;計時中斷程序每隔10ms中斷一次
;--------------------------------------------------------------------------------
          TLOW   EQU  0CH     ;定時器初值
          THIGH  EQU  0DCH

          HOUR   EQU  30H
          MIN    EQU  31H
          SEC    EQU  32H
          SEC0   EQU  33H     ;10ms計數值
          KEY_S  EQU  34H     ;為鍵當前的端口狀況
          KEY_V  EQU  35H     ;為鍵上次的端口狀況
          X      EQU  36H     ;LCD 地址變量
          KEY_C  EQU  37H     ;鍵計數單元

          K3     EQU  P3.4
          K4     EQU  P3.5

          BEEP  EQU  P3.7
          RS    EQU  P3.0     ;LCD控制端口定義
          RW    EQU  P3.1
          EN    EQU  P3.2

;--------------------------------------------------------------------------------
          ORG   0000H
          JMP  START
          ORG  0BH
          JMP  T0_INT
;--------------------------------------------------------------------------------
START:    MOV  SP,#60H
          CLR  EN
          CALL  SET_LCD
          CALL  INIT            ;初始化變量
          MOV  KEY_V,#01H
          CALL  INIT_TIMER      ;初始化定時器
          CALL  MENU
LOOP:     CALL   CONV           ;時間計數處理
          CALL LOOP1
          CALL  SKEY            ;判是否有鍵按下
          JZ  LOOP              ;無鍵按下轉LOOP
          CALL   CONV
          CALL  SKEY
          JZ  LOOP
          MOV  KEY_V,KEY_S      ;交換數據
          CALL  P_KEY
          JMP  LOOP
;--------------------------------------------------------------------------------
LOOP1:    JB  K4,LOOP2         ;判清零鍵是否按下
          CALL  BZ
          JMP  START
LOOP2:    RET
;--------------------------------------------------------------------------------
P_KEY:                          ;
          MOV  A,KEY_V
          JB  ACC.0,P_KEY3
          INC  KEY_C
          MOV  A,KEY_C          ;K3鍵是否第一次按下?
          CJNE  A,#01H,P_KEY1
          MOV    DPTR,#MADJ    ;顯示執行信息
          MOV    A,#1          ;
          CALL   LCD_PRINT
          SETB  TR0            ;啟動中斷
          RET
P_KEY1:                          ;K3鍵是否第二次按下?
          MOV   A,KEY_C
          CJNE  A,#02H,P_KEY2
          MOV   DPTR,#MADJ1      ;顯示執行信息
          MOV   A,#1
          CALL  LCD_PRINT
          CLR   TR0              ;停止中斷
          RET
P_KEY2:                          ;K3鍵是否第三次按下?
          MOV   A,KEY_C
          CJNE  A,#03H,P_KEY3
          MOV   DPTR,#MADJ2      ;顯示執行信息
          MOV   A,#1
          CALL  LCD_PRINT
          SETB   TR0             ;啟動中斷
          RET
P_KEY3:                          ;K3鍵是否第四次按下?
          MOV   A,KEY_C
          CJNE  A,#04H,P_KEY4
          MOV   DPTR,#MADJ3      ;顯示執行信息
          MOV   A,#1
          CALL  LCD_PRINT
          CLR   TR0              ;啟動中斷
P_KEY4:   RET
;--------------------------------------------------------------------------------
SKEY:     CLR  A                ;判是否有鍵按下子程序
          MOV  KEY_S,A
          MOV  C,K3
          RLC  A
          ORL  KEY_S,A
          MOV  A,KEY_S
          XRL  A,KEY_V          ;有鍵按下,A 中內容不為零
          RET
;--------------------------------------------------------------------------------
LMESS1:  DB  "                ",0  ;LCD 第一行顯示消息
LMESS2:  DB  "TIME            ",0  ;LCD 第二行顯示消息
;--------------------------------------------------------------------------------
INIT:    CLR  A
         MOV  KEY_C,A         ;初始化控制變量
         MOV  SEC0,A
         MOV  SEC,A
         MOV  MIN,A
         MOV  HOUR,A
         MOV  KEY_S,A
         MOV  KEY_V,A
         SETB  BEEP
         CLR  TR0
         RET
;--------------------------------------------------------------------------------
INIT_TIMER:                     ;初始化定時器接口
         MOV  TMOD,#01H         ;設置定時器0 工作模式為模式1
         MOV  IE,  #82H         ;啟用定時器0 中斷產生
         MOV  TL0,#TLOW
         MOV  TH0,#THIGH
         RET
;--------------------------------------------------------------------------------
T0_INT:
         PUSH  ACC           ;定時器0計時中斷程序
         MOV  TL0,#TLOW
         MOV  TH0,#THIGH
         INC  SEC0
         MOV  A,SEC0         ;10ms 計數值加1
         CJNE  A,#100,TT
         MOV  SEC0,#0
         INC  SEC            ;秒加1
         MOV  A,SEC
         CJNE  A,#60,TT
         INC  MIN            ;分加1
         MOV  SEC,#0
         MOV  A,MIN
         CJNE  A,#60,TT
         INC  HOUR           ;時加1
         MOV  MIN,#0
         MOV  A,HOUR
         CJNE  A,#24,TT
         MOV  SEC0,#0
         MOV  SEC,#0          ;秒、分、時單元清0
         MOV  MIN,#0
         MOV  HOUR,#0
 TT:     POP  ACC
         RETI
;--------------------------------------------------------------------------------
;   在第二行顯示數字
;--------------------------------------------------------------------------------
SHOW_DIG2:                    ;在 LCD 的第二行顯示數字
          MOV  B,#10         ;設置被除數
          DIV  AB            ;結果A存商數,B存余數
          ADD  A,#30H        ;A為十位數,轉換為字符
          PUSH  B            ;B放入堆棧暫存
          MOV  B,X           ;設置 LCD 顯示的位置
          CALL  LCDP2        ;由 LCD 顯示出來
          POP  B             ;
          MOV  A,B           ;B為個位數
          ADD  A,#30H        ;轉換為字符
          INC  X             ;LCD 顯示位置加1
          MOV  B,X           ;設置 LCD 顯示的位置
          CALL  LCDP2        ;由 LCD 顯示出來
          RET
;--------------------------------------------------------------------------------
;轉換為 ASCII 碼并顯示
;--------------------------------------------------------------------------------
CONV:
          MOV  A,HOUR        ;加載小時數據
          MOV  X,#5          ;設置位置
          CALL  SHOW_DIG2    ;顯示數據
          INC  X             ;
          MOV  A,#':'        ;
          MOV  B,X           ;
          CALL  LCDP2        ;
          MOV  A,MIN         ;加載分鐘數據
          INC  X             ;設置位置
          CALL  SHOW_DIG2    ;顯示數據
          INC  X             ;
          MOV  A,#':'        ;
          MOV  B,X           ;
          CALL  LCDP2        ;
          MOV  A,SEC         ;加載秒數數據
          INC  X             ;設置位置
          CALL  SHOW_DIG2    ;顯示數據
          INC  X             ;
          MOV  A,#':'        ;
          MOV  B,X           ;
          CALL  LCDP2        ;
          MOV  A,SEC0        ;加載秒數數據
          INC  X             ;設置位置
          CALL  SHOW_DIG2
          RET
;--------------------------------------------------------------------------------
;  LCD  CONTROL
;--------------------------------------------------------------------------------
SET_LCD:                     ;對 LCD 做初始化設置及測試
          CLR  EN
          CALL  INIT_LCD     ;初始化 LCD
          MOV  R5,#10
          CALL  DELAY
          MOV  DPTR,#LMESS1  ;指針指到顯示消息1
          MOV  A,#1          ;顯示在第一行
          CALL  LCD_PRINT
          MOV  DPTR,#LMESS2  ;指針指到顯示消息2
          MOV  A,#2          ;顯示在第二行
          CALL  LCD_PRINT
          RET
;--------------------------------------------------------------------------------
INIT_LCD1:                   ;LCD 控制指令初始化
          MOV  A,#38H        ;雙列顯示,字形5*7點陣
          CALL  WCOM         ;
          call  delay1
          MOV  A,#0CH        ;開顯示,顯示光標,光標不閃爍
          CALL  WCOM         ;
          call  delay1
          MOV  A,#01H        ;清除 LCD 顯示屏
          CALL  WCOM         ;
          call  delay1
          RET
;--------------------------------------------------------------------------------
ENABLE:                       ;寫指令
          CLR RS              ;RS=L,RW=L,E=高脈沖
          CLR RW              ;D0-D7=指令碼
          SETB EN
          ACALL DELAY1          
          CLR EN
          RET
;--------------------------------------------------------------------------------
LCD_PRINT:       ;在LCD的第一行或第二行顯示字符

          CJNE  A,#1,LINE2  ;判斷是否為第一行
  LINE1:  MOV  A,#80H       ;設置 LCD 的第一行地址
          CALL  WCOM        ;寫入命令
          CALL  CLR_LINE    ;清除該行字符數據
          MOV  A,#80H       ;設置 LCD 的第一行地址
          CALL  WCOM        ;寫入命令
          JMP  FILL
  LINE2:  MOV  A,#0C0H      ;設置 LCD 的第二行地址
          CALL  WCOM        ;寫入命令
          CALL  CLR_LINE    ;清除該行字符數據
          MOV  A,#0C0H      ;設置 LCD 的第二行地址
          CALL  WCOM
  FILL:   CLR  A            ;填入字符
          MOVC  A,@A+DPTR   ;由消息區取出字符
          CJNE  A,#0,LC1    ;判斷是否為結束碼
          RET
  LC1:    CALL  WDATA       ;寫入數據
          INC  DPTR         ;指針加1
          JMP  FILL         ;繼續填入字符
          RET
;--------------------------------------------------------------------------------
CLR_LINE:                  ;清除該行 LCD 的字符
          MOV  R0,#24
   CL1:   MOV  A,#' '
          CALL  WDATA
          DJNZ  R0,CL1
          RET
;--------------------------------------------------------------------------------
   DE:    MOV  R7,#250      ;延時500微秒
          DJNZ  R7,$
          RET
;--------------------------------------------------------------------------------
   EN1:
          CLR   RW
          SETB  EN         ;短脈沖產生啟用信號
          CALL  DE
          CLR  EN
          CALL  DE
          RET
;--------------------------------------------------------------------------------
INIT_LCD:                  ;8位I/O控制 LCD 接口初始化
          MOV  P0,#38H     ;雙列顯示,字形5*7點陣
          call  enable
          call  delay1
          MOV  P0,#38H     ;雙列顯示,字形5*7點陣
          call  enable
          call  delay1
          MOV  P0,#38H     ;雙列顯示,字形5*7點陣
          call  enable
          call  delay1
          CALL  INIT_LCD1
          RET
;--------------------------------------------------------------------------------
WCOM:                     ;以8位控制方式將命令寫至LCD
          MOV  P0,A       ;寫入命令
          call  enable
          RET
;--------------------------------------------------------------------------------
WDATA:                    ;以8位控制方式將數據寫至LCD
          MOV  P0,A       ;寫入數據
          SETB  RS        ;設置寫入數據
          CALL  EN1
          RET
;--------------------------------------------------------------------------------
;第二行顯示字符
;--------------------------------------------------------------------------------
LCDP2:                    ;在LCD的第二行顯示字符
         PUSH  ACC        ;
         MOV  A,B         ;設置顯示地址
         ADD  A,#0C0H     ;設置LCD的第二行地址
         CALL  WCOM       ;寫入命令
         POP  ACC         ;由堆棧取出A
         CALL  WDATA      ;寫入數據
         RET
;--------------------------------------------------------------------------------
DELAY:                    ;延時10MS
         MOV  R6,#50
  D1:    MOV  R7,#100
         DJNZ  R7,$
         DJNZ  R6,D1
         DJNZ  R5,DELAY
         RET
;--------------------------------------------------------------------------------
DELAY1:                    ;延時5MS
         MOV  R6,#25
  D2:    MOV  R7,#100
         DJNZ  R7,$
         DJNZ  R6,D2
         RET
;--------------------------------------------------------------------------------
BZ:                        ;蜂鳴器
         MOV  R6,#100
  B1:    CALL  DEX
         CPL  BEEP
         DJNZ  R6,B1
         MOV  R5,#10
         CALL  DELAY
         RET
 DEX:    MOV  R7,#180
 DE1:    NOP
         DJNZ  R7,DE1
         RET

;--------------------------------------------------------------------------------
MMENU:  DB  " SECOND-CLOCK 0 ",0
MADJ:   DB  " BEGIN COUNT  1 ",0
MADJ1:  DB  " PAUST COUNT  2 ",0
MADJ2:  DB  " BEGIN COUNT  3 ",0
MADJ3:  DB  " PAUST COUNT  4 ",0
;--------------------------------------------------------------------------------
MENU:                      ;LCD 顯示工作菜單消息
         MOV  DPTR,#MMENU
         MOV  A,#1
         CALL  LCD_PRINT
         RET
;--------------------------------------------------------------------------------
         END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美激情中文字幕一区二区| 蜜臀久久99精品久久久画质超高清| 亚洲精品一二三| 日韩av一级电影| 99久久久精品| 久久精品网站免费观看| 久久99精品久久久久| 日本高清视频一区二区| 久久丝袜美腿综合| 日本女人一区二区三区| 91福利资源站| 17c精品麻豆一区二区免费| 精品综合免费视频观看| 欧美三级电影在线观看| 17c精品麻豆一区二区免费| 国产精品一区免费视频| 欧美成人aa大片| 五月婷婷欧美视频| 在线观看一区日韩| 国产精品女同一区二区三区| 久久av老司机精品网站导航| 欧美高清hd18日本| 亚洲国产中文字幕| 在线观看日韩一区| 亚洲同性gay激情无套| 成人亚洲一区二区一| 精品成人一区二区三区四区| 日本aⅴ亚洲精品中文乱码| 日本伦理一区二区| 亚洲欧美日韩一区二区| 99re这里只有精品首页| 亚洲欧洲日本在线| av在线一区二区三区| 亚洲欧洲成人自拍| www.欧美色图| 国产精品日韩精品欧美在线| heyzo一本久久综合| 中文字幕 久热精品 视频在线| 国产主播一区二区三区| 久久久噜噜噜久噜久久综合| 国产成人亚洲精品狼色在线| 国产欧美综合色| youjizz国产精品| 一区二区三区在线视频免费| 欧美性受极品xxxx喷水| 视频一区视频二区中文| 91精品国产麻豆国产自产在线 | 国产精品日日摸夜夜摸av| 国产精品一区二区免费不卡| 国产欧美一区二区三区鸳鸯浴| heyzo一本久久综合| 亚洲国产精品人人做人人爽| 欧美日韩另类一区| 韩国成人在线视频| 中文字幕av不卡| 欧美综合视频在线观看| 日韩av中文字幕一区二区三区| 精品成人在线观看| 99精品欧美一区二区蜜桃免费| 黄色日韩网站视频| 国产精品国产三级国产专播品爱网| 成人高清免费在线播放| 亚洲高清一区二区三区| 精品国产成人系列| 91免费视频大全| 亚洲444eee在线观看| 亚洲精品一区在线观看| 97se狠狠狠综合亚洲狠狠| 午夜精品成人在线视频| 欧美激情一区二区三区四区| 欧洲生活片亚洲生活在线观看| 久久aⅴ国产欧美74aaa| 亚洲欧美日韩综合aⅴ视频| 正在播放亚洲一区| 不卡的av电影| 麻豆国产欧美日韩综合精品二区| 久久精品一区二区三区四区| 欧美性色欧美a在线播放| 国精产品一区一区三区mba桃花| 一区二区欧美视频| 国产偷国产偷亚洲高清人白洁| 色呦呦网站一区| 国产精品一区二区三区网站| 亚洲一区二区黄色| 国产亚洲欧美色| 欧美日韩极品在线观看一区| 成人免费看视频| 免费观看一级特黄欧美大片| 亚洲一区二区三区四区五区中文| 国产免费观看久久| 日韩一区二区在线看片| 日本福利一区二区| www.欧美色图| 国产福利91精品一区二区三区| 天天色综合成人网| 亚洲激情欧美激情| 成人欧美一区二区三区在线播放| 日韩欧美的一区| 欧美视频三区在线播放| 91老师国产黑色丝袜在线| 国产成人aaa| 精品一区二区在线看| 青娱乐精品视频| 亚洲成av人综合在线观看| 亚洲激情在线播放| 亚洲色图.com| 一区二区三区欧美久久| 国产精品国产三级国产aⅴ原创 | 亚洲香肠在线观看| 一区二区三区在线观看欧美| 成人欧美一区二区三区视频网页| 亚洲中国最大av网站| 久久国产尿小便嘘嘘尿| 成人美女视频在线观看18| 91九色02白丝porn| 欧美午夜免费电影| 欧美性一级生活| 国产亚洲制服色| 亚洲日本成人在线观看| 首页国产丝袜综合| 91丨porny丨最新| 91一区一区三区| 成人av小说网| 91麻豆国产在线观看| 色老汉av一区二区三区| 欧美色综合久久| 国产亚洲女人久久久久毛片| 综合久久综合久久| 日本不卡在线视频| 欧美亚洲精品一区| 久久综合给合久久狠狠狠97色69| 夜夜嗨av一区二区三区中文字幕| 国产成人在线观看免费网站| 欧美日韩午夜在线视频| 国产精品久久久久久户外露出 | 亚洲国产成人tv| av日韩在线网站| 精品国产伦一区二区三区免费| 亚洲一区二区三区三| 91在线视频网址| 国产精品网站一区| 国产91精品久久久久久久网曝门| 精品视频资源站| 天天综合天天综合色| 99久久99久久免费精品蜜臀| 26uuu亚洲| 国产午夜亚洲精品羞羞网站| 亚洲一区二区视频在线观看| 色哟哟精品一区| 亚洲欧洲日产国产综合网| 精品无人码麻豆乱码1区2区| 日韩午夜av电影| 麻豆成人久久精品二区三区小说| 91国产丝袜在线播放| 久久不见久久见免费视频1| 久草中文综合在线| 91网址在线看| 亚洲成人一区二区在线观看| 日韩欧美一区二区三区在线| 成人一区二区视频| 中文字幕av一区二区三区免费看 | 韩国毛片一区二区三区| 久久综合色综合88| 99久久久精品| 偷窥少妇高潮呻吟av久久免费| 欧美日韩国产另类一区| 国产成人综合视频| 一区二区三区四区不卡在线| 99精品热视频| 日韩高清一级片| 国产精品久久久久永久免费观看| 欧美日韩精品一区二区三区| 日韩av不卡在线观看| 日本一区二区三级电影在线观看| 91免费版在线| 国产一区二区影院| 国产精品麻豆视频| 国产欧美精品一区| 91麻豆福利精品推荐| 粉嫩高潮美女一区二区三区 | 久久久av毛片精品| 日韩一区二区中文字幕| 奇米综合一区二区三区精品视频| 国产精品狼人久久影院观看方式| 欧美日韩大陆在线| 不卡在线视频中文字幕| 国产在线精品免费| 丝袜亚洲另类欧美综合| 蜜桃精品视频在线观看| 亚洲一区在线看| 男人的j进女人的j一区| 一区二区三区欧美久久| 亚洲狠狠爱一区二区三区| 中文一区二区在线观看| 国产精品美女www爽爽爽| 99re视频这里只有精品| 国产高清不卡二三区| 精品一区免费av| 日韩福利视频导航| 国产一本一道久久香蕉|