date(table[shi]); date(table[ge]); }
void display1(uchar add,uchar dat) {
com(0x80+add); date(table[dat]); }
void init_t0()//定时器0初始化 {
TMOD=0x01;
TH0=(65536-500)/256; TL0=(65536-500)%6; EA=1; ET0=1; TR0=1; }
void init_t1()//定时器1初始化 {
TMOD=0x10;
TH0=(65536-50000)/256; TL0=(65536-50000)%6; EA=1; ET1=1; TR1=0; }
void t1() interrupt 3 //定时器1 {
TH1=(65536-50000)/256; TL1=(65536-50000)%6; jdnum++;
if(jdnum==100) {
jdnum=0;
if(disnum>120) {
pwm2=0;//辅助风机 pwm=37;//右边风机 pwm1=65;//左边风机 }
15 / 27
if(disnum<=120) {
pwm2=0;//辅助风机 pwm=37;//右边风机 pwm1=75;//左边风机 } TR1=0; } }
void t0() interrupt 1//定时器0 {
TR0=0;
TH0=(65536-500)/256; TL0=(65536-500)%6; num++; num1++; num2++;
if(num>100) {
num=0; }
if(num1>100) {
num1=0; }
if(num2>100) {
num2=0; }
if(num<=pwm) {
left=1; } else {
left=0; }
if(num1<=pwm1)
16 / 27
{
right=1;
} else {
right=0;
}
if(num2<=pwm2) {
left1=1; right1=1;
} else {
left1=0; right1=0;
}
TR0=1; }
void shujuku()//数据库 {
if(shuru1<50) {
pwm1=45+2;//左主 pwm=100;//右主 pwm2=50;//辅助 jd=98;//角度 }
if(shuru1>=50&&shuru1<55) {
pwm1=50+2;//左主 pwm=100;//右主
17 / 27
pwm2=50;//辅助 jd=100;//角度 }
if(shuru1>=55&&shuru1<60) {
pwm1=53+2;//左主 pwm=100;//右主 pwm2=50;//辅助 jd=104;//角度 }
if(shuru1>=60&&shuru1<65) {
pwm1=56+2;//左主 pwm=100;//右主 pwm2=50;//辅助 jd=106;//角度 }
if(shuru1>=65&&shuru1<70) {
pwm1=63+5;//左主 pwm=100;//右主 pwm2=50;//辅助 jd=110;//角度 }
if(shuru1>=70&&shuru1<75) {
pwm1=68+12;//左主 pwm=100;//右主 pwm2=47;//辅助 jd=115;//角度 }
if(shuru1>=75&&shuru1<80) {
pwm1=76+4;//左主 pwm=100;//右主 pwm2=50;//辅助 jd=118;//角度 }
18 / 27
if(shuru1>=80&&shuru1<85) {
pwm1=82+2;//左主 pwm=100;//右主 pwm2=50;//辅助 jd=121;//角度 }
if(shuru1>=85&&shuru1<90) {
pwm1=83+2;//左主 pwm=100;//右主 pwm2=50;//辅助 jd=126;//角度 }
if(shuru1>=90&&shuru1<95) {
pwm1=97+2;//左主 pwm=100;//右主 pwm2=50;//辅助 jd=129;//角度 }
if(shuru1>=95&&shuru1<100) {
pwm1=100;//左主 pwm=92-1;//右主 pwm2=50;//辅助 jd=133;//角度 }
if(shuru1>=100&&shuru1<105) {
pwm1=100;//左主 pwm=84-1;//右主 pwm2=50;//辅助 jd=137;//角度 }
if(shuru1>=105&&shuru1<110) {
19 / 27