久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1182|回復: 0
收起左側

如何將匯編語言轉換為c語言? 求幫助

[復制鏈接]
ID:784513 發表于 2020-6-23 18:17 | 顯示全部樓層 |閱讀模式
****************************資源分配**************************
    FLAG1  EQU 54H;是否檢測到DS18B20標志位
    FLAG2  EQU 00H
    COUNT  EQU 63H
    CSA    EQU P0.4
    CSB    EQU P0.3
    RS     EQU P0.2
    RW     EQU P0.1
     E      EQU P0.0
    COM    EQU 21H       ;命令字
    DAT    EQU 22H       ;顯示數據

    column EQU 23H     ;列
    pagef  EQU 24h      ;頁
    cpage  EQU 25H
    ccolumn EQU 26H    ;列(0-15)

    CODE             EQU 27h
    column2          EQU 52H
    pagef2           equ 60h
    cpage2           EQU 61H
    ccolumn2         EQU 62H

    column3          EQU 2eH
    pagef3           equ 2fh
    cpage3           EQU 30H
    ccolumn3         EQU 31H
    column4          EQU 32H
    pagef4           equ 33h
    cpage4           EQU 34H
    ccolumn4         EQU 35H
    column5          EQU 36H
    pagef5           equ 37h
    cpage5           EQU 38H
    ccolumn5         EQU 39H

;*****************************主程序開始******************
ORG 0000H
LJMP START

ORG 0003H
LJMP INT0                         ;外部中斷

ORG 0030H
START: MOV SP,#70H
      MOV P2,#0F0H
      CLR A                           
      CLR F0                     ;清設置鍵
      CLR FLAG2                  ;清確認鍵
      MOV COUNT,#0               ;中斷次數計數
      SETB IT0
      SETB EX0
      SETB EA

      LCALL INT                 ;LCD12864初始化子程序
      LCALL CLEAR               ;LDC12864清屏子程序

      LCALL DISPLAY1             ;顯示"溫度自動控制系統"
      LCALL DISPLAY2             ;顯示"設置溫度"
      LCALL DISPLAY3             ;顯示預設的溫度
      LCALL DISPLAY4             ;顯示"實際溫度"
      LCALL DISPLAY5

      LCALL GET_TEMPER           ;調用讀溫度子程序
      ACALL DISPLAY5             ;調用顯示
M:   
      LCALL GET_TEMPER
      LCALL DELAY1

MM:    LCALL DISPLAY3
MM1:   JB F0,MM4                ;是否按上"設置"鍵
       JNB F1,M                 ;是否按下"確認"鍵

       MOV A,48H
       CJNE A,43H,MM5

       MOV A,55H
       CJNE A,42H,MM5

       MOV A,56H
        CJNE A,41H,MM5
       LJMP MM8



MM4:   MOV A,COUNT
       CJNE A,#1,MM2
       LCALL DISPLAY8
       LCALL DISPLAY8
       LJMP MM

MM2:   CJNE A,#2,MM3

       LCALL DISPLAY9
       LCALL DISPLAY9
MM3:   CJNE A,#3,MM
       LCALL DISPLAY10
       LCALL DISPLAY10
       LJMP MM

MM5:   JC  MM7
       LJMP MM6

MM6:   LCALL DISPLAY6
       CLR  P0.5
       SETB P0.6
       SETB P0.7
       LJMP M

MM7:  LCALL DISPLAY7
      SETB P0.5
      CLR  P0.6
      SETB P0.7
       LJMP M

MM8:  LCALL DISPLAY11
      SETB P0.5
      SETB P0.6
      CLR  P0.7
      LJMP M

;***********************外部中斷0子程序**************
INT0:
     CLR EX0
     INC COUNT                 ;中斷計數器加1
     CPL P3.0
     MOV DPTR,#JS

     MOV A,P2
     MOV P2,#0FH
     MOV 47H,P2
     JNB ACC.4,E1
     JNB ACC.5,E2
     JNB ACC.6,E3
     JNB ACC.7,E4
     SETB EX0
     RETI

E1:  MOV 20H,#0
     LJMP KEYH
E2:  MOV 20H,#4
     LJMP KEYH
E3:  MOV 20H,#8
     LJMP KEYH
E4:  MOV 20H,#12
     LJMP KEYH

KEYH:MOV A,47H
    JNB ACC.0,D0
    JNB ACC.1,D1
    JNB ACC.2,D2
    JNB ACC.3,D3
    SETB EX0
    RETI

D0: MOV A,#0
    ADD A,20H
    MOV 59H,A
    MOV B,#3
    MUL AB
    JMP @A+DPTR

D1: MOV A,#1
    ADD A,20H
     MOV 59H,A
    MOV B,#3
    MUL AB
    JMP @A+DPTR


D2: MOV A,#2
    ADD A,20H
    MOV 59H,A
    MOV B,#3
    MUL AB
    JMP @A+DPTR


D3: MOV A,#3
    ADD A,20H
    MOV 59H,A
    MOV B,#3
    MUL AB
    JMP @A+DPTR

JS: LJMP LOOP0
     LJMPLOOP1
    LJMP LOOP2
    LJMP LOOP3
    LJMP LOOP4
    LJMP LOOP5
    LJMP LOOP6
    LJMP LOOP7
    LJMP LOOP8
    LJMP LOOP9
    LJMP LOOP10
    LJMP LOOP11

LOOP0:

    ACALL SHIFT1
    MOV P2,#0F0H
    SETB EX0
    RETI

LOOP1:

     ACALLSHIFT1
    MOV P2,#0F0H
    SETB EX0
    RETI

LOOP2:
    ACALL SHIFT1
    MOV P2,#0F0H
    SETB EX0
    RETI

LOOP3:
    ACALL SHIFT1
    MOV P2,#0F0H
    SETB EX0
    RETI

LOOP4:
    ACALL SHIFT1
    MOV P2,#0F0H
    SETB EX0
    RETI

LOOP5:
    ACALL SHIFT1
    MOV P2,#0F0H
    SETB EX0
    RETI

LOOP6:
    ACALL SHIFT1
    MOV P2,#0F0H
    SETB EX0
    RETI

LOOP7:
    ACALL SHIFT1
    MOV P2,#0F0H
    SETB EX0
    RETI

LOOP8:
    ACALL SHIFT1
    MOV P2,#0F0H
     SETBEX0
    RETI

LOOP9:
    ACALL SHIFT1
    MOV P2,#0F0H
    SETB EX0
    RETI

LOOP10:
    SETB F0              ;按下設置鍵
    MOV COUNT,#1
    MOV P2,#0F0H
    SETB EX0
    RETI

LOOP11:                  ;按下"確認"鍵
    CLR F0
    SETB F1
    MOV COUNT,#0
    MOV P2,#0F0H
    SETB EX0
    RETI

SHIFT1:
     JB F0,LLL
     LJMP EXIT

LLL: MOV A,COUNT
     CJNE A,#2,LLL1
     MOV 48H,59H
     LJMP EXIT

LLL1: CJNE A,#3,LLL2
     MOV 55H,59H
     LJMP EXIT

LLL2: CJNE A,#4,EXIT
     MOV 56H,59H
     SETB F1
     CLR  F0

EXIT: RET




;*************************顯示子程序*************************
DISPLAY1:                        ;顯示"自動溫度控制系統" 循環效果

      mov column4,#48
      mov pagef4,#0             ;溫
      mov code,#0
      lcall writeright2   
      LCALL DELAY1

      mov column4,#32
      mov pagef4,#0             ;溫
      mov code,#0
      lcall writeright2

      mov column4,#48
      mov pagef4,#0             ;度
      mov code,#1
      lcall writeright2
      LCALL DELAY1

      mov column4,#16
      mov pagef4,#0             ;溫
      mov code,#0
      lcall writeright2

      mov column4,#32
      mov pagef4,#0             ;度
      mov code,#1
      lcall writeright2

      mov column4,#48
      mov pagef4,#0             ;自
      mov code,#2
      lcall writeright2

      LCALL DELAY1

      mov column4,#0
      mov pagef4,#0             ;溫
      mov code,#0
      lcall writeright2

      mov column4,#16
      mov pagef4,#0             ;度
      mov code,#1
      lcall writeright2

      mov column4,#32
      mov pagef4,#0             ;自
      mov code,#2
      lcall writeright2

      mov column4,#48
      mov pagef4,#0             ;動
      mov code,#3
      lcall writeright2

      LCALL DELAY1

      mov column3,#48
      mov pagef3,#0             ;溫
      mov code,#0
      lcall writeleft2

      mov column4,#0
      mov pagef4,#0             ;度
      mov code,#1
      lcall writeright2

      mov column4,#16
      mov pagef4,#0             ;自
      mov code,#2
      lcall writeright2

      mov column4,#32
      mov pagef4,#0             ;動
      mov code,#3
      lcall writeright2

      mov column4,#48
      mov pagef4,#0             ;控
      mov code,#4
      lcall writeright2
      LCALL DELAY1

      mov column3,#32
      mov pagef3,#0             ;溫
      mov code,#0
      lcall writeleft2

      mov column3,#48
      mov pagef3,#0             ;度
      mov code,#1
      lcall writeleft2

      mov column4,#0
      mov pagef4,#0             ;自
      mov code,#2
      lcall writeright2

      mov column4,#16
      mov pagef4,#0             ;動
      mov code,#3
      lcall writeright2

      mov column4,#32
      mov pagef4,#0             ;控
      mov code,#4
      lcall writeright2

      mov column4,#48
      mov pagef4,#0             ;制
      mov code,#5
      lcall writeright2

      LCALL DELAY1

      mov column3,#16
      mov pagef3,#0             ;溫
      mov code,#0
      lcall writeleft2

      mov column3,#32
      mov pagef3,#0             ;度
      mov code,#1
      lcall writeleft2

      mov column3,#48
      mov pagef3,#0             ;自
      mov code,#2
      lcall writeleft2

      mov column4,#0
      mov pagef4,#0             ;動
      mov code,#3
      lcall writeright2

      mov column4,#16
      mov pagef4,#0             ;控
      mov code,#4
      lcall writeright2

      mov column4,#32
      mov pagef4,#0             ;制
      mov code,#5
      lcall writeright2

       mov column4,#48
      mov pagef4,#0             ;系
       mov code,#6
      lcall writeright2
      LCALL DELAY1

      mov column3,#0
      mov pagef3,#0             ;溫
      mov code,#0
      lcall writeleft2

      mov column3,#16
      mov pagef3,#0             ;度
      mov code,#1
      lcall writeleft2

      mov column3,#32
      mov pagef3,#0             ;自
      mov code,#2
      lcall writeleft2

      mov column3,#48
      mov pagef3,#0             ;動
      mov code,#3
      lcall writeleft2

      mov column4,#0
      mov pagef4,#0             ;控
      mov code,#4
      lcall writeright2

      mov column4,#16
      mov pagef4,#0             ;制
      mov code,#5
      lcall writeright2

      mov column4,#32
      mov pagef4,#0             ;系
      mov code,#6
      lcall writeright2

      mov column4,#48
      mov pagef4,#0             ;統
      mov code,#7
      lcall writeright2
      LCALL DELAY1
      RET

