first commit
This commit is contained in:
182
Interrupt_2.c
Normal file
182
Interrupt_2.c
Normal file
@ -0,0 +1,182 @@
|
||||
// Timer 0 take as interrupt
|
||||
// Timer 1 take as interrupt
|
||||
|
||||
#include <reg51.h>
|
||||
|
||||
// <20>ŧi<C5A7><69><EFBFBD>ɨ禡
|
||||
void delay_1500ms(void);
|
||||
|
||||
unsigned int timer0_counter = 150;
|
||||
unsigned int timer1_counter = 150;
|
||||
int seg_pos = 0, seg_num = 0;
|
||||
int LED_mode = 0;
|
||||
//LED
|
||||
bit lightoff = 1;
|
||||
bit lighton = 0;
|
||||
|
||||
char code LED_light[17] = {
|
||||
~0x00,
|
||||
~0x01,
|
||||
~0x03,
|
||||
~0x07,
|
||||
~0x0F,
|
||||
~0x1F,
|
||||
~0x3F,
|
||||
~0x7F,
|
||||
~0xFF,
|
||||
~0x7F,
|
||||
~0x3F,
|
||||
~0x1F,
|
||||
~0x0F,
|
||||
~0x07,
|
||||
~0x03,
|
||||
~0x01
|
||||
};
|
||||
|
||||
//Segment
|
||||
// <20>ŧi D <20><><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD><CFBE>}
|
||||
sbit P2_6 = P2^6;
|
||||
sbit P2_7 = P2^7;
|
||||
|
||||
// <20>ŧi<C5A7>C<EFBFBD>q<EFBFBD><71><EFBFBD>ܾ<EFBFBD><DCBE>禡
|
||||
void Slect_Seg(unsigned char number);
|
||||
void Display_Seg(unsigned char display);
|
||||
|
||||
//<2F>ŧi<C5A7>Ʀr<C6A6><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
char code NUM[10] = {
|
||||
0x3F, // 0
|
||||
0x06, // 1
|
||||
0x5B, // 2
|
||||
0x4F, // 3
|
||||
0x66, // 4
|
||||
0x6D, // 5
|
||||
0x7D, // 6
|
||||
0x07, // 7
|
||||
0x7F, // 8
|
||||
0x6F // 9
|
||||
};
|
||||
|
||||
char code POS[6] = {
|
||||
~0x01, // 0xfe <20>N<EFBFBD>O 11111110
|
||||
~0x02, // 0000 0010
|
||||
~0x04, // 0000 0100
|
||||
~0x08, // 0000 1000
|
||||
~0x10, // 0001 0000
|
||||
~0x20 // 0010 0000
|
||||
};
|
||||
|
||||
|
||||
void main(void){
|
||||
|
||||
//<2F>}<7D><> Timer0 <20>M Timer1
|
||||
TMOD = 0x11;
|
||||
|
||||
//interrupt control (timer0)
|
||||
TL0 = (65536 - 9216) % 256;
|
||||
TH0 = (65536 - 9216) / 256;
|
||||
TF0 = 0;
|
||||
TR0 = 1; //<2F>}<7D>ҭp<D2AD>ɾ<EFBFBD> timer0
|
||||
ET0 = 1; //<2F>}<7D><> TF0 <20><><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD>Ҳն}<7D><>
|
||||
EA = 1; //<2F>}<7D>Ҥ<EFBFBD><D2A4>_<EFBFBD>Ҳ<EFBFBD><D2B2>`<60>}<7D><>
|
||||
|
||||
|
||||
//interrupt control (timer1)
|
||||
TL1 = (65536 - 9216) % 256;
|
||||
TH1 = (65536 - 9216) / 256;
|
||||
TF1 = 0;
|
||||
TR1 = 1; //<2F>}<7D>ҭp<D2AD>ɾ<EFBFBD> timer0
|
||||
ET1 = 1; //<2F>}<7D><> TF0 <20><><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD>Ҳն}<7D><>
|
||||
}
|
||||
|
||||
|
||||
// timer0 <20>b<EFBFBD>p<EFBFBD>ɨ쪺<C9A8>ɭ<EFBFBD>(TF0 = 1)<29>|<7C>I<EFBFBD>s<EFBFBD><73><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD>ƨ禡
|
||||
void my_timer0(void) interrupt 1 {
|
||||
|
||||
//<2F>]<5D>w<EFBFBD><77><EFBFBD>l<EFBFBD><6C>
|
||||
TL0 = (65536 - 9216) % 256;
|
||||
TH0 = (65536 - 9216) / 256;
|
||||
TF0 = 0;
|
||||
|
||||
// timer0_counter <20>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
timer0_counter--;
|
||||
|
||||
|
||||
//<2F><> timer0_counter <20><> 0 <20>ɡA<C9A1><41><EFBFBD>@<40>C<EFBFBD>q<EFBFBD><71><EFBFBD>ܾ<EFBFBD>
|
||||
if (timer0_counter == 0){
|
||||
|
||||
// *********<2A><><EFBFBD>@<40>C<EFBFBD>q<EFBFBD><71><EFBFBD>ܾ<EFBFBD>*********
|
||||
Slect_Seg(POS[seg_pos]); // <20>]<5D>w<EFBFBD><77><EFBFBD><EFBFBD><EFBFBD>G
|
||||
Display_Seg(NUM[seg_num]); // <20><><EFBFBD>Ʀr
|
||||
seg_pos = (seg_pos + 1) % 6;
|
||||
seg_num = (seg_num + 1) % 10;
|
||||
|
||||
//<2F>N timer0_counter <20><><EFBFBD>ȳ]<5D>^ 150
|
||||
timer0_counter = 150;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// timer1 <20>b<EFBFBD>p<EFBFBD>ɨ쪺<C9A8>ɭ<EFBFBD>(TF1 = 1)<29>|<7C>I<EFBFBD>s<EFBFBD><73><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD>ƨ禡
|
||||
void my_timer1(void) interrupt 3 {
|
||||
|
||||
//<2F>]<5D>w<EFBFBD><77><EFBFBD>l<EFBFBD><6C>
|
||||
TL1 = (65536 - 9216) % 256;
|
||||
TH1 = (65536 - 9216) / 256;
|
||||
TF1 = 0;
|
||||
|
||||
// timer1_counter <20>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
timer1_counter--;
|
||||
|
||||
|
||||
//<2F><> timer1_counter <20><> 0 <20>ɡA<C9A1><41><EFBFBD>@<40>C<EFBFBD>q<EFBFBD><71><EFBFBD>ܾ<EFBFBD>
|
||||
if (timer1_counter == 0){
|
||||
|
||||
// ********* <20><><EFBFBD>@ LED *********
|
||||
for(LED_mode = 0; LED_mode < 16; LED_mode++) {
|
||||
P1 = LED_light[LED_mode];
|
||||
}
|
||||
|
||||
//<2F>N timer0_counter <20><><EFBFBD>ȳ]<5D>^ 150
|
||||
timer1_counter = 150;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Slect_Seg(unsigned char number) {
|
||||
int j = 0;
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> D <20><><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>(<28>w<EFBFBD><77><EFBFBD><EFBFBD><EFBFBD>I)
|
||||
P2_7 = 0;
|
||||
|
||||
// <20><><EFBFBD>w<EFBFBD><77><EFBFBD><EFBFBD><EFBFBD>G
|
||||
P0 = number;
|
||||
|
||||
// <20>}<7D>ұ<EFBFBD><D2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>G<EFBFBD><47> D <20><><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>
|
||||
P2_7 = 1;
|
||||
|
||||
// <20><><EFBFBD><EFBFBD>(<28>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD>G)
|
||||
for(j = 0; j < 120; j++);
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> D <20><><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>(<28><><EFBFBD>Y<EFBFBD>i<EFBFBD>h<EFBFBD><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>T<EFBFBD>w<EFBFBD>G)
|
||||
P2_7 = 0;
|
||||
}
|
||||
|
||||
void Display_Seg(unsigned char display) {
|
||||
int j = 0;
|
||||
// <20><><EFBFBD><EFBFBD> D <20><><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>(<28>w<EFBFBD><77><EFBFBD><EFBFBD><EFBFBD>I)
|
||||
P2_6 = 0;
|
||||
|
||||
// <20><><EFBFBD>w<EFBFBD><77><EFBFBD>X
|
||||
P0 = display;
|
||||
|
||||
// <20>}<7D>ұ<EFBFBD><D2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>G<EFBFBD><47> D <20><><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>
|
||||
P2_6 = 1;
|
||||
|
||||
// <20><><EFBFBD><EFBFBD>(<28>Y<EFBFBD><59><EFBFBD>X)
|
||||
for(j = 0; j < 120; j++);
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> D <20><><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>(<28><><EFBFBD>Y<EFBFBD>i<EFBFBD>h<EFBFBD><68><EFBFBD><EFBFBD><EFBFBD>X<EFBFBD>T<EFBFBD>w<EFBFBD><77>)
|
||||
P2_6 = 0;
|
||||
}
|
1360
Interrupt_2.uvgui.jj971
Normal file
1360
Interrupt_2.uvgui.jj971
Normal file
File diff suppressed because one or more lines are too long
185
Interrupt_2.uvopt
Normal file
185
Interrupt_2.uvopt
Normal file
@ -0,0 +1,185 @@
|
||||
<?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</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>0</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>
|
||||
<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>
|
||||
</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>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\Interrupt_2.c</PathWithFileName>
|
||||
<FilenameWithoutPath>Interrupt_2.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
</ProjectOpt>
|
377
Interrupt_2.uvproj
Normal file
377
Interrupt_2.uvproj
Normal file
@ -0,0 +1,377 @@
|
||||
<?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>
|
||||
<TargetOption>
|
||||
<TargetCommonOption>
|
||||
<Device>AT89C51</Device>
|
||||
<Vendor>Atmel</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>Interrupt_2</OutputName>
|
||||
<CreateExecutable>1</CreateExecutable>
|
||||
<CreateLib>0</CreateLib>
|
||||
<CreateHexFile>0</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>
|
||||
<ModC2>0</ModC2>
|
||||
<ModH2>0</ModH2>
|
||||
<Mdu_R515>0</Mdu_R515>
|
||||
<Mdu_F120>0</Mdu_F120>
|
||||
<Psoc>0</Psoc>
|
||||
<hadIROM2>0</hadIROM2>
|
||||
<ModSmx2>0</ModSmx2>
|
||||
<cBanks>0</cBanks>
|
||||
<xBanks>0</xBanks>
|
||||
<OnChipMemories>
|
||||
<RCB>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</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>
|
||||
</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>Interrupt_2.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>.\Interrupt_2.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
</Groups>
|
||||
</Target>
|
||||
</Targets>
|
||||
|
||||
</Project>
|
212
Listings/Interrupt_2.lst
Normal file
212
Listings/Interrupt_2.lst
Normal file
@ -0,0 +1,212 @@
|
||||
C51 COMPILER V9.54 INTERRUPT_2 05/14/2018 01:49:10 PAGE 1
|
||||
|
||||
|
||||
C51 COMPILER V9.54, COMPILATION OF MODULE INTERRUPT_2
|
||||
OBJECT MODULE PLACED IN .\Objects\Interrupt_2.obj
|
||||
COMPILER INVOKED BY: C:\Keil_v5\C51\BIN\C51.EXE Interrupt_2.c OPTIMIZE(8,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\Listin
|
||||
-gs\Interrupt_2.lst) TABS(2) OBJECT(.\Objects\Interrupt_2.obj)
|
||||
|
||||
line level source
|
||||
|
||||
1 // Timer 0 take as interrupt
|
||||
2 // Timer 1 take as interrupt
|
||||
3
|
||||
4 #include <reg51.h>
|
||||
5
|
||||
6 // <20>ŧi<C5A7><69><EFBFBD>ɨ禡
|
||||
7 void delay_1500ms(void);
|
||||
8
|
||||
9 unsigned int timer0_counter = 150;
|
||||
10 unsigned int timer1_counter = 150;
|
||||
11 int seg_pos = 0, seg_num = 0;
|
||||
12 int LED_mode = 0;
|
||||
13 //LED
|
||||
14 bit lightoff = 1;
|
||||
15 bit lighton = 0;
|
||||
16
|
||||
17 char code LED_light[17] = {
|
||||
18 ~0x00,
|
||||
19 ~0x01,
|
||||
20 ~0x03,
|
||||
21 ~0x07,
|
||||
22 ~0x0F,
|
||||
23 ~0x1F,
|
||||
24 ~0x3F,
|
||||
25 ~0x7F,
|
||||
26 ~0xFF,
|
||||
27 ~0x7F,
|
||||
28 ~0x3F,
|
||||
29 ~0x1F,
|
||||
30 ~0x0F,
|
||||
31 ~0x07,
|
||||
32 ~0x03,
|
||||
33 ~0x01
|
||||
34 };
|
||||
35
|
||||
36 //Segment
|
||||
37 // <20>ŧi D <20><><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD><CFBE>}
|
||||
38 sbit P2_6 = P2^6;
|
||||
39 sbit P2_7 = P2^7;
|
||||
40
|
||||
41 // <20>ŧi<C5A7>C<EFBFBD>q<EFBFBD><71><EFBFBD>ܾ<EFBFBD><DCBE>禡
|
||||
42 void Slect_Seg(unsigned char number);
|
||||
43 void Display_Seg(unsigned char display);
|
||||
44
|
||||
45 //<2F>ŧi<C5A7>Ʀr<C6A6><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
46 char code NUM[10] = {
|
||||
47 0x3F, // 0
|
||||
48 0x06, // 1
|
||||
49 0x5B, // 2
|
||||
50 0x4F, // 3
|
||||
51 0x66, // 4
|
||||
52 0x6D, // 5
|
||||
53 0x7D, // 6
|
||||
54 0x07, // 7
|
||||
C51 COMPILER V9.54 INTERRUPT_2 05/14/2018 01:49:10 PAGE 2
|
||||
|
||||
55 0x7F, // 8
|
||||
56 0x6F // 9
|
||||
57 };
|
||||
58
|
||||
59 char code POS[6] = {
|
||||
60 ~0x01, // 0xfe <20>N<EFBFBD>O 11111110
|
||||
61 ~0x02, // 0000 0010
|
||||
62 ~0x04, // 0000 0100
|
||||
63 ~0x08, // 0000 1000
|
||||
64 ~0x10, // 0001 0000
|
||||
65 ~0x20 // 0010 0000
|
||||
66 };
|
||||
67
|
||||
68
|
||||
69 void main(void){
|
||||
70 1
|
||||
71 1 //<2F>}<7D><> Timer0 <20>M Timer1
|
||||
72 1 TMOD = 0x11;
|
||||
73 1
|
||||
74 1 //interrupt control (timer0)
|
||||
75 1 TL0 = (65536 - 9216) % 256;
|
||||
76 1 TH0 = (65536 - 9216) / 256;
|
||||
77 1 TF0 = 0;
|
||||
78 1 TR0 = 1; //<2F>}<7D>ҭp<D2AD>ɾ<EFBFBD> timer0
|
||||
79 1 ET0 = 1; //<2F>}<7D><> TF0 <20><><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD>Ҳն}<7D><>
|
||||
80 1 EA = 1; //<2F>}<7D>Ҥ<EFBFBD><D2A4>_<EFBFBD>Ҳ<EFBFBD><D2B2>`<60>}<7D><>
|
||||
81 1
|
||||
82 1
|
||||
83 1 //interrupt control (timer1)
|
||||
84 1 TL1 = (65536 - 9216) % 256;
|
||||
85 1 TH1 = (65536 - 9216) / 256;
|
||||
86 1 TF1 = 0;
|
||||
87 1 TR1 = 1; //<2F>}<7D>ҭp<D2AD>ɾ<EFBFBD> timer0
|
||||
88 1 ET1 = 1; //<2F>}<7D><> TF0 <20><><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD>Ҳն}<7D><>
|
||||
89 1 }
|
||||
90
|
||||
91
|
||||
92 // timer0 <20>b<EFBFBD>p<EFBFBD>ɨ쪺<C9A8>ɭ<EFBFBD>(TF0 = 1)<29>|<7C>I<EFBFBD>s<EFBFBD><73><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD>ƨ禡
|
||||
93 void my_timer0(void) interrupt 1 {
|
||||
94 1
|
||||
95 1 //<2F>]<5D>w<EFBFBD><77><EFBFBD>l<EFBFBD><6C>
|
||||
96 1 TL0 = (65536 - 9216) % 256;
|
||||
97 1 TH0 = (65536 - 9216) / 256;
|
||||
98 1 TF0 = 0;
|
||||
99 1
|
||||
100 1 // timer0_counter <20>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
101 1 timer0_counter--;
|
||||
102 1
|
||||
103 1
|
||||
104 1 //<2F><> timer0_counter <20><> 0 <20>ɡA<C9A1><41><EFBFBD>@<40>C<EFBFBD>q<EFBFBD><71><EFBFBD>ܾ<EFBFBD>
|
||||
105 1 if (timer0_counter == 0){
|
||||
106 2
|
||||
107 2 // *********<2A><><EFBFBD>@<40>C<EFBFBD>q<EFBFBD><71><EFBFBD>ܾ<EFBFBD>*********
|
||||
108 2 Slect_Seg(POS[seg_pos]); // <20>]<5D>w<EFBFBD><77><EFBFBD><EFBFBD><EFBFBD>G
|
||||
109 2 Display_Seg(NUM[seg_num]); // <20><><EFBFBD>Ʀr
|
||||
110 2 seg_pos = (seg_pos + 1) % 6;
|
||||
111 2 seg_num = (seg_num + 1) % 10;
|
||||
112 2
|
||||
113 2 //<2F>N timer0_counter <20><><EFBFBD>ȳ]<5D>^ 150
|
||||
114 2 timer0_counter = 150;
|
||||
115 2
|
||||
116 2 }
|
||||
C51 COMPILER V9.54 INTERRUPT_2 05/14/2018 01:49:10 PAGE 3
|
||||
|
||||
117 1 }
|
||||
118
|
||||
119
|
||||
120 // timer1 <20>b<EFBFBD>p<EFBFBD>ɨ쪺<C9A8>ɭ<EFBFBD>(TF1 = 1)<29>|<7C>I<EFBFBD>s<EFBFBD><73><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD>ƨ禡
|
||||
121 void my_timer1(void) interrupt 3 {
|
||||
122 1
|
||||
123 1 //<2F>]<5D>w<EFBFBD><77><EFBFBD>l<EFBFBD><6C>
|
||||
124 1 TL1 = (65536 - 9216) % 256;
|
||||
125 1 TH1 = (65536 - 9216) / 256;
|
||||
126 1 TF1 = 0;
|
||||
127 1
|
||||
128 1 // timer1_counter <20>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
129 1 timer1_counter--;
|
||||
130 1
|
||||
131 1
|
||||
132 1 //<2F><> timer1_counter <20><> 0 <20>ɡA<C9A1><41><EFBFBD>@<40>C<EFBFBD>q<EFBFBD><71><EFBFBD>ܾ<EFBFBD>
|
||||
133 1 if (timer1_counter == 0){
|
||||
134 2
|
||||
135 2 // ********* <20><><EFBFBD>@ LED *********
|
||||
136 2 for(LED_mode = 0; LED_mode < 16; LED_mode++) {
|
||||
137 3 P1 = LED_light[LED_mode];
|
||||
138 3 }
|
||||
139 2
|
||||
140 2 //<2F>N timer0_counter <20><><EFBFBD>ȳ]<5D>^ 150
|
||||
141 2 timer1_counter = 150;
|
||||
142 2
|
||||
143 2 }
|
||||
144 1 }
|
||||
145
|
||||
146
|
||||
147 void Slect_Seg(unsigned char number) {
|
||||
148 1 int j = 0;
|
||||
149 1
|
||||
150 1 // <20><><EFBFBD><EFBFBD> D <20><><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>(<28>w<EFBFBD><77><EFBFBD><EFBFBD><EFBFBD>I)
|
||||
151 1 P2_7 = 0;
|
||||
152 1
|
||||
153 1 // <20><><EFBFBD>w<EFBFBD><77><EFBFBD><EFBFBD><EFBFBD>G
|
||||
154 1 P0 = number;
|
||||
155 1
|
||||
156 1 // <20>}<7D>ұ<EFBFBD><D2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>G<EFBFBD><47> D <20><><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>
|
||||
157 1 P2_7 = 1;
|
||||
158 1
|
||||
159 1 // <20><><EFBFBD><EFBFBD>(<28>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD>G)
|
||||
160 1 for(j = 0; j < 120; j++);
|
||||
161 1
|
||||
162 1 // <20><><EFBFBD><EFBFBD> D <20><><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>(<28><><EFBFBD>Y<EFBFBD>i<EFBFBD>h<EFBFBD><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>T<EFBFBD>w<EFBFBD>G)
|
||||
163 1 P2_7 = 0;
|
||||
164 1 }
|
||||
165
|
||||
166 void Display_Seg(unsigned char display) {
|
||||
167 1 int j = 0;
|
||||
168 1 // <20><><EFBFBD><EFBFBD> D <20><><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>(<28>w<EFBFBD><77><EFBFBD><EFBFBD><EFBFBD>I)
|
||||
169 1 P2_6 = 0;
|
||||
170 1
|
||||
171 1 // <20><><EFBFBD>w<EFBFBD><77><EFBFBD>X
|
||||
172 1 P0 = display;
|
||||
173 1
|
||||
174 1 // <20>}<7D>ұ<EFBFBD><D2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>G<EFBFBD><47> D <20><><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>
|
||||
175 1 P2_6 = 1;
|
||||
176 1
|
||||
177 1 // <20><><EFBFBD><EFBFBD>(<28>Y<EFBFBD><59><EFBFBD>X)
|
||||
178 1 for(j = 0; j < 120; j++);
|
||||
C51 COMPILER V9.54 INTERRUPT_2 05/14/2018 01:49:10 PAGE 4
|
||||
|
||||
179 1
|
||||
180 1 // <20><><EFBFBD><EFBFBD> D <20><><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>(<28><><EFBFBD>Y<EFBFBD>i<EFBFBD>h<EFBFBD><68><EFBFBD><EFBFBD><EFBFBD>X<EFBFBD>T<EFBFBD>w<EFBFBD><77>)
|
||||
181 1 P2_6 = 0;
|
||||
182 1 }
|
||||
|
||||
|
||||
MODULE INFORMATION: STATIC OVERLAYABLE
|
||||
CODE SIZE = 314 ----
|
||||
CONSTANT SIZE = 33 ----
|
||||
XDATA SIZE = ---- ----
|
||||
PDATA SIZE = ---- ----
|
||||
DATA SIZE = 10 ----
|
||||
IDATA SIZE = ---- ----
|
||||
BIT SIZE = 2 ----
|
||||
END OF MODULE INFORMATION.
|
||||
|
||||
|
||||
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
|
212
Listings/Interrupt_2.m51
Normal file
212
Listings/Interrupt_2.m51
Normal file
@ -0,0 +1,212 @@
|
||||
BL51 BANKED LINKER/LOCATER V6.22 05/14/2018 01:49:10 PAGE 1
|
||||
|
||||
|
||||
BL51 BANKED LINKER/LOCATER V6.22, INVOKED BY:
|
||||
C:\KEIL_V5\C51\BIN\BL51.EXE .\Objects\Interrupt_2.obj TO .\Objects\Interrupt_2 PRINT (.\Listings\Interrupt_2.m51)
|
||||
|
||||
|
||||
MEMORY MODEL: SMALL
|
||||
|
||||
|
||||
INPUT MODULES INCLUDED:
|
||||
.\Objects\Interrupt_2.obj (INTERRUPT_2)
|
||||
C:\KEIL_V5\C51\LIB\C51S.LIB (?C_STARTUP)
|
||||
C:\KEIL_V5\C51\LIB\C51S.LIB (?C?SIDIV)
|
||||
C:\KEIL_V5\C51\LIB\C51S.LIB (?C_INIT)
|
||||
C:\KEIL_V5\C51\LIB\C51S.LIB (?C?UIDIV)
|
||||
|
||||
|
||||
LINK MAP OF MODULE: .\Objects\Interrupt_2 (INTERRUPT_2)
|
||||
|
||||
|
||||
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 000AH UNIT ?DT?INTERRUPT_2
|
||||
0012H 000EH *** GAP ***
|
||||
BIT 0020H.0 0000H.2 UNIT ?BI?INTERRUPT_2
|
||||
0020H.2 0000H.6 *** GAP ***
|
||||
IDATA 0021H 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 00A0H UNIT ?PR?MY_TIMER0?INTERRUPT_2
|
||||
CODE 08A0H 008CH UNIT ?C_C51STARTUP
|
||||
CODE 092CH 008BH UNIT ?C?LIB_CODE
|
||||
CODE 09B7H 004FH UNIT ?PR?MY_TIMER1?INTERRUPT_2
|
||||
CODE 0A06H 0021H UNIT ?CO?INTERRUPT_2
|
||||
CODE 0A27H 001DH UNIT ?PR?MAIN?INTERRUPT_2
|
||||
CODE 0A44H 0019H UNIT ?C_INITSEG
|
||||
CODE 0A5DH 0017H UNIT ?PR?_SLECT_SEG?INTERRUPT_2
|
||||
CODE 0A74H 0017H UNIT ?PR?_DISPLAY_SEG?INTERRUPT_2
|
||||
|
||||
|
||||
|
||||
OVERLAY MAP OF MODULE: .\Objects\Interrupt_2 (INTERRUPT_2)
|
||||
|
||||
|
||||
SEGMENT
|
||||
+--> CALLED SEGMENT
|
||||
---------------------
|
||||
?PR?MY_TIMER0?INTERRUPT_2
|
||||
+--> ?CO?INTERRUPT_2
|
||||
+--> ?PR?_SLECT_SEG?INTERRUPT_2
|
||||
+--> ?PR?_DISPLAY_SEG?INTERRUPT_2
|
||||
BL51 BANKED LINKER/LOCATER V6.22 05/14/2018 01:49:10 PAGE 2
|
||||
|
||||
|
||||
|
||||
*** NEW ROOT ***************************************************
|
||||
|
||||
?PR?MY_TIMER1?INTERRUPT_2
|
||||
+--> ?CO?INTERRUPT_2
|
||||
|
||||
*** NEW ROOT ***************************************************
|
||||
|
||||
?C_C51STARTUP
|
||||
+--> ?PR?MAIN?INTERRUPT_2
|
||||
+--> ?C_INITSEG
|
||||
|
||||
|
||||
|
||||
SYMBOL TABLE OF MODULE: .\Objects\Interrupt_2 (INTERRUPT_2)
|
||||
|
||||
VALUE TYPE NAME
|
||||
----------------------------------
|
||||
|
||||
------- MODULE INTERRUPT_2
|
||||
C:0000H SYMBOL _ICE_DUMMY_
|
||||
C:0A5DH PUBLIC _Slect_Seg
|
||||
D:0080H PUBLIC P0
|
||||
D:0090H PUBLIC P1
|
||||
D:00A0H PUBLIC P2
|
||||
B:00A8H.7 PUBLIC EA
|
||||
B:00A0H.6 PUBLIC P2_6
|
||||
B:00A0H.7 PUBLIC P2_7
|
||||
C:0800H PUBLIC my_timer0
|
||||
C:09B7H PUBLIC my_timer1
|
||||
C:0A27H PUBLIC main
|
||||
D:0089H PUBLIC TMOD
|
||||
D:0008H PUBLIC timer0_counter
|
||||
D:000AH PUBLIC timer1_counter
|
||||
B:00A8H.1 PUBLIC ET0
|
||||
B:00A8H.3 PUBLIC ET1
|
||||
B:0088H.5 PUBLIC TF0
|
||||
B:0088H.7 PUBLIC TF1
|
||||
D:008CH PUBLIC TH0
|
||||
D:008DH PUBLIC TH1
|
||||
D:008AH PUBLIC TL0
|
||||
C:0A06H PUBLIC LED_light
|
||||
D:008BH PUBLIC TL1
|
||||
B:0088H.4 PUBLIC TR0
|
||||
B:0088H.6 PUBLIC TR1
|
||||
B:0020H.0 PUBLIC lightoff
|
||||
C:0A74H PUBLIC _Display_Seg
|
||||
D:000CH PUBLIC LED_mode
|
||||
C:0A17H PUBLIC NUM
|
||||
C:0A21H PUBLIC POS
|
||||
D:000EH PUBLIC seg_num
|
||||
D:0010H PUBLIC seg_pos
|
||||
B:0020H.1 PUBLIC lighton
|
||||
------- PROC MAIN
|
||||
C:0A27H LINE# 69
|
||||
C:0A27H LINE# 72
|
||||
C:0A2AH LINE# 75
|
||||
BL51 BANKED LINKER/LOCATER V6.22 05/14/2018 01:49:10 PAGE 3
|
||||
|
||||
|
||||
C:0A2DH LINE# 76
|
||||
C:0A30H LINE# 77
|
||||
C:0A32H LINE# 78
|
||||
C:0A34H LINE# 79
|
||||
C:0A36H LINE# 80
|
||||
C:0A38H LINE# 84
|
||||
C:0A3AH LINE# 85
|
||||
C:0A3DH LINE# 86
|
||||
C:0A3FH LINE# 87
|
||||
C:0A41H LINE# 88
|
||||
C:0A43H LINE# 89
|
||||
------- ENDPROC MAIN
|
||||
------- PROC MY_TIMER0
|
||||
C:0800H LINE# 93
|
||||
C:081DH LINE# 96
|
||||
C:0820H LINE# 97
|
||||
C:0823H LINE# 98
|
||||
C:0825H LINE# 101
|
||||
C:082DH LINE# 105
|
||||
C:0833H LINE# 108
|
||||
C:0845H LINE# 109
|
||||
C:0857H LINE# 110
|
||||
C:086BH LINE# 111
|
||||
C:087FH LINE# 114
|
||||
C:0885H LINE# 116
|
||||
C:0885H LINE# 117
|
||||
------- ENDPROC MY_TIMER0
|
||||
------- PROC MY_TIMER1
|
||||
C:09B7H LINE# 121
|
||||
C:09BFH LINE# 124
|
||||
C:09C2H LINE# 125
|
||||
C:09C5H LINE# 126
|
||||
C:09C7H LINE# 129
|
||||
C:09CFH LINE# 133
|
||||
C:09D5H LINE# 136
|
||||
C:09D9H LINE# 137
|
||||
C:09E9H LINE# 138
|
||||
C:09F7H LINE# 141
|
||||
C:09FDH LINE# 143
|
||||
C:09FDH LINE# 144
|
||||
------- ENDPROC MY_TIMER1
|
||||
------- PROC _SLECT_SEG
|
||||
D:0007H SYMBOL number
|
||||
------- DO
|
||||
D:0004H SYMBOL j
|
||||
------- ENDDO
|
||||
C:0A5DH LINE# 147
|
||||
C:0A5DH LINE# 148
|
||||
C:0A60H LINE# 151
|
||||
C:0A62H LINE# 154
|
||||
C:0A64H LINE# 157
|
||||
C:0A66H LINE# 160
|
||||
C:0A71H LINE# 163
|
||||
C:0A73H LINE# 164
|
||||
------- ENDPROC _SLECT_SEG
|
||||
------- PROC _DISPLAY_SEG
|
||||
D:0007H SYMBOL display
|
||||
BL51 BANKED LINKER/LOCATER V6.22 05/14/2018 01:49:10 PAGE 4
|
||||
|
||||
|
||||
------- DO
|
||||
D:0004H SYMBOL j
|
||||
------- ENDDO
|
||||
C:0A74H LINE# 166
|
||||
C:0A74H LINE# 167
|
||||
C:0A77H LINE# 169
|
||||
C:0A79H LINE# 172
|
||||
C:0A7BH LINE# 175
|
||||
C:0A7DH LINE# 178
|
||||
C:0A88H LINE# 181
|
||||
C:0A8AH LINE# 182
|
||||
------- ENDPROC _DISPLAY_SEG
|
||||
------- ENDMOD INTERRUPT_2
|
||||
|
||||
------- MODULE ?C?SIDIV
|
||||
C:092CH PUBLIC ?C?SIDIV
|
||||
------- ENDMOD ?C?SIDIV
|
||||
|
||||
------- MODULE ?C?UIDIV
|
||||
C:0962H PUBLIC ?C?UIDIV
|
||||
------- ENDMOD ?C?UIDIV
|
||||
|
||||
******************************************************************************
|
||||
* RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT; USED: 0179H BYTE (18%) *
|
||||
******************************************************************************
|
||||
|
||||
Program Size: data=19.2 xdata=0 code=660
|
||||
LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S)
|
BIN
Objects/Interrupt_2
Normal file
BIN
Objects/Interrupt_2
Normal file
Binary file not shown.
33
Objects/Interrupt_2.build_log.htm
Normal file
33
Objects/Interrupt_2.build_log.htm
Normal file
@ -0,0 +1,33 @@
|
||||
<html>
|
||||
<body>
|
||||
<pre>
|
||||
<h1><EFBFBD>Vision Build Log</h1>
|
||||
<h2>Tool Versions:</h2>
|
||||
IDE-Version: <20>gVision V5.14.2
|
||||
Copyright (C) 2015 ARM Ltd and ARM Germany GmbH. All rights reserved.
|
||||
License Information: jane jane, no, LIC=----
|
||||
|
||||
Tool Versions:
|
||||
Toolchain: PK51 Prof. Develpers Kit Version: 9.54
|
||||
Toolchain Path: C:\Keil_v5\C51\BIN
|
||||
C Compiler: C51.exe V9.54
|
||||
Assembler: A51.exe V8.02c
|
||||
Linker/Locator: BL51.exe V6.22
|
||||
Library Manager: LIB51.exe V4.30.1.0
|
||||
Hex Converter: OH51.exe V2.7.0.0
|
||||
CPU DLL: S8051.DLL V3.100.0.0
|
||||
Dialog DLL: DP51.DLL V2.62.0.1
|
||||
<h2>Project:</h2>
|
||||
C:\Users\jj971\Desktop\Interrupt_2\Interrupt_2.uvproj
|
||||
Project File Date: 05/12/2018
|
||||
|
||||
<h2>Output:</h2>
|
||||
Rebuild target 'Target 1'
|
||||
compiling Interrupt_2.c...
|
||||
linking...
|
||||
Program Size: data=19.2 xdata=0 code=660
|
||||
creating hex file from ".\Objects\Interrupt_2"...
|
||||
".\Objects\Interrupt_2" - 0 Error(s), 0 Warning(s).
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
52
Objects/Interrupt_2.hex
Normal file
52
Objects/Interrupt_2.hex
Normal file
@ -0,0 +1,52 @@
|
||||
:100A0600FFFEFCF8F0E0C0800080C0E0F0F8FCFEDD
|
||||
:100A1600003F065B4F666D7D077F6FFEFDFBF7EFC0
|
||||
:010A2600DFF0
|
||||
:100A440002080096020A009602100000020E00003E
|
||||
:080A5400020C0000C180C10189
|
||||
:100A2700758911E4F58A758CDCC28DD28CD2A9D276
|
||||
:0D0A3700AFF58B758DDCC28FD28ED2AB2255
|
||||
:03000B00020800E8
|
||||
:10080000C0E0C0F0C083C082C0D075D000C000C0BE
|
||||
:1008100001C002C003C004C005C006C007758A003D
|
||||
:10082000758CDCC28DE509150970021508E50945CE
|
||||
:1008300008705274212511F582740A3510F583E48D
|
||||
:1008400093FF120A5D7417250FF582740A350EF5B1
|
||||
:1008500083E493FF120A74E5112401FFE43510FECE
|
||||
:100860007C007D0612092C8C108D11E50F2401FFF0
|
||||
:10087000E4350EFE7C007D0A12092C8C0E8D0F755E
|
||||
:100880000800750996D007D006D005D004D003D053
|
||||
:1008900002D001D000D0D0D082D083D0F0D0E032CE
|
||||
:03001B000209B720
|
||||
:1009B700C0E0C083C082C0D0758B00758DDCC28F4C
|
||||
:1009C700E50B150B7002150AE50B450A7028F50CA7
|
||||
:1009D700F50D7406250DF582740A350CF583E4933D
|
||||
:1009E700F590050DE50D7002050C6410450C70E2DD
|
||||
:0F09F700750A00750B96D0D0D082D083D0E03235
|
||||
:100A5D00E4FDFCC2A78F80D2A70DBD00010CED6493
|
||||
:060A6D00784C70F5C2A7F1
|
||||
:010A73002260
|
||||
:100A7400E4FDFCC2A68F80D2A60DBD00010CED647E
|
||||
:060A8400784C70F5C2A6DB
|
||||
:010A8A002249
|
||||
:030000000208A053
|
||||
:0C08A000787FE4F6D8FD7581200208E79F
|
||||
:10092C00C2D5EC30E709B2D5E4C39DFDE49CFCEEE6
|
||||
:10093C0030E715B2D5E4C39FFFE49EFE120962C3F3
|
||||
:10094C00E49DFDE49CFC800312096230D507C3E4EE
|
||||
:06095C009FFFE49EFE2255
|
||||
:1008AC00020A27E493A3F8E493A34003F68001F231
|
||||
:1008BC0008DFF48029E493A3F85407240CC8C3334D
|
||||
:1008CC00C4540F4420C8834004F456800146F6DF1C
|
||||
:1008DC00E4800B0102040810204080900A44E47E5E
|
||||
:1008EC00019360BCA3FF543F30E509541FFEE49311
|
||||
:1008FC00A360010ECF54C025E060A840B8E493A3D8
|
||||
:10090C00FAE493A3F8E493A3C8C582C8CAC583CA02
|
||||
:10091C00F0A3C8C582C8CAC583CADFE9DEE780BEBA
|
||||
:010A5C000099
|
||||
:10096200BC000BBE0029EF8DF084FFADF022E4CC79
|
||||
:10097200F875F008EF2FFFEE33FEEC33FCEE9DEC42
|
||||
:10098200984005FCEE9DFE0FD5F0E9E4CEFD22ED88
|
||||
:10099200F8F5F0EE8420D21CFEADF075F008EF2FD2
|
||||
:1009A200FFED33FD4007985006D5F0F222C398FDC3
|
||||
:0509B2000FD5F0EA2260
|
||||
:00000001FF
|
3
Objects/Interrupt_2.lnp
Normal file
3
Objects/Interrupt_2.lnp
Normal file
@ -0,0 +1,3 @@
|
||||
".\Objects\Interrupt_2.obj"
|
||||
TO ".\Objects\Interrupt_2"
|
||||
PRINT(".\Listings\Interrupt_2.m51")
|
BIN
Objects/Interrupt_2.obj
Normal file
BIN
Objects/Interrupt_2.obj
Normal file
Binary file not shown.
Reference in New Issue
Block a user