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

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

?? 1602s.asm

?? 本人上傳的是 單片機 1602LCD液晶秒表.asm 源代碼
?? ASM
字號:
;           K1=P3.2  K2=P3.3   K3=P3.4  K4=P3.5
;*          1602LCD顯示秒表                                                     *
;*          K3 --- 控制按鍵                                                     *
;*                 第一次按下時,開始計時,第二次按下時,暫停計時。               *
;*                 第三次按下時,累計計時,第四次按下時,暫停計時。               *
;*          K4 --- 清零按鍵:                                                   *
;*                 在任何狀態下,按一下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     ;鍵計數單元

          K1     EQU  P3.2
          K2     EQU  P3.3
          K3     EQU  P3.4
          K4     EQU  P3.5

          BEEP  EQU  P2.4
          RS    EQU  P3.5     ;LCD控制端口定義
          RW    EQU  P3.6
          EN    EQU  P3.7

;----------------------------------------------------
          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  P1,#38H     ;雙列顯示,字形5*7點陣
          call  enable
          call  delay1
          MOV  P1,#38H     ;雙列顯示,字形5*7點陣
          call  enable
          call  delay1
          MOV  P1,#38H     ;雙列顯示,字形5*7點陣
          call  enable
          call  delay1
          CALL  INIT_LCD1
          RET
;-----------------------------------------------------
WCOM:                     ;以8位控制方式將命令寫至LCD
          MOV  P1,A       ;寫入命令
          call  enable
          RET
;-----------------------------------------------------
WDATA:                    ;以8位控制方式將數據寫至LCD
          MOV  P1,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一区二区三区免费野_久草精品视频