DISPLAY2:                         ;顯示"設置溫度"
      mov column3,#16            ;設
      mov pagef3,#2
       mov code,#8
      lcall writeleft2
      LCALL DELAY1

      mov column3,#32          ;置
      mov pagef3,#2
      mov code,#9
      LCALL writeleft2
      LCALL DELAY1

       mov column3,#48          ;溫
      mov pagef3,#2
      mov code,#0
      lcall writeleft2
      LCALL DELAY1

      mov column4,#0            ;度
      mov pagef4,#2
      mov code,#1
      lcall writeright2
      LCALL DELAY1
      RET
DISPLAY3:
      mov column2,#16
      mov pagef2,#2
      mov code,#10
       lcall writeright
                                  ;顯示預設的溫度
      mov column2,#24
      mov pagef2,#2
      mov code,48H
      lcall writeright

      mov column2,#32
      mov pagef2,#2
      mov code,55H
      lcall writeright

      mov column2,#40
      mov pagef2,#2             ;.
      mov code,#11
      lcall writeright

      mov column2,#48
      mov pagef2,#2
      mov code,56H
      lcall writeright
      RET

DISPLAY4:                              ;顯示"實際溫度"
      mov column3,#16            ;實
      mov pagef3,#4
      mov code,#10
      lcall writeleft2
      LCALL DELAY1

      mov column3,#32           ;際
      mov pagef3,#4
      mov code,#11
      lcall writeleft2
      LCALL DELAY1

      mov column3,#48          ;溫
      mov pagef3,#4
      mov code,#0
      lcall writeleft2
      LCALL DELAY1

      mov column3,#0          ;度
      mov pagef3,#4
      mov code,#1
      lcall writeright2
      LCALL DELAY1
       RET

DISPLAY5:                            ;顯示實際的溫度
     MOV A,29H
     MOV C,40H  ;28的位地址
     RRC A
     MOV C,41H
     RRC A
     MOV C,42H
     RRC A
     MOV C,43H
     RRC A
     MOV 51H,A
     ANL 29H,#0FH
     MOV A,29H
     MOV B,#6
     MUL AB
     MOV 50H,A

      mov a,51H
     mov b,#10
     div ab
     mov 43H,a
     mov 42H,b

     MOV A,50H
     MOV B,#10
     DIV AB
     MOV 41H,A
      MOV 40H,B

      mov column2,#16
      mov pagef2,#4
      mov code,#10
      lcall writeright

      mov column2,#24            ;實際溫度
      mov pagef2,#4
      mov code,43h
      lcall writeright

      mov column2,#32
      mov pagef2,#4
      mov code,42h
      lcall writeright

      mov column2,#40
      mov pagef2,#4             ;.
      mov code,#11
      lcall writeright

      mov column2,#48
      mov pagef2,#4
      mov code,41h
      lcall writeright
      RET

DISPLAY6:
      mov column3,#24
      mov pagef3,#6             ;狀
      mov code,#13
      lcall writeleft2
      LCALL DELAY1

      mov column3,#40
      mov pagef3,#6             ;態
      mov code,#14
      lcall writeleft2
      LCALL DELAY1

      mov column,#56
      mov pagef,#6             ; :
      mov code,#10
      lcall writeleft
      LCALL DELAY1

      mov column4,#0
      mov pagef4,#6             ;加
      mov code,#15
      lcall writeright2
      LCALL DELAY1

      mov column4,#16
      mov pagef4,#6             ;熱
      mov code,#16
      lcall writeright2
      LCALL DELAY1

      mov column4,#32
       mov pagef4,#6             ; !
      mov code,#19
      lcall writeright2
      LCALL DELAY1
      RET

DISPLAY7:
      mov column3,#24
      mov pagef3,#6             ;狀
      mov code,#13
      lcall writeleft2
      LCALL DELAY1

      mov column3,#40
      mov pagef3,#6             ;態
      mov code,#14
      lcall writeleft2
      LCALL DELAY1

      mov column,#56
      mov pagef,#6             ; :
      mov code,#10
      lcall writeleft
      LCALL DELAY1

      mov column4,#0
      mov pagef4,#6             ;降
      mov code,#17
      lcall writeright2
      LCALL DELAY1

      mov column4,#16
      mov pagef4,#6             ;溫
      mov code,#0
      lcall writeright2
      LCALL DELAY1

      mov column4,#32
       mov pagef4,#6             ;!
      mov code,#19
      lcall writeright2
      LCALL DELAY1
      RET
