資源簡介
這不是我寫的,但是覺得不錯,關于流水等之類的所有問題基本都在此程序中了

代碼片段和文件信息
#include?“main.h“
//**********************************System?Fuction*************************************************
void?Delay1ms(unsigned?int?count)
{
unsigned?int?ij;
for(i=0;i for(j=0;j<120;j++);
}
void?Display(unsigned?char?Value)
{
P3?=?LEDDisplayCode[Value];
}
void?LEDFlash(void)
{
Display(RunMode);
}
unsigned?char?GetKey(void)
{
unsigned?char?KeyTempCheckValueKey?=?0x00;
CheckValue?=?P2&0x32;
if(CheckValue==0x32)
return?0x00;
Delay1ms(10);
KeyTemp?=?P2&0x32;
if(KeyTemp==CheckValue)
return?0x00;
if(!(CheckValue&0x02))
Key|=0x01;
if(!(CheckValue&0x10))
Key|=0x02;
if(!(CheckValue&0x20))
Key|=0x04;
return?Key;
}
void?InitialTimer2(void)
{
????TL2?=?RCAP2L?=?0x00;
T2CON??=?0x00; //16?Bit?Auto-Reload?Mode
? TH2?=?RCAP2H?=?0xFC;?? //重裝值初始值 TL2?=?RCAP2L?=?0x18;
ET2=1; //定時器?2?中斷允許
TR2?=?1; //定時器?2?啟動
EA=1;
}
void?SetSpeed(unsigned?char?Speed)
{
SystemSpeed?=SpeedCode[Speed];
}
void?LEDShow(unsigned?int?LEDStatus)
{
P1?=?~(LEDStatus&0x00FF);
P0?=?~((LEDStatus>>8)&0x00FF);
}
void?InitialCPU(void)
{
RunMode?=?0x00;
TimerCount?=?0;
SystemSpeedIndex?=?10;
P1?=?0x00;
P0?=?0x00;
P2?=?0xFF;
P3?=?0x00;
Delay1ms(500);
P1?=?0xFF;
P0?=?0xFF;
P2?=?0xFF;
P3?=?0xFF;
SetSpeed(SystemSpeedIndex);
Display(RunMode);
}
//Mode?0
void?Mode_0(void)
{
LEDShow(0x0001< LEDIndex?=?(LEDIndex+1)%16;
}
//Mode?1
void?Mode_1(void)
{
LEDShow(0x8000>>LEDIndex);
LEDIndex?=?(LEDIndex+1)%16;
}
//Mode?2
void?Mode_2(void)
{
if(LEDDirection)
LEDShow(0x0001< else
LEDShow(0x8000>>LEDIndex);
if(LEDIndex==15)
LEDDirection?=?!LEDDirection;
???LEDIndex?=?(LEDIndex+1)%16;
}
//Mode?3
void?Mode_3(void)
{
if(LEDDirection)
LEDShow(~(0x0001< else
LEDShow(~(0x8000>>LEDIndex));
if(LEDIndex==15)
LEDDirection?=?!LEDDirection;
???LEDIndex?=?(LEDIndex+1)%16;
}
//Mode?4
void?Mode_4(void)
{
if(LEDDirection)
{
if(LEDFlag)
LEDShow(0xFFFE< ??? else
LEDShow(~(0x7FFF>>LEDIndex));
}
else
{
if(LEDFlag)
LEDShow(0x7FFF>>LEDIndex);
else
LEDShow(~(0xFFFE< }
if(LEDIndex==15)
{
LEDDirection?=?!LEDDirection;
if(LEDDirection) LEDFlag?=?!LEDFlag;
}
??? LEDIndex?=?(LEDIndex+1)%16;
}
//Mode?5
void?Mode_5(void)
{
if(LEDDirection)
LEDShow(0x000F< else
LEDShow(0xF000>>LEDIndex);
if(LEDIndex==15)
LEDDirection?=?!LEDDirection;
????LEDIndex?=?(LEDIndex+1)%16;
}
//Mode?6
void?Mode_6(void)
{
if(LEDDirection)
LEDShow(~(0x000F< else
LEDShow(~(0xF000>>LEDIndex));
if(LEDIndex==15)
LEDDirection?=?!LEDDirection;
??? LEDIndex?=?(LEDIndex+1)%16;
}
//Mode?7
void?Mode_7(void)
{
if(LEDDirection)
LEDShow(0x003F< else
LEDShow(0xFC00>>LEDIndex);
if(LEDIndex==9)
LEDDirection?=?!LEDDirection;
????LEDInde
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????2801078??2005-09-17?04:19??走馬燈\hurricanelamp.bmp
?????文件????????856??2009-11-27?17:36??走馬燈\HurricaneLamp.PWI
?????文件??????11685??2009-11-27?17:35??走馬燈\Keil\HurricaneLamp
?????文件???????4382??2009-11-27?17:35??走馬燈\Keil\HurricaneLamp.c
?????文件???????3871??2009-11-27?17:35??走馬燈\Keil\HurricaneLamp.hex
?????文件?????????58??2009-11-27?17:35??走馬燈\Keil\HurricaneLamp.lnp
?????文件??????11455??2009-11-27?17:35??走馬燈\Keil\HurricaneLamp.LST
?????文件??????20037??2009-11-27?17:35??走馬燈\Keil\HurricaneLamp.M51
?????文件???????2172??2009-11-27?17:36??走馬燈\Keil\HurricaneLamp.Uv2
????.......??????1334??2008-09-03?18:15??走馬燈\Keil\HurricaneLamp_Opt.Bak
?????文件???????6030??2009-11-27?17:36??走馬燈\Keil\HurricaneLamp.plg
????.......??????2138??2008-08-28?08:40??走馬燈\Keil\HurricaneLamp_Uv2.Bak
?????文件???????1855??2009-11-27?17:36??走馬燈\Keil\HurricaneLamp.Opt
?????文件???????5115??2002-04-16?15:32??走馬燈\Keil\STARTUP.A51
?????文件????????545??2009-11-27?17:34??走馬燈\Keil\main.h
?????文件??????14597??2009-11-27?17:35??走馬燈\Keil\HurricaneLamp.OBJ
?????文件?????165791??2006-01-19?02:55??走馬燈\Last?Loaded?HurricaneLamp.DBK
?????文件?????166024??2009-11-27?17:36??走馬燈\HurricaneLamp.DSN
?????目錄??????????0??2009-11-26?23:25??走馬燈\Keil
?????目錄??????????0??2009-11-26?23:25??走馬燈
-----------?---------??----------?-----??----
??????????????3219023????????????????????20
評論
共有 條評論