先存一下

This commit is contained in:
iridiumR 2022-03-30 21:26:30 +08:00
parent 3b5d3ff125
commit 6e42dca90a
8 changed files with 1272 additions and 0 deletions

View File

@ -0,0 +1,377 @@
BL51 BANKED LINKER/LOCATER V6.22.2.0 03/30/2022 21:25:24 PAGE 1
BL51 BANKED LINKER/LOCATER V6.22.2.0, INVOKED BY:
C:\KEIL_V5\C51\BIN\BL51.EXE .\Objects\main.obj, .\Objects\delay.obj, .\Objects\led_num.obj TO .\Objects\MCU_1 PRINT (.\L
>> istings\MCU_1.m51)
MEMORY MODEL: LARGE
INPUT MODULES INCLUDED:
.\Objects\main.obj (MAIN)
.\Objects\delay.obj (DELAY)
.\Objects\led_num.obj (LED_NUM)
C:\KEIL_V5\C51\LIB\C51L.LIB (?C_STARTUP)
C:\KEIL_V5\C51\LIB\C51L.LIB (?C?IMUL)
C:\KEIL_V5\C51\LIB\C51L.LIB (?C?ULDIV)
C:\KEIL_V5\C51\LIB\C51L.LIB (?C?SLDIV)
C:\KEIL_V5\C51\LIB\C51L.LIB (?C?ULCMP)
C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LSTXDATA)
C:\KEIL_V5\C51\LIB\C51L.LIB (?C_INIT)
LINK MAP OF MODULE: .\Objects\MCU_1 (MAIN)
TYPE BASE LENGTH RELOCATION SEGMENT NAME
-----------------------------------------------------
* * * * * * * D A T A M E M O R Y * * * * * * *
REG 0000H 0008H ABSOLUTE "REG BANK 0"
IDATA 0008H 0001H UNIT ?STACK
* * * * * * * X D A T A M E M O R Y * * * * * * *
XDATA 0000H 000CH UNIT ?XD?LED_NUM
XDATA 000CH 000AH UNIT ?XD?MAIN
XDATA 0016H 0004H UNIT _XDATA_GROUP_
XDATA 001AH 0003H UNIT ?XD?HELLO_FULL_DISPLAY?LED_NUM
XDATA 001DH 0002H UNIT ?XD?_GET_VAR?LED_NUM
* * * * * * * C O D E M E M O R Y * * * * * * *
CODE 0000H 0003H ABSOLUTE
CODE 0003H 0008H UNIT ?PR?MAIN?MAIN
CODE 000BH 0003H ABSOLUTE
CODE 000EH 00FDH UNIT ?C?LIB_CODE
CODE 010BH 00C9H UNIT ?PR?HELLO_DISPLAY?LED_NUM
CODE 01D4H 009FH UNIT ?PR?IFLIGHT?MAIN
CODE 0273H 009DH UNIT ?PR?HELLO_FULL_DISPLAY?LED_NUM
CODE 0310H 008CH UNIT ?C_C51STARTUP
CODE 039CH 0060H UNIT ?PR?PULSE?MAIN
CODE 03FCH 0056H UNIT ?PR?NUM_DISPLAY?LED_NUM
CODE 0452H 0051H UNIT ?PR?_GET_VAR?LED_NUM
CODE 04A3H 0044H UNIT ?C?LDIV
CODE 04E7H 002BH UNIT ?C_INITSEG
CODE 0512H 0029H UNIT ?PR?SETCONFIG?MAIN
CODE 053BH 0012H UNIT ?PR?NUM_PUSH?LED_NUM
CODE 054DH 000FH UNIT ?PR?HELLO_PUSH?LED_NUM
CODE 055CH 000EH UNIT ?PR?_DELAY?DELAY
CODE 056AH 0007H UNIT ?PR?LEDFULL?LED_NUM
BL51 BANKED LINKER/LOCATER V6.22.2.0 03/30/2022 21:25:24 PAGE 2
OVERLAY MAP OF MODULE: .\Objects\MCU_1 (MAIN)
SEGMENT XDATA_GROUP
+--> CALLED SEGMENT START LENGTH
------------------------------------------------------
?C_C51STARTUP ----- -----
+--> ?PR?MAIN?MAIN
+--> ?C_INITSEG
?PR?MAIN?MAIN ----- -----
+--> ?PR?SETCONFIG?MAIN
+--> ?PR?IFLIGHT?MAIN
?PR?IFLIGHT?MAIN 0016H 0004H
SYMBOL TABLE OF MODULE: .\Objects\MCU_1 (MAIN)
VALUE TYPE NAME
----------------------------------
------- MODULE MAIN
C:0000H SYMBOL _ICE_DUMMY_
D:0090H PUBLIC P1
D:00B0H PUBLIC P3
B:00A8H.7 PUBLIC EA
D:00A8H PUBLIC IE
D:00B8H PUBLIC IP
X:000CH PUBLIC TH
X:000EH PUBLIC TL
C:0003H PUBLIC main
C:0512H PUBLIC setConfig
C:039CH PUBLIC pulse
X:0010H PUBLIC count
D:0098H PUBLIC SCON
D:0089H PUBLIC TMOD
D:0088H PUBLIC TCON
B:00A8H.1 PUBLIC ET0
X:0014H PUBLIC var
C:01D4H PUBLIC ifLight
D:008CH PUBLIC TH0
D:008AH PUBLIC TL0
B:0088H.4 PUBLIC TR0
D:00C8H PUBLIC T2CON
X:0015H PUBLIC enable
D:00D0H PUBLIC PSW
------- PROC SETCONFIG
C:0512H LINE# 13
C:0512H LINE# 14
C:0512H LINE# 15
C:051BH LINE# 16
C:0522H LINE# 17
C:0529H LINE# 18
BL51 BANKED LINKER/LOCATER V6.22.2.0 03/30/2022 21:25:24 PAGE 3
C:052EH LINE# 20
C:0531H LINE# 22
C:0533H LINE# 23
C:0535H LINE# 24
C:0537H LINE# 26
C:053AH LINE# 27
------- ENDPROC SETCONFIG
------- PROC PULSE
C:039CH LINE# 29
C:03B3H LINE# 32
C:03BCH LINE# 33
C:03C2H LINE# 34
C:03C8H LINE# 35
C:03E7H LINE# 36
------- ENDPROC PULSE
------- PROC IFLIGHT
------- DO
X:0016H SYMBOL time
------- DO
X:0018H SYMBOL i
------- ENDDO
------- ENDDO
C:01D4H LINE# 38
C:01D4H LINE# 39
C:01D4H LINE# 40
C:01DDH LINE# 41
C:01DDH LINE# 43
C:01F7H LINE# 44
C:01F7H LINE# 46
C:022CH LINE# 47
C:022CH LINE# 49
C:0233H LINE# 50
C:0254H LINE# 51
C:025AH LINE# 52
C:025CH LINE# 53
C:025CH LINE# 54
C:026DH LINE# 56
C:0272H LINE# 57
C:0272H LINE# 58
------- ENDPROC IFLIGHT
------- PROC MAIN
C:0003H LINE# 61
C:0003H LINE# 62
C:0003H LINE# 64
C:0006H LINE# 65
C:0006H LINE# 66
C:0006H LINE# 67
C:0009H LINE# 68
------- ENDPROC MAIN
------- ENDMOD MAIN
------- MODULE DELAY
C:0000H SYMBOL _ICE_DUMMY_
C:055CH PUBLIC _delay
------- PROC _DELAY
D:0006H SYMBOL i
C:055CH LINE# 3
BL51 BANKED LINKER/LOCATER V6.22.2.0 03/30/2022 21:25:24 PAGE 4
C:055CH LINE# 5
C:055CH LINE# 6
C:0569H LINE# 7
------- ENDPROC _DELAY
------- ENDMOD DELAY
------- MODULE LED_NUM
C:0000H SYMBOL _ICE_DUMMY_
D:0080H PUBLIC P0
D:0090H PUBLIC P1
D:00A0H PUBLIC P2
D:00B0H PUBLIC P3
C:0273H PUBLIC hello_full_display
D:00A8H PUBLIC IE
D:00B8H PUBLIC IP
X:0000H SYMBOL count
C:03FCH PUBLIC num_display
D:0098H PUBLIC SCON
D:0088H PUBLIC TCON
C:054DH PUBLIC hello_push
X:0002H PUBLIC hello_var
X:0008H SYMBOL e
D:00C8H PUBLIC T2CON
X:0009H SYMBOL i
C:056AH PUBLIC ledfull
C:0452H SYMBOL _get_var
C:010BH PUBLIC hello_display
C:053BH PUBLIC num_push
D:00D0H PUBLIC PSW
X:000BH SYMBOL var2
------- PROC _GET_VAR
X:001DH SYMBOL k
C:0452H LINE# 9
C:045AH LINE# 10
C:045AH LINE# 11
C:04A2H LINE# 12
------- ENDPROC _GET_VAR
------- PROC HELLO_DISPLAY
C:010BH LINE# 19
C:010BH LINE# 20
C:010BH LINE# 21
C:011DH LINE# 22
C:011DH LINE# 23
C:0120H LINE# 24
C:0129H LINE# 25
C:0130H LINE# 26
C:0133H LINE# 28
C:0136H LINE# 29
C:013FH LINE# 30
C:0146H LINE# 31
C:0149H LINE# 33
C:014CH LINE# 34
C:0155H LINE# 35
C:015CH LINE# 36
C:015FH LINE# 38
C:0162H LINE# 39
C:016BH LINE# 40
BL51 BANKED LINKER/LOCATER V6.22.2.0 03/30/2022 21:25:24 PAGE 5
C:0172H LINE# 41
C:0175H LINE# 43
C:0178H LINE# 44
C:0181H LINE# 45
C:0188H LINE# 46
C:018BH LINE# 48
C:018EH LINE# 49
C:0196H LINE# 50
C:019DH LINE# 51
C:01A0H LINE# 56
C:01A0H LINE# 57
C:01AFH LINE# 58
C:01AFH LINE# 59
C:01B2H LINE# 61
C:01B2H LINE# 62
C:01C0H LINE# 63
C:01CFH LINE# 64
C:01D3H LINE# 66
------- ENDPROC HELLO_DISPLAY
------- PROC HELLO_PUSH
C:054DH LINE# 68
C:054DH LINE# 69
C:054DH LINE# 71
C:055BH LINE# 77
------- ENDPROC HELLO_PUSH
------- PROC NUM_DISPLAY
C:03FCH LINE# 79
C:03FCH LINE# 80
C:03FCH LINE# 81
C:040BH LINE# 82
C:040BH LINE# 84
C:040EH LINE# 85
C:0414H LINE# 86
C:041BH LINE# 87
C:041EH LINE# 92
C:041EH LINE# 93
C:042DH LINE# 94
C:042DH LINE# 95
C:0430H LINE# 96
C:0430H LINE# 97
C:043EH LINE# 98
C:044DH LINE# 99
C:0451H LINE# 101
------- ENDPROC NUM_DISPLAY
------- PROC NUM_PUSH
C:053BH LINE# 104
C:053BH LINE# 105
C:053BH LINE# 106
C:054CH LINE# 107
------- ENDPROC NUM_PUSH
------- PROC LEDFULL
C:056AH LINE# 109
C:056AH LINE# 110
C:056AH LINE# 111
C:056DH LINE# 112
C:0570H LINE# 113
------- ENDPROC LEDFULL
BL51 BANKED LINKER/LOCATER V6.22.2.0 03/30/2022 21:25:24 PAGE 6
------- PROC HELLO_FULL_DISPLAY
------- DO
X:001AH SYMBOL var3
X:001BH SYMBOL j
------- ENDDO
C:0273H LINE# 116
C:0273H LINE# 117
C:0273H LINE# 118
C:0282H LINE# 119
C:0282H LINE# 120
C:0288H LINE# 122
C:028DH LINE# 123
C:028DH LINE# 124
C:029EH LINE# 125
C:02A0H LINE# 126
C:02B3H LINE# 127
C:02BAH LINE# 128
C:02BDH LINE# 129
C:02DCH LINE# 134
C:02DCH LINE# 135
C:02EBH LINE# 136
C:02EBH LINE# 137
C:02EEH LINE# 139
C:02EEH LINE# 140
C:02FCH LINE# 141
C:030BH LINE# 142
C:030FH LINE# 144
------- ENDPROC HELLO_FULL_DISPLAY
------- ENDMOD LED_NUM
------- MODULE ?C?IMUL
C:000EH PUBLIC ?C?IMUL
------- ENDMOD ?C?IMUL
------- MODULE ?C?ULDIV
C:005CH PUBLIC ?C?ULDIV
------- ENDMOD ?C?ULDIV
------- MODULE ?C?SLDIV
C:04A3H PUBLIC ?C?SLDIV
------- ENDMOD ?C?SLDIV
------- MODULE ?C?ULCMP
C:00EEH PUBLIC ?C?ULCMP
------- ENDMOD ?C?ULCMP
------- MODULE ?C?LSTXDATA
C:00FFH PUBLIC ?C?LSTXDATA
------- ENDMOD ?C?LSTXDATA
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?HELLO_DISPLAY?LED_NUM
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?HELLO_PUSH?LED_NUM
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
BL51 BANKED LINKER/LOCATER V6.22.2.0 03/30/2022 21:25:24 PAGE 7
SEGMENT: ?PR?NUM_DISPLAY?LED_NUM
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?NUM_PUSH?LED_NUM
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?LEDFULL?LED_NUM
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?HELLO_FULL_DISPLAY?LED_NUM
Program Size: data=9.0 xdata=31 code=1393
LINK/LOCATE RUN COMPLETE. 6 WARNING(S), 0 ERROR(S)

View File

@ -0,0 +1,248 @@
<?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; *.md</tExt>
<pExt>*.plm</pExt>
<CppX>*.cpp</CppX>
<nMigrate>0</nMigrate>
</Extensions>
<DaveTm>
<dwLowDateTime>0</dwLowDateTime>
<dwHighDateTime>0</dwHighDateTime>
</DaveTm>
<Target>
<TargetName>MCU_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>0</uSim>
<uTrg>1</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>1</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>0</nTsel>
<sDll></sDll>
<sDllPa></sDllPa>
<sDlgDll></sDlgDll>
<sDlgPa></sDlgPa>
<sIfile></sIfile>
<tDll></tDll>
<tDllPa></tDllPa>
<tDlgDll></tDlgDll>
<tDlgPa></tDlgPa>
<tIfile></tIfile>
<pMon>BIN\MON51.DLL</pMon>
</DebugOpt>
<TargetDriverDllRegistry>
<SetRegEntry>
<Number>0</Number>
<Key>DLGTP51</Key>
<Name>(98=-1,-1,-1,-1,0)(82=-1,-1,-1,-1,0)(83=-1,-1,-1,-1,0)(84=-1,-1,-1,-1,0)(85=-1,-1,-1,-1,0)(80=-1,-1,-1,-1,0)(91=-1,-1,-1,-1,0)(92=-1,-1,-1,-1,0)</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>MON51</Key>
<Name>-S2 -B115200 -O15</Name>
</SetRegEntry>
</TargetDriverDllRegistry>
<Breakpoint/>
<WatchWindow1>
<Ww>
<count>0</count>
<WinNumber>1</WinNumber>
<ItemText>i</ItemText>
</Ww>
</WatchWindow1>
<Tracepoint>
<THDelay>0</THDelay>
</Tracepoint>
<DebugFlag>
<trace>0</trace>
<periodic>1</periodic>
<aLwin>1</aLwin>
<aCover>0</aCover>
<aSer1>0</aSer1>
<aSer2>0</aSer2>
<aPa>0</aPa>
<viewmode>1</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>SRC</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>1</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\main.c</PathWithFileName>
<FilenameWithoutPath>main.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
<GroupName>INC</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>2</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\delay.c</PathWithFileName>
<FilenameWithoutPath>delay.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>3</FileNumber>
<FileType>1</FileType>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\led_num.c</PathWithFileName>
<FilenameWithoutPath>led_num.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
</ProjectOpt>

