#include
#define uchar unsigned char #define uint unsigned int
sbit left=P2^0;
sbit zleft=P2^1;
sbit zright=P2^2;
sbit right=P2^3;
sbit EN12=P3^1;//zuobiandianji sbit EN34=P3^0;//youbiandianji
sbit PWM1=P2^7;//zuobiandianji sbit PWM2=P2^6; //youbiandianji uchar count1=0;
uchar count2=0;
uchar N1=0;
uchar N2=0;
void init()
{
EN12=1;
EN34=1;
TMOD=0x11;
TH0=(65536-20000)/256; TL0=(65536-20000)%256; TH1=(65536-20000)/256; TL1=(65536-20000)%256; EA=1;
ET0=1;
ET1=1;
TR0=1;
TR1=1;
}
void time_1() interrupt 1 {
TH0=(65536-200)/256; TL0=(65536-200)%256; count1++;
if(count1
PWM1=1;
else
PWM1=0;
if(count1>=100)
count1=0;
}
void time_2() interrupt 3 {
TH1=(65536-200)/256; TL1=(65536-200)%256; count2++;
if(count2
PWM2=1;
else
PWM2=0;
if(count2>=100)
count2=0;
}
void dianji(uchar x)
{
switch(x)
{
case 1:N1=100; N2=100; break; case 2:N1=60; N2=80; break; case 3:N1=80; N2=60; break; case 4:N1=0; N2=60; break; case 5:
N1=60; N2=0; break; case 6:N1=100; N2=100; break; case 7:N1=100; N2=100; break; }
}
void signals()
{
if(zleft&&zright==1) {
if(right&&left==1) dianji(7); else dianji(1); }
else
if(zleft||zright==1)
void main()
{
init();
while(1)
signals();
}
{ if(zleft==1) dianji(2); else dianji(3); } else if(left||right==1) {if(left==1) dianji(4); else dianji(5); } else dianji(6); }
#include
#define uchar unsigned char #define uint unsigned int
sbit left=P2^0;
sbit zleft=P2^1;
sbit zright=P2^2;
sbit right=P2^3;
sbit EN12=P3^1;//zuobiandianji sbit EN34=P3^0;//youbiandianji
sbit PWM1=P2^7;//zuobiandianji sbit PWM2=P2^6; //youbiandianji uchar count1=0;
uchar count2=0;
uchar N1=0;
uchar N2=0;
void init()
{
EN12=1;
EN34=1;
TMOD=0x11;
TH0=(65536-20000)/256; TL0=(65536-20000)%256; TH1=(65536-20000)/256; TL1=(65536-20000)%256; EA=1;
ET0=1;
ET1=1;
TR0=1;
TR1=1;
}
void time_1() interrupt 1 {
TH0=(65536-200)/256; TL0=(65536-200)%256; count1++;
if(count1
PWM1=1;
else
PWM1=0;
if(count1>=100)
count1=0;
}
void time_2() interrupt 3 {
TH1=(65536-200)/256; TL1=(65536-200)%256; count2++;
if(count2
PWM2=1;
else
PWM2=0;
if(count2>=100)
count2=0;
}
void dianji(uchar x)
{
switch(x)
{
case 1:N1=100; N2=100; break; case 2:N1=60; N2=80; break; case 3:N1=80; N2=60; break; case 4:N1=0; N2=60; break; case 5:
N1=60; N2=0; break; case 6:N1=100; N2=100; break; case 7:N1=100; N2=100; break; }
}
void signals()
{
if(zleft&&zright==1) {
if(right&&left==1) dianji(7); else dianji(1); }
else
if(zleft||zright==1)
void main()
{
init();
while(1)
signals();
}
{ if(zleft==1) dianji(2); else dianji(3); } else if(left||right==1) {if(left==1) dianji(4); else dianji(5); } else dianji(6); }