DISPLAY8:
        mov column2,#24
        mov pagef2,#2
        mov code,48H
        lcall writeright

        LCALL DELAY
        LCALL DELAY

        mov column2,#24
        mov pagef2,#2
        mov code,#12
        lcall writeright
        RET

DISPLAY9:
        mov column2,#32
        mov pagef2,#2
        mov code,55H
        lcall writeright

        LCALL DELAY
        LCALL DELAY

        mov column2,#32
        mov pagef2,#2
        mov code,#12
        lcall writeright
        RET
DISPLAY10:
       mov column2,#48
        mov pagef2,#2
        mov code,56H
        lcall writeright

        LCALL DELAY
         LCALL DELAY

        mov column2,#48
        mov pagef2,#2
        mov code,#12
        lcall writeright
        RET

DISPLAY11:
      mov column3,#24
      mov pagef3,#6             ;狀
      mov code,#13
      lcall writeleft2
      LCALL DELAY1

      mov column3,#40
      mov pagef3,#6             ;態
      mov code,#14
      lcall writeleft2
      LCALL DELAY1

      mov column,#56
      mov pagef,#6             ; :
      mov code,#10
      lcall writeleft
      LCALL DELAY1

      mov column4,#0
      mov pagef4,#6             ;降
      mov code,#20
      lcall writeright2
      LCALL DELAY1

      mov column4,#16
      mov pagef4,#6             ;溫
      mov code,#21
      lcall writeright2
      LCALL DELAY1

      mov column4,#32
      mov pagef4,#6             ;!
      mov code,#19
      lcall writeright2
      LCALL DELAY1
      RET

DISPLAY:
      mov column2,#24
      mov pagef2,#2
      mov code,48H
      lcall writeright

      mov column2,#32
      mov pagef2,#2
      mov code,55H
      lcall writeright

      mov column2,#40
      mov pagef2,#2             ;.
      mov code,#11
      lcall writeright

      mov column2,#48
      mov pagef2,#2
      mov code,56H
      lcall writeright

     MOV A,29H
     MOV C,40H  ;28的位地址
     RRC A
     MOV C,41H
     RRC A
     MOV C,42H
     RRC A
     MOV C,43H
     RRC A
     MOV 51H,A
     ANL 29H,#0FH
     MOV A,29H
     MOV B,#6
     MUL AB
     MOV 50H,A

     mov a,51H
     mov b,#10
     div ab
     mov 43H,a
     mov 42H,b

     MOV A,50H
     MOV B,#10
     DIV AB
     MOV 41H,A
     MOV 40H,B

      mov column2,#24            ;實際溫度
      mov pagef2,#4
      mov code,43h
      lcall writeright

      mov column2,#32
      mov pagef2,#4
      mov code,42h
      lcall writeright

      mov column2,#40
      mov pagef2,#4             ;.
      mov code,#11
      lcall writeright

      mov column2,#48
       mov pagef2,#4
      mov code,41h
      lcall writeright
      RET


;***********************DS18B20復位初始化子程序***********


INIT_1820:      
     SETB P3.1
     NOP
     CLR P3.1;主機發出延時537微秒的復位低脈沖
     MOV R1,#3
TSR1: MOV R0,#107
     DJNZ R0,$
     DJNZ R1,TSR1
     SETB P3.1       ;然后拉高數據線
     NOP
     NOP
     NOP
     MOV R0,#25H
TSR2: JNB P3.1,TSR3  ;等待DS18B20回應
     DJNZ R0,TSR2
     LJMP TSR4      ; 延時
TSR3: SETB FLAG1     ; 置標志位,表示DS1820存在

     LJMP TSR5
TSR4: CLR FLAG1      ; 清標志位,表示DS1820不存在

     LJMP TSR7
TSR5: MOV R0,#117
TSR6: DJNZ R0,TSR6 ; 時序要求延時一段時間
TSR7: SETB P3.1
     RET    ; 讀出轉換后的溫度值



;***********************讀溫度子程序*****************      
GET_TEMPER:
     SETB P3.1
     LCALL INIT_1820;先復位DS18B20
     JB FLAG1,TSS2

     RET ; 判斷DS1820是否存在?若DS18B20不存在則返回
TSS2:
     MOV A,#0CCH ; 跳過ROM匹配
     LCALL WRITE_1820
     MOV A,#44H ; 發出溫度轉換命令
     LCALL WRITE_1820;通過調用顯示子程序實現延時一段時間,等待AD轉換結束,12位的話750微秒
     LCALL DISPLAY
     LCALL INIT_1820;準備讀溫度前先復位
     MOV A,#0CCH ; 跳過ROM匹配
     LCALL WRITE_1820
     MOV A,#0BEH ; 發出讀溫度命令
     LCALL WRITE_1820
     LCALL READ_18200
     RET

;*************************寫命令子程序**********
WRITE_1820:
     MOV R2,#8
     CLR C