View 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>MCU_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>MCU_1</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>0</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>1</UseTarget>
<LoadApplicationAtStartup>1</LoadApplicationAtStartup>
<RunToMain>1</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>0</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>BIN\MON51.DLL</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>2</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>0xffff</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>..\MCU</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>SRC</GroupName>
<Files>
<File>
<FileName>main.c</FileName>
<FileType>1</FileType>
<FilePath>.\main.c</FilePath>
</File>
</Files>
</Group>
<Group>
<GroupName>INC</GroupName>
<Files>
<File>
<FileName>delay.c</FileName>
<FileType>1</FileType>
<FilePath>.\delay.c</FilePath>
</File>
<File>
<FileName>led_num.c</FileName>
<FileType>1</FileType>
<FilePath>.\led_num.c</FilePath>
</File>
</Files>
</Group>
</Groups>
</Target>
</Targets>
</Project>

View File

@ -0,0 +1,7 @@
#include "delay.h"
void delay(int i)
{
for(i = 14; i > 0; i--);
}

View File

@ -0,0 +1,7 @@
#ifndef _DELAY_H_
#define _DELAY_H_
void delay(int i);
#endif

View File

@ -0,0 +1,144 @@
#include <reg52.h>
#include "led_num.h"
#include <intrins.h>
#include "delay.h"
#define DUTY 10
static unsigned int i = 0;
const unsigned char hello_var[] = {0x89, 0x86, 0xc7, 0xc7, 0xc0,0xff};
static unsigned char get_var(int k)
{
return hello_var[(65535-i+k)%6];
}
static unsigned char var2 = 0xfd;
static unsigned int count = 0;
static unsigned char e = 0xfe;
void hello_display()
{
if(count < DUTY)
{
P0 = 0xfe;
P2 = get_var(5);
delay(1);
P2 = 0XFF;
P0 = 0xfd;
P2 = get_var(4);
delay(1);
P2 = 0XFF;
P0 = 0xfb;
P2 = get_var(3);
delay(1);
P2 = 0XFF;
P0 = 0xf7;
P2 = get_var(2);
delay(1);
P2 = 0XFF;
P0 = 0xef;
P2 = get_var(1);
delay(1);
P2 = 0XFF;
P0 = 0xdf;
P2 = get_var(0);
delay(1);
P2 = 0XFF;
// var2 = var2 >> 1;
// if(var2 == 0)
// var2 = 0x10;
}
if(count >= DUTY)
{
P2 = 0XFF;
}
count++;
if(count >= 100)
count = 0;
return;
}
void hello_push()
{
// var2 = _crol_(var2, 1);
i++;
// if(var2 < 0xdf)
// {
// i = 0;
// var2 = 0xfd;
// }
}
void num_display()
{
if(count < DUTY)
{
P0 = 0xfe;
P2 = e;
delay(1);
P2 = 0XFF;
// var2 = var2 >> 1;
// if(var2 == 0)
// var2 = 0x10;
}
if(count >= DUTY)
{
P2 = 0XFF;
}
count++;
if(count >= 100)
count = 0;
return;
}
void num_push()
{
e = _crol_(e, 1);
}
void ledfull()
{
P2 = 0xff;
P0 = 0X00;
}
void hello_full_display()
{
if(count < DUTY)
{
unsigned char var3=0xfd;
int j;
for(j=0;j<5;j++)
{
var3 = _crol_(var3,1);
P1=var3;
P2 = hello_var[i];
delay(1);
P2 = 0XFF;
}
// var2 = var2 >> 1;
// if(var2 == 0)
// var2 = 0x10;
}
if(count >= DUTY)
{
P2 = 0XFF;
}
count++;
if(count >= 100)
count = 0;
return;
}

View File

@ -0,0 +1,15 @@
#ifndef _LED_NUM_H_
#define _LDE_NUM_H_
void hello_display();
void hello_push();
void num_display();
void num_push();
#endif

View File

@ -0,0 +1,69 @@
#include <reg52.h>
#include <intrins.h>
#include "delay.h"
unsigned long int count = 0;
unsigned char var = 0xFF;
#define RELOAD (65535-46080)
int TH, TL;
unsigned char enable = 0;
void setConfig()
{
TH = RELOAD / 256;
TL = RELOAD - (RELOAD / 256) * 256;
TH0 = TH;
TL0 = TL;
TMOD = 0x01; //使用定时器T0高4位全为0,低4位GATE=0C/T=0采用工作方式1M1=0,M1=1
TR0 = 1; //启动定时器0
EA = 1; //打开中断总开关
ET0 = 1; //打开定时器0中断开关
P1 = 0X00;
}
void pulse() interrupt 1
{
TL0 += TL;
TL0 += 19;
enable = 1;
count++;
}
void ifLight()
{
if(enable)
{
int time;
for(time = 1; time < 9; time++) //时间匹配
{
if(count % (20 * time) == 0) //是否整数倍
{
int i = 1;
i = i << (time - 1);
var = var ^ i;
P1 = var;
}
}
enable = 0;
}
}
int main()
{
//P1 灯
setConfig();
while(1)
{
ifLight();
}
}