資源簡介
包含六個經典的仿真實例 流水燈 走馬燈 數字時鐘 等 電路圖和源代碼全數奉上 proteus 7.1+keil c51環境
流水燈 , 數字時鐘 , 走馬燈

代碼片段和文件信息
#include?
#include?“SoundPlay.h“
unsigned?char?RunMode;
//**********************************System?Fuction*************************************************
void?Delay1ms(unsigned?int?count)
{
unsigned?int?ij;
for(i=0;i for(j=0;j<120;j++);
}
unsigned?char?code?LEDDisplayCode[]?=?{?0xC00xF90xA40xB00x990x920x820xF8 //0~7
?????????????????????????? 0x800x900x880x830xC60xA10x860x8E0xFF};
void?Display(unsigned?char?Value)
{
P3?=?LEDDisplayCode[Value];
}
void?LEDFlash(unsigned?char?Count)
{
unsigned?char?i;
bit?Flag;
for(i?=?0;?i {
Flag?=?!Flag;
if(Flag)
Display(RunMode);
else
Display(0x10);
Delay1ms(100);
}
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;
}
unsigned?int?Timer0CountSystemSpeedSystemSpeedIndex;
void?InitialTimer2(void)
{
T2CON??=?0x00; //16?Bit?Auto-Reload?Mode
? TH2?=?RCAP2H?=?0xFC;?? //重裝值初始值 TL2?=?RCAP2L?=?0x18;
ET2=1; //定時器?2?中斷允許
TR2?=?1; //定時器?2?啟動
EA=1;
}
unsigned?int?code?SpeedCode[]={???1???2???3???5???8??10??14??17??20??30
?????40??50??60??70??80??90?100?120?140?160
180?200?300?400?500?600?700?800?9001000};//30
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;
Timer0Count?=?0;
SystemSpeedIndex?=?9;
P1?=?0x00;
P0?=?0x00;
P2?=?0xFF;
P3?=?0x00;
Delay1ms(500);
P1?=?0xFF;
P0?=?0xFF;
P2?=?0xFF;
P3?=?0xFF;
SetSpeed(SystemSpeedIndex);
Display(RunMode);
}
//Mode?0
unsigned?int?LEDIndex?=?0;
bit?LEDDirection?=?1LEDFlag?=?1;
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(
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????161062??2006-01-19?02:54??8051單片機\dg\Last?Loaded?LiWan.DBK
?????文件??????23950??2005-09-17?04:05??8051單片機\dg\LiWan
?????文件????2801078??2005-09-17?04:18??8051單片機\dg\LiWan.BMP
?????文件??????14547??2005-09-17?03:56??8051單片機\dg\LiWan.c
?????文件?????166706??2008-05-20?01:42??8051單片機\dg\LiWan.DSN
?????文件??????10713??2005-09-17?04:05??8051單片機\dg\LiWan.hex
?????文件?????????42??2005-09-17?04:05??8051單片機\dg\LiWan.lnp
?????文件??????25826??2005-09-17?04:05??8051單片機\dg\LiWan.LST
?????文件??????33171??2005-09-17?04:05??8051單片機\dg\LiWan.M51
?????文件??????28934??2005-09-17?04:05??8051單片機\dg\LiWan.OBJ
?????文件???????1176??2005-09-17?04:05??8051單片機\dg\LiWan.Opt
?????文件????????883??2005-09-17?04:05??8051單片機\dg\LiWan.plg
?????文件????????806??2008-05-20?01:42??8051單片機\dg\LiWan.PWI
?????文件???????1992??2005-05-25?04:38??8051單片機\dg\LiWan.Uv2
?????文件???????1178??2005-09-17?04:01??8051單片機\dg\LiWan_Opt.Bak
?????文件??????????0??2005-05-25?04:38??8051單片機\dg\LiWan_Uv2.Bak
?????文件?????224768??2005-08-08?01:02??8051單片機\dg\MusicEncode.exe
?????文件???????6247??2005-09-17?04:01??8051單片機\dg\SoundPlay.h
?????文件???????5115??2005-05-25?04:38??8051單片機\dg\STARTUP.A51
?????文件??????11679??2005-05-25?04:38??8051單片機\dg\STARTUP.LST
?????文件????????749??2005-05-25?04:38??8051單片機\dg\STARTUP.OBJ
????..A.SH.??????5120??2005-09-17?13:23??8051單片機\dg\Thumbs.db
?????文件??????71012??2005-09-19?03:13??8051單片機\DS1302時鐘\Backup?Of?DS1302.DBK
?????文件??????16822??2005-09-19?05:58??8051單片機\DS1302時鐘\DS1302
?????文件????1401078??2005-09-19?05:59??8051單片機\DS1302時鐘\DS1302.BMP
?????文件????????549??2005-09-19?05:42??8051單片機\DS1302時鐘\DS1302.c
?????文件??????95477??2008-05-20?01:43??8051單片機\DS1302時鐘\DS1302.DSN
?????文件???????5954??2005-09-19?05:56??8051單片機\DS1302時鐘\DS1302.h
?????文件???????5954??2005-09-19?05:55??8051單片機\DS1302時鐘\DS1302.h.bak
?????文件???????3021??2005-09-19?05:58??8051單片機\DS1302時鐘\DS1302.hex
............此處省略112個文件信息
評論
共有 條評論