📄 dz9664.lst
字号:
A51 MACRO ASSEMBLER DZ9664 07/11/2003 13:11:32 PAGE 1
MACRO ASSEMBLER A51 V7.00
OBJECT MODULE PLACED IN dz9664.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE dz9664.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 name DZ9664
2 ;/----------------------------------------------------------------------------
3 ;; MPU: WINBOND W78C438CP-40
4 ;; OSC: 24 MHz
5 ;; LCM controller IC: philips DZ9664/1 (ROW68 x 12bit X COL98 X 3)
6 ;; LCM display resolution: R68 X C98 PIXEL,80K bits 4K/65k/256 COLORS
7 ;; Purpose: DEMO
8 ;; Date: 2003.3.27
9 ;/----------------------------------------------------------------------------
10 ; .CHIP 8052
11 ; .SYMBOLS ON
12 ; .RAMCHK OFF
13 ;#----------------------------------------------------------------------------
0080 14 DATA_BUS equ P0 ;O/P
00B4 15 LED1 bit P3.4 ;LED DISPLAY
00B5 16 LED2 bit P3.5 ;LED DISPLAY
0095 17 CD bit p1.5 ;O/P data or command
0096 18 CS bit P1.6 ;O/P always low
0097 19 RESB bit P1.7 ;O/P use cpu rst pin
00B6 20 WRB bit P3.6 ;O/P use @R write to P0 bus
00B7 21 RDB bit P3.7 ;O/P pull-high
00A7 22 UPKEY bit P2.7 ;UP KEY
00A6 23 DOWNKEY bit P2.6 ;DOWN KEY
00A5 24 CLOCKKEY bit P2.5 ;CLOCK KEY
00A4 25 CONTRASTKEY bit P2.4 ;CONTRAST KEY
26 ;CPUclk bit 0XBF.2 ;SET CPU DOUBLE CLOCK RATE
27 ;%----------------------------------------------------------------------------
0020 28 SYSTEMflag EQU 20H ;B0=CONTRAST H/L
0000 29 CONTRASTflag BIT SYSTEMflag.0
0001 30 showTIMEflag BIT SYSTEMflag.1
31
0010 32 FORcolor EQU 10H ;USE RS BANK2 FOR COLOR
0011 33 BACKcolor EQU 11H ;FORGROUND/BACKGROUND COLOR
0012 34 BitCounter equ 12h ;use to color bit counter 8->0
35
0030 36 TEMP equ 30H
0031 37 TIMER0count equ 31H
0032 38 SECOND_COUNT equ 32H
0033 39 OneSecondCounter equ 33H
0034 40 MEMORY_DATA equ 34H
41 ;MEMORY_DATA2 equ 35H
42 ;MEMORY_DATA3 equ 36H
0037 43 KEYvalue equ 37H
0038 44 INDEX EQU 38H
0039 45 HI_BYTE EQU 39H
003A 46 LO_BYTE EQU 3AH
003B 47 SECOND EQU 3BH
003C 48 MINUTE EQU 3CH
003D 49 HOURSE EQU 3DH
0035 50 DPTR_DPH equ 35H
0036 51 DPTR_DPL equ 36H
52 ;IMAGE_COUNT equ 37H
53
54 ;----------------------------------------------------------------------------
55 ;----------------------------------------------------------------------------
56 ;EPMA EQU 0A2H
57 ;P8 EQU 0A6H
0060 58 LCMseg EQU 96
A51 MACRO ASSEMBLER DZ9664 07/11/2003 13:11:32 PAGE 2
0040 59 LCMcom EQU 64
60 ;MODEL_SEL2_S EQU 98
61 ;MODEL_SEL2_C EQU 68
0000 62 BLACK EQU 00000000B
0003 63 BLUE EQU 00000011B
00E0 64 RED EQU 11100000B
00E3 65 PURPLE EQU 11100011B
001C 66 GREEN EQU 00011100B
001F 67 DARK_GREEN EQU 00011111B
00FC 68 YELLOW EQU 11111100B
00FF 69 WHITE EQU 11111111B
17FF 70 IMAGE_ADDR EQU 6144-1 ;;96 * 64 = 6144
71 ;@----------------------------------------------------------------------------
72 public allDZ9664
73 public clearLCM
74 public PHOTO2
75 public INITDZ9664LCM
76 public LCMhome
77
78 ?PR?all9664c?LCM9664c segment code
79
---- 80 rseg ?PR?all9664c?LCM9664c
0000 81 allDZ9664:
0000 00 82 nop
83 ;&-------------------------------------------
84
0000 85 ORG 0000H
0000 804E 86 JMP ISPcheck
87 ;;
88 ; ORG 0003H ;INT0 ADDRESS
89 ; JMP $
90 ;;
000B 91 ORG 000BH ;TIMER0 ADDRESS
92 ; RETI
000B 020000 F 93 LJMP TIMER0ISR
94 ;;
95 ; ORG 0013H ;INT1 ADDRESS
96 ; JMP $
97
001B 98 ORG 001BH ;TIMER1 ADDRESS
001B 020000 F 99 LJMP TIMER1ISR ;;
100
101 ;;
102 ; ORG 0023H ;UART ADDRESS
103 ; JMP $
104 ;;
105 ; ORG 002BH ;TIMER2 ADDRESS
106 ; JMP $
107 ;;
108 ; ORG 0033H ;INT2 ADDRESS
109 ; JMP $
110 ;;
111 ; ORG 003BH ;INT3 ADDRESS
112 ; JMP $
113 ;*-------------------------------------------
0050 114 ORG 50H
115 ;*-------------------------------------------
0050 116 ISPcheck: ;======================
0050 E5A0 117 MOV A,P2 ;CHECK ISP PIN
0052 5480 118 ANL A,#10000000B ;27=0 THEN ISP
0054 702A 119 JNZ START
120
0056 121 ISPmode: ;ENTER ISP MODE
0056 75BF10 122 mov 0bfh,#10h ; enxram
0059 900F0B 123 mov dptr,#0F0Bh
005C 742E 124 mov a,#00101110b
A51 MACRO ASSEMBLER DZ9664 07/11/2003 13:11:32 PAGE 3
005E F0 125 movx @dptr,a ; slvaadr=2E
005F 900F0C 126 mov dptr,#0F0Ch
0062 7493 127 mov a,#93h
0064 F0 128 movx @dptr,a ; en isp
0065 00 129 nop
0066 758701 130 mov pcon,#00000001b
0069 00 131 nop
006A 00 132 nop
006B 00 133 nop
134 ;========================================
0080 135 ORG 80H ;ISP PAGE1
136 ;=========================================
0080 137 START:
0080 75815F 138 MOV SP,#5FH ;@ STACK
139 ;SETB CPUclk ;SET CPU DOUBLE CLOCK RATE
140 ;ORL 0XBF,#00010100B
0083 141 INIT_IO:
0083 C2B4 142 CLR LED1
0085 D2B5 143 SETB LED2
0087 753701 144 MOV KEYvalue,#01
008A 7820 145 MOV R0,#20H ;CLEAR RAM(20H-FFH)
008C 146 CLEAR_RAM:
008C 7600 147 MOV @R0,#0
008E 08 148 INC R0
008F B800FA 149 CJNE R0,#00H,CLEAR_RAM
150
0092 753B00 151 MOV SECOND,#0 ;CLOCK VARIABLE
0095 753C00 152 MOV MINUTE,#0
0098 753D12 153 MOV HOURSE,#12h
009B 7533FA 154 MOV OneSecondCounter,#(1000/4)
009E 155 TIMER0INIT:
009E 758900 156 MOV TMOD,#00000000B ;TIMER0 MODE0
00A1 758C63 157 MOV TH0,#(8192-5000)/32 ;13 BIT
00A4 758A18 158 MOV TL0,#(8192-5000) MOD 32 ;8+5=13 BIT
00A7 D2A9 159 SETB ET0 ;ENABLE TIMER0 INT
00A9 D28C 160 SETB TR0 ;TIMER0 START
00AB 161 TIMER1INIT:
00AB 85F08D 162 MOV TH1,HIGH (65536-4000) ;4mS INT
00AE 85608B 163 MOV TL1,LOW (65536-4000) ;8+8=16 BIT
00B1 438910 164 ORL TMOD,#00010000B ;TIMER1 MODE1 16BIT
00B4 D2AB 165 SETB ET1 ;ENABLE TIMER1 INT
00B6 D28E 166 SETB TR1 ;START TIMER1
167
00B8 D2AF 168 SETB EA ;ENABLE ALL INTINIT_LCM:
169
00BA 120000 F 170 CALL INITDZ9664LCM
00BD 900000 F 171 MOV DPTR,#W22 ;home page / title screen
00C0 120000 F 172 CALL pictureDISPLAY
173 ;==========================================================
00C3 174 KEYcheck:
00C3 E5A0 175 MOV A,P2
00C5 F4 176 CPL A
00C6 60FB 177 JZ KEYcheck ;NO KEY PRESS
00C8 E5A0 178 MOV A,P2
00CA F5F0 179 MOV B,A ;BACKUP KEYBOARD VALUE
00CC 7D01 180 MOV R5,#1
00CE 120000 F 181 CALL DELAY_50MS ;DEBOUNCE TIME
00D1 E5A0 182 MOV A,P2
00D3 B5F0ED 183 CJNE A,B,KEYcheck ;IS STILL PRESS KEY,NON THEN BACK
184 ;MOV R5,#1
185 ;CALL DELAY_50MS ;RELEASE KEY?
186 ;CJNE A,B,KEYB0 ;IF KEYPRESS THEN GOBACK
187 ;JMP KEYcheck
188
189 ;JNB showTIMEflag,KEYB0
190 ;CALL SHOWtime
A51 MACRO ASSEMBLER DZ9664 07/11/2003 13:11:32 PAGE 4
00D6 191 KEYB0:
00D6 20A707 192 JB UPKEY,KEYB1 ;UP
00D9 0537 193 INC KEYvalue
00DB 120000 F 194 CALL SHOWmap
00DE 8012 195 JMP KEYcheckOK
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -