欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
電瓶車充電定時器
[打印本頁]
作者:
daming
時間:
2014-12-29 20:48
標題:
電瓶車充電定時器
/////////////////////////////////////////
///作者:改變 //
///名稱:電瓶車定時充電器,到時間斷開 //
///日期:2010.11.26 //
/////////////////////////////////////////
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
unsigned char rem[6]={0,7,3,0,0,0};
unsigned code bcd[12]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0x7f};
uint m0,j;
bit DD_1,SMXS;
sbit DD=P0^7;
sbit DSKG=P3^1;
sbit SB1=P1^0; //分時切換鍵
sbit SB2=P1^1; //時減減
sbit SB3=P1^2; //分減減
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void yanshi()
{uint kk;
kk=100;
while(kk--);
}
////////////顯示分秒
xianshim()
{unsigned char i;
for (i=2;i<6;i++)
{
P2=~(0x01<<(i-2));
P0=bcd[rem[i]];
if((i-2)==1)if(DD_1)DD=0;
yanshi();
P0=0xff;
}
}
/////////////////////////////////
////////////顯示時分
xianshis()
{unsigned char i;
for (i=0;i<4;i++)
{
P2=~(0x01<<i);
P0=bcd[rem[i]];
if(i==1)if(DD_1)DD=0;
yanshi();
P0=0xff;
}
}
/////////////////////////////////
jishi() interrupt 1
{
TH0=(65536-46080)/256;
TL0=(65536-46080)%256;
m0++;
if(m0==9)DD_1=~DD_1;
if(m0==20)/////////////////20次一秒
{
DD_1=~DD_1;
m0=0;
if(rem[5]==0)
{
if(rem[4]==0)
{
if(rem[3]==0)
{
if(rem[2]==0)
{
if(rem[1]==0)
{
if(rem[0]==0)
{
DSKG=1;////////////全零零時斷電
TR0=0;
rem[0]=rem[1]=rem[2]=rem[3]=rem[4]=rem[5]=0;
}
else
{
rem[0]--;
rem[1]=rem[3]=rem[5]=9;
rem[2]=rem[4]=5;
}
}
else
{
rem[1]--;
rem[2]=rem[4]=5;
rem[3]=rem[5]=9;
}
}
else
{
rem[2]--;
rem[4]=5;
rem[3]=rem[5]=9;
}
}
else
{
rem[3]--;
rem[4]=5;
rem[5]=9;
}
}
else
{
rem[4]--;
rem[5]=9;
}
}
else rem[5]--;
}
}
/////////////////////////////////
anjian()
{
P1=0xff;
if(SB1==0)
{
yanshi();
if(SB1==0)
{
while(SB1==0);
SMXS=~SMXS;
}
}
if(SB2==0)
{
yanshi();
if(SB2==0)
{
while(SB2==0);
if(rem[1]==0)
{
if(rem[0]==0)
{
rem[0]=rem[1]=1;
}
else
{
rem[0]--;
rem[1]=9;
}
}
else rem[1]--;
}
}
if(SB3==0)
{
yanshi();
if(SB3==0)
{
while(SB3==0);
if(rem[3]==0)
{
if(rem[2]==0)
{
rem[2]=5;
rem[3]=9;
}
else
{
rem[2]--;
rem[3]=9;
}
}
else rem[3]--;
}
}
}
//////////////////////////////////
void main(void)
{
m0=0;
TMOD=0x01;
TH0=(65536-45833)/256;
TL0=(65536-45833)%256;
EA=1;
ET0=1;
TR0=1;
DSKG=0;
j=0;
while(1)
{
if(SMXS)xianshis();//時顯示
else xianshim();//秒顯示
anjian();
j++;
if(j==5000)/////秒時標志定時切換
{
j=0;
SMXS=~SMXS;
}
}
}
復制代碼
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1