51单片机流星灯c语言源程序.docx
- 文档编号:8835281
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:6
- 大小:18.83KB
51单片机流星灯c语言源程序.docx
《51单片机流星灯c语言源程序.docx》由会员分享,可在线阅读,更多相关《51单片机流星灯c语言源程序.docx(6页珍藏版)》请在冰豆网上搜索。
51单片机流星灯c语言源程序
51单片机流星灯c语言源程序
大家自己根据程序中的io定义部分接上灯即可实现流星灯的效果!
!
//
//内控自走程序
//CPU:
STC12C2052
//主频:
18.432MHZ(外部晶振144),内部晶振5MHZ
//日期:
2008/11/30
//
ttinclude;
ttinclude;
ttinclude;
ttinclude;
^include;//产生随机数SAND();
ttdefineucharunsignedchar
ttdefineuintunsignedint
#defineTO_DAH160;
#defineTO_DAL160;
#defineSpeed_Data0x2;
voiddelay(uint);
voidOut_Put(void);
voidRead_Prol(void);
voidRead_Pro2(void);voidPwm_Out(void);voidRead_Pro_R(ucharQW_Datai);/////////////////////////////////////////IO口定义////////////////////////////////////////////sbitExPortl=P1^0;
sbitExPort8=Pl^l;//2sbitExPort7=Pr2;//8sbitExPort6=P1^3;//7sbitExPort5=Pr4;//6sbitExPort4=Pl"5;//5sbitExPort3二P「6;//4sbitExPort2=Pl7;//3sbitExport9=P3^0;//sbitExportlO=P3^1;////定义RAMsfrPlM0=0x91;
sfrPIMl二0x92;
sfrP3M0=0xBl;
sfrWDT_CONTR=Oxel;
sfrISP_TRIG=0xe6;
sfrSPSTAT=0x84;
sfrPCA_PWM0=0xf2;
sfrunml=0xf3;
sfrunm2=0xf4;
sfrunm3=0xf5;
sfrunm4=0xf6;
sfrunm5=0xf7;
sfrunm6=0xf8:
bitTimeO_Flag;
ucharSpeed,TimeO_Dec,Latch,Add_speed;
uchardelay_X,Run_S,Run_S1;
uintdelay_z;
ucharDisplay_Data[10];
/////////////////////////////////
//////////共十六等级/////////////
/////////////////////////////////
voidtimer_0(void)interrupt1//共十六等级
TimeO_Flag=l;
TimeO_Dec——;
//%J<^X^X
//xrxxjxxjxxjxxjxXjSXjSxtxZr^xrx✓Tx✓TxxjxxjxXjXxTxzTv^TxZt^Zt^Ztxx?
^xr^xT^xT%xTxxTxxTxxr^
**//
//主函数功能//
//主要产生花样数据//
//%J<
//xrxxjxxjxxjxxjxXjSXjSxtxZr^xrx✓Tx✓TxxjxxjxXjXxTxzTv^TxZt^Zt^Ztxx?
^xr^xT^xT%xTxxTxxTxxr^
voidmain(void)
/////////////////////////////////////////////////
////
/////////////////IO口初始化
//////////////////////////
/////////////////////////////////////////////////
////
/*************************读入ID号
k|>/
✓JxxjxxTxzjvxT%xTxxTxx7^/
P3M0二0x00;
memset(Display_Data,0x00,sizeof(Display_Data));
//产生一个随机字符型数据
TM0D=0xl2;
TR1=1;
delay_z=((THl;O;i--)//]短
{辻(i=4)B_W二64;
辻(i==3)B_W=35;
辻(i==2)B_W=10;
辻(i==l)B_W=l;
Read_Pro_R(B_W);
}
for(i=Run_S;i>;0;i--)
{Read_Pro_R(0);
}
for(j=0;j;0;i--)//2长
{
if(i==7)B_W=64;
辻(i==6)B_W=63;
辻(i==5)B_W=62;
if(i==4)B_W=60;
辻(i==3)B_W=55;
辻(i==2)B_W=40;
辻(i==l)B_W=15;
//**
-(0)旷0%—p歸出(一一!
:
0:
〈!
人一uq二!
)joj
:
(M_9)旷0%—pp汨4[二([二二!
)J!
:
0WF2(Z=!
)J!
•gg=M_9(£=T)JT
•S9=M_9(^=T)JT
•^9=M_9(g=T)JT
}
申乙//(一一!
:
0:
『:
0二『)4。
3
-(0)旷0%—p歸出
(一―!
:
0:
〈!
人一uq二!
)joj
:
(M_9)旷0%—pp汨
voidRead_Pro_R(ucharQW_Datai)
Display_Data[9]二Display_Data[8];
Display_Data[8]二Display_Data[7];
Display_Data[7]二Display_Data[6];
Display_Data[6]二Display_Data[5];
Display_Data[5]二Display_Data[4];
Display_Data[4]二Display_Data[3];
Display_Data[3]二Display_Data[2];
Display_Data[2]二Display_Data[l];
Display_Data[l]二Display_Data[O];
Display_Data[O]=QW_Datal;
Out_Put();
Out_Put();
Out_Put();
Out_Put();
Out_Put();
Out_Put();
**//
//花样输岀功能//
//对10MS到进行处理//
//K^K^
//xT^xTxxjxxjxxjxXj^xTxxT^xT^xrxxrxxT>^Tx^7^^7^xjvXr^Xr^xTxx7^x7^^TxxTxxTxxTxx7^
voidOut_Put(void)
{ucharS;
bitTimeO_Zear;
for(S=0;S;Latch)ExPortl二1;elseExPortl二0;
if(Display_Data[l]>;Latch)
ExPort2=l;else
ExPort2=0;
if(Display_Data[2]>;Latch)
ExPort3=l;else
ExPort3=0;
if(Display_Data[3]>;Latch)
ExPort4=l;else
ExPort4=0;
if(Display_Data[4]>;Latch)
ExPort5=l;else
ExPort5=0;
if(Display_Data[5]>;Latch)
ExPort6=l;else
ExPort6=0;
if(Display_Data[6]>;Latch)
ExPort7=l;else
ExPort7=0;
if(Display_Data[7]>;Latch)
ExPort8=l;else
ExPort8=0;
if(Display_Data[8]>;Latch)
Export9=l;
else
Export9=0;
if(Display_Data[9]>;Latch)
ExportlO二1;
else
Export10=0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片机 流星 语言 源程序