日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
122X32液晶顯示倒計(jì)時
122X32液晶顯示倒計(jì)時
 更新時間:2009-7-9 16:52:44  點(diǎn)擊數(shù):0
【字體: 字體顏色

;****************變量聲明部分*******************
    E1  EQU  P3.1
  E2   EQU   P3.5
  RES EQU      P3.0
  RW EQU  P3.6
     A0   EQU   P3.7
     DAT EQU  P2
     X EQU  30H
     Y EQU  31H
        FLAG    EQU      P1.7   ;關(guān)機(jī)中斷指示入口


;***********************定義LCD顯示緩沖區(qū)地址******************
;首地址50H
 HOU1    EQU     50H
 HOU0 EQU     51H
 MIN1 EQU 52H
 MIN0 EQU 53H
 SEC1 EQU     54H
 SEC0    EQU     55H
 NUM EQU 56H

;************************定義按鍵位*********************
        SW EQU P1.7        ;定義P1.7調(diào)整鍵
 UP EQU P1.6     ;定義P1.6加一鍵
 DOWN EQU     P1.5        ;定義P1.5減一鍵
 COUNT EQU 57H     ;判別選擇鍵按的次數(shù)
;****************主程序開始*****************************
 ORG 0000H
 AJMP START
 ORG  000BH
 LJMP  TIMER0
 ORG       0030H
;************************設(shè)置起始時間********************
START: MOV SP,#60H
   MOV HOU1,#00H
   MOV HOU0,#01H
   MOV MIN1,#00H
   MOV MIN0,#00H
   MOV SEC1,#00H
  MOV SEC0,#00H
   MOV NUM, #00H
        mov    count,#00H
;************************開定時中斷**************
MAIN:   MOV     TMOD,#01H
        MOV  TH0,#03CH
 MOV  TL0,#0B0H
 SETB  EA
 SETB  ET0

 SETB    RES  ;初始化LCD
 LCALL INITIAL
;**********************清屏*******************
     MOV       30H,#0
       MOV       31H,#0
       LCALL     DISPLAY1
       LCALL     DELAY1S
;****************** 靜態(tài)顯示*************
         MOV  DPTR, #TAB2     ;定
         MOV X,#00
         MOV Y,#00
         MOV    R3,#2
         MOV    A,#00H
         MOV    B,#16
         MUL    AB
         MOV    R2,A
         LCALL  DISPLAY5

         MOV  DPTR, #TAB2 ;時
         MOV X,#00
         MOV Y,#16
         MOV    R3,#2
         MOV    A,#01H
         MOV    B,#32
         MUL    AB
         MOV    R2,A
         LCALL  DISPLAY5

         MOV  DPTR, #TAB1 ;:
         MOV X,#02
         MOV Y,#16
         MOV    R3,#2
         MOV    A,#10
         MOV    B,#16
         MUL    AB
         MOV    R2,A
         LCALL  DISPLAY4

       MOV  DPTR, #TAB1 ;:
        MOV X,#02
       MOV Y,#56
       MOV     R3,#2
       MOV     A,#10
        MOV     B,#16
        MUL     AB
        MOV     R2,A
       LCALL  DISPLAY3

;*******************按鍵輸入程序****************
KEY:    CLR     TR0
 JB  SW,KEY0 ;調(diào)整程序
 LCALL  DELAY250MS
        JB  SW,KEY0
 INC  COUNT
 MOV  A,COUNT
 CJNE  A,#4,KEYOVER
 MOV  COUNT,#00H
KEYOVER:
 JB  SW,KEY0
 LJMP  KEYOVER

;**********************秒鐘調(diào)整程序********

KEY0: MOV  A,COUNT;秒鐘加1
 CJNE  A,#1,KEY1
 JB  UP,KEY00
 LCALL DELAY250MS
        JB  UP,KEY00
 INC  SEC0
 MOV  A,SEC0
 CJNE  A,#10,KEY0OVER
 MOV  SEC0,#00H
 INC  SEC1
 MOV  A,SEC1
 CJNE  A,#6,KEY0OVER
 MOV  SEC1,#00H
 LJMP  KEY0OVER
KEY0OVER:
 JB  UP,KEY00
 LJMP  KEY0OVER


KEY00:
 JB  DOWN,KEY1;秒鐘減1
 LCALL  DELAY250MS
 JB  DOWN, KEY1
 MOV  A,SEC0
 CJNE  A,#0,CCC
 MOV  SEC0,#9
 MOV  A,SEC1
 CJNE  A,#0,CCCC
 MOV  SEC1,#5
 LJMP  KEY00OVER
CCCC: DEC  SEC1
 LJMP  KEY00OVER
CCC: DEC  SEC0
KEY00OVER:
 JB  DOWN,KEY1
 LJMP  KEY00OVER


;*************分鐘調(diào)整程序*********************
KEY1: MOV A,COUNT;分鐘加1
 CJNE A,#2,KEY2
 JB  UP,KEY11
 LCALL  DELAY250MS
         JB  UP,KEY11
 INC  MIN0
 MOV  A,MIN0
 CJNE  A,#10,KEY1OVER
 MOV  MIN0,#00H
 INC  MIN1
 MOV  A,MIN1
 CJNE  A,#6,KEY1OVER
 MOV  MIN1,#00H
 LJMP  KEY1OVER
KEY1OVER:JB  UP,KEY11
 LJMP  KEY1OVER


KEY11:  JB  DOWN,KEY2;分鐘減1
 LCALL  DELAY250MS
 JB  DOWN, KEY2
 MOV  A,MIN0
 CJNE  A,#0,AAA
 MOV  MIN0,#9
 MOV  A,MIN1
 CJNE  A,#0,AAAA
 MOV  MIN1,#5
 LJMP  KEY11OVER
AAAA: DEC  MIN1
 LJMP  KEY11OVER
AAA: DEC  MIN0
KEY11OVER:JB  DOWN,KEY2
 LJMP  KEY11OVER

;***********時調(diào)整程序******************
KEY2: MOV  A,COUNT;時加1
 CJNE  A,#3,DISP
 JB  UP,KEY22
 LCALL  DELAY250MS
 JB  UP,KEY22
 INC  HOU0
 MOV  A,HOU1
 CJNE  A,#2,HOURS
 MOV  A,HOU0
 CJNE  A,#4,KEY2OVER
 MOV  HOU0,#00H
 MOV  HOU1,#00H
 LJMP  KEY2OVER
HOURS:   MOV  A,HOU0
 CJNE  A,#10,KEY2OVER
 MOV  HOU0,#00H
 INC  HOU1
KEY2OVER:JB  UP,KEY22
 LJMP  KEY2OVER


KEY22:  JB DOWN,DISP;時鐘減1
 LCALL DELAY250MS
 JB DOWN, DISP
 MOV A,HOU0
 CJNE A,#0,H4
 MOV A,HOU1
 CJNE A,#0,H5
 MOV HOU0,#3
 MOV HOU1,#2
 LJMP KEY22OVER
H5: MOV HOU0,#9
 DEC HOU1
 LJMP KEY22OVER
H4: DEC HOU0
KEY22OVER:JB DOWN,DISP
 LJMP KEY22OVER
 ;********************調(diào)顯示程序******************

 DISP:
      SETB      TR0  ;秒
      MOV  DPTR, #TAB1
       MOV X,#02
      MOV Y,#32
      MOV       R3,#2
      MOV       A,SEC0
      MOV       B,#16
      MUL       AB
      MOV       R2,A
      LCALL  DISPLAY4

      MOV  DPTR, #TAB1
      MOV X,#02
      MOV Y,#24
      MOV       R3,#2
      MOV       A,SEC1
      MOV       B,#16
      MUL       AB
      MOV       R2,A
      LCALL  DISPLAY4

      MOV  DPTR, #TAB1 ;分
      MOV X,#02
      MOV Y,#08
      MOV       R3,#2
      MOV       A,MIN0
      MOV       B,#16
      MUL       AB
      MOV       R2,A
      LCALL  DISPLAY4

      MOV  DPTR, #TAB1
      MOV X,#02
      MOV Y,#00
      MOV       R3,#2
      MOV       A,MIN1
      MOV       B,#16
      MUL       AB
      MOV       R2,A
      LCALL  DISPLAY4

      MOV  DPTR, #TAB1 ;時
      MOV X,#02
      MOV Y,#48
      MOV       R3,#2
      MOV       A,HOU0
      MOV       B,#16
      MUL       AB
      MOV       R2,A
      LCALL  DISPLAY3

      MOV  DPTR, #TAB1
      MOV X,#02
      MOV Y,#40
      MOV       R3,#2
      MOV       A,HOU1
      MOV        B,#16
      MUL       AB
      MOV       R2,A
      LCALL  DISPLAY3

      AJMP KEY

;*******************T0定時中斷***************
TIMER0: PUSH  ACC;中斷程序
 PUSH  PSW
 MOV  TH0,#03CH
 MOV  TL0,#0B0H
 inc  num
 mov  a,num
 cjne  a,#20,TIMER0END
 MOV NUM,#00H

        MOV     A,SEC0
        JZ      S0
        DEC     SEC0
        AJMP    TIMER0END

S0:     MOV     A,SEC1
        JZ      M0
        DEC     SEC1
        MOV     SEC0,#9
        AJMP    TIMER0END

M0:     MOV     A,MIN0
        JZ      M1
        DEC     MIN0
        MOV     SEC1,#5
        MOV     SEC0,#9
        AJMP    TIMER0END

M1:     MOV     A,MIN1
        JZ      H0
        DEC     MIN1
        MOV     MIN0,#9
        MOV     SEC1,#5
        MOV     SEC0,#9
        AJMP    TIMER0END

H0:      MOV A,HOU0
 JZ H1
        DEC HOU0
        MOV MIN1,#5
        MOV     MIN0,#9
        MOV     SEC1,#5
        MOV     SEC0,#9
        AJMP TIMER0END
H1:     MOV A,  HOU1
        JZ IN0
        DEC HOU1
        MOV HOU0,#9
        MOV MIN1,#5
        MOV     MIN0,#9
        MOV     SEC1,#5
        MOV     SEC0,#9
        AJMP TIMER0END
IN0: SETB    FLAG ;執(zhí)行中斷
TIMER0END:
        POP PSW
 POP ACC
 RETI

;****************SLAVE顯示字符子程序*************************
;入口:行地址X,列地址Y
;     字符初始化地址  DPTR,R2,R3

DISPLAY6:
        ;mov     R3,#2
 MOV A,#0B8H
 ADD A,X
 LCALL   OUTSI

 MOV A,#00H
 ADD A,Y
 LCALL   OUTSI

 MOV R1,#16
DISPLAY61:
 MOV A,R2  ;R2
 MOVC A,@A+DPTR
 LCALL OUTSD
 INC DPTR
 DJNZ R1,DISPLAY61

 INC X
 DJNZ  R3,DISPLAY6

 RET
 ;****************MASTER顯示字符子程序*************************
;入口:行地址X,列地址Y
;     字符初始化地址  DPTR,R2,R3

DISPLAY5:
        ;mov     R3,#2
 MOV A,#0B8H
 ADD A,X
 LCALL   OUTMI

 MOV A,#00H
 ADD A,Y
 LCALL   OUTMI

 MOV R1,#16
DISPLAY51:
 MOV A,R2  ;R2
 MOVC A,@A+DPTR
 LCALL OUTMD
 INC DPTR
 DJNZ R1,DISPLAY51

 INC X
 DJNZ  R3,DISPLAY5

 RET
;****************SLAVE顯示字符子程序*************************
;入口:行地址X,列地址Y
;     字符初始化地址  DPTR,R2,R3

DISPLAY4:
        ;mov     R3,#2
 MOV A,#0B8H
 ADD A,X
 LCALL   OUTSI

 MOV A,#00H
 ADD A,Y
 LCALL   OUTSI

 MOV R1,#8
DISPLAY41:
 MOV A,R2  ;R2
 MOVC A,@A+DPTR
 LCALL OUTSD
 INC DPTR
 DJNZ R1,DISPLAY41

 INC X
 DJNZ  R3,DISPLAY4

 RET
;****************MASTER顯示字符子程序*************************
;入口:行地址X,列地址Y
;     字符初始化地址  DPTR,R2,R3

DISPLAY3:
        ;mov     R3,#2
 MOV A,#0B8H
 ADD A,X
 LCALL   OUTMI

 MOV A,#00H
 ADD A,Y
 LCALL   OUTMI

 MOV R1,#8
DISPLAY31:
 MOV A,R2  ;R2
 MOVC A,@A+DPTR
 LCALL OUTMD
 INC DPTR
 DJNZ R1,DISPLAY31

 INC X
 DJNZ  R3,DISPLAY3

 RET
;******************清屏子程序*********************
DISPLAY1:
       MOV  R2, #0B8H
DISPLAY11:
       MOV  A, R2
       LCALL  OUTMI
       LCALL OUTSI
       MOV  A, #00H
       LCALL   OUTMI
       LCALL OUTSI
       MOV  R1, #1EH
DISPLAY12:
       MOV  A, 30H
       LCALL  OUTMD
       MOV  A, 31H
       LCALL OUTMD
       DJNZ  R1, DISPLAY12
       MOV  A, 30H
       LCALL  OUTMD
      MOV  R1, #1EH
DISPLAY13:
      MOV  A, 31H
       LCALL  OUTSD
       MOV  A, 30H
       LCALL  OUTSD
       DJNZ  R1, DISPLAY13
       MOV  A, 31H
       LCALL  OUTSD
       INC  R2
       CJNE  R2, #0BCH, DISPLAY11
       RET

;****************顯示字符串子程序*************************
DISPLAY2:
       MOV  R2, #0B8H
DISPLAY21:
       MOV  A, R2
       LCALL  OUTMI
       LCALL OUTSI
        mov  a,#00H

       LCALL  OUTMI
       LCALL OUTSI
       MOV R1, #3DH
DISPLAY22:
       MOV  A, #00H
       MOVC  A, @A+DPTR
       LCALL  OUTMD
       INC  DPTR
       DJNZ  R1, DISPLAY22
       MOV  R1, #3DH
DISPLAY23:
       MOV  A, #00H
       MOVC  A, @A+DPTR
       LCALL  OUTSD
       INC  DPTR
       DJNZ  R1, DISPLAY23
       INC  R2
       CJNE  R2, #0BCH, DISPLAY21
       RET
;***************MASTER寫指令子程序**************
OUTMI:
       CLR   A0
 CLR RW
       SETB  E1
       MOV   DAT, A
       CLR   E1
       RET
;***************SLAVE寫指令子程序**************
OUTSI:

       CLR   A0
 CLR RW
       SETB  E2
       MOV   DAT, A
       CLR   E2
       RET
;***************MASTER寫數(shù)據(jù)子程序**************
OUTMD:

 SETB A0
 CLR RW
 SETB E1
 MOV DAT,A
 CLR E1
 RET
;***************SLAVE寫數(shù)據(jù)子程序**************
OUTSD:

 SETB A0
 CLR RW
 SETB E2
 MOV DAT,A
 CLR E2
 RET
;***************LCD初始化**********************
INITIAL:
 MOV A,#0E2H  ;RESET
 LCALL OUTMI
 LCALL OUTSI

 MOV A,#0AEH  ;OFF DISPLAY
 LCALL OUTMI
 LCALL OUTSI

 MOV A,#0A4H  ;OFF STATIC DRIVCE
 LCALL OUTMI
 LCALL OUTSI

 MOV A,#0A9H  ;SELECT 1/32 DUTY
 LCALL OUTMI
 LCALL OUTSI

 MOV A,#0A0H  ;ADC SELCET RIGHTWARS OUTPUT
 LCALL OUTMI
 LCALL OUTSI

 MOV A,#0EEH  ;READ MOCDIFY WRITE OFF
 LCALL OUTMI
 LCALL OUTSI

 MOV A,#00H  ;COLUMN ADDRESS SET
 LCALL OUTMI
 LCALL OUTSI

 MOV A,#0C0H  ;SET DISPLAY START LINE
 LCALL OUTMI
 LCALL OUTSI

 MOV A,#0AFH  ;ON DISPLAY
 LCALL OUTMI
 LCALL OUTSI

 RET
;****************延時子程序*****************
 DELAY1S:
      MOV 40H, #07H
DELAY2S1:
      MOV 41H, #0FFH
DELAY2S2:
      MOV 42H, #0FFH
      DJNZ 42H, $
      DJNZ 41H, DELAY2S2
      DJNZ 40H, DELAY2S1
      RET


DELAY250MS:
      MOV 40H, #02H