WR1: CLR P3.1
     MOV R3,#6
     DJNZ R3,$
     RRC A
     MOV P3.1,C

     MOV R3,#23
     DJNZ R3,$
     SETB P3.1
     NOP
     DJNZ R2,WR1
     SETB P3.1
     RET


;***********************讀命令子程序***********
READ_18200:
     MOV R4,#2
     MOV R1,#29H
RE00: MOV R2,#8
RE01: CLR C
     SETB P3.1
     NOP
     NOP
     CLR P3.1
     NOP
     NOP
     NOP
     SETB P3.1
     MOV R3,#9
RE10: DJNZ R3,RE10
     MOV C,P3.1
     MOV R3,#23
RE20: DJNZ R3,RE20
     RRC A
     DJNZ R2,RE01
     MOV @R1,A
     DEC R1
     DJNZ R4,RE00
     RET


;**********************左半屏寫入數字子程序**************8
writeleft:            
mov dptr,#table1
push column
mov cpage,#2
mov ccolumn,#0
mov a,pagef
anl a,#07h
orl a,#0b8h            ;頁地址,第0頁
mov com,a
lcall prm0

mov a,column
anl a,#3fh
orl a,#40h             ;列地址,第0列
mov com,a
lcall prm0

mov a,code
mov b,#16
mul ab
add a,dpl
mov dpl,a
mov a,b
addc a,dph
mov dph,a

lp1:
mov a,#00h
movc a,@a+dptr
mov dat,a
lcall prm1
inc ccolumn
mov a,ccolumn
inc dptr
cjne a,#8,lp1
dec cpage
inc pagef
mov a,cpage
jz over1
mov a,pagef
anl a,#07h
orl a,#0b8h
mov com,a
lcall prm0
pop column
mov a,column
anl a,#3fh
orl a,#40h
mov com,a
lcall prm0
mov ccolumn,#0
ljmp lp1
over1:
ret

;************右半屏寫入數字子程序*******************
writeright:
mov dptr,#table1
push column2
mov cpage2,#2
mov ccolumn2,#0
mov a,pagef2
anl a,#07h
orl a,#0b8h
mov com,a
lcall prr0

mov a,column2
anl a,#3fh
orl a,#40h
mov com,a
lcall prr0

mov a,code
mov b,#16
mul ab
add a,dpl
mov dpl,a
mov a,b
addc a,dph
mov dph,a

lp2:
mov a,#00h
movc a,@a+dptr
mov dat,a
lcall prr1
inc ccolumn2
mov a,ccolumn2
inc dptr
cjne a,#8,lp2
dec cpage2
inc pagef2
mov a,cpage2
jz over2
mov a,pagef2
anl a,#07h
orl a,#0b8h
mov com,a
lcall prr0
pop column2
mov a,column2
anl a,#3fh
orl a,#40h
mov com,a
lcall prr0
mov ccolumn2,#0
ljmp lp2
over2:
ret


;*****************左半屏寫入漢字子程序*****************
writeleft2:
mov dptr,#table2
push column3
mov cpage3,#2
mov ccolumn3,#0
mov a,pagef3
anl a,#07h
orl a,#0b8h
mov com,a
lcall prm0

mov a,column3
anl a,#3fh
orl a,#40h
mov com,a
lcall prm0

mov a,code
mov b,#32
mul ab
add a,dpl
mov dpl,a
mov a,b
addc a,dph
mov dph,a

lp3:
mov a,#00h
movc a,@a+dptr
mov dat,a
lcall prm1
inc ccolumn3
mov a,ccolumn3
inc dptr
cjne a,#16,lp3
dec cpage3
inc pagef3
mov a,cpage3
jz over3
mov a,pagef3
anl a,#07h
orl a,#0b8h
mov com,a
lcall prm0
pop column3
mov a,column3
anl a,#3fh
orl a,#40h
mov com,a
lcall prm0
mov ccolumn3,#0
ljmp lp3
over3:
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;
writeright2:  ; 右半屏寫入漢字子程序
mov dptr,#table2
push column4
mov cpage4,#2
mov ccolumn4,#0
mov a,pagef4
anl a,#07h
orl a,#0b8h
mov com,a
lcall prr0

mov a,column4
anl a,#3fh
orl a,#40h
mov com,a
lcall prr0

mov a,code
mov b,#32
mul ab
add a,dpl
mov dpl,a
mov a,b
addc a,dph
mov dph,a

lp4:
mov a,#00h
movc a,@a+dptr
mov dat,a
lcall prr1
inc ccolumn4
mov a,ccolumn4
inc dptr
cjne a,#16,lp4
dec cpage4
inc pagef4
mov a,cpage4
jz over4
mov a,pagef4
anl a,#07h
orl a,#0b8h
mov com,a
lcall prr0
pop column4
mov a,column4
anl a,#3fh
orl a,#40h
mov com,a
lcall prr0
mov ccolumn4,#0
ljmp lp4
over4:
ret


;*******************右半屏寫入數字子程序****************

writeleft1:
mov dptr,#table1
push column2
mov cpage2,#2
mov ccolumn2,#0
mov a,pagef2
anl a,#07h
orl a,#0b8h
mov com,a
lcall prm0

mov a,column2
anl a,#3fh
orl a,#40h
mov com,a
lcall prm0

mov a,code
mov b,#16
mul ab
add a,dpl
mov dpl,a
mov a,b
addc a,dph
mov dph,a

lp9:
mov a,#00h
movc a,@a+dptr
mov dat,a
lcall prm1
inc ccolumn2
mov a,ccolumn2
inc dptr
cjne a,#8,lp9
dec cpage2
inc pagef2
mov a,cpage2
jz over9
mov a,pagef2
anl a,#07h
orl a,#0b8h
mov com,a
lcall prm0
pop column2
mov a,column2
anl a,#3fh
orl a,#40h
mov com,a
lcall prm0
mov ccolumn2,#0
ljmp lp9
over9:
ret


;*********************寫指令代碼子程序(左)*******************
PRM0: CLR CSA
SETB CSB
  CLRrs
SETB rw
PRM01: MOV P1,#0FFH
SETB E
  MOVA,P1
  CLRE
JB  ACC.7,PRM01
  CLRrw
  MOVP1,COM
SETB E
  CLRE
  RET


;***********************寫顯示數據子程序(左)******************
PRM1: CLR CSA
SETB CSB
  CLRrs
SETB rw
PRM11: MOV P1,#0FFH
SETB E
  MOVA,P1
  CLRE
JB  ACC.7,PRM11
SETB rs
  CLRrw
  MOVP1,DAT
SETB E
  CLRE
  RET

;********************寫指令代碼子程序(右)***************
PRR0: CLR CSB
SETB CSA
  CLRrs
SETB rw
PRR01: MOV P1,#0FFH
SETB E
  MOVA,P1
  CLRE
JB  ACC.7,PRR01
  CLRrw
  MOVP1,COM
SETB E
  CLRE
  RET

;************************寫顯示數據子程序(右)**************

PRR1: CLR CSB
SETB CSA
  CLRrs
SETB rw
PRR11: MOV P1,#0FFH
SETB E
  MOVA,P1
  CLRE
JB  ACC.7,PRR11
SETB rs
  CLRrw
  MOVP1,DAT
SETB E
  CLRE
  RET

;*********************LCD12864初始化子程序**************
INT: MOV COM,#0C0H ;設置顯示起始行為第一行
LCALL PRM0
LCALL PRR0
  MOVCOM,#3FH  ;開顯示設置
LCALL PRM0
LCALL PRR0
  RET

;**************************LCD12864液晶清屏子程序*****************
CLEAR: MOV R4,#00H
CLEAR1: MOV A,R4
  ORLA,#0B8H
  MOVCOM,A
LCALL PRM0
LCALL PRR0
  MOVCOM,#40H
LCALL PRM0
LCALL PRR0
  MOVR3,#40H
CLEAR2: MOV DAT,#00H
LCALL PRM1
LCALL PRR1
DJNZ R3,CLEAR2
  INCR4
CJNE R4,#08H,CLEAR1
  RET
;***********************延時子程序*************
DELAY: MOV R0,#20
SS:   MOV R1,#20
      DJNZ R1,$
      DJNZ R0,SS
      RET
DELAY1:MOV R0,#5
YY:   MOV R1,#110
QQ:   MOV R2,#200
      DJNZ R2,$
      DJNZ R1,QQ
      DJNZ R0,YY
      RET

table1:
DB   0F0h, 0F8h,  0Ch,  04h
DB   04h,  0Ch, 0F8h, 0F0h        ;0
DB   0Fh,  1Fh,  30h, 20h
DB   20h,  30h,  1Fh, 0Fh


DB   00h,  00h,  08h, 0F8h         ;1
DB   0FCh,  00h,  00h, 00h
DB   00h,  00h,  20h, 3Fh
DB   3Fh,  20h,  00h, 00h

DB 30h,  38h,  0Ch, 04h
DB 04h,  0Ch, 0F8h, 0F0h
DB 20h,  30h,  38h, 2Ch          ;2
DB 26h,  23h,  21h, 38h

DB 10h,  18h,  0Ch, 84h
DB  84h, 0CCh,  78h,  30h
DB  08h,  18h,  30h, 20h
DB  20h,  31h,  1Fh, 0Eh         ;3


DB 00h, 0C0h,  70h, 18h
DB 0FCh, 0FEh,  00h,  00h
DB  07h,  05h,  04h, 24h
DB  3Fh,  3Fh,  24h, 04h          ;4


DB 0FCh, 0FCh, 0C4h,  44h
DB  44h, 0C4h,  84h,  04h
DB   08h,  18h,  30h, 20h
DB  20h,  30h,  1Fh, 0Fh          ;5

DB 0F0h, 0F8h,  8Ch,  44h
DB  44h, 0CCh,  98h,  10h
DB  0Fh,  1Fh,  30h, 20h
DB  20h,  30h,  1Fh, 0Fh          ;6

DB   1Ch,  0Ch,  0Ch, 0Ch
DB 0CCh, 0ECh,  3Ch,  1Ch
DB   00h,  00h,  3Ch,  3Fh
DB  03h,  00h,  00h, 00h         ;7

DB   30h,  78h, 0CCh,  84h
DB  84h, 0CCh,  78h,  30h
DB 0Eh,  1Fh,  31h, 20h
DB  20h,  31h,  1Fh, 0Eh          ;8

DB 0F0h, 0F8h,  0Ch,  04h
DB  04h,  0Ch, 0F8h, 0F0h
DB  08h,  19h,  33h, 22h
DB  22h,  33h,  1Fh, 0Fh         ;9


DB  00h,  00h,  00h, 00h,  00h,  00h, 00h,  00h
DB  00h,  00h,  33h, 33h,  00h,  00h, 00h,  00h   ;: 10

DB 00H,00H,00H,00H,00H,00H,00H,00H               ; 11  .
DB 00H,00H,30H,30H,00H,00H,00H,00H


DB  00h,  00h,  00h,  00h,  00h, 00h,  00h,  00h
DB  00h,  00h,  00h, 00h,  00h,  00h, 00h,  00h   ;空 12

DB  80H,  80H,  80H, 80H,  80H,  80H, 80H, 80H,
DB  00H,  00H,  00H, 00H,  00H,  00H, 00H, 00H     ;一 13



table2:

DB  10h,  22h,  64h, 0Ch,  80h,  00h, 0FEh, 92h  ;0 溫
DB  92h,  92h,  92h, 92h, 0FFh,  02h,  00h, 00h
DB  04h,  04h, 0FEh,  01h, 40h,  7Eh,  42h, 42h
DB  7Eh,  42h,  7Eh, 42h,  42h,  7Eh, 40h,  00h

DB  00h,  00h, 0FCh,  24h, 24h,  24h, 0FCh, 0A5h  ;1度
DB 0A6h, 0A4h, 0FCh,  24h,  34h, 26h,  04h,  00h
DB  40h,  20h,  9Fh, 80h,  42h,  42h, 26h,  2Ah
DB  12h,  2Ah,  26h, 42h,  40h, 0C0h,  40h, 00h

DB  00h,  00h,  00h, 0F8h, 48h,  4Ch,  4Ah, 49h   ;2自
DB  48h,  48h,  48h, 0FCh, 08h,  00h,  00h, 00h
DB  00h,  00h,  00h, 0FFh, 44h,  44h,  44h, 44h
DB  44h,  44h,  44h, 0FFh, 00h,  00h,  00h, 00h

DB  20h,  24h,  24h, 0E4h, 26h,  34h,  20h, 10h   ;3動
DB  10h, 0FFh,  10h,  10h, 10h, 0F8h,  10h,  00h
DB  08h,  1Ch,  0Bh, 08h,  08h,  8Ah, 4Ch,  30h
DB  0Ch,  03h,  40h, 80h,  40h,  3Fh, 00h,  00h

DB  10h,  10h,  10h, 0FFh, 90h,  50h,  0Ch, 44h   ;4控
DB  24h,  15h,  06h, 14h,  24h,  54h, 0Ch,  00h
DB  02h,  42h,  81h, 7Fh,  00h,  40h, 42h,  42h
DB  42h,  42h,  7Eh, 42h,  43h,  62h, 40h,  00h

DB  40h,  60h,  5Eh, 48h,  48h, 0FFh,  48h, 4Ch   ;5制
DB  68h,  40h, 0F8h,  00h, 00h, 0FFh,  00h,  00h
DB  00h,  00h,  3Fh, 01h,  01h, 0FFh,  11h, 21h
DB  1Fh,  00h,  07h, 40h,  80h,  7Fh, 00h,  00h

DB  00h,  02h,  22h, 22h,  32h,  2Eh, 0A2h, 62h   ;6系
DB  22h,  22h,  91h, 09h,  01h,  00h, 00h,  00h
DB  00h,  00h,  42h, 22h,  1Ah,  43h, 82h,  7Eh
DB  02h,  02h,  0Ah, 13h,  66h,  00h, 00h,  00h

DB  20h,  30h, 0ACh,  63h, 30h,  88h, 0C8h, 0A8h   ;7統
DB  99h,  8Eh,  88h, 0A8h, 0CCh,  88h, 00h,  00h
DB  22h,  67h,  22h, 12h,  92h,  40h, 30h,  0Fh
DB  00h,  00h,  3Fh, 40h,  40h,  41h, 70h,  00h

DB  40h,  40h,  42h, 0CCh, 00h,  40h, 0A0h,  9Fh  ;8設
DB  81h,  81h,  81h, 9Fh, 0A0h,  20h,  20h, 00h
DB  00h,  00h,  00h, 7Fh, 0A0h,  90h,  40h, 43h
DB  2Ch,  10h,  28h, 26h,  41h, 0C0h,  40h, 00h

DB  00h,  10h,  17h, 0D5h, 55h,  57h,  55h, 7Dh  ;9置
DB  55h,  57h,  55h, 0D5h, 17h,  10h,  00h, 00h
DB  40h,  40h,  40h, 7Fh,  55h,  55h, 55h,  55h
DB  55h,  55h,  55h, 7Fh,  40h,  60h, 40h,  00h

DB  10h,  0Ch,  04h, 44h,  8Ch,  94h, 35h,  06h  ;10實
DB 0F4h,  04h,  04h, 04h,  04h,  14h, 0Ch,  00h
DB  02h,  82h,  82h, 42h,  42h,  23h, 12h,  0Eh
DB  03h,  0Ah,  12h, 22h,  42h, 0C3h,  02h, 00h

DB  00h, 0FEh,  02h,  22h, 0DAh, 06h,  40h,  42h ;11際
DB  42h,  42h, 0C2h,  42h, 43h,  62h,  40h, 00h
DB  00h, 0FFh,  08h,  10h, 08h,  07h,  10h, 08h
DB  46h,  80h,  7Fh, 00h,  02h,  04h, 18h,  00h

DB   00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h,         ;12 空白
DB   00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
DB   00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
DB   00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h

DB  00h,  08h,  30h, 00h, 0FFh,  20h,  20h, 20h    ;13 狀
DB  20h, 0FFh,  20h,  22h, 24h,  30h,  20h, 00h
DB  08h,  0Ch,  02h,  01h,0FFh,  40h,  20h, 1Ch
DB  03h,  00h,  03h, 0Ch,  30h,  60h, 20h,  00h

DB  04h,  04h,  84h, 84h,  44h,  24h, 54h,  8Fh   ;14態
DB  14h,  24h,  44h, 44h,  84h,  86h, 84h,  00h
DB  01h,  21h,  1Ch, 00h,  3Ch,  40h, 42h,  4Ch
DB  40h,  40h,  70h, 04h,  08h,  31h, 00h,  00h

DB  10h,  10h,  10h, 0FFh, 10h,  10h, 0F8h,  10h   ;15 加
DB  00h, 0F8h,  08h,  08h, 08h, 0FCh,  08h,  00h
DB  40h,  20h,  1Eh, 01h,  20h,  40h, 3Fh,  00h
DB  00h,  7Fh,  20h, 20h,  20h,  7Fh, 00h,  00h

DB  00h,  88h,  88h, 48h, 0FFh,  48h,  28h, 08h    ;16 熱
DB  48h, 0FFh,  08h,  08h, 0FCh, 08h,  00h,  00h
DB  80h,  60h,  04h, 08h,  27h, 0C0h,  08h, 04h
DB  23h, 0C0h,  01h,  00h, 27h,  48h, 0C6h,  00h

DB  00h, 0FEh,  02h,  22h, 0DAh, 06h,  88h,  44h   ;17 降
DB  57h, 0A4h,  54h,  4Ch, 84h,  80h,  80h, 00h
DB  00h, 0FFh,  08h,  10h, 08h,  07h,  10h, 1Eh
DB  12h, 0FFh,  12h,  12h, 18h,  11h,  00h, 00h

DB  00h,  00h,  00h, 00h,  00h,  00h, 00h,  00h   ;18 :
DB  00h,  00h,  00h, 00h,  00h,  00h, 00h,  00h
DB  00h,  00h,  33h, 33h,  00h,  00h, 00h,  00h
DB  00h,  00h,  00h, 00h,  00h,  00h, 00h,  00h

DB  00h,  00h,  00h, 00h,  00h,  00h, 1Ch, 0FEh   ;19 !
DB 0FEh,  1Ch,  00h, 00h,  00h,  00h, 00h,  00h
DB  00h,  00h,  00h,  00h,  00h, 00h,  00h,  33h
DB  33h,  00h,  00h, 00h,  00h,  00h, 00h,  00h

DB  00h,  80h,  60h, 0F8h, 07h,  00h,  7Eh, 22h   ;20保
DB  22h, 0E2h,  22h,  22h, 3Fh,  82h,  00h, 00h
DB  01h,  00h,  00h, 0FFh, 41h,  21h,  11h, 09h
DB  05h, 0FFh,  05h,  09h, 31h,  61h,  21h, 00h

DB  10h,  10h,  10h, 0FFh, 90
h, 50h,  48h,  48h   ;21持
DB  48h,  7Fh,  48h, 0CCh, 68h,  40h,  00h, 00h
DB  02h,  42h,  81h, 7Fh,  00h,  02h, 06h,  1Ah
DB  02h,  42h,  82h, 7Fh,  02h,  03h, 02h,  00h

END
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产综合第一页 | 先锋影音资源网站 | 成人在线视频看看 | 在线免费黄色小视频 | 成人精品国产免费网站 | 成人av网页 | 国产精品色婷婷久久58 | 国产精品不卡 | 一级a爱片性色毛片免费 | 久久久男人的天堂 | 成在线人视频免费视频 | 亚洲人在线 | 91精品一区二区三区久久久久 | 一区二区在线 | 亚洲人人| 天天草夜夜骑 | 欧洲av在线 | 毛片一级网站 | 欧美成人综合 | 四虎影视免费在线 | 国产日韩精品久久 | 91九色porny首页最多播放 | 色婷婷久久综合 | 国产综合欧美 | 91色网站| 日韩一区二区三区在线观看视频 | 欧美久久久久久 | 日韩精品亚洲专区在线观看 | 三级在线视频 | 免费观看毛片 | 免费一区 | 欧美在线色视频 | 欧美一区二区三区 | 成人免费黄视频 | 欧洲妇女成人淫片aaa视频 | 欧美日韩亚洲三区 | 99精品福利视频 | 精品国产不卡一区二区三区 | 婷婷色国产偷v国产偷v小说 | 国产精品国产精品国产专区不片 | 日日噜 |