欧美电影一区二区三区| 午夜激情综合网| 国产色一区二区| 精品久久久久久最新网址| 欧美一区二区三区性视频| 欧美日韩综合在线免费观看| 色诱视频网站一区| 欧美亚洲国产bt| 精品污污网站免费看| 欧美精品xxxxbbbb| 日韩午夜电影在线观看| 欧美一区二区三区人| 日韩小视频在线观看专区| 精品少妇一区二区三区日产乱码 | 亚洲午夜在线电影| 亚洲国产成人av好男人在线观看| 亚洲高清三级视频| 男人的j进女人的j一区| 国产综合色在线| 成人高清视频在线| 一本色道综合亚洲| 9191国产精品| 精品国产一区二区三区久久久蜜月 | 国产精品久久精品日日| 亚洲激情欧美激情| 日韩电影免费一区| 国产精品1区二区.| 91欧美激情一区二区三区成人| 色八戒一区二区三区| 欧美理论电影在线| 久久欧美中文字幕| 最新不卡av在线| 日日摸夜夜添夜夜添亚洲女人| 激情六月婷婷综合| 91麻豆国产精品久久| 欧美放荡的少妇| 国产日韩欧美制服另类| 亚洲一二三四久久| 精品一区二区三区日韩| 91丝袜美女网| 日韩欧美高清在线| 亚洲同性同志一二三专区| 天天影视涩香欲综合网| 国产乱码精品一品二品| 在线免费观看日本欧美| 精品美女一区二区| 一区二区三区视频在线观看| 激情综合网av| 在线视频综合导航| 精品成人佐山爱一区二区| 成人免费一区二区三区视频| 水野朝阳av一区二区三区| 粉嫩av亚洲一区二区图片| 欧美猛男男办公室激情| 国产精品久久久久影院亚瑟 | 91女神在线视频| 日韩亚洲欧美在线观看| 亚洲日本va在线观看| 久久99久久99| 在线精品视频免费观看| 国产视频911| 麻豆国产欧美一区二区三区| heyzo一本久久综合| 精品国精品自拍自在线| 亚洲国产一区二区三区| 99视频一区二区| 欧美不卡在线视频| 午夜av一区二区| 99re这里都是精品| 久久久午夜精品| 99精品视频一区二区三区| 日本韩国精品在线| 欧美日韩国产影片| 国产亚洲精品7777| 久热成人在线视频| 欧美精品欧美精品系列| 亚洲精品网站在线观看| 成人激情文学综合网| 久久综合久久综合久久综合| 亚洲va韩国va欧美va精品| 国产日韩精品一区二区浪潮av| 男女视频一区二区| 成人中文字幕合集| 精品国产1区二区| 麻豆成人av在线| 欧美日韩国产三级| 亚洲最色的网站| 波多野结衣视频一区| 国产午夜亚洲精品理论片色戒 | 午夜久久久久久久久| 色激情天天射综合网| 成人欧美一区二区三区小说| 从欧美一区二区三区| 久久久国产精品麻豆| 精彩视频一区二区三区| 精品久久久久一区| 国产在线精品一区二区不卡了| 日韩一区二区三区免费看| 性做久久久久久免费观看| 在线观看国产日韩| 亚洲国产精品久久艾草纯爱| 欧美性猛片xxxx免费看久爱 | 91国偷自产一区二区开放时间| 最新久久zyz资源站| 91玉足脚交白嫩脚丫在线播放| 亚洲色图制服丝袜| 91久久精品国产91性色tv| 一区二区成人在线观看| 欧日韩精品视频| 爽好多水快深点欧美视频| 6080午夜不卡| 精品一区在线看| 国产欧美久久久精品影院| 成人免费视频一区| 国产精品久久久久一区| 97se亚洲国产综合自在线观| 一区二区不卡在线播放| 69堂成人精品免费视频| 极品少妇xxxx精品少妇| 国产精品色一区二区三区| 99国产一区二区三精品乱码| 夜夜精品浪潮av一区二区三区| 欧美猛男gaygay网站| 久久99久久久久久久久久久| 久久精品欧美日韩精品| 97se亚洲国产综合自在线不卡| 一区二区三区视频在线观看| 91精品国产全国免费观看| 精品综合免费视频观看| 中文av一区二区| 在线视频亚洲一区| 久久99九九99精品| 亚洲欧洲www| 欧美欧美欧美欧美| 国产精品亚洲а∨天堂免在线| 中文字幕亚洲综合久久菠萝蜜| 欧美私模裸体表演在线观看| 久久成人久久鬼色| 国产精品福利一区二区| 在线播放国产精品二区一二区四区| 精品在线你懂的| 亚洲欧美日韩久久| 日韩欧美www| 99久久久久免费精品国产| 男女男精品视频| 日韩毛片精品高清免费| 91精品久久久久久久91蜜桃| 成人免费高清视频| 日韩中文字幕一区二区三区| 国产婷婷一区二区| 欧美日韩高清一区二区三区| 成人综合婷婷国产精品久久免费| 午夜精品一区二区三区免费视频| 久久先锋影音av鲁色资源网| aaa国产一区| 韩国三级电影一区二区| 一个色在线综合| 日本一区二区电影| 91精品国产综合久久久久久| av一区二区三区在线| 久久99精品国产麻豆不卡| 一区二区三区免费| 日本一区二区三区久久久久久久久不 | 国产河南妇女毛片精品久久久| 亚洲一区免费视频| 中文字幕欧美激情| 日韩免费电影网站| 欧美日韩专区在线| 91在线高清观看| 国产成人自拍网| 日本成人中文字幕| 一区二区不卡在线播放 | 久久人人97超碰com| 欧美日韩精品二区第二页| aa级大片欧美| 国产夫妻精品视频| 热久久久久久久| 亚洲午夜精品久久久久久久久| 中文字幕一区二区三中文字幕| 久久色中文字幕| 欧美成人福利视频| 欧美日本免费一区二区三区| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 国产成人在线免费观看| 久久草av在线| 蜜桃视频一区二区三区| 五月激情综合色| 亚洲一区二区三区小说| 亚洲三级免费观看| 国产欧美va欧美不卡在线 | 久久精品国产久精国产爱| 亚洲成a天堂v人片| 亚洲一区二区三区美女| 亚洲美女视频在线观看| 亚洲女人的天堂| 国模套图日韩精品一区二区| 免费成人你懂的| 麻豆国产精品一区二区三区| 免费看黄色91| 久久精品国产精品亚洲精品|