DELAY250MS2:
      MOV 41H, #040H
DELAY250MS1:
      MOV 42H, #0FFH
      DJNZ 42H, $
      DJNZ 41H, DELAY250MS1
      DJNZ 40H, DELAY250MS2
      RET


TAB1:
 ;--  文字:  0  --
;--  宋體12;  此字體下對應(yīng)的點(diǎn)陣為:寬x高=8x16   --
DB  000H,0E0H,010H,008H,008H,010H,0E0H,000H,000H,00FH,010H,020H,020H,010H,00FH,000H,

;--  文字:  1  --
;--  宋體12;  此字體下對應(yīng)的點(diǎn)陣為:寬x高=8x16   --
DB  000H,010H,010H,0F8H,000H,000H,000H,000H,000H,020H,020H,03FH,020H,020H,000H,000H,

;--  文字:  2  --
;--  宋體12;  此字體下對應(yīng)的點(diǎn)陣為:寬x高=8x16   --
DB  000H,070H,008H,008H,008H,088H,070H,000H,000H,030H,028H,024H,022H,021H,030H,000H,

;--  文字:  3  --
;--  宋體12;  此字體下對應(yīng)的點(diǎn)陣為:寬x高=8x16   --
DB  000H,030H,008H,088H,088H,048H,030H,000H,000H,018H,020H,020H,020H,011H,00EH,000H,

;--  文字:  4  --
;--  宋體12;  此字體下對應(yīng)的點(diǎn)陣為:寬x高=8x16   --
DB  000H,000H,0C0H,020H,010H,0F8H,000H,000H,000H,007H,004H,024H,024H,03FH,024H,000H,

;--  文字:  5  --
;--  宋體12;  此字體下對應(yīng)的點(diǎn)陣為:寬x高=8x16   --
DB  000H,0F8H,008H,088H,088H,008H,008H,000H,000H,019H,021H,020H,020H,011H,00EH,000H,

;--  文字:  6  --
;--  宋體12;  此字體下對應(yīng)的點(diǎn)陣為:寬x高=8x16   --
DB  000H,0E0H,010H,088H,088H,018H,000H,000H,000H,00FH,011H,020H,020H,011H,00EH,000H,

;--  文字:  7  --
;--  宋體12;  此字體下對應(yīng)的點(diǎn)陣為:寬x高=8x16   --
DB  000H,038H,008H,008H,0C8H,038H,008H,000H,000H,000H,000H,03FH,000H,000H,000H,000H,

;--  文字:  8  --
;--  宋體12;  此字體下對應(yīng)的點(diǎn)陣為:寬x高=8x16   --
DB  000H,070H,088H,008H,008H,088H,070H,000H,000H,01CH,022H,021H,021H,022H,01CH,000H,

;--  文字:  9  --
;--  宋體12;  此字體下對應(yīng)的點(diǎn)陣為:寬x高=8x16   --
DB  000H,0E0H,010H,008H,008H,010H,0E0H,000H,000H,000H,031H,022H,022H,011H,00FH,000H,

;--  : --
;--  寬度x高度=8x16  --
DB  000H,000H,000H,030H,030H,000H,000H,000H,000H,000H,000H,00CH,00CH,000H,000H,000H,
TAB2:
 ;--  文字:  定  --
;--  宋體12;  此字體下對應(yīng)的點(diǎn)陣為:寬x高=16x16   --
DB  000H,010H,00CH,0A4H,024H,024H,025H,0E6H,024H,024H,024H,024H,014H,00CH,004H,000H,
DB  040H,020H,018H,007H,008H,010H,020H,07FH,042H,042H,042H,042H,040H,040H,000H,000H,

;--  文字:  時  --
;--  宋體12;  此字體下對應(yīng)的點(diǎn)陣為:寬x高=16x16   --
DB  000H,0FCH,044H,044H,044H,0FCH,010H,090H,010H,010H,010H,0FFH,010H,010H,010H,000H,
DB  000H,007H,004H,004H,004H,007H,000H,000H,003H,040H,080H,07FH,000H,000H,000H,000H,


END

  • 上一篇: AT89C2051內(nèi)部結(jié)構(gòu)與功能
  • 下一篇: 基于51單片機(jī)的溫度測量系統(tǒng)
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1