AT89C51 clock
This commit is contained in:
parent
d20c61f48e
commit
726486111d
253
clock/c/Listings/STARTUP.lst
Normal file
253
clock/c/Listings/STARTUP.lst
Normal file
@ -0,0 +1,253 @@
|
|||||||
|
A51 MACRO ASSEMBLER STARTUP 05/23/2018 00:05:56 PAGE 1
|
||||||
|
|
||||||
|
|
||||||
|
MACRO ASSEMBLER A51 V8.2.7.0
|
||||||
|
OBJECT MODULE PLACED IN .\Objects\STARTUP.obj
|
||||||
|
ASSEMBLER INVOKED BY: C:\Keil_v5\C51\BIN\A51.EXE STARTUP.A51 SET(SMALL) DEBUG PRINT(.\Listings\STARTUP.lst) OBJECT(.\Obj
|
||||||
|
ects\STARTUP.obj) EP
|
||||||
|
|
||||||
|
LOC OBJ LINE SOURCE
|
||||||
|
|
||||||
|
1 $nomod51
|
||||||
|
2 ;------------------------------------------------------------------------------
|
||||||
|
3 ; This file is part of the C51 Compiler package
|
||||||
|
4 ; Copyright (c) 1988-2005 Keil Elektronik GmbH and Keil Software, Inc.
|
||||||
|
5 ; Version 8.01
|
||||||
|
6 ;
|
||||||
|
7 ; *** <<< Use Configuration Wizard in Context Menu >>> ***
|
||||||
|
8 ;------------------------------------------------------------------------------
|
||||||
|
9 ; STARTUP.A51: This code is executed after processor reset.
|
||||||
|
10 ;
|
||||||
|
11 ; To translate this file use A51 with the following invocation:
|
||||||
|
12 ;
|
||||||
|
13 ; A51 STARTUP.A51
|
||||||
|
14 ;
|
||||||
|
15 ; To link the modified STARTUP.OBJ file to your application use the following
|
||||||
|
16 ; Lx51 invocation:
|
||||||
|
17 ;
|
||||||
|
18 ; Lx51 your object file list, STARTUP.OBJ controls
|
||||||
|
19 ;
|
||||||
|
20 ;------------------------------------------------------------------------------
|
||||||
|
21 ;
|
||||||
|
22 ; User-defined <h> Power-On Initialization of Memory
|
||||||
|
23 ;
|
||||||
|
24 ; With the following EQU statements the initialization of memory
|
||||||
|
25 ; at processor reset can be defined:
|
||||||
|
26 ;
|
||||||
|
27 ; <o> IDATALEN: IDATA memory size <0x0-0x100>
|
||||||
|
28 ; <i> Note: The absolute start-address of IDATA memory is always 0
|
||||||
|
29 ; <i> The IDATA space overlaps physically the DATA and BIT areas.
|
||||||
|
0080 30 IDATALEN EQU 80H
|
||||||
|
31 ;
|
||||||
|
32 ; <o> XDATASTART: XDATA memory start address <0x0-0xFFFF>
|
||||||
|
33 ; <i> The absolute start address of XDATA memory
|
||||||
|
0000 34 XDATASTART EQU 0
|
||||||
|
35 ;
|
||||||
|
36 ; <o> XDATALEN: XDATA memory size <0x0-0xFFFF>
|
||||||
|
37 ; <i> The length of XDATA memory in bytes.
|
||||||
|
0000 38 XDATALEN EQU 0
|
||||||
|
39 ;
|
||||||
|
40 ; <o> PDATASTART: PDATA memory start address <0x0-0xFFFF>
|
||||||
|
41 ; <i> The absolute start address of PDATA memory
|
||||||
|
0000 42 PDATASTART EQU 0H
|
||||||
|
43 ;
|
||||||
|
44 ; <o> PDATALEN: PDATA memory size <0x0-0xFF>
|
||||||
|
45 ; <i> The length of PDATA memory in bytes.
|
||||||
|
0000 46 PDATALEN EQU 0H
|
||||||
|
47 ;
|
||||||
|
48 ;</h>
|
||||||
|
49 ;------------------------------------------------------------------------------
|
||||||
|
50 ;
|
||||||
|
51 ;<h> Reentrant Stack Initialization
|
||||||
|
52 ;
|
||||||
|
53 ; The following EQU statements define the stack pointer for reentrant
|
||||||
|
54 ; functions and initialized it:
|
||||||
|
55 ;
|
||||||
|
56 ; <h> Stack Space for reentrant functions in the SMALL model.
|
||||||
|
57 ; <q> IBPSTACK: Enable SMALL model reentrant stack
|
||||||
|
A51 MACRO ASSEMBLER STARTUP 05/23/2018 00:05:56 PAGE 2
|
||||||
|
|
||||||
|
58 ; <i> Stack space for reentrant functions in the SMALL model.
|
||||||
|
0000 59 IBPSTACK EQU 0 ; set to 1 if small reentrant is used.
|
||||||
|
60 ; <o> IBPSTACKTOP: End address of SMALL model stack <0x0-0xFF>
|
||||||
|
61 ; <i> Set the top of the stack to the highest location.
|
||||||
|
0100 62 IBPSTACKTOP EQU 0xFF +1 ; default 0FFH+1
|
||||||
|
63 ; </h>
|
||||||
|
64 ;
|
||||||
|
65 ; <h> Stack Space for reentrant functions in the LARGE model.
|
||||||
|
66 ; <q> XBPSTACK: Enable LARGE model reentrant stack
|
||||||
|
67 ; <i> Stack space for reentrant functions in the LARGE model.
|
||||||
|
0000 68 XBPSTACK EQU 0 ; set to 1 if large reentrant is used.
|
||||||
|
69 ; <o> XBPSTACKTOP: End address of LARGE model stack <0x0-0xFFFF>
|
||||||
|
70 ; <i> Set the top of the stack to the highest location.
|
||||||
|
0000 71 XBPSTACKTOP EQU 0xFFFF +1 ; default 0FFFFH+1
|
||||||
|
72 ; </h>
|
||||||
|
73 ;
|
||||||
|
74 ; <h> Stack Space for reentrant functions in the COMPACT model.
|
||||||
|
75 ; <q> PBPSTACK: Enable COMPACT model reentrant stack
|
||||||
|
76 ; <i> Stack space for reentrant functions in the COMPACT model.
|
||||||
|
0000 77 PBPSTACK EQU 0 ; set to 1 if compact reentrant is used.
|
||||||
|
78 ;
|
||||||
|
79 ; <o> PBPSTACKTOP: End address of COMPACT model stack <0x0-0xFFFF>
|
||||||
|
80 ; <i> Set the top of the stack to the highest location.
|
||||||
|
0100 81 PBPSTACKTOP EQU 0xFF +1 ; default 0FFH+1
|
||||||
|
82 ; </h>
|
||||||
|
83 ;</h>
|
||||||
|
84 ;------------------------------------------------------------------------------
|
||||||
|
85 ;
|
||||||
|
86 ; Memory Page for Using the Compact Model with 64 KByte xdata RAM
|
||||||
|
87 ; <e>Compact Model Page Definition
|
||||||
|
88 ;
|
||||||
|
89 ; <i>Define the XDATA page used for PDATA variables.
|
||||||
|
90 ; <i>PPAGE must conform with the PPAGE set in the linker invocation.
|
||||||
|
91 ;
|
||||||
|
92 ; Enable pdata memory page initalization
|
||||||
|
0000 93 PPAGEENABLE EQU 0 ; set to 1 if pdata object are used.
|
||||||
|
94 ;
|
||||||
|
95 ; <o> PPAGE number <0x0-0xFF>
|
||||||
|
96 ; <i> uppermost 256-byte address of the page used for PDATA variables.
|
||||||
|
0000 97 PPAGE EQU 0
|
||||||
|
98 ;
|
||||||
|
99 ; <o> SFR address which supplies uppermost address byte <0x0-0xFF>
|
||||||
|
100 ; <i> most 8051 variants use P2 as uppermost address byte
|
||||||
|
00A0 101 PPAGE_SFR DATA 0A0H
|
||||||
|
102 ;
|
||||||
|
103 ; </e>
|
||||||
|
104 ;------------------------------------------------------------------------------
|
||||||
|
105
|
||||||
|
106 ; Standard SFR Symbols
|
||||||
|
00E0 107 ACC DATA 0E0H
|
||||||
|
00F0 108 B DATA 0F0H
|
||||||
|
0081 109 SP DATA 81H
|
||||||
|
0082 110 DPL DATA 82H
|
||||||
|
0083 111 DPH DATA 83H
|
||||||
|
112
|
||||||
|
113 NAME ?C_STARTUP
|
||||||
|
114
|
||||||
|
115
|
||||||
|
116 ?C_C51STARTUP SEGMENT CODE
|
||||||
|
117 ?STACK SEGMENT IDATA
|
||||||
|
118
|
||||||
|
---- 119 RSEG ?STACK
|
||||||
|
0000 120 DS 1
|
||||||
|
121
|
||||||
|
122 EXTRN CODE (?C_START)
|
||||||
|
123 PUBLIC ?C_STARTUP
|
||||||
|
A51 MACRO ASSEMBLER STARTUP 05/23/2018 00:05:56 PAGE 3
|
||||||
|
|
||||||
|
124
|
||||||
|
---- 125 CSEG AT 0
|
||||||
|
0000 020000 F 126 ?C_STARTUP: LJMP STARTUP1
|
||||||
|
127
|
||||||
|
---- 128 RSEG ?C_C51STARTUP
|
||||||
|
129
|
||||||
|
0000 130 STARTUP1:
|
||||||
|
131
|
||||||
|
132 IF IDATALEN <> 0
|
||||||
|
0000 787F 133 MOV R0,#IDATALEN - 1
|
||||||
|
0002 E4 134 CLR A
|
||||||
|
0003 F6 135 IDATALOOP: MOV @R0,A
|
||||||
|
0004 D8FD 136 DJNZ R0,IDATALOOP
|
||||||
|
137 ENDIF
|
||||||
|
138
|
||||||
|
139 IF XDATALEN <> 0
|
||||||
|
MOV DPTR,#XDATASTART
|
||||||
|
MOV R7,#LOW (XDATALEN)
|
||||||
|
IF (LOW (XDATALEN)) <> 0
|
||||||
|
MOV R6,#(HIGH (XDATALEN)) +1
|
||||||
|
ELSE
|
||||||
|
MOV R6,#HIGH (XDATALEN)
|
||||||
|
ENDIF
|
||||||
|
CLR A
|
||||||
|
XDATALOOP: MOVX @DPTR,A
|
||||||
|
INC DPTR
|
||||||
|
DJNZ R7,XDATALOOP
|
||||||
|
DJNZ R6,XDATALOOP
|
||||||
|
ENDIF
|
||||||
|
153
|
||||||
|
154 IF PPAGEENABLE <> 0
|
||||||
|
MOV PPAGE_SFR,#PPAGE
|
||||||
|
ENDIF
|
||||||
|
157
|
||||||
|
158 IF PDATALEN <> 0
|
||||||
|
MOV R0,#LOW (PDATASTART)
|
||||||
|
MOV R7,#LOW (PDATALEN)
|
||||||
|
CLR A
|
||||||
|
PDATALOOP: MOVX @R0,A
|
||||||
|
INC R0
|
||||||
|
DJNZ R7,PDATALOOP
|
||||||
|
ENDIF
|
||||||
|
166
|
||||||
|
167 IF IBPSTACK <> 0
|
||||||
|
EXTRN DATA (?C_IBP)
|
||||||
|
|
||||||
|
MOV ?C_IBP,#LOW IBPSTACKTOP
|
||||||
|
ENDIF
|
||||||
|
172
|
||||||
|
173 IF XBPSTACK <> 0
|
||||||
|
EXTRN DATA (?C_XBP)
|
||||||
|
|
||||||
|
MOV ?C_XBP,#HIGH XBPSTACKTOP
|
||||||
|
MOV ?C_XBP+1,#LOW XBPSTACKTOP
|
||||||
|
ENDIF
|
||||||
|
179
|
||||||
|
180 IF PBPSTACK <> 0
|
||||||
|
EXTRN DATA (?C_PBP)
|
||||||
|
MOV ?C_PBP,#LOW PBPSTACKTOP
|
||||||
|
ENDIF
|
||||||
|
184
|
||||||
|
0006 758100 F 185 MOV SP,#?STACK-1
|
||||||
|
186
|
||||||
|
187 ; This code is required if you use L51_BANK.A51 with Banking Mode 4
|
||||||
|
188 ;<h> Code Banking
|
||||||
|
189 ; <q> Select Bank 0 for L51_BANK.A51 Mode 4
|
||||||
|
A51 MACRO ASSEMBLER STARTUP 05/23/2018 00:05:56 PAGE 4
|
||||||
|
|
||||||
|
190
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
195 ;</h>
|
||||||
|
0009 020000 F 196 LJMP ?C_START
|
||||||
|
197
|
||||||
|
198 END
|
||||||
|
A51 MACRO ASSEMBLER STARTUP 05/23/2018 00:05:56 PAGE 5
|
||||||
|
|
||||||
|
SYMBOL TABLE LISTING
|
||||||
|
------ ----- -------
|
||||||
|
|
||||||
|
|
||||||
|
N A M E T Y P E V A L U E ATTRIBUTES
|
||||||
|
|
||||||
|
?C_C51STARTUP. . . C SEG 000CH REL=UNIT
|
||||||
|
?C_START . . . . . C ADDR ----- EXT
|
||||||
|
?C_STARTUP . . . . C ADDR 0000H A
|
||||||
|
?STACK . . . . . . I SEG 0001H REL=UNIT
|
||||||
|
ACC. . . . . . . . D ADDR 00E0H A
|
||||||
|
B. . . . . . . . . D ADDR 00F0H A
|
||||||
|
DPH. . . . . . . . D ADDR 0083H A
|
||||||
|
DPL. . . . . . . . D ADDR 0082H A
|
||||||
|
IBPSTACK . . . . . N NUMB 0000H A
|
||||||
|
IBPSTACKTOP. . . . N NUMB 0100H A
|
||||||
|
IDATALEN . . . . . N NUMB 0080H A
|
||||||
|
IDATALOOP. . . . . C ADDR 0003H R SEG=?C_C51STARTUP
|
||||||
|
PBPSTACK . . . . . N NUMB 0000H A
|
||||||
|
PBPSTACKTOP. . . . N NUMB 0100H A
|
||||||
|
PDATALEN . . . . . N NUMB 0000H A
|
||||||
|
PDATASTART . . . . N NUMB 0000H A
|
||||||
|
PPAGE. . . . . . . N NUMB 0000H A
|
||||||
|
PPAGEENABLE. . . . N NUMB 0000H A
|
||||||
|
PPAGE_SFR. . . . . D ADDR 00A0H A
|
||||||
|
SP . . . . . . . . D ADDR 0081H A
|
||||||
|
STARTUP1 . . . . . C ADDR 0000H R SEG=?C_C51STARTUP
|
||||||
|
XBPSTACK . . . . . N NUMB 0000H A
|
||||||
|
XBPSTACKTOP. . . . N NUMB 0000H A
|
||||||
|
XDATALEN . . . . . N NUMB 0000H A
|
||||||
|
XDATASTART . . . . N NUMB 0000H A
|
||||||
|
|
||||||
|
|
||||||
|
REGISTER BANK(S) USED: 0
|
||||||
|
|
||||||
|
|
||||||
|
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
|
151
clock/c/Listings/clock.lst
Normal file
151
clock/c/Listings/clock.lst
Normal file
@ -0,0 +1,151 @@
|
|||||||
|
C51 COMPILER V9.59.0.0 CLOCK 05/23/2018 00:05:56 PAGE 1
|
||||||
|
|
||||||
|
|
||||||
|
C51 COMPILER V9.59.0.0, COMPILATION OF MODULE CLOCK
|
||||||
|
OBJECT MODULE PLACED IN .\Objects\clock.obj
|
||||||
|
COMPILER INVOKED BY: C:\Keil_v5\C51\BIN\C51.EXE clock.c OPTIMIZE(8,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\Listings\clo
|
||||||
|
-ck.lst) TABS(2) OBJECT(.\Objects\clock.obj)
|
||||||
|
|
||||||
|
line level source
|
||||||
|
|
||||||
|
1 #include <AT89X51.H>
|
||||||
|
2 #define uint unsigned int
|
||||||
|
3 #define uchar unsigned char
|
||||||
|
4 sbit led1=P1^0;
|
||||||
|
5 sbit k1=P1^1;
|
||||||
|
6 sbit k2=P1^2;
|
||||||
|
7 sbit k3=P1^3;
|
||||||
|
8 sbit k4=P1^4;
|
||||||
|
9 sbit k5=P1^5;
|
||||||
|
10
|
||||||
|
11 void xiaoai();
|
||||||
|
12 uchar code duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
|
||||||
|
13 uchar code wei[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
|
||||||
|
14 uint miao,fen,xiaoshi,ge,shi,bai,qian,wan,shiwan,t;
|
||||||
|
15
|
||||||
|
16 void times(uint z)
|
||||||
|
17 {
|
||||||
|
18 1 uint i,j;
|
||||||
|
19 1 for(i=0; i<z; i++)
|
||||||
|
20 1 for(j=0; j<121; j++);
|
||||||
|
21 1 }
|
||||||
|
22
|
||||||
|
23 void xiaoai()
|
||||||
|
24 {
|
||||||
|
25 1 ge=miao%10;
|
||||||
|
26 1 shi=miao/10;
|
||||||
|
27 1 bai=fen%10;
|
||||||
|
28 1 qian=fen/10;
|
||||||
|
29 1 wan=xiaoshi%10;
|
||||||
|
30 1 shiwan=xiaoshi/10;
|
||||||
|
31 1
|
||||||
|
32 1 P0=duan[ge];
|
||||||
|
33 1 P2=wei[7];
|
||||||
|
34 1 times(1);
|
||||||
|
35 1 P2=0xff;
|
||||||
|
36 1
|
||||||
|
37 1 P0=duan[shi];
|
||||||
|
38 1 P2=wei[6];
|
||||||
|
39 1 times(1);
|
||||||
|
40 1 P2=0xff;
|
||||||
|
41 1
|
||||||
|
42 1 P0=duan[bai];
|
||||||
|
43 1 P2=wei[5];
|
||||||
|
44 1 times(1);
|
||||||
|
45 1 P2=0xff;
|
||||||
|
46 1
|
||||||
|
47 1 P0=duan[qian];
|
||||||
|
48 1 P2=wei[4];
|
||||||
|
49 1 times(1);
|
||||||
|
50 1 P2=0xff;
|
||||||
|
51 1
|
||||||
|
52 1 P0=duan[wan];
|
||||||
|
53 1 P2=wei[3];
|
||||||
|
54 1 times(1);
|
||||||
|
C51 COMPILER V9.59.0.0 CLOCK 05/23/2018 00:05:56 PAGE 2
|
||||||
|
|
||||||
|
55 1 P2=0xff;
|
||||||
|
56 1
|
||||||
|
57 1 P0=duan[shiwan];
|
||||||
|
58 1 P2=wei[2];
|
||||||
|
59 1 times(1);
|
||||||
|
60 1 P2=0xff;
|
||||||
|
61 1 }
|
||||||
|
62
|
||||||
|
63 void main()
|
||||||
|
64 {
|
||||||
|
65 1 EA=1;
|
||||||
|
66 1 TMOD=0x01;
|
||||||
|
67 1 ET0=1;
|
||||||
|
68 1 TH0=(65535-50000)/256;
|
||||||
|
69 1 TL0=(65535-50000)%256;
|
||||||
|
70 1
|
||||||
|
71 1 while(1)
|
||||||
|
72 1 {
|
||||||
|
73 2 xiaoai();
|
||||||
|
74 2
|
||||||
|
75 2 if(k1==0)
|
||||||
|
76 2 TR0=1;
|
||||||
|
77 2 else if(k2==0)
|
||||||
|
78 2 TR0=0;
|
||||||
|
79 2 else if(k3==0) {
|
||||||
|
80 3 miao=0;
|
||||||
|
81 3 fen=0;
|
||||||
|
82 3 xiaoshi=0;
|
||||||
|
83 3 }
|
||||||
|
84 2 else if(TR0==0&&k4==0)
|
||||||
|
85 2 {
|
||||||
|
86 3 fen=fen+1;
|
||||||
|
87 3 while(!k4) {
|
||||||
|
88 4 xiaoai();
|
||||||
|
89 4 }
|
||||||
|
90 3 }
|
||||||
|
91 2 else if(TR0==0&&k5==0) {
|
||||||
|
92 3 xiaoshi=xiaoshi+1;
|
||||||
|
93 3 while(!k5) {
|
||||||
|
94 4 xiaoai();
|
||||||
|
95 4 }
|
||||||
|
96 3 }
|
||||||
|
97 2
|
||||||
|
98 2
|
||||||
|
99 2 if(t==20){
|
||||||
|
100 3 t=0;
|
||||||
|
101 3 miao=miao+1;
|
||||||
|
102 3 }
|
||||||
|
103 2 else if(miao==60) {
|
||||||
|
104 3 miao=0;
|
||||||
|
105 3 fen=fen+1;
|
||||||
|
106 3 }
|
||||||
|
107 2 else if(fen==60) {
|
||||||
|
108 3 fen=0;
|
||||||
|
109 3 xiaoshi=xiaoshi+1;
|
||||||
|
110 3 }
|
||||||
|
111 2 else if(xiaoshi==24)
|
||||||
|
112 2 xiaoshi=0;
|
||||||
|
113 2
|
||||||
|
114 2 xiaoai();
|
||||||
|
115 2 }
|
||||||
|
116 1 }
|
||||||
|
C51 COMPILER V9.59.0.0 CLOCK 05/23/2018 00:05:56 PAGE 3
|
||||||
|
|
||||||
|
117
|
||||||
|
118 void int0() interrupt 1
|
||||||
|
119 {
|
||||||
|
120 1 t++;
|
||||||
|
121 1 TH0=(65535-50000)/256;
|
||||||
|
122 1 TL0=(65535-50000)%256;
|
||||||
|
123 1 }
|
||||||
|
|
||||||
|
|
||||||
|
MODULE INFORMATION: STATIC OVERLAYABLE
|
||||||
|
CODE SIZE = 480 ----
|
||||||
|
CONSTANT SIZE = 24 ----
|
||||||
|
XDATA SIZE = ---- ----
|
||||||
|
PDATA SIZE = ---- ----
|
||||||
|
DATA SIZE = 20 ----
|
||||||
|
IDATA SIZE = ---- ----
|
||||||
|
BIT SIZE = ---- ----
|
||||||
|
END OF MODULE INFORMATION.
|
||||||
|
|
||||||
|
|
||||||
|
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
|
263
clock/c/Listings/clock.m51
Normal file
263
clock/c/Listings/clock.m51
Normal file
@ -0,0 +1,263 @@
|
|||||||
|
BL51 BANKED LINKER/LOCATER V6.22.2.0 05/23/2018 00:05:56 PAGE 1
|
||||||
|
|
||||||
|
|
||||||
|
BL51 BANKED LINKER/LOCATER V6.22.2.0, INVOKED BY:
|
||||||
|
C:\KEIL_V5\C51\BIN\BL51.EXE .\Objects\STARTUP.obj, .\Objects\clock.obj TO .\Objects\clock PRINT (.\Listings\clock.m51)
|
||||||
|
|
||||||
|
|
||||||
|
MEMORY MODEL: SMALL
|
||||||
|
|
||||||
|
|
||||||
|
INPUT MODULES INCLUDED:
|
||||||
|
.\Objects\STARTUP.obj (?C_STARTUP)
|
||||||
|
.\Objects\clock.obj (CLOCK)
|
||||||
|
C:\KEIL_V5\C51\LIB\C51S.LIB (?C?UIDIV)
|
||||||
|
|
||||||
|
|
||||||
|
LINK MAP OF MODULE: .\Objects\clock (?C_STARTUP)
|
||||||
|
|
||||||
|
|
||||||
|
TYPE BASE LENGTH RELOCATION SEGMENT NAME
|
||||||
|
-----------------------------------------------------
|
||||||
|
|
||||||
|
* * * * * * * D A T A M E M O R Y * * * * * * *
|
||||||
|
REG 0000H 0008H ABSOLUTE "REG BANK 0"
|
||||||
|
DATA 0008H 0014H UNIT ?DT?CLOCK
|
||||||
|
IDATA 001CH 0001H UNIT ?STACK
|
||||||
|
|
||||||
|
* * * * * * * C O D E M E M O R Y * * * * * * *
|
||||||
|
CODE 0000H 0003H ABSOLUTE
|
||||||
|
0003H 0008H *** GAP ***
|
||||||
|
CODE 000BH 0003H ABSOLUTE
|
||||||
|
000EH 07F2H *** GAP ***
|
||||||
|
CODE 0800H 00F9H UNIT ?PR?XIAOAI?CLOCK
|
||||||
|
CODE 08F9H 00B0H UNIT ?PR?MAIN?CLOCK
|
||||||
|
CODE 09A9H 0055H UNIT ?C?LIB_CODE
|
||||||
|
CODE 09FEH 0024H UNIT ?PR?_TIMES?CLOCK
|
||||||
|
CODE 0A22H 0018H UNIT ?CO?CLOCK
|
||||||
|
CODE 0A3AH 0013H UNIT ?PR?INT0?CLOCK
|
||||||
|
CODE 0A4DH 000CH UNIT ?C_C51STARTUP
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
OVERLAY MAP OF MODULE: .\Objects\clock (?C_STARTUP)
|
||||||
|
|
||||||
|
|
||||||
|
SEGMENT
|
||||||
|
+--> CALLED SEGMENT
|
||||||
|
---------------------
|
||||||
|
?C_C51STARTUP
|
||||||
|
+--> ?PR?MAIN?CLOCK
|
||||||
|
|
||||||
|
?PR?MAIN?CLOCK
|
||||||
|
+--> ?PR?XIAOAI?CLOCK
|
||||||
|
|
||||||
|
?PR?XIAOAI?CLOCK
|
||||||
|
+--> ?CO?CLOCK
|
||||||
|
+--> ?PR?_TIMES?CLOCK
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
SYMBOL TABLE OF MODULE: .\Objects\clock (?C_STARTUP)
|
||||||
|
BL51 BANKED LINKER/LOCATER V6.22.2.0 05/23/2018 00:05:56 PAGE 2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
VALUE TYPE NAME
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
------- MODULE ?C_STARTUP
|
||||||
|
C:0A4DH SEGMENT ?C_C51STARTUP
|
||||||
|
I:001CH SEGMENT ?STACK
|
||||||
|
C:0000H PUBLIC ?C_STARTUP
|
||||||
|
D:00E0H SYMBOL ACC
|
||||||
|
D:00F0H SYMBOL B
|
||||||
|
D:0083H SYMBOL DPH
|
||||||
|
D:0082H SYMBOL DPL
|
||||||
|
N:0000H SYMBOL IBPSTACK
|
||||||
|
N:0100H SYMBOL IBPSTACKTOP
|
||||||
|
N:0080H SYMBOL IDATALEN
|
||||||
|
C:0A50H SYMBOL IDATALOOP
|
||||||
|
N:0000H SYMBOL PBPSTACK
|
||||||
|
N:0100H SYMBOL PBPSTACKTOP
|
||||||
|
N:0000H SYMBOL PDATALEN
|
||||||
|
N:0000H SYMBOL PDATASTART
|
||||||
|
N:0000H SYMBOL PPAGE
|
||||||
|
N:0000H SYMBOL PPAGEENABLE
|
||||||
|
D:00A0H SYMBOL PPAGE_SFR
|
||||||
|
D:0081H SYMBOL SP
|
||||||
|
C:0A4DH SYMBOL STARTUP1
|
||||||
|
N:0000H SYMBOL XBPSTACK
|
||||||
|
N:0000H SYMBOL XBPSTACKTOP
|
||||||
|
N:0000H SYMBOL XDATALEN
|
||||||
|
N:0000H SYMBOL XDATASTART
|
||||||
|
C:0000H LINE# 126
|
||||||
|
C:0A4DH LINE# 133
|
||||||
|
C:0A4FH LINE# 134
|
||||||
|
C:0A50H LINE# 135
|
||||||
|
C:0A51H LINE# 136
|
||||||
|
C:0A53H LINE# 185
|
||||||
|
C:0A56H LINE# 196
|
||||||
|
------- ENDMOD ?C_STARTUP
|
||||||
|
|
||||||
|
------- MODULE CLOCK
|
||||||
|
C:0000H SYMBOL _ICE_DUMMY_
|
||||||
|
C:0800H PUBLIC xiaoai
|
||||||
|
D:0080H PUBLIC P0
|
||||||
|
D:0090H PUBLIC P1
|
||||||
|
D:00A0H PUBLIC P2
|
||||||
|
B:00A8H.7 PUBLIC EA
|
||||||
|
D:0008H PUBLIC shiwan
|
||||||
|
B:0090H.1 PUBLIC k1
|
||||||
|
B:0090H.2 PUBLIC k2
|
||||||
|
B:0090H.3 PUBLIC k3
|
||||||
|
B:0090H.4 PUBLIC k4
|
||||||
|
B:0090H.5 PUBLIC k5
|
||||||
|
C:0A02H PUBLIC _times
|
||||||
|
C:08F9H PUBLIC main
|
||||||
|
D:000AH PUBLIC miao
|
||||||
|
C:0A22H PUBLIC duan
|
||||||
|
D:000CH PUBLIC qian
|
||||||
|
D:000EH PUBLIC bai
|
||||||
|
BL51 BANKED LINKER/LOCATER V6.22.2.0 05/23/2018 00:05:56 PAGE 3
|
||||||
|
|
||||||
|
|
||||||
|
D:0089H PUBLIC TMOD
|
||||||
|
D:0010H PUBLIC fen
|
||||||
|
D:0012H PUBLIC shi
|
||||||
|
C:0A32H PUBLIC wei
|
||||||
|
D:0014H PUBLIC wan
|
||||||
|
B:00A8H.1 PUBLIC ET0
|
||||||
|
D:0016H PUBLIC ge
|
||||||
|
D:008CH PUBLIC TH0
|
||||||
|
D:008AH PUBLIC TL0
|
||||||
|
B:0088H.4 PUBLIC TR0
|
||||||
|
D:0018H PUBLIC t
|
||||||
|
D:001AH PUBLIC xiaoshi
|
||||||
|
C:0A3AH PUBLIC int0
|
||||||
|
C:09FEH SYMBOL L?0042
|
||||||
|
------- PROC L?0041
|
||||||
|
------- ENDPROC L?0041
|
||||||
|
C:09FEH SYMBOL L?0042
|
||||||
|
------- PROC _TIMES
|
||||||
|
D:0006H SYMBOL z
|
||||||
|
------- DO
|
||||||
|
D:0004H SYMBOL i
|
||||||
|
D:0002H SYMBOL j
|
||||||
|
------- ENDDO
|
||||||
|
C:0A02H LINE# 16
|
||||||
|
C:0A02H LINE# 17
|
||||||
|
C:0A02H LINE# 19
|
||||||
|
C:0A0CH LINE# 20
|
||||||
|
C:0A21H LINE# 21
|
||||||
|
------- ENDPROC _TIMES
|
||||||
|
------- PROC XIAOAI
|
||||||
|
C:0800H LINE# 23
|
||||||
|
C:0800H LINE# 24
|
||||||
|
C:0800H LINE# 25
|
||||||
|
C:080FH LINE# 26
|
||||||
|
C:081EH LINE# 27
|
||||||
|
C:082DH LINE# 28
|
||||||
|
C:083CH LINE# 29
|
||||||
|
C:084BH LINE# 30
|
||||||
|
C:085AH LINE# 32
|
||||||
|
C:086AH LINE# 33
|
||||||
|
C:0871H LINE# 34
|
||||||
|
C:0878H LINE# 35
|
||||||
|
C:087BH LINE# 37
|
||||||
|
C:088BH LINE# 38
|
||||||
|
C:088EH LINE# 39
|
||||||
|
C:0891H LINE# 40
|
||||||
|
C:0894H LINE# 42
|
||||||
|
C:08A4H LINE# 43
|
||||||
|
C:08A7H LINE# 44
|
||||||
|
C:08AAH LINE# 45
|
||||||
|
C:08ADH LINE# 47
|
||||||
|
C:08BDH LINE# 48
|
||||||
|
C:08C0H LINE# 49
|
||||||
|
C:08C3H LINE# 50
|
||||||
|
C:08C6H LINE# 52
|
||||||
|
C:08D6H LINE# 53
|
||||||
|
C:08D9H LINE# 54
|
||||||
|
BL51 BANKED LINKER/LOCATER V6.22.2.0 05/23/2018 00:05:56 PAGE 4
|
||||||
|
|
||||||
|
|
||||||
|
C:08DCH LINE# 55
|
||||||
|
C:08DFH LINE# 57
|
||||||
|
C:08EFH LINE# 58
|
||||||
|
C:08F2H LINE# 59
|
||||||
|
C:08F5H LINE# 60
|
||||||
|
C:08F8H LINE# 61
|
||||||
|
------- ENDPROC XIAOAI
|
||||||
|
------- PROC MAIN
|
||||||
|
C:08F9H LINE# 63
|
||||||
|
C:08F9H LINE# 64
|
||||||
|
C:08F9H LINE# 65
|
||||||
|
C:08FBH LINE# 66
|
||||||
|
C:08FEH LINE# 67
|
||||||
|
C:0900H LINE# 68
|
||||||
|
C:0903H LINE# 69
|
||||||
|
C:0906H LINE# 71
|
||||||
|
C:0906H LINE# 72
|
||||||
|
C:0906H LINE# 73
|
||||||
|
C:0909H LINE# 75
|
||||||
|
C:090CH LINE# 76
|
||||||
|
C:0910H LINE# 77
|
||||||
|
C:0913H LINE# 78
|
||||||
|
C:0917H LINE# 79
|
||||||
|
C:091AH LINE# 80
|
||||||
|
C:091FH LINE# 81
|
||||||
|
C:0923H LINE# 82
|
||||||
|
C:0927H LINE# 83
|
||||||
|
C:0929H LINE# 84
|
||||||
|
C:092FH LINE# 85
|
||||||
|
C:092FH LINE# 86
|
||||||
|
C:0937H LINE# 87
|
||||||
|
C:093AH LINE# 88
|
||||||
|
C:093DH LINE# 89
|
||||||
|
C:093FH LINE# 90
|
||||||
|
C:093FH LINE# 91
|
||||||
|
C:0945H LINE# 92
|
||||||
|
C:094DH LINE# 93
|
||||||
|
C:0950H LINE# 94
|
||||||
|
C:0953H LINE# 95
|
||||||
|
C:0955H LINE# 96
|
||||||
|
C:0955H LINE# 99
|
||||||
|
C:095DH LINE# 100
|
||||||
|
C:0961H LINE# 101
|
||||||
|
C:0969H LINE# 102
|
||||||
|
C:096BH LINE# 103
|
||||||
|
C:0973H LINE# 104
|
||||||
|
C:0977H LINE# 105
|
||||||
|
C:097FH LINE# 106
|
||||||
|
C:0981H LINE# 107
|
||||||
|
C:0989H LINE# 108
|
||||||
|
C:098DH LINE# 109
|
||||||
|
C:0995H LINE# 110
|
||||||
|
C:0997H LINE# 111
|
||||||
|
C:099FH LINE# 112
|
||||||
|
C:09A3H LINE# 114
|
||||||
|
C:09A6H LINE# 115
|
||||||
|
------- ENDPROC MAIN
|
||||||
|
BL51 BANKED LINKER/LOCATER V6.22.2.0 05/23/2018 00:05:56 PAGE 5
|
||||||
|
|
||||||
|
|
||||||
|
------- PROC INT0
|
||||||
|
C:0A3AH LINE# 118
|
||||||
|
C:0A3CH LINE# 120
|
||||||
|
C:0A44H LINE# 121
|
||||||
|
C:0A47H LINE# 122
|
||||||
|
C:0A4AH LINE# 123
|
||||||
|
------- ENDPROC INT0
|
||||||
|
------- ENDMOD CLOCK
|
||||||
|
|
||||||
|
------- MODULE ?C?UIDIV
|
||||||
|
C:09A9H PUBLIC ?C?UIDIV
|
||||||
|
------- ENDMOD ?C?UIDIV
|
||||||
|
|
||||||
|
******************************************************************************
|
||||||
|
* RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT; USED: 020AH BYTE (25%) *
|
||||||
|
******************************************************************************
|
||||||
|
|
||||||
|
Program Size: data=29.0 xdata=0 code=607
|
||||||
|
LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S)
|
BIN
clock/c/Objects/STARTUP.obj
Normal file
BIN
clock/c/Objects/STARTUP.obj
Normal file
Binary file not shown.
BIN
clock/c/Objects/clock
Normal file
BIN
clock/c/Objects/clock
Normal file
Binary file not shown.
35
clock/c/Objects/clock.build_log.htm
Normal file
35
clock/c/Objects/clock.build_log.htm
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<pre>
|
||||||
|
<h1>µVision Build Log</h1>
|
||||||
|
<h2>Tool Versions:</h2>
|
||||||
|
IDE-Version: ¦ÌVision V5.25.3.0
|
||||||
|
Copyright (C) 2018 ARM Ltd and ARM Germany GmbH. All rights reserved.
|
||||||
|
License Information: a a, a, LIC=----
|
||||||
|
|
||||||
|
Tool Versions:
|
||||||
|
Toolchain: PK51 Prof. Develpers Kit Version: 9.59.0.0
|
||||||
|
Toolchain Path: C:\Keil_v5\C51\BIN
|
||||||
|
C Compiler: C51.exe V9.59.0.0
|
||||||
|
Assembler: A51.exe V8.2.7.0
|
||||||
|
Linker/Locator: BL51.exe V6.22.2.0
|
||||||
|
Library Manager: LIB51.exe V4.30.1.0
|
||||||
|
Hex Converter: OH51.exe V2.7.0.0
|
||||||
|
CPU DLL: S8051.DLL V3.122.0.0
|
||||||
|
Dialog DLL: DP51.DLL V2.66.0.0
|
||||||
|
<h2>Project:</h2>
|
||||||
|
C:\Users\aixiao.me\Desktop\clock\c\clock.uvproj
|
||||||
|
Project File Date: 05/23/2018
|
||||||
|
|
||||||
|
<h2>Output:</h2>
|
||||||
|
Rebuild target 'Target 1'
|
||||||
|
assembling STARTUP.A51...
|
||||||
|
compiling clock.c...
|
||||||
|
linking...
|
||||||
|
Program Size: data=29.0 xdata=0 code=607
|
||||||
|
creating hex file from ".\Objects\clock"...
|
||||||
|
".\Objects\clock" - 0 Error(s), 0 Warning(s).
|
||||||
|
Build Time Elapsed: 00:00:00
|
||||||
|
</pre>
|
||||||
|
</body>
|
||||||
|
</html>
|
45
clock/c/Objects/clock.hex
Normal file
45
clock/c/Objects/clock.hex
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
:03000000020A4DA4
|
||||||
|
:0C0A4D00787FE4F6D8FD75811B0208F9E3
|
||||||
|
:100A2200C0F9A4B0999282F880908883C6A1868E7C
|
||||||
|
:080A32007FBFDFEFF7FBFDFEC3
|
||||||
|
:0409FE00E493F5A0E9
|
||||||
|
:100A0200E4FDFCC3ED9FEC9E5015E4FBFA0BBB002A
|
||||||
|
:0F0A1200010AEB64794A70F50DBD00010C80E418
|
||||||
|
:010A210022B2
|
||||||
|
:10080000AE0AAF0B7C007D0A1209A98C168D17AEBB
|
||||||
|
:100810000AAF0B7C007D0A1209A98E128F13AE104D
|
||||||
|
:10082000AF117C007D0A1209A98C0E8D0FAE10AF9E
|
||||||
|
:10083000117C007D0A1209A98E0C8F0DAE1AAF1B18
|
||||||
|
:100840007C007D0A1209A98C148D15AE1AAF1B7C91
|
||||||
|
:10085000007D0A1209A98E088F0974222517F582D6
|
||||||
|
:10086000740A3516F583E493F580900A39E493F51C
|
||||||
|
:10087000A07F017E00120A0275A0FF74222513F5E5
|
||||||
|
:1008800082740A3512F583E493F580900A381209D0
|
||||||
|
:10089000FE75A0FF7422250FF582740A350EF583CC
|
||||||
|
:1008A000E493F580900A371209FE75A0FF742225A3
|
||||||
|
:1008B0000DF582740A350CF583E493F580900A36C1
|
||||||
|
:1008C0001209FE75A0FF74222515F582740A3514ED
|
||||||
|
:1008D000F583E493F580900A351209FE75A0FF7444
|
||||||
|
:1008E000222509F582740A3508F583E493F5809092
|
||||||
|
:0908F0000A341209FE75A0FF2272
|
||||||
|
:1008F900D2AF758901D2A9758C3C758AAF120800EF
|
||||||
|
:10090900209104D28C8045209204C28C803E209391
|
||||||
|
:100919000FE4F50AF50BF510F511F51AF51B802C06
|
||||||
|
:10092900208C132094100511E511700205102094F4
|
||||||
|
:100939001B12080080F8208C13209510051BE51B5D
|
||||||
|
:100949007002051A20950512080080F8E51964144B
|
||||||
|
:100959004518700EF518F519050BE50B703C050ADD
|
||||||
|
:100969008038E50B643C450A700EF50AF50B051154
|
||||||
|
:10097900E511702605108022E511643C4510700EC2
|
||||||
|
:10098900F510F511051BE51B7010051A800CE51B08
|
||||||
|
:100999006418451A7004F51AF51B120800020906B5
|
||||||
|
:03000B00020A3AAC
|
||||||
|
:100A3A00C0E00519E51970020518758C3C758AAF76
|
||||||
|
:030A4A00D0E032C7
|
||||||
|
:1009A900BC000BBE0029EF8DF084FFADF022E4CC32
|
||||||
|
:1009B900F875F008EF2FFFEE33FEEC33FCEE9DECFB
|
||||||
|
:1009C900984005FCEE9DFE0FD5F0E9E4CEFD22ED41
|
||||||
|
:1009D900F8F5F0EE8420D21CFEADF075F008EF2F8B
|
||||||
|
:1009E900FFED33FD4007985006D5F0F222C398FD7C
|
||||||
|
:0509F9000FD5F0EA2219
|
||||||
|
:00000001FF
|
4
clock/c/Objects/clock.lnp
Normal file
4
clock/c/Objects/clock.lnp
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
".\Objects\STARTUP.obj",
|
||||||
|
".\Objects\clock.obj"
|
||||||
|
TO ".\Objects\clock"
|
||||||
|
PRINT(".\Listings\clock.m51")
|
BIN
clock/c/Objects/clock.obj
Normal file
BIN
clock/c/Objects/clock.obj
Normal file
Binary file not shown.
198
clock/c/STARTUP.A51
Normal file
198
clock/c/STARTUP.A51
Normal file
@ -0,0 +1,198 @@
|
|||||||
|
$NOMOD51
|
||||||
|
;------------------------------------------------------------------------------
|
||||||
|
; This file is part of the C51 Compiler package
|
||||||
|
; Copyright (c) 1988-2005 Keil Elektronik GmbH and Keil Software, Inc.
|
||||||
|
; Version 8.01
|
||||||
|
;
|
||||||
|
; *** <<< Use Configuration Wizard in Context Menu >>> ***
|
||||||
|
;------------------------------------------------------------------------------
|
||||||
|
; STARTUP.A51: This code is executed after processor reset.
|
||||||
|
;
|
||||||
|
; To translate this file use A51 with the following invocation:
|
||||||
|
;
|
||||||
|
; A51 STARTUP.A51
|
||||||
|
;
|
||||||
|
; To link the modified STARTUP.OBJ file to your application use the following
|
||||||
|
; Lx51 invocation:
|
||||||
|
;
|
||||||
|
; Lx51 your object file list, STARTUP.OBJ controls
|
||||||
|
;
|
||||||
|
;------------------------------------------------------------------------------
|
||||||
|
;
|
||||||
|
; User-defined <h> Power-On Initialization of Memory
|
||||||
|
;
|
||||||
|
; With the following EQU statements the initialization of memory
|
||||||
|
; at processor reset can be defined:
|
||||||
|
;
|
||||||
|
; <o> IDATALEN: IDATA memory size <0x0-0x100>
|
||||||
|
; <i> Note: The absolute start-address of IDATA memory is always 0
|
||||||
|
; <i> The IDATA space overlaps physically the DATA and BIT areas.
|
||||||
|
IDATALEN EQU 80H
|
||||||
|
;
|
||||||
|
; <o> XDATASTART: XDATA memory start address <0x0-0xFFFF>
|
||||||
|
; <i> The absolute start address of XDATA memory
|
||||||
|
XDATASTART EQU 0
|
||||||
|
;
|
||||||
|
; <o> XDATALEN: XDATA memory size <0x0-0xFFFF>
|
||||||
|
; <i> The length of XDATA memory in bytes.
|
||||||
|
XDATALEN EQU 0
|
||||||
|
;
|
||||||
|
; <o> PDATASTART: PDATA memory start address <0x0-0xFFFF>
|
||||||
|
; <i> The absolute start address of PDATA memory
|
||||||
|
PDATASTART EQU 0H
|
||||||
|
;
|
||||||
|
; <o> PDATALEN: PDATA memory size <0x0-0xFF>
|
||||||
|
; <i> The length of PDATA memory in bytes.
|
||||||
|
PDATALEN EQU 0H
|
||||||
|
;
|
||||||
|
;</h>
|
||||||
|
;------------------------------------------------------------------------------
|
||||||
|
;
|
||||||
|
;<h> Reentrant Stack Initialization
|
||||||
|
;
|
||||||
|
; The following EQU statements define the stack pointer for reentrant
|
||||||
|
; functions and initialized it:
|
||||||
|
;
|
||||||
|
; <h> Stack Space for reentrant functions in the SMALL model.
|
||||||
|
; <q> IBPSTACK: Enable SMALL model reentrant stack
|
||||||
|
; <i> Stack space for reentrant functions in the SMALL model.
|
||||||
|
IBPSTACK EQU 0 ; set to 1 if small reentrant is used.
|
||||||
|
; <o> IBPSTACKTOP: End address of SMALL model stack <0x0-0xFF>
|
||||||
|
; <i> Set the top of the stack to the highest location.
|
||||||
|
IBPSTACKTOP EQU 0xFF +1 ; default 0FFH+1
|
||||||
|
; </h>
|
||||||
|
;
|
||||||
|
; <h> Stack Space for reentrant functions in the LARGE model.
|
||||||
|
; <q> XBPSTACK: Enable LARGE model reentrant stack
|
||||||
|
; <i> Stack space for reentrant functions in the LARGE model.
|
||||||
|
XBPSTACK EQU 0 ; set to 1 if large reentrant is used.
|
||||||
|
; <o> XBPSTACKTOP: End address of LARGE model stack <0x0-0xFFFF>
|
||||||
|
; <i> Set the top of the stack to the highest location.
|
||||||
|
XBPSTACKTOP EQU 0xFFFF +1 ; default 0FFFFH+1
|
||||||
|
; </h>
|
||||||
|
;
|
||||||
|
; <h> Stack Space for reentrant functions in the COMPACT model.
|
||||||
|
; <q> PBPSTACK: Enable COMPACT model reentrant stack
|
||||||
|
; <i> Stack space for reentrant functions in the COMPACT model.
|
||||||
|
PBPSTACK EQU 0 ; set to 1 if compact reentrant is used.
|
||||||
|
;
|
||||||
|
; <o> PBPSTACKTOP: End address of COMPACT model stack <0x0-0xFFFF>
|
||||||
|
; <i> Set the top of the stack to the highest location.
|
||||||
|
PBPSTACKTOP EQU 0xFF +1 ; default 0FFH+1
|
||||||
|
; </h>
|
||||||
|
;</h>
|
||||||
|
;------------------------------------------------------------------------------
|
||||||
|
;
|
||||||
|
; Memory Page for Using the Compact Model with 64 KByte xdata RAM
|
||||||
|
; <e>Compact Model Page Definition
|
||||||
|
;
|
||||||
|
; <i>Define the XDATA page used for PDATA variables.
|
||||||
|
; <i>PPAGE must conform with the PPAGE set in the linker invocation.
|
||||||
|
;
|
||||||
|
; Enable pdata memory page initalization
|
||||||
|
PPAGEENABLE EQU 0 ; set to 1 if pdata object are used.
|
||||||
|
;
|
||||||
|
; <o> PPAGE number <0x0-0xFF>
|
||||||
|
; <i> uppermost 256-byte address of the page used for PDATA variables.
|
||||||
|
PPAGE EQU 0
|
||||||
|
;
|
||||||
|
; <o> SFR address which supplies uppermost address byte <0x0-0xFF>
|
||||||
|
; <i> most 8051 variants use P2 as uppermost address byte
|
||||||
|
PPAGE_SFR DATA 0A0H
|
||||||
|
;
|
||||||
|
; </e>
|
||||||
|
;------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
; Standard SFR Symbols
|
||||||
|
ACC DATA 0E0H
|
||||||
|
B DATA 0F0H
|
||||||
|
SP DATA 81H
|
||||||
|
DPL DATA 82H
|
||||||
|
DPH DATA 83H
|
||||||
|
|
||||||
|
NAME ?C_STARTUP
|
||||||
|
|
||||||
|
|
||||||
|
?C_C51STARTUP SEGMENT CODE
|
||||||
|
?STACK SEGMENT IDATA
|
||||||
|
|
||||||
|
RSEG ?STACK
|
||||||
|
DS 1
|
||||||
|
|
||||||
|
EXTRN CODE (?C_START)
|
||||||
|
PUBLIC ?C_STARTUP
|
||||||
|
|
||||||
|
CSEG AT 0
|
||||||
|
?C_STARTUP: LJMP STARTUP1
|
||||||
|
|
||||||
|
RSEG ?C_C51STARTUP
|
||||||
|
|
||||||
|
STARTUP1:
|
||||||
|
|
||||||
|
IF IDATALEN <> 0
|
||||||
|
MOV R0,#IDATALEN - 1
|
||||||
|
CLR A
|
||||||
|
IDATALOOP: MOV @R0,A
|
||||||
|
DJNZ R0,IDATALOOP
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF XDATALEN <> 0
|
||||||
|
MOV DPTR,#XDATASTART
|
||||||
|
MOV R7,#LOW (XDATALEN)
|
||||||
|
IF (LOW (XDATALEN)) <> 0
|
||||||
|
MOV R6,#(HIGH (XDATALEN)) +1
|
||||||
|
ELSE
|
||||||
|
MOV R6,#HIGH (XDATALEN)
|
||||||
|
ENDIF
|
||||||
|
CLR A
|
||||||
|
XDATALOOP: MOVX @DPTR,A
|
||||||
|
INC DPTR
|
||||||
|
DJNZ R7,XDATALOOP
|
||||||
|
DJNZ R6,XDATALOOP
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF PPAGEENABLE <> 0
|
||||||
|
MOV PPAGE_SFR,#PPAGE
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF PDATALEN <> 0
|
||||||
|
MOV R0,#LOW (PDATASTART)
|
||||||
|
MOV R7,#LOW (PDATALEN)
|
||||||
|
CLR A
|
||||||
|
PDATALOOP: MOVX @R0,A
|
||||||
|
INC R0
|
||||||
|
DJNZ R7,PDATALOOP
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF IBPSTACK <> 0
|
||||||
|
EXTRN DATA (?C_IBP)
|
||||||
|
|
||||||
|
MOV ?C_IBP,#LOW IBPSTACKTOP
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF XBPSTACK <> 0
|
||||||
|
EXTRN DATA (?C_XBP)
|
||||||
|
|
||||||
|
MOV ?C_XBP,#HIGH XBPSTACKTOP
|
||||||
|
MOV ?C_XBP+1,#LOW XBPSTACKTOP
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF PBPSTACK <> 0
|
||||||
|
EXTRN DATA (?C_PBP)
|
||||||
|
MOV ?C_PBP,#LOW PBPSTACKTOP
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
MOV SP,#?STACK-1
|
||||||
|
|
||||||
|
; This code is required if you use L51_BANK.A51 with Banking Mode 4
|
||||||
|
;<h> Code Banking
|
||||||
|
; <q> Select Bank 0 for L51_BANK.A51 Mode 4
|
||||||
|
#if 0
|
||||||
|
; <i> Initialize bank mechanism to code bank 0 when using L51_BANK.A51 with Banking Mode 4.
|
||||||
|
EXTRN CODE (?B_SWITCH0)
|
||||||
|
CALL ?B_SWITCH0 ; init bank mechanism to code bank 0
|
||||||
|
#endif
|
||||||
|
;</h>
|
||||||
|
LJMP ?C_START
|
||||||
|
|
||||||
|
END
|
123
clock/c/clock.c
Normal file
123
clock/c/clock.c
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
#include <AT89X51.H>
|
||||||
|
#define uint unsigned int
|
||||||
|
#define uchar unsigned char
|
||||||
|
sbit led1=P1^0;
|
||||||
|
sbit k1=P1^1;
|
||||||
|
sbit k2=P1^2;
|
||||||
|
sbit k3=P1^3;
|
||||||
|
sbit k4=P1^4;
|
||||||
|
sbit k5=P1^5;
|
||||||
|
|
||||||
|
void xiaoai();
|
||||||
|
uchar code duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
|
||||||
|
uchar code wei[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
|
||||||
|
uint miao,fen,xiaoshi,ge,shi,bai,qian,wan,shiwan,t;
|
||||||
|
|
||||||
|
void times(uint z)
|
||||||
|
{
|
||||||
|
uint i,j;
|
||||||
|
for(i=0; i<z; i++)
|
||||||
|
for(j=0; j<121; j++);
|
||||||
|
}
|
||||||
|
|
||||||
|
void xiaoai()
|
||||||
|
{
|
||||||
|
ge=miao%10;
|
||||||
|
shi=miao/10;
|
||||||
|
bai=fen%10;
|
||||||
|
qian=fen/10;
|
||||||
|
wan=xiaoshi%10;
|
||||||
|
shiwan=xiaoshi/10;
|
||||||
|
|
||||||
|
P0=duan[ge];
|
||||||
|
P2=wei[7];
|
||||||
|
times(1);
|
||||||
|
P2=0xff;
|
||||||
|
|
||||||
|
P0=duan[shi];
|
||||||
|
P2=wei[6];
|
||||||
|
times(1);
|
||||||
|
P2=0xff;
|
||||||
|
|
||||||
|
P0=duan[bai];
|
||||||
|
P2=wei[5];
|
||||||
|
times(1);
|
||||||
|
P2=0xff;
|
||||||
|
|
||||||
|
P0=duan[qian];
|
||||||
|
P2=wei[4];
|
||||||
|
times(1);
|
||||||
|
P2=0xff;
|
||||||
|
|
||||||
|
P0=duan[wan];
|
||||||
|
P2=wei[3];
|
||||||
|
times(1);
|
||||||
|
P2=0xff;
|
||||||
|
|
||||||
|
P0=duan[shiwan];
|
||||||
|
P2=wei[2];
|
||||||
|
times(1);
|
||||||
|
P2=0xff;
|
||||||
|
}
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
EA=1;
|
||||||
|
TMOD=0x01;
|
||||||
|
ET0=1;
|
||||||
|
TH0=(65535-50000)/256;
|
||||||
|
TL0=(65535-50000)%256;
|
||||||
|
|
||||||
|
while(1)
|
||||||
|
{
|
||||||
|
xiaoai();
|
||||||
|
|
||||||
|
if(k1==0)
|
||||||
|
TR0=1;
|
||||||
|
else if(k2==0)
|
||||||
|
TR0=0;
|
||||||
|
else if(k3==0) {
|
||||||
|
miao=0;
|
||||||
|
fen=0;
|
||||||
|
xiaoshi=0;
|
||||||
|
}
|
||||||
|
else if(TR0==0&&k4==0)
|
||||||
|
{
|
||||||
|
fen=fen+1;
|
||||||
|
while(!k4) {
|
||||||
|
xiaoai();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(TR0==0&&k5==0) {
|
||||||
|
xiaoshi=xiaoshi+1;
|
||||||
|
while(!k5) {
|
||||||
|
xiaoai();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(t==20){
|
||||||
|
t=0;
|
||||||
|
miao=miao+1;
|
||||||
|
}
|
||||||
|
else if(miao==60) {
|
||||||
|
miao=0;
|
||||||
|
fen=fen+1;
|
||||||
|
}
|
||||||
|
else if(fen==60) {
|
||||||
|
fen=0;
|
||||||
|
xiaoshi=xiaoshi+1;
|
||||||
|
}
|
||||||
|
else if(xiaoshi==24)
|
||||||
|
xiaoshi=0;
|
||||||
|
|
||||||
|
xiaoai();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void int0() interrupt 1
|
||||||
|
{
|
||||||
|
t++;
|
||||||
|
TH0=(65535-50000)/256;
|
||||||
|
TL0=(65535-50000)%256;
|
||||||
|
}
|
1868
clock/c/clock.uvgui.aixiao.me
Normal file
1868
clock/c/clock.uvgui.aixiao.me
Normal file
File diff suppressed because one or more lines are too long
209
clock/c/clock.uvopt
Normal file
209
clock/c/clock.uvopt
Normal file
@ -0,0 +1,209 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_opt.xsd">
|
||||||
|
|
||||||
|
<SchemaVersion>1.0</SchemaVersion>
|
||||||
|
|
||||||
|
<Header>### uVision Project, (C) Keil Software</Header>
|
||||||
|
|
||||||
|
<Extensions>
|
||||||
|
<cExt>*.c</cExt>
|
||||||
|
<aExt>*.s*; *.src; *.a*</aExt>
|
||||||
|
<oExt>*.obj; *.o</oExt>
|
||||||
|
<lExt>*.lib</lExt>
|
||||||
|
<tExt>*.txt; *.h; *.inc</tExt>
|
||||||
|
<pExt>*.plm</pExt>
|
||||||
|
<CppX>*.cpp</CppX>
|
||||||
|
<nMigrate>0</nMigrate>
|
||||||
|
</Extensions>
|
||||||
|
|
||||||
|
<DaveTm>
|
||||||
|
<dwLowDateTime>0</dwLowDateTime>
|
||||||
|
<dwHighDateTime>0</dwHighDateTime>
|
||||||
|
</DaveTm>
|
||||||
|
|
||||||
|
<Target>
|
||||||
|
<TargetName>Target 1</TargetName>
|
||||||
|
<ToolsetNumber>0x0</ToolsetNumber>
|
||||||
|
<ToolsetName>MCS-51</ToolsetName>
|
||||||
|
<TargetOption>
|
||||||
|
<CLK51>24000000</CLK51>
|
||||||
|
<OPTTT>
|
||||||
|
<gFlags>1</gFlags>
|
||||||
|
<BeepAtEnd>1</BeepAtEnd>
|
||||||
|
<RunSim>1</RunSim>
|
||||||
|
<RunTarget>0</RunTarget>
|
||||||
|
<RunAbUc>0</RunAbUc>
|
||||||
|
</OPTTT>
|
||||||
|
<OPTHX>
|
||||||
|
<HexSelection>0</HexSelection>
|
||||||
|
<FlashByte>65535</FlashByte>
|
||||||
|
<HexRangeLowAddress>0</HexRangeLowAddress>
|
||||||
|
<HexRangeHighAddress>0</HexRangeHighAddress>
|
||||||
|
<HexOffset>0</HexOffset>
|
||||||
|
</OPTHX>
|
||||||
|
<OPTLEX>
|
||||||
|
<PageWidth>120</PageWidth>
|
||||||
|
<PageLength>65</PageLength>
|
||||||
|
<TabStop>8</TabStop>
|
||||||
|
<ListingPath>.\Listings\</ListingPath>
|
||||||
|
</OPTLEX>
|
||||||
|
<ListingPage>
|
||||||
|
<CreateCListing>1</CreateCListing>
|
||||||
|
<CreateAListing>1</CreateAListing>
|
||||||
|
<CreateLListing>1</CreateLListing>
|
||||||
|
<CreateIListing>0</CreateIListing>
|
||||||
|
<AsmCond>1</AsmCond>
|
||||||
|
<AsmSymb>1</AsmSymb>
|
||||||
|
<AsmXref>0</AsmXref>
|
||||||
|
<CCond>1</CCond>
|
||||||
|
<CCode>0</CCode>
|
||||||
|
<CListInc>0</CListInc>
|
||||||
|
<CSymb>0</CSymb>
|
||||||
|
<LinkerCodeListing>0</LinkerCodeListing>
|
||||||
|
</ListingPage>
|
||||||
|
<OPTXL>
|
||||||
|
<LMap>1</LMap>
|
||||||
|
<LComments>1</LComments>
|
||||||
|
<LGenerateSymbols>1</LGenerateSymbols>
|
||||||
|
<LLibSym>1</LLibSym>
|
||||||
|
<LLines>1</LLines>
|
||||||
|
<LLocSym>1</LLocSym>
|
||||||
|
<LPubSym>1</LPubSym>
|
||||||
|
<LXref>0</LXref>
|
||||||
|
<LExpSel>0</LExpSel>
|
||||||
|
</OPTXL>
|
||||||
|
<OPTFL>
|
||||||
|
<tvExp>1</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<IsCurrentTarget>1</IsCurrentTarget>
|
||||||
|
</OPTFL>
|
||||||
|
<CpuCode>255</CpuCode>
|
||||||
|
<Books>
|
||||||
|
<Book>
|
||||||
|
<Number>0</Number>
|
||||||
|
<Title>Data Sheet</Title>
|
||||||
|
<Path>DATASHTS\ATMEL\AT89C51_DS.PDF</Path>
|
||||||
|
</Book>
|
||||||
|
<Book>
|
||||||
|
<Number>1</Number>
|
||||||
|
<Title>Instruction Set Manual</Title>
|
||||||
|
<Path>DATASHTS\ATMEL\AT_C51ISM.PDF</Path>
|
||||||
|
</Book>
|
||||||
|
</Books>
|
||||||
|
<DebugOpt>
|
||||||
|
<uSim>1</uSim>
|
||||||
|
<uTrg>0</uTrg>
|
||||||
|
<sLdApp>1</sLdApp>
|
||||||
|
<sGomain>1</sGomain>
|
||||||
|
<sRbreak>1</sRbreak>
|
||||||
|
<sRwatch>1</sRwatch>
|
||||||
|
<sRmem>1</sRmem>
|
||||||
|
<sRfunc>1</sRfunc>
|
||||||
|
<sRbox>1</sRbox>
|
||||||
|
<tLdApp>1</tLdApp>
|
||||||
|
<tGomain>0</tGomain>
|
||||||
|
<tRbreak>1</tRbreak>
|
||||||
|
<tRwatch>1</tRwatch>
|
||||||
|
<tRmem>1</tRmem>
|
||||||
|
<tRfunc>0</tRfunc>
|
||||||
|
<tRbox>1</tRbox>
|
||||||
|
<tRtrace>1</tRtrace>
|
||||||
|
<sRSysVw>1</sRSysVw>
|
||||||
|
<tRSysVw>1</tRSysVw>
|
||||||
|
<sRunDeb>0</sRunDeb>
|
||||||
|
<sLrtime>0</sLrtime>
|
||||||
|
<bEvRecOn>1</bEvRecOn>
|
||||||
|
<bSchkAxf>0</bSchkAxf>
|
||||||
|
<bTchkAxf>0</bTchkAxf>
|
||||||
|
<nTsel>-1</nTsel>
|
||||||
|
<sDll></sDll>
|
||||||
|
<sDllPa></sDllPa>
|
||||||
|
<sDlgDll></sDlgDll>
|
||||||
|
<sDlgPa></sDlgPa>
|
||||||
|
<sIfile></sIfile>
|
||||||
|
<tDll></tDll>
|
||||||
|
<tDllPa></tDllPa>
|
||||||
|
<tDlgDll></tDlgDll>
|
||||||
|
<tDlgPa></tDlgPa>
|
||||||
|
<tIfile></tIfile>
|
||||||
|
<pMon></pMon>
|
||||||
|
</DebugOpt>
|
||||||
|
<Breakpoint/>
|
||||||
|
<Tracepoint>
|
||||||
|
<THDelay>0</THDelay>
|
||||||
|
</Tracepoint>
|
||||||
|
<DebugFlag>
|
||||||
|
<trace>0</trace>
|
||||||
|
<periodic>1</periodic>
|
||||||
|
<aLwin>0</aLwin>
|
||||||
|
<aCover>0</aCover>
|
||||||
|
<aSer1>0</aSer1>
|
||||||
|
<aSer2>0</aSer2>
|
||||||
|
<aPa>0</aPa>
|
||||||
|
<viewmode>0</viewmode>
|
||||||
|
<vrSel>0</vrSel>
|
||||||
|
<aSym>0</aSym>
|
||||||
|
<aTbox>0</aTbox>
|
||||||
|
<AscS1>0</AscS1>
|
||||||
|
<AscS2>0</AscS2>
|
||||||
|
<AscS3>0</AscS3>
|
||||||
|
<aSer3>0</aSer3>
|
||||||
|
<eProf>0</eProf>
|
||||||
|
<aLa>0</aLa>
|
||||||
|
<aPa1>0</aPa1>
|
||||||
|
<AscS4>0</AscS4>
|
||||||
|
<aSer4>0</aSer4>
|
||||||
|
<StkLoc>0</StkLoc>
|
||||||
|
<TrcWin>0</TrcWin>
|
||||||
|
<newCpu>0</newCpu>
|
||||||
|
<uProt>0</uProt>
|
||||||
|
</DebugFlag>
|
||||||
|
<LintExecutable></LintExecutable>
|
||||||
|
<LintConfigFile></LintConfigFile>
|
||||||
|
<bLintAuto>0</bLintAuto>
|
||||||
|
<bAutoGenD>0</bAutoGenD>
|
||||||
|
<LntExFlags>0</LntExFlags>
|
||||||
|
<pMisraName></pMisraName>
|
||||||
|
<pszMrule></pszMrule>
|
||||||
|
<pSingCmds></pSingCmds>
|
||||||
|
<pMultCmds></pMultCmds>
|
||||||
|
<pMisraNamep></pMisraNamep>
|
||||||
|
<pszMrulep></pszMrulep>
|
||||||
|
<pSingCmdsp></pSingCmdsp>
|
||||||
|
<pMultCmdsp></pMultCmdsp>
|
||||||
|
</TargetOption>
|
||||||
|
</Target>
|
||||||
|
|
||||||
|
<Group>
|
||||||
|
<GroupName>Source Group 1</GroupName>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<cbSel>0</cbSel>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>1</GroupNumber>
|
||||||
|
<FileNumber>1</FileNumber>
|
||||||
|
<FileType>2</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>.\STARTUP.A51</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>STARTUP.A51</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>1</GroupNumber>
|
||||||
|
<FileNumber>2</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>.\clock.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>clock.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
</Group>
|
||||||
|
|
||||||
|
</ProjectOpt>
|
395
clock/c/clock.uvproj
Normal file
395
clock/c/clock.uvproj
Normal file
@ -0,0 +1,395 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_proj.xsd">
|
||||||
|
|
||||||
|
<SchemaVersion>1.1</SchemaVersion>
|
||||||
|
|
||||||
|
<Header>### uVision Project, (C) Keil Software</Header>
|
||||||
|
|
||||||
|
<Targets>
|
||||||
|
<Target>
|
||||||
|
<TargetName>Target 1</TargetName>
|
||||||
|
<ToolsetNumber>0x0</ToolsetNumber>
|
||||||
|
<ToolsetName>MCS-51</ToolsetName>
|
||||||
|
<uAC6>0</uAC6>
|
||||||
|
<TargetOption>
|
||||||
|
<TargetCommonOption>
|
||||||
|
<Device>AT89C51</Device>
|
||||||
|
<Vendor>Microchip</Vendor>
|
||||||
|
<Cpu>IRAM(0-0x7F) IROM(0-0xFFF) CLOCK(24000000)</Cpu>
|
||||||
|
<FlashUtilSpec></FlashUtilSpec>
|
||||||
|
<StartupFile>"LIB\STARTUP.A51" ("Standard 8051 Startup Code")</StartupFile>
|
||||||
|
<FlashDriverDll></FlashDriverDll>
|
||||||
|
<DeviceId>2976</DeviceId>
|
||||||
|
<RegisterFile>REGX51.H</RegisterFile>
|
||||||
|
<MemoryEnv></MemoryEnv>
|
||||||
|
<Cmp></Cmp>
|
||||||
|
<Asm></Asm>
|
||||||
|
<Linker></Linker>
|
||||||
|
<OHString></OHString>
|
||||||
|
<InfinionOptionDll></InfinionOptionDll>
|
||||||
|
<SLE66CMisc></SLE66CMisc>
|
||||||
|
<SLE66AMisc></SLE66AMisc>
|
||||||
|
<SLE66LinkerMisc></SLE66LinkerMisc>
|
||||||
|
<SFDFile></SFDFile>
|
||||||
|
<bCustSvd>0</bCustSvd>
|
||||||
|
<UseEnv>0</UseEnv>
|
||||||
|
<BinPath></BinPath>
|
||||||
|
<IncludePath></IncludePath>
|
||||||
|
<LibPath></LibPath>
|
||||||
|
<RegisterFilePath>Atmel\</RegisterFilePath>
|
||||||
|
<DBRegisterFilePath>Atmel\</DBRegisterFilePath>
|
||||||
|
<TargetStatus>
|
||||||
|
<Error>0</Error>
|
||||||
|
<ExitCodeStop>0</ExitCodeStop>
|
||||||
|
<ButtonStop>0</ButtonStop>
|
||||||
|
<NotGenerated>0</NotGenerated>
|
||||||
|
<InvalidFlash>1</InvalidFlash>
|
||||||
|
</TargetStatus>
|
||||||
|
<OutputDirectory>.\Objects\</OutputDirectory>
|
||||||
|
<OutputName>clock</OutputName>
|
||||||
|
<CreateExecutable>1</CreateExecutable>
|
||||||
|
<CreateLib>0</CreateLib>
|
||||||
|
<CreateHexFile>1</CreateHexFile>
|
||||||
|
<DebugInformation>1</DebugInformation>
|
||||||
|
<BrowseInformation>1</BrowseInformation>
|
||||||
|
<ListingPath>.\Listings\</ListingPath>
|
||||||
|
<HexFormatSelection>0</HexFormatSelection>
|
||||||
|
<Merge32K>0</Merge32K>
|
||||||
|
<CreateBatchFile>0</CreateBatchFile>
|
||||||
|
<BeforeCompile>
|
||||||
|
<RunUserProg1>0</RunUserProg1>
|
||||||
|
<RunUserProg2>0</RunUserProg2>
|
||||||
|
<UserProg1Name></UserProg1Name>
|
||||||
|
<UserProg2Name></UserProg2Name>
|
||||||
|
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||||
|
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
|
||||||
|
<nStopU1X>0</nStopU1X>
|
||||||
|
<nStopU2X>0</nStopU2X>
|
||||||
|
</BeforeCompile>
|
||||||
|
<BeforeMake>
|
||||||
|
<RunUserProg1>0</RunUserProg1>
|
||||||
|
<RunUserProg2>0</RunUserProg2>
|
||||||
|
<UserProg1Name></UserProg1Name>
|
||||||
|
<UserProg2Name></UserProg2Name>
|
||||||
|
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||||
|
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
|
||||||
|
<nStopB1X>0</nStopB1X>
|
||||||
|
<nStopB2X>0</nStopB2X>
|
||||||
|
</BeforeMake>
|
||||||
|
<AfterMake>
|
||||||
|
<RunUserProg1>0</RunUserProg1>
|
||||||
|
<RunUserProg2>0</RunUserProg2>
|
||||||
|
<UserProg1Name></UserProg1Name>
|
||||||
|
<UserProg2Name></UserProg2Name>
|
||||||
|
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||||
|
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
|
||||||
|
<nStopA1X>0</nStopA1X>
|
||||||
|
<nStopA2X>0</nStopA2X>
|
||||||
|
</AfterMake>
|
||||||
|
<SelectedForBatchBuild>0</SelectedForBatchBuild>
|
||||||
|
<SVCSIdString></SVCSIdString>
|
||||||
|
</TargetCommonOption>
|
||||||
|
<CommonProperty>
|
||||||
|
<UseCPPCompiler>0</UseCPPCompiler>
|
||||||
|
<RVCTCodeConst>0</RVCTCodeConst>
|
||||||
|
<RVCTZI>0</RVCTZI>
|
||||||
|
<RVCTOtherData>0</RVCTOtherData>
|
||||||
|
<ModuleSelection>0</ModuleSelection>
|
||||||
|
<IncludeInBuild>1</IncludeInBuild>
|
||||||
|
<AlwaysBuild>0</AlwaysBuild>
|
||||||
|
<GenerateAssemblyFile>0</GenerateAssemblyFile>
|
||||||
|
<AssembleAssemblyFile>0</AssembleAssemblyFile>
|
||||||
|
<PublicsOnly>0</PublicsOnly>
|
||||||
|
<StopOnExitCode>3</StopOnExitCode>
|
||||||
|
<CustomArgument></CustomArgument>
|
||||||
|
<IncludeLibraryModules></IncludeLibraryModules>
|
||||||
|
<ComprImg>1</ComprImg>
|
||||||
|
<BankNo>65535</BankNo>
|
||||||
|
</CommonProperty>
|
||||||
|
<DllOption>
|
||||||
|
<SimDllName>S8051.DLL</SimDllName>
|
||||||
|
<SimDllArguments></SimDllArguments>
|
||||||
|
<SimDlgDll>DP51.DLL</SimDlgDll>
|
||||||
|
<SimDlgDllArguments>-p51</SimDlgDllArguments>
|
||||||
|
<TargetDllName>S8051.DLL</TargetDllName>
|
||||||
|
<TargetDllArguments></TargetDllArguments>
|
||||||
|
<TargetDlgDll>TP51.DLL</TargetDlgDll>
|
||||||
|
<TargetDlgDllArguments>-p51</TargetDlgDllArguments>
|
||||||
|
</DllOption>
|
||||||
|
<DebugOption>
|
||||||
|
<OPTHX>
|
||||||
|
<HexSelection>0</HexSelection>
|
||||||
|
<HexRangeLowAddress>0</HexRangeLowAddress>
|
||||||
|
<HexRangeHighAddress>0</HexRangeHighAddress>
|
||||||
|
<HexOffset>0</HexOffset>
|
||||||
|
<Oh166RecLen>16</Oh166RecLen>
|
||||||
|
</OPTHX>
|
||||||
|
<Simulator>
|
||||||
|
<UseSimulator>1</UseSimulator>
|
||||||
|
<LoadApplicationAtStartup>1</LoadApplicationAtStartup>
|
||||||
|
<RunToMain>1</RunToMain>
|
||||||
|
<RestoreBreakpoints>1</RestoreBreakpoints>
|
||||||
|
<RestoreWatchpoints>1</RestoreWatchpoints>
|
||||||
|
<RestoreMemoryDisplay>1</RestoreMemoryDisplay>
|
||||||
|
<RestoreFunctions>1</RestoreFunctions>
|
||||||
|
<RestoreToolbox>1</RestoreToolbox>
|
||||||
|
<LimitSpeedToRealTime>0</LimitSpeedToRealTime>
|
||||||
|
<RestoreSysVw>1</RestoreSysVw>
|
||||||
|
</Simulator>
|
||||||
|
<Target>
|
||||||
|
<UseTarget>0</UseTarget>
|
||||||
|
<LoadApplicationAtStartup>1</LoadApplicationAtStartup>
|
||||||
|
<RunToMain>0</RunToMain>
|
||||||
|
<RestoreBreakpoints>1</RestoreBreakpoints>
|
||||||
|
<RestoreWatchpoints>1</RestoreWatchpoints>
|
||||||
|
<RestoreMemoryDisplay>1</RestoreMemoryDisplay>
|
||||||
|
<RestoreFunctions>0</RestoreFunctions>
|
||||||
|
<RestoreToolbox>1</RestoreToolbox>
|
||||||
|
<RestoreTracepoints>1</RestoreTracepoints>
|
||||||
|
<RestoreSysVw>1</RestoreSysVw>
|
||||||
|
</Target>
|
||||||
|
<RunDebugAfterBuild>0</RunDebugAfterBuild>
|
||||||
|
<TargetSelection>-1</TargetSelection>
|
||||||
|
<SimDlls>
|
||||||
|
<CpuDll></CpuDll>
|
||||||
|
<CpuDllArguments></CpuDllArguments>
|
||||||
|
<PeripheralDll></PeripheralDll>
|
||||||
|
<PeripheralDllArguments></PeripheralDllArguments>
|
||||||
|
<InitializationFile></InitializationFile>
|
||||||
|
</SimDlls>
|
||||||
|
<TargetDlls>
|
||||||
|
<CpuDll></CpuDll>
|
||||||
|
<CpuDllArguments></CpuDllArguments>
|
||||||
|
<PeripheralDll></PeripheralDll>
|
||||||
|
<PeripheralDllArguments></PeripheralDllArguments>
|
||||||
|
<InitializationFile></InitializationFile>
|
||||||
|
<Driver></Driver>
|
||||||
|
</TargetDlls>
|
||||||
|
</DebugOption>
|
||||||
|
<Utilities>
|
||||||
|
<Flash1>
|
||||||
|
<UseTargetDll>0</UseTargetDll>
|
||||||
|
<UseExternalTool>0</UseExternalTool>
|
||||||
|
<RunIndependent>0</RunIndependent>
|
||||||
|
<UpdateFlashBeforeDebugging>0</UpdateFlashBeforeDebugging>
|
||||||
|
<Capability>0</Capability>
|
||||||
|
<DriverSelection>-1</DriverSelection>
|
||||||
|
</Flash1>
|
||||||
|
<bUseTDR>0</bUseTDR>
|
||||||
|
<Flash2></Flash2>
|
||||||
|
<Flash3></Flash3>
|
||||||
|
<Flash4></Flash4>
|
||||||
|
<pFcarmOut></pFcarmOut>
|
||||||
|
<pFcarmGrp></pFcarmGrp>
|
||||||
|
<pFcArmRoot></pFcArmRoot>
|
||||||
|
<FcArmLst>0</FcArmLst>
|
||||||
|
</Utilities>
|
||||||
|
<Target51>
|
||||||
|
<Target51Misc>
|
||||||
|
<MemoryModel>0</MemoryModel>
|
||||||
|
<RTOS>0</RTOS>
|
||||||
|
<RomSize>2</RomSize>
|
||||||
|
<DataHold>0</DataHold>
|
||||||
|
<XDataHold>0</XDataHold>
|
||||||
|
<UseOnchipRom>0</UseOnchipRom>
|
||||||
|
<UseOnchipArithmetic>0</UseOnchipArithmetic>
|
||||||
|
<UseMultipleDPTR>0</UseMultipleDPTR>
|
||||||
|
<UseOnchipXram>0</UseOnchipXram>
|
||||||
|
<HadIRAM>1</HadIRAM>
|
||||||
|
<HadXRAM>0</HadXRAM>
|
||||||
|
<HadIROM>1</HadIROM>
|
||||||
|
<Moda2>0</Moda2>
|
||||||
|
<Moddp2>0</Moddp2>
|
||||||
|
<Modp2>0</Modp2>
|
||||||
|
<Mod517dp>0</Mod517dp>
|
||||||
|
<Mod517au>0</Mod517au>
|
||||||
|
<Mode2>0</Mode2>
|
||||||
|
<useCB>0</useCB>
|
||||||
|
<useXB>0</useXB>
|
||||||
|
<useL251>0</useL251>
|
||||||
|
<useA251>0</useA251>
|
||||||
|
<Mx51>0</Mx51>
|
||||||
|
<ModC812>0</ModC812>
|
||||||
|
<ModCont>0</ModCont>
|
||||||
|
<Lp51>0</Lp51>
|
||||||
|
<useXBS>0</useXBS>
|
||||||
|
<ModDA>0</ModDA>
|
||||||
|
<ModAB2>0</ModAB2>
|
||||||
|
<Mx51P>0</Mx51P>
|
||||||
|
<hadXRAM2>0</hadXRAM2>
|
||||||
|
<uocXram2>0</uocXram2>
|
||||||
|
<hadXRAM3>0</hadXRAM3>
|
||||||
|
<ModC2>0</ModC2>
|
||||||
|
<ModH2>0</ModH2>
|
||||||
|
<Mdu_R515>0</Mdu_R515>
|
||||||
|
<Mdu_F120>0</Mdu_F120>
|
||||||
|
<Psoc>0</Psoc>
|
||||||
|
<hadIROM2>0</hadIROM2>
|
||||||
|
<hadIROM3>0</hadIROM3>
|
||||||
|
<ModSmx2>0</ModSmx2>
|
||||||
|
<cBanks>0</cBanks>
|
||||||
|
<xBanks>0</xBanks>
|
||||||
|
<OnChipMemories>
|
||||||
|
<RCB>
|
||||||
|
<Type>0</Type>
|
||||||
|
<StartAddress>0x0</StartAddress>
|
||||||
|
<Size>0x10000</Size>
|
||||||
|
</RCB>
|
||||||
|
<RXB>
|
||||||
|
<Type>0</Type>
|
||||||
|
<StartAddress>0x0</StartAddress>
|
||||||
|
<Size>0x0</Size>
|
||||||
|
</RXB>
|
||||||
|
<Ocm1>
|
||||||
|
<Type>0</Type>
|
||||||
|
<StartAddress>0x0</StartAddress>
|
||||||
|
<Size>0x0</Size>
|
||||||
|
</Ocm1>
|
||||||
|
<Ocm2>
|
||||||
|
<Type>0</Type>
|
||||||
|
<StartAddress>0x0</StartAddress>
|
||||||
|
<Size>0x0</Size>
|
||||||
|
</Ocm2>
|
||||||
|
<Ocm3>
|
||||||
|
<Type>0</Type>
|
||||||
|
<StartAddress>0x0</StartAddress>
|
||||||
|
<Size>0x0</Size>
|
||||||
|
</Ocm3>
|
||||||
|
<Ocr1>
|
||||||
|
<Type>0</Type>
|
||||||
|
<StartAddress>0x0</StartAddress>
|
||||||
|
<Size>0x0</Size>
|
||||||
|
</Ocr1>
|
||||||
|
<Ocr2>
|
||||||
|
<Type>0</Type>
|
||||||
|
<StartAddress>0x0</StartAddress>
|
||||||
|
<Size>0x0</Size>
|
||||||
|
</Ocr2>
|
||||||
|
<Ocr3>
|
||||||
|
<Type>0</Type>
|
||||||
|
<StartAddress>0x0</StartAddress>
|
||||||
|
<Size>0x0</Size>
|
||||||
|
</Ocr3>
|
||||||
|
<IRO>
|
||||||
|
<Type>1</Type>
|
||||||
|
<StartAddress>0x0</StartAddress>
|
||||||
|
<Size>0x1000</Size>
|
||||||
|
</IRO>
|
||||||
|
<IRA>
|
||||||
|
<Type>0</Type>
|
||||||
|
<StartAddress>0x0</StartAddress>
|
||||||
|
<Size>0x80</Size>
|
||||||
|
</IRA>
|
||||||
|
<XRA>
|
||||||
|
<Type>0</Type>
|
||||||
|
<StartAddress>0x0</StartAddress>
|
||||||
|
<Size>0x0</Size>
|
||||||
|
</XRA>
|
||||||
|
<XRA512>
|
||||||
|
<Type>0</Type>
|
||||||
|
<StartAddress>0x0</StartAddress>
|
||||||
|
<Size>0x0</Size>
|
||||||
|
</XRA512>
|
||||||
|
<IROM512>
|
||||||
|
<Type>0</Type>
|
||||||
|
<StartAddress>0x0</StartAddress>
|
||||||
|
<Size>0x0</Size>
|
||||||
|
</IROM512>
|
||||||
|
<XRA513>
|
||||||
|
<Type>0</Type>
|
||||||
|
<StartAddress>0x0</StartAddress>
|
||||||
|
<Size>0x0</Size>
|
||||||
|
</XRA513>
|
||||||
|
<IROM513>
|
||||||
|
<Type>0</Type>
|
||||||
|
<StartAddress>0x0</StartAddress>
|
||||||
|
<Size>0x0</Size>
|
||||||
|
</IROM513>
|
||||||
|
</OnChipMemories>
|
||||||
|
</Target51Misc>
|
||||||
|
<C51>
|
||||||
|
<RegisterColoring>0</RegisterColoring>
|
||||||
|
<VariablesInOrder>0</VariablesInOrder>
|
||||||
|
<IntegerPromotion>1</IntegerPromotion>
|
||||||
|
<uAregs>0</uAregs>
|
||||||
|
<UseInterruptVector>1</UseInterruptVector>
|
||||||
|
<Fuzzy>3</Fuzzy>
|
||||||
|
<Optimize>8</Optimize>
|
||||||
|
<WarningLevel>2</WarningLevel>
|
||||||
|
<SizeSpeed>1</SizeSpeed>
|
||||||
|
<ObjectExtend>1</ObjectExtend>
|
||||||
|
<ACallAJmp>0</ACallAJmp>
|
||||||
|
<InterruptVectorAddress>0</InterruptVectorAddress>
|
||||||
|
<VariousControls>
|
||||||
|
<MiscControls></MiscControls>
|
||||||
|
<Define></Define>
|
||||||
|
<Undefine></Undefine>
|
||||||
|
<IncludePath></IncludePath>
|
||||||
|
</VariousControls>
|
||||||
|
</C51>
|
||||||
|
<Ax51>
|
||||||
|
<UseMpl>0</UseMpl>
|
||||||
|
<UseStandard>1</UseStandard>
|
||||||
|
<UseCase>0</UseCase>
|
||||||
|
<UseMod51>0</UseMod51>
|
||||||
|
<VariousControls>
|
||||||
|
<MiscControls></MiscControls>
|
||||||
|
<Define></Define>
|
||||||
|
<Undefine></Undefine>
|
||||||
|
<IncludePath></IncludePath>
|
||||||
|
</VariousControls>
|
||||||
|
</Ax51>
|
||||||
|
<Lx51>
|
||||||
|
<useFile>0</useFile>
|
||||||
|
<linkonly>0</linkonly>
|
||||||
|
<UseMemoryFromTarget>1</UseMemoryFromTarget>
|
||||||
|
<CaseSensitiveSymbols>0</CaseSensitiveSymbols>
|
||||||
|
<WarningLevel>2</WarningLevel>
|
||||||
|
<DataOverlaying>1</DataOverlaying>
|
||||||
|
<OverlayString></OverlayString>
|
||||||
|
<MiscControls></MiscControls>
|
||||||
|
<DisableWarningNumbers></DisableWarningNumbers>
|
||||||
|
<LinkerCmdFile></LinkerCmdFile>
|
||||||
|
<Assign></Assign>
|
||||||
|
<ReserveString></ReserveString>
|
||||||
|
<CClasses></CClasses>
|
||||||
|
<UserClasses></UserClasses>
|
||||||
|
<CSection></CSection>
|
||||||
|
<UserSection></UserSection>
|
||||||
|
<CodeBaseAddress></CodeBaseAddress>
|
||||||
|
<XDataBaseAddress></XDataBaseAddress>
|
||||||
|
<PDataBaseAddress></PDataBaseAddress>
|
||||||
|
<BitBaseAddress></BitBaseAddress>
|
||||||
|
<DataBaseAddress></DataBaseAddress>
|
||||||
|
<IDataBaseAddress></IDataBaseAddress>
|
||||||
|
<Precede></Precede>
|
||||||
|
<Stack></Stack>
|
||||||
|
<CodeSegmentName></CodeSegmentName>
|
||||||
|
<XDataSegmentName></XDataSegmentName>
|
||||||
|
<BitSegmentName></BitSegmentName>
|
||||||
|
<DataSegmentName></DataSegmentName>
|
||||||
|
<IDataSegmentName></IDataSegmentName>
|
||||||
|
</Lx51>
|
||||||
|
</Target51>
|
||||||
|
</TargetOption>
|
||||||
|
<Groups>
|
||||||
|
<Group>
|
||||||
|
<GroupName>Source Group 1</GroupName>
|
||||||
|
<Files>
|
||||||
|
<File>
|
||||||
|
<FileName>STARTUP.A51</FileName>
|
||||||
|
<FileType>2</FileType>
|
||||||
|
<FilePath>.\STARTUP.A51</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>clock.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>.\clock.c</FilePath>
|
||||||
|
</File>
|
||||||
|
</Files>
|
||||||
|
</Group>
|
||||||
|
</Groups>
|
||||||
|
</Target>
|
||||||
|
</Targets>
|
||||||
|
|
||||||
|
</Project>
|
BIN
clock/circuit/clock.pdsprj
Normal file
BIN
clock/circuit/clock.pdsprj
Normal file
Binary file not shown.
@ -0,0 +1,26 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
|
||||||
|
<WORKSPACE>
|
||||||
|
<FRAME activewindow="0">
|
||||||
|
<PLACEMENT>2c00000002000000020000000083ffff0083ffffffffffffffffffff0800000008000000f8030000c6020000</PLACEMENT>
|
||||||
|
<WINDOW type="default" module="ISIS"/>
|
||||||
|
</FRAME>
|
||||||
|
<MODULE name="VSMDEBUG">
|
||||||
|
<PWI>
|
||||||
|
<POPUP w="800" x="48" flags="00000002" y="197" h="200" pid="0" iid="-1">
|
||||||
|
<PROPERTIES/>
|
||||||
|
</POPUP>
|
||||||
|
<POPUP w="350" x="68" flags="00000032" y="217" h="200" pid="1" iid="-1">
|
||||||
|
<PROPERTIES/>
|
||||||
|
</POPUP>
|
||||||
|
<POPUP w="24" x="88" flags="00000008" y="237" h="17" pid="1" iid="1">
|
||||||
|
<PROPERTIES/>
|
||||||
|
</POPUP>
|
||||||
|
<POPUP w="8" x="108" flags="0000000a" y="257" h="16" pid="3" iid="1">
|
||||||
|
<PROPERTIES/>
|
||||||
|
</POPUP>
|
||||||
|
<POPUP w="8" x="128" flags="0000000a" y="277" h="16" pid="2" iid="1">
|
||||||
|
<PROPERTIES/>
|
||||||
|
</POPUP>
|
||||||
|
</PWI>
|
||||||
|
</MODULE>
|
||||||
|
</WORKSPACE>
|
Loading…
Reference in New Issue
Block a user