📄 cesu.c
字号:
#include<c8051f020.h>
//#include <intrins.h>
void time0();
void senddata(unsigned char,unsigned char);
void delay(long int);
void yan03s(unsigned char);
//void Delay1us(unsigned int us);
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=0;
int k=55;
unsigned long int z=10;
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,i=0,j=0,o=2;
int m,a[3],n=0;
unsigned char l=0,x=0,v=0,c=1;
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(1)
{
do
{
time0();
z++;
}
while(s);
TR0=0;
a[l]=60*200/z;
if((a[l]>300)||(a[l]<20))
a[l]=n;
else
n=a[l];
l++;
senddata(8,i2);
yan03s(1);
i2++;
if(i2>9)
i2=0;
switch(l)
{
case 3:
{
m=(a[0]+a[1]+a[2])/3;
senddata(5,(m%100)%10);
senddata(6,(m%100)/10);
senddata(7,m/100);
l=0;
if(((k<m-3)&&(k>=m-10))||((k<m+10)&&(k>m+3)))
c=1;
}break;
}
if(k<m-10)
{ t1=1;t2=0;}
if((k<m-3)&&(k>=m-10)&&c)
{t1=1;t2=0;yan03s(5);t1=0;t2=0;c=0;}
if((k<=m+3)&&(k>=m-3))
{t1=0;t2=0;}
if((k<m+10)&&(k>m+3)&&c)
{t1=0;t2=1;yan03s(5);t1=0;t2=0;c=0;}
if(k>m+10)
{t1=0;t2=1;}
z=10;
s=1;
}
}
void time0()
{
TH0=0xec;
TL0=0x78;
TR0=1;
while(!TF0);
TF0=0;
TR0=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -