add code
This commit is contained in:
40
INTRINS.h
Normal file
40
INTRINS.h
Normal file
@@ -0,0 +1,40 @@
|
||||
/*--------------------------------------------------------------------------
|
||||
INTRINS.H
|
||||
|
||||
Intrinsic functions for C51.
|
||||
Copyright (c) 1988-2010 Keil Elektronik GmbH and ARM Germany GmbH
|
||||
All rights reserved.
|
||||
--------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef __INTRINS_H__
|
||||
#define __INTRINS_H__
|
||||
|
||||
#pragma SAVE
|
||||
|
||||
#if defined (__CX2__)
|
||||
#pragma FUNCTIONS(STATIC)
|
||||
/* intrinsic functions are reentrant, but need static attribute */
|
||||
#endif
|
||||
|
||||
extern void _nop_ (void);
|
||||
extern bit _testbit_ (bit);
|
||||
extern unsigned char _cror_ (unsigned char, unsigned char);
|
||||
extern unsigned int _iror_ (unsigned int, unsigned char);
|
||||
extern unsigned long _lror_ (unsigned long, unsigned char);
|
||||
extern unsigned char _crol_ (unsigned char, unsigned char);
|
||||
extern unsigned int _irol_ (unsigned int, unsigned char);
|
||||
extern unsigned long _lrol_ (unsigned long, unsigned char);
|
||||
extern unsigned char _chkfloat_(float);
|
||||
#if defined (__CX2__)
|
||||
extern int abs (int);
|
||||
extern void _illop_ (void);
|
||||
#endif
|
||||
#if !defined (__CX2__)
|
||||
extern void _push_ (unsigned char _sfr);
|
||||
extern void _pop_ (unsigned char _sfr);
|
||||
#endif
|
||||
|
||||
#pragma RESTORE
|
||||
|
||||
#endif
|
||||
|
||||
253
Listings/STARTUP.lst
Normal file
253
Listings/STARTUP.lst
Normal file
@@ -0,0 +1,253 @@
|
||||
A51 MACRO ASSEMBLER STARTUP 12/27/2025 19:02:37 PAGE 1
|
||||
|
||||
|
||||
MACRO ASSEMBLER A51 V8.2.7.0
|
||||
OBJECT MODULE PLACED IN .\Objects\STARTUP.obj
|
||||
ASSEMBLER INVOKED BY: D:\keli\uv5_arm\C51\BIN\A51.EXE STARTUP.A51 SET(SMALL) DEBUG PRINT(.\Listings\STARTUP.lst) OBJECT(
|
||||
.\Objects\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 12/27/2025 19:02:37 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 12/27/2025 19:02:37 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 12/27/2025 19:02:37 PAGE 4
|
||||
|
||||
190
|
||||
|
||||
|
||||
|
||||
|
||||
195 ;</h>
|
||||
0009 020000 F 196 LJMP ?C_START
|
||||
197
|
||||
198 END
|
||||
A51 MACRO ASSEMBLER STARTUP 12/27/2025 19:02:37 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)
|
||||
115
Listings/main.lst
Normal file
115
Listings/main.lst
Normal file
@@ -0,0 +1,115 @@
|
||||
C51 COMPILER V9.60.0.0 MAIN 12/27/2025 19:02:38 PAGE 1
|
||||
|
||||
|
||||
C51 COMPILER V9.60.0.0, COMPILATION OF MODULE MAIN
|
||||
OBJECT MODULE PLACED IN .\Objects\main.obj
|
||||
COMPILER INVOKED BY: D:\keli\uv5_arm\C51\BIN\C51.EXE main.c OPTIMIZE(8,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\Listings
|
||||
-\main.lst) TABS(2) OBJECT(.\Objects\main.obj)
|
||||
|
||||
line level source
|
||||
|
||||
1 #include "REG51.h"
|
||||
2 #include "INTRINS.h"
|
||||
3
|
||||
4 sbit K1 =P1^4 ; //<2F><><EFBFBD>Ӽ<EFBFBD>
|
||||
5 sbit K2 =P1^5 ; //<2F><><EFBFBD>ټ<EFBFBD>
|
||||
6 sbit P00 =P0^1;
|
||||
7 unsigned char PWM=0xe7; //<2F><><EFBFBD><EFBFBD>ֵ
|
||||
8
|
||||
9
|
||||
10 void delayms(unsigned char ms);
|
||||
11 void delay(unsigned char t);
|
||||
12
|
||||
13 /*********************************************************/
|
||||
14 void main()
|
||||
15 {
|
||||
16 1
|
||||
17 1 P1=0xff;
|
||||
18 1 TMOD=0x21 ;
|
||||
19 1 TH0=0xff ; //50us<75><73>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
||||
20 1 TL0=0xce ; //Ƶ<>ʵ<EFBFBD><CAB5><EFBFBD>
|
||||
21 1
|
||||
22 1 TH1=PWM ; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
23 1 TL1=0 ;
|
||||
24 1
|
||||
25 1 EA=1;
|
||||
26 1 ET0=1;
|
||||
27 1 ET1=1;
|
||||
28 1
|
||||
29 1 TR0=1 ;
|
||||
30 1
|
||||
31 1 while(1)
|
||||
32 1 {
|
||||
33 2 do{
|
||||
34 3 if(PWM!=0xff)
|
||||
35 3 {PWM++ ;delayms(10);}
|
||||
36 3 else Beep() ;
|
||||
*** WARNING C206 IN LINE 36 OF main.c: 'Beep': missing function-prototype
|
||||
37 3 }
|
||||
38 2 while(K1==0);
|
||||
39 2
|
||||
40 2 do{
|
||||
41 3 if(PWM!=0xce)
|
||||
42 3 {PWM-- ;delayms(10);}
|
||||
43 3 else Beep() ;
|
||||
44 3 }
|
||||
45 2 while(K2==0);
|
||||
46 2 }
|
||||
47 1 }
|
||||
48
|
||||
49 void timer0() interrupt 1
|
||||
50 {
|
||||
51 1 TR1=0 ;
|
||||
52 1 TH0=0xff ;
|
||||
53 1 TL0=0xce ;
|
||||
C51 COMPILER V9.60.0.0 MAIN 12/27/2025 19:02:38 PAGE 2
|
||||
|
||||
54 1 TH1=PWM ;
|
||||
55 1 TR1=1 ;
|
||||
56 1 P00=0 ; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
57 1 }
|
||||
58
|
||||
59
|
||||
60 void timer1() interrupt 3
|
||||
61 {
|
||||
62 1 TR1=0 ;
|
||||
63 1 P00=1 ; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
64 1 }
|
||||
65
|
||||
66
|
||||
67 /*********************************************************/
|
||||
68 // <20><>ʱ<EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD>
|
||||
69 /*********************************************************/
|
||||
70 void delay(unsigned char t)
|
||||
71 {
|
||||
72 1 while(t--) ;
|
||||
73 1 }
|
||||
74
|
||||
75 /*********************************************************/
|
||||
76 // <20><>ʱ<EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD>
|
||||
77 /*********************************************************/
|
||||
78 void delayms(unsigned char ms)
|
||||
79
|
||||
80 {
|
||||
81 1 unsigned char i ;
|
||||
82 1 while(ms--)
|
||||
83 1 {
|
||||
84 2 for(i = 0 ; i < 120 ; i++) ;
|
||||
85 2 }
|
||||
86 1 }
|
||||
87
|
||||
88 /*********************************************************/
|
||||
|
||||
|
||||
MODULE INFORMATION: STATIC OVERLAYABLE
|
||||
CODE SIZE = 119 ----
|
||||
CONSTANT SIZE = ---- ----
|
||||
XDATA SIZE = ---- ----
|
||||
PDATA SIZE = ---- ----
|
||||
DATA SIZE = 1 ----
|
||||
IDATA SIZE = ---- ----
|
||||
BIT SIZE = ---- ----
|
||||
END OF MODULE INFORMATION.
|
||||
|
||||
|
||||
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
|
||||
226
Listings/main.m51
Normal file
226
Listings/main.m51
Normal file
@@ -0,0 +1,226 @@
|
||||
BL51 BANKED LINKER/LOCATER V6.22.2.0 12/27/2025 19:02:38 PAGE 1
|
||||
|
||||
|
||||
BL51 BANKED LINKER/LOCATER V6.22.2.0, INVOKED BY:
|
||||
D:\KELI\UV5_ARM\C51\BIN\BL51.EXE .\Objects\STARTUP.obj, .\Objects\main.obj TO .\Objects\main PRINT (.\Listings\main.m51)
|
||||
>> RAMSIZE (256)
|
||||
|
||||
|
||||
MEMORY MODEL: SMALL
|
||||
|
||||
|
||||
INPUT MODULES INCLUDED:
|
||||
.\Objects\STARTUP.obj (?C_STARTUP)
|
||||
.\Objects\main.obj (MAIN)
|
||||
D:\KELI\UV5_ARM\C51\LIB\C51S.LIB (?C_INIT)
|
||||
|
||||
|
||||
LINK MAP OF MODULE: .\Objects\main (?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 0001H UNIT ?DT?MAIN
|
||||
IDATA 0009H 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 000DH *** GAP ***
|
||||
CODE 001BH 0003H ABSOLUTE
|
||||
001EH 07E2H *** GAP ***
|
||||
CODE 0800H 008CH UNIT ?C_C51STARTUP
|
||||
CODE 088CH 0045H UNIT ?PR?MAIN?MAIN
|
||||
CODE 08D1H 0016H UNIT ?PR?_DELAYMS?MAIN
|
||||
CODE 08E7H 0010H UNIT ?PR?TIMER0?MAIN
|
||||
CODE 08F7H 0007H UNIT ?PR?_DELAY?MAIN
|
||||
CODE 08FEH 0005H UNIT ?PR?TIMER1?MAIN
|
||||
CODE 0903H 0004H UNIT ?C_INITSEG
|
||||
|
||||
|
||||
|
||||
OVERLAY MAP OF MODULE: .\Objects\main (?C_STARTUP)
|
||||
|
||||
|
||||
SEGMENT
|
||||
+--> CALLED SEGMENT
|
||||
---------------------
|
||||
?C_C51STARTUP
|
||||
+--> ?PR?MAIN?MAIN
|
||||
+--> ?C_INITSEG
|
||||
|
||||
?PR?MAIN?MAIN
|
||||
+--> ?PR?_DELAYMS?MAIN
|
||||
|
||||
|
||||
|
||||
UNRESOLVED EXTERNAL SYMBOLS:
|
||||
BL51 BANKED LINKER/LOCATER V6.22.2.0 12/27/2025 19:02:38 PAGE 2
|
||||
|
||||
|
||||
BEEP
|
||||
|
||||
|
||||
|
||||
SYMBOL TABLE OF MODULE: .\Objects\main (?C_STARTUP)
|
||||
|
||||
VALUE TYPE NAME
|
||||
----------------------------------
|
||||
|
||||
------- MODULE ?C_STARTUP
|
||||
C:0800H SEGMENT ?C_C51STARTUP
|
||||
I:0009H 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:0803H 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:0800H SYMBOL STARTUP1
|
||||
N:0000H SYMBOL XBPSTACK
|
||||
N:0000H SYMBOL XBPSTACKTOP
|
||||
N:0000H SYMBOL XDATALEN
|
||||
N:0000H SYMBOL XDATASTART
|
||||
C:0000H LINE# 126
|
||||
C:0800H LINE# 133
|
||||
C:0802H LINE# 134
|
||||
C:0803H LINE# 135
|
||||
C:0804H LINE# 136
|
||||
C:0806H LINE# 185
|
||||
C:0809H LINE# 196
|
||||
------- ENDMOD ?C_STARTUP
|
||||
|
||||
------- MODULE MAIN
|
||||
C:0000H SYMBOL _ICE_DUMMY_
|
||||
D:0080H PUBLIC P0
|
||||
D:0090H PUBLIC P1
|
||||
B:00A8H.7 PUBLIC EA
|
||||
C:08F7H PUBLIC _delay
|
||||
C:088CH PUBLIC main
|
||||
B:0080H.1 PUBLIC P00
|
||||
D:0089H PUBLIC TMOD
|
||||
B:00A8H.1 PUBLIC ET0
|
||||
B:00A8H.3 PUBLIC ET1
|
||||
D:008CH PUBLIC TH0
|
||||
D:008DH PUBLIC TH1
|
||||
D:008AH PUBLIC TL0
|
||||
BL51 BANKED LINKER/LOCATER V6.22.2.0 12/27/2025 19:02:38 PAGE 3
|
||||
|
||||
|
||||
D:008BH PUBLIC TL1
|
||||
C:08E7H PUBLIC timer0
|
||||
C:08FEH PUBLIC timer1
|
||||
B:0088H.4 PUBLIC TR0
|
||||
B:0088H.6 PUBLIC TR1
|
||||
C:08D1H PUBLIC _delayms
|
||||
D:0008H PUBLIC PWM
|
||||
B:0090H.4 PUBLIC K1
|
||||
B:0090H.5 PUBLIC K2
|
||||
------- PROC MAIN
|
||||
C:088CH LINE# 14
|
||||
C:088CH LINE# 15
|
||||
C:088CH LINE# 17
|
||||
C:088FH LINE# 18
|
||||
C:0892H LINE# 19
|
||||
C:0895H LINE# 20
|
||||
C:0898H LINE# 22
|
||||
C:089BH LINE# 23
|
||||
C:089EH LINE# 25
|
||||
C:08A0H LINE# 26
|
||||
C:08A2H LINE# 27
|
||||
C:08A4H LINE# 29
|
||||
C:08A6H LINE# 31
|
||||
C:08A6H LINE# 32
|
||||
C:08A6H LINE# 33
|
||||
C:08A6H LINE# 34
|
||||
C:08ABH LINE# 35
|
||||
C:08B4H LINE# 36
|
||||
C:08B7H LINE# 37
|
||||
C:08B7H LINE# 38
|
||||
C:08BAH LINE# 40
|
||||
C:08BAH LINE# 41
|
||||
C:08C0H LINE# 42
|
||||
C:08C9H LINE# 43
|
||||
C:08CCH LINE# 44
|
||||
C:08CCH LINE# 45
|
||||
C:08CFH LINE# 46
|
||||
------- ENDPROC MAIN
|
||||
------- PROC TIMER0
|
||||
C:08E7H LINE# 49
|
||||
C:08E7H LINE# 51
|
||||
C:08E9H LINE# 52
|
||||
C:08ECH LINE# 53
|
||||
C:08EFH LINE# 54
|
||||
C:08F2H LINE# 55
|
||||
C:08F4H LINE# 56
|
||||
C:08F6H LINE# 57
|
||||
------- ENDPROC TIMER0
|
||||
------- PROC TIMER1
|
||||
C:08FEH LINE# 60
|
||||
C:08FEH LINE# 62
|
||||
C:0900H LINE# 63
|
||||
C:0902H LINE# 64
|
||||
------- ENDPROC TIMER1
|
||||
------- PROC _DELAY
|
||||
D:0007H SYMBOL t
|
||||
C:08F7H LINE# 70
|
||||
BL51 BANKED LINKER/LOCATER V6.22.2.0 12/27/2025 19:02:38 PAGE 4
|
||||
|
||||
|
||||
C:08F7H LINE# 71
|
||||
C:08F7H LINE# 72
|
||||
C:08FDH LINE# 73
|
||||
------- ENDPROC _DELAY
|
||||
------- PROC _DELAYMS
|
||||
D:0007H SYMBOL ms
|
||||
------- DO
|
||||
D:0006H SYMBOL i
|
||||
------- ENDDO
|
||||
C:08D1H LINE# 78
|
||||
C:08D1H LINE# 80
|
||||
C:08D1H LINE# 82
|
||||
C:08D7H LINE# 83
|
||||
C:08D7H LINE# 84
|
||||
C:08E6H LINE# 85
|
||||
C:08E6H LINE# 86
|
||||
------- ENDPROC _DELAYMS
|
||||
------- ENDMOD MAIN
|
||||
|
||||
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
|
||||
SEGMENT: ?PR?_DELAY?MAIN
|
||||
|
||||
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
|
||||
SYMBOL: BEEP
|
||||
MODULE: .\Objects\main.obj (MAIN)
|
||||
|
||||
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
|
||||
SYMBOL: BEEP
|
||||
MODULE: .\Objects\main.obj (MAIN)
|
||||
ADDRESS: 08B5H
|
||||
|
||||
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
|
||||
SYMBOL: BEEP
|
||||
MODULE: .\Objects\main.obj (MAIN)
|
||||
ADDRESS: 08CAH
|
||||
|
||||
******************************************************************************
|
||||
* RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT; USED: 008FH BYTE ( 6%) *
|
||||
******************************************************************************
|
||||
|
||||
Program Size: data=10.0 xdata=0 code=272
|
||||
LINK/LOCATE RUN COMPLETE. 4 WARNING(S), 0 ERROR(S)
|
||||
1
Objects/STARTUP._ia
Normal file
1
Objects/STARTUP._ia
Normal file
@@ -0,0 +1 @@
|
||||
"STARTUP.A51" SET (SMALL) DEBUG PRINT(.\Listings\STARTUP.lst) OBJECT(.\Objects\STARTUP.obj) EP
|
||||
BIN
Objects/STARTUP.obj
Normal file
BIN
Objects/STARTUP.obj
Normal file
Binary file not shown.
BIN
Objects/main
Normal file
BIN
Objects/main
Normal file
Binary file not shown.
1
Objects/main.__i
Normal file
1
Objects/main.__i
Normal file
@@ -0,0 +1 @@
|
||||
"main.c" OPTIMIZE (8,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\Listings\main.lst) TABS (2) OBJECT(.\Objects\main.obj)
|
||||
49
Objects/main.build_log.htm
Normal file
49
Objects/main.build_log.htm
Normal file
@@ -0,0 +1,49 @@
|
||||
<html>
|
||||
<body>
|
||||
<pre>
|
||||
<h1><EFBFBD>Vision Build Log</h1>
|
||||
<h2>Tool Versions:</h2>
|
||||
IDE-Version: <20><>Vision V5.27.1.0
|
||||
Copyright (C) 2019 ARM Ltd and ARM Germany GmbH. All rights reserved.
|
||||
License Information: root Administrator, root, LIC=----
|
||||
|
||||
Tool Versions:
|
||||
Toolchain: PK51 Prof. Develpers Kit Version: 9.60.0.0
|
||||
Toolchain Path: D:\keli\uv5_arm\C51\BIN
|
||||
C Compiler: C51.exe V9.60.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.67.0.0
|
||||
<h2>Project:</h2>
|
||||
G:\Project\C\stc51\C51-PWM\main.uvproj
|
||||
Project File Date: 12/27/2025
|
||||
|
||||
<h2>Output:</h2>
|
||||
Rebuild target 'Target 1'
|
||||
assembling STARTUP.A51...
|
||||
compiling main.c...
|
||||
main.c(36): warning C206: 'Beep': missing function-prototype
|
||||
linking...
|
||||
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
|
||||
SEGMENT: ?PR?_DELAY?MAIN
|
||||
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
|
||||
SYMBOL: BEEP
|
||||
MODULE: .\Objects\main.obj (MAIN)
|
||||
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
|
||||
SYMBOL: BEEP
|
||||
MODULE: .\Objects\main.obj (MAIN)
|
||||
ADDRESS: 08B5H
|
||||
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
|
||||
SYMBOL: BEEP
|
||||
MODULE: .\Objects\main.obj (MAIN)
|
||||
ADDRESS: 08CAH
|
||||
Program Size: data=10.0 xdata=0 code=272
|
||||
creating hex file from ".\Objects\main"...
|
||||
".\Objects\main" - 0 Error(s), 5 Warning(s).
|
||||
Build Time Elapsed: 00:00:01
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
||||
26
Objects/main.hex
Normal file
26
Objects/main.hex
Normal file
@@ -0,0 +1,26 @@
|
||||
:03000000020800F3
|
||||
:0C080000787FE4F6D8FD758108020847F7
|
||||
:030903000108E701
|
||||
:10088C007590FF758921758CFF758ACE85088DE46E
|
||||
:10089C00F58BD2AFD2A9D2ABD28CE508F4600905A6
|
||||
:1008AC00087F0A1208D180031200003094ECE5088E
|
||||
:1008BC0064CE600915087F0A1208D180031200006B
|
||||
:0508CC003095EB80D522
|
||||
:03000B000208E701
|
||||
:1008E700C28E758CFF758ACE85088DD28EC28132F5
|
||||
:03001B000208FEDA
|
||||
:0508FE00C28ED2813220
|
||||
:0708F700AE071FEE70FA22AC
|
||||
:1008D100AD071FED600FE4FEEEC394787480948041
|
||||
:0508E10050EE0E80F353
|
||||
:0108E60022EF
|
||||
:10080C0002088CE493A3F8E493A34003F68001F26E
|
||||
:10081C0008DFF48029E493A3F85407240CC8C333ED
|
||||
:10082C00C4540F4420C8834004F456800146F6DFBC
|
||||
:10083C00E4800B0102040810204080900903E47E40
|
||||
:10084C00019360BCA3FF543F30E509541FFEE493B1
|
||||
:10085C00A360010ECF54C025E060A840B8E493A378
|
||||
:10086C00FAE493A3F8E493A3C8C582C8CAC583CAA3
|
||||
:10087C00F0A3C8C582C8CAC583CADFE9DEE780BE5B
|
||||
:0109060000F0
|
||||
:00000001FF
|
||||
4
Objects/main.lnp
Normal file
4
Objects/main.lnp
Normal file
@@ -0,0 +1,4 @@
|
||||
".\Objects\STARTUP.obj",
|
||||
".\Objects\main.obj"
|
||||
TO ".\Objects\main"
|
||||
PRINT(".\Listings\main.m51") RAMSIZE(256)
|
||||
BIN
Objects/main.obj
Normal file
BIN
Objects/main.obj
Normal file
Binary file not shown.
91
REG51.h
Normal file
91
REG51.h
Normal file
@@ -0,0 +1,91 @@
|
||||
/*--------------------------------------------------------------------------
|
||||
REG51.H
|
||||
|
||||
Header file for generic 80C51 and 80C31 microcontroller.
|
||||
Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
|
||||
All rights reserved.
|
||||
--------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef __REG51_H__
|
||||
#define __REG51_H__
|
||||
|
||||
/* BYTE Register */
|
||||
sfr P0 = 0x80;
|
||||
sfr P1 = 0x90;
|
||||
sfr P2 = 0xA0;
|
||||
sfr P3 = 0xB0;
|
||||
sfr PSW = 0xD0;
|
||||
sfr ACC = 0xE0;
|
||||
sfr B = 0xF0;
|
||||
sfr SP = 0x81;
|
||||
sfr DPL = 0x82;
|
||||
sfr DPH = 0x83;
|
||||
sfr PCON = 0x87;
|
||||
sfr TCON = 0x88;
|
||||
sfr TMOD = 0x89;
|
||||
sfr TL0 = 0x8A;
|
||||
sfr TL1 = 0x8B;
|
||||
sfr TH0 = 0x8C;
|
||||
sfr TH1 = 0x8D;
|
||||
sfr IE = 0xA8;
|
||||
sfr IP = 0xB8;
|
||||
sfr SCON = 0x98;
|
||||
sfr SBUF = 0x99;
|
||||
|
||||
|
||||
/* BIT Register */
|
||||
/* PSW */
|
||||
sbit CY = 0xD7;
|
||||
sbit AC = 0xD6;
|
||||
sbit F0 = 0xD5;
|
||||
sbit RS1 = 0xD4;
|
||||
sbit RS0 = 0xD3;
|
||||
sbit OV = 0xD2;
|
||||
sbit P = 0xD0;
|
||||
|
||||
/* TCON */
|
||||
sbit TF1 = 0x8F;
|
||||
sbit TR1 = 0x8E;
|
||||
sbit TF0 = 0x8D;
|
||||
sbit TR0 = 0x8C;
|
||||
sbit IE1 = 0x8B;
|
||||
sbit IT1 = 0x8A;
|
||||
sbit IE0 = 0x89;
|
||||
sbit IT0 = 0x88;
|
||||
|
||||
/* IE */
|
||||
sbit EA = 0xAF;
|
||||
sbit ES = 0xAC;
|
||||
sbit ET1 = 0xAB;
|
||||
sbit EX1 = 0xAA;
|
||||
sbit ET0 = 0xA9;
|
||||
sbit EX0 = 0xA8;
|
||||
|
||||
/* IP */
|
||||
sbit PS = 0xBC;
|
||||
sbit PT1 = 0xBB;
|
||||
sbit PX1 = 0xBA;
|
||||
sbit PT0 = 0xB9;
|
||||
sbit PX0 = 0xB8;
|
||||
|
||||
/* P3 */
|
||||
sbit RD = 0xB7;
|
||||
sbit WR = 0xB6;
|
||||
sbit T1 = 0xB5;
|
||||
sbit T0 = 0xB4;
|
||||
sbit INT1 = 0xB3;
|
||||
sbit INT0 = 0xB2;
|
||||
sbit TXD = 0xB1;
|
||||
sbit RXD = 0xB0;
|
||||
|
||||
/* SCON */
|
||||
sbit SM0 = 0x9F;
|
||||
sbit SM1 = 0x9E;
|
||||
sbit SM2 = 0x9D;
|
||||
sbit REN = 0x9C;
|
||||
sbit TB8 = 0x9B;
|
||||
sbit RB8 = 0x9A;
|
||||
sbit TI = 0x99;
|
||||
sbit RI = 0x98;
|
||||
|
||||
#endif
|
||||
198
STARTUP.A51
Normal file
198
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
|
||||
10
Target 1.BAT
Normal file
10
Target 1.BAT
Normal file
@@ -0,0 +1,10 @@
|
||||
SET C51INC=D:\keli\uv5_arm\C51\Inc;D:\keli\uv5_arm\C51\Inc\STC
|
||||
SET C51LIB=D:\keli\uv5_arm\C51\Lib
|
||||
SET CPU_TYPE=STC89C52RC Series
|
||||
SET CPU_VENDOR=STC
|
||||
SET UV2_TARGET=Target 1
|
||||
SET CPU_XTAL=0x00B71B00
|
||||
"D:\keli\uv5_arm\C51\BIN\A51.EXE" @".\Objects\STARTUP._ia"
|
||||
"D:\keli\uv5_arm\C51\BIN\C51.EXE" @".\Objects\main.__i"
|
||||
"D:\keli\uv5_arm\C51\BIN\BL51.EXE" @".\Objects\main.lnp"
|
||||
"D:\keli\uv5_arm\C51\BIN\OH51.EXE" ".\Objects\main"
|
||||
88
main.c
Normal file
88
main.c
Normal file
@@ -0,0 +1,88 @@
|
||||
#include "REG51.h"
|
||||
#include "INTRINS.h"
|
||||
|
||||
sbit K1 =P1^4 ; //<2F><><EFBFBD>Ӽ<EFBFBD>
|
||||
sbit K2 =P1^5 ; //<2F><><EFBFBD>ټ<EFBFBD>
|
||||
sbit P00 =P0^1;
|
||||
unsigned char PWM=0xe7; //<2F><><EFBFBD><EFBFBD>ֵ
|
||||
|
||||
|
||||
void delayms(unsigned char ms);
|
||||
void delay(unsigned char t);
|
||||
|
||||
/*********************************************************/
|
||||
void main()
|
||||
{
|
||||
|
||||
P1=0xff;
|
||||
TMOD=0x21 ;
|
||||
TH0=0xff ; //50us<75><73>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
||||
TL0=0xce ; //Ƶ<>ʵ<EFBFBD><CAB5><EFBFBD>
|
||||
|
||||
TH1=PWM ; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
TL1=0 ;
|
||||
|
||||
EA=1;
|
||||
ET0=1;
|
||||
ET1=1;
|
||||
|
||||
TR0=1 ;
|
||||
|
||||
while(1)
|
||||
{
|
||||
do{
|
||||
if(PWM!=0xff)
|
||||
{PWM++ ;delayms(10);}
|
||||
else Beep() ;
|
||||
}
|
||||
while(K1==0);
|
||||
|
||||
do{
|
||||
if(PWM!=0xce)
|
||||
{PWM-- ;delayms(10);}
|
||||
else Beep() ;
|
||||
}
|
||||
while(K2==0);
|
||||
}
|
||||
}
|
||||
|
||||
void timer0() interrupt 1
|
||||
{
|
||||
TR1=0 ;
|
||||
TH0=0xff ;
|
||||
TL0=0xce ;
|
||||
TH1=PWM ;
|
||||
TR1=1 ;
|
||||
P00=0 ; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
}
|
||||
|
||||
|
||||
void timer1() interrupt 3
|
||||
{
|
||||
TR1=0 ;
|
||||
P00=1 ; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
}
|
||||
|
||||
|
||||
/*********************************************************/
|
||||
// <20><>ʱ<EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD>
|
||||
/*********************************************************/
|
||||
void delay(unsigned char t)
|
||||
{
|
||||
while(t--) ;
|
||||
}
|
||||
|
||||
/*********************************************************/
|
||||
// <20><>ʱ<EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD>
|
||||
/*********************************************************/
|
||||
void delayms(unsigned char ms)
|
||||
|
||||
{
|
||||
unsigned char i ;
|
||||
while(ms--)
|
||||
{
|
||||
for(i = 0 ; i < 120 ; i++) ;
|
||||
}
|
||||
}
|
||||
|
||||
/*********************************************************/
|
||||
1914
main.uvgui.Administrator
Normal file
1914
main.uvgui.Administrator
Normal file
File diff suppressed because one or more lines are too long
221
main.uvopt
Normal file
221
main.uvopt
Normal file
@@ -0,0 +1,221 @@
|
||||
<?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>12000000</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>
|
||||
<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>1</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>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\main.c</PathWithFileName>
|
||||
<FilenameWithoutPath>main.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>1</GroupNumber>
|
||||
<FileNumber>3</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\INTRINS.h</PathWithFileName>
|
||||
<FilenameWithoutPath>INTRINS.h</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>1</GroupNumber>
|
||||
<FileNumber>4</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\REG51.h</PathWithFileName>
|
||||
<FilenameWithoutPath>REG51.h</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
</ProjectOpt>
|
||||
405
main.uvproj
Normal file
405
main.uvproj
Normal file
@@ -0,0 +1,405 @@
|
||||
<?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>STC89C52RC Series</Device>
|
||||
<Vendor>STC</Vendor>
|
||||
<Cpu>IRAM(0-0xFF) XRAM(0-0xFF) IROM(0-0x1FFF) CLOCK(45000000) MODP2</Cpu>
|
||||
<FlashUtilSpec></FlashUtilSpec>
|
||||
<StartupFile>"LIB\STARTUP.A51" ("Standard 8051 Startup Code")</StartupFile>
|
||||
<FlashDriverDll></FlashDriverDll>
|
||||
<DeviceId>61442</DeviceId>
|
||||
<RegisterFile>STC89C5xRC.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>STC\</RegisterFilePath>
|
||||
<DBRegisterFilePath>STC\</DBRegisterFilePath>
|
||||
<TargetStatus>
|
||||
<Error>0</Error>
|
||||
<ExitCodeStop>0</ExitCodeStop>
|
||||
<ButtonStop>0</ButtonStop>
|
||||
<NotGenerated>0</NotGenerated>
|
||||
<InvalidFlash>1</InvalidFlash>
|
||||
</TargetStatus>
|
||||
<OutputDirectory>.\Objects\</OutputDirectory>
|
||||
<OutputName>main</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>1</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>1</HadXRAM>
|
||||
<HadIROM>1</HadIROM>
|
||||
<Moda2>0</Moda2>
|
||||
<Moddp2>0</Moddp2>
|
||||
<Modp2>1</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>0x2000</Size>
|
||||
</IRO>
|
||||
<IRA>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x100</Size>
|
||||
</IRA>
|
||||
<XRA>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x100</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>main.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>.\main.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>INTRINS.h</FileName>
|
||||
<FileType>5</FileType>
|
||||
<FilePath>.\INTRINS.h</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>REG51.h</FileName>
|
||||
<FileType>5</FileType>
|
||||
<FilePath>.\REG51.h</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
</Groups>
|
||||
</Target>
|
||||
</Targets>
|
||||
|
||||
</Project>
|
||||
Reference in New Issue
Block a user