📄 ytddjk.c
字号:
#include<c8051f020.h>
void time0();
void senddata(unsigned char,unsigned char);
void delay(long int);
void setoff();
sbit t1=P2^0;
sbit t2=P2^1;
sbit k1=P1^1;
sbit k2=P1^2;
sbit k3=P1^3;
sbit k4=P1^4;
unsigned char s=1,s1,s2,s3,i1=1,i2=1;
unsigned int k=100;
unsigned long int z=0;
void int0(void) interrupt 0
{
IE0=0;
s=0;
}
/*void int1(void) interrupt 2
{
IE1=0;
k=40;
while(k4)
{
while(!k1)
{
s1++;
if(s1>9)
s1=0;
senddata(1,s1);
}
while(!k2)
{
s2++;
if(s2>9)
s2=0;
senddata(2,s2);
}
while(!k3)
{
s3++;
if(s3>9)
s3=0;
senddata(3,s3);
}
delay(100000);
senddata(1,i1);
senddata(2,i1);
senddata(3,i1);
}
k=s1+s2*10+s3*100;
i1++;
}*/
main()
{
unsigned char e,j=9;
unsigned long int i=1;
unsigned int m,a[2],n=150;
unsigned char l=0,x=0;
EX0=1;
IT0=1;
EX1=1;
IT1=1;
PX0=1;
WDTCN=0xde; //CLOSE WDOG
WDTCN=0xad;
OSCXCN=0x67; //ENABLE EXTERNAL CLK
delay(10000);
delay(10000);
e=!OSCXCN&0x80;
while(e);
OSCICN|=0x08;
XBR2=0x40; //CROSS OB
XBR1=0x14;
XBR0=0x04;
P0MDOUT=0xff;
P1MDOUT=0xff;
P2MDOUT=0xff;
TMOD=0x11; //T0 ENABLE
setoff();
senddata(1,(k%100)%10);
senddata(2,(k%100)/10);
senddata(3,k/100);
senddata(4,10);
senddata(5,0);
senddata(6,0);
senddata(7,0);
EA=1;
while(i)
{
do
{
time0();
z++;
}
while(s);
TR0=0;
a[l]=60*200/z;
senddata(8,i2+0x80);
i2++;
if(i2>9)
i2=0;
m=a[l];
if((m>n+100)||(m<=0))
m=n;
else
n=a[l];
senddata(5,(m%100)%10);
senddata(6,(m%100)/10);
senddata(7,m/100);
l++;
if(l>2)
l=0;
z=0;
s=1;
if(k<m-3)
{t1=0;t2=1;}
else if(k>m+3)
{t1=1;t2=0;}
else if((k>=m-3)&&(k<=m+3))
{t1=0;t2=0;}
}
}
void time0()
{
TH0=0xec;
TL0=0x78;
TR0=1;
while(!TF0);
TF0=0;
TR0=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -