单片机C语音小车程序集合2.docx
- 文档编号:6991307
- 上传时间:2023-01-15
- 格式:DOCX
- 页数:68
- 大小:22.54KB
单片机C语音小车程序集合2.docx
《单片机C语音小车程序集合2.docx》由会员分享,可在线阅读,更多相关《单片机C语音小车程序集合2.docx(68页珍藏版)》请在冰豆网上搜索。
单片机C语音小车程序集合2
AText6扩展1
#include
#defineucharunsignedchar
#defineuintunsignedint
sbits1=P1^4;
sbits2=P1^5;
sbits3=P1^6;
sbits4=P1^7;
sbitL1=P1^0;
sbitL2=P1^1;
intdisp[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};
uchari=0,x=0;
voiddelay(unsignedintx)
{
unsignedintj;
while(x--)
{
for(j=0;j<125;j++)
{;}
}
}
voidpwm_int()
{
TMOD=0x02;
CMOD=0x04;
TH0=0x20;
TL0=0x20;
TR0=1;
CCON=0x40;
}
voidzt(inta,intb)
{
if(a==1&&b==2)
{
for(i=0;i<2;i++)
{
for(x=0;x<50;x++)
{
L1=0;
L2=1;
P0=0x71;
delay(10);
L2=0;
L1=1;
P0=disp[i];
delay(10);
}
}
}
elseif(a==2&&b==3)
{
for(i=0;i<3;i++)
{
for(x=0;x<50;x++)
{
L1=1;
L2=0;
P0=disp[i];
delay(10);
L1=0;
L2=1;
P0=0xf1;
delay(10);
}
}
}
elseif(a==3&&b==4)
{
for(i=0;i<4;i++)
{
for(x=0;x<50;x++)
{
L2=0;
L1=1;
P0=disp[i];
delay(10);
L1=0;
L2=1;
P0=0xc1;
delay(10);
}
}
}
elseif(a==4&&b==5)
{
for(i=0;i<2;i++)
{
for(x=0;x<50;x++)
{
L2=0;
L1=1;
P0=disp[i];
delay(10);
L1=0;
L2=1;
P0=0xe3;
delay(10);
}
}
}
elseif(a==0&&b==0)
{
L1=1;
L2=1;
}
}
voidcar(intx,inty)
{
intm,n;
if(x>0&&y>0)
{
m=x;
n=y;
CCAPM1=0X00;
CCAPM3=0X00;
CCAPM2=0X42;
CCAP2H=m;
CCAPM4=0X42;
CCAP4H=n;
CCON=0X40;
}
elseif(x>0&&y<0)
{
m=x;
n=-y;
CCAPM2=0X00;
CCAPM3=0X00;
CCAPM1=0X42;
CCAP1H=m;
CCAPM4=0X42;
CCAP4H=n;
CCON=0X40;
}
elseif(x<0&&y>0)
{
m=-x;
n=y;
CCAPM1=0X00;
CCAPM4=0X00;
CCAPM2=0X42;
CCAP2H=m;
CCAPM3=0X42;
CCAP3H=n;
CCON=0X40;
}
elseif(x<0&&y<0)
{
m=-x;
n=-y;
CCAPM2=0X00;
CCAPM4=0X00;
CCAPM1=0X42;
CCAP1H=m;
CCAPM3=0X42;
CCAP3H=n;
CCON=0X40;
}
}
voidstop()
{
CCAPM2=0X00;
CCAPM3=0X00;
CCAPM1=0X00;
CCAPM4=0X00;
s1=1;
s2=1;
s3=1;
s4=1;
CCON=0X00;
}
voidmain()
{
pwm_int();
car(100,100);
zt(1,2);
car(200,-200);
zt(2,3);
car(-150,-150);
zt(3,4);
car(-100,100);
zt(4,5);
stop();
zt(0,0);
while
(1);
}
AText6综合
#include
voiddelay(unsignedintx)
{
unsignedcharj;
while(x--)
{
for(j=0;j<100;j++)
{;}
}
}
sbitC1=P1^4;
sbitC2=P1^5;
sbitC3=P1^6;
sbitC4=P1^7;
voidSTOP()
{
CCAPM1=CCAPM2=CCAPM3=CCAPM4=0;
CCON=0x00;
}
voidPWM_INT()
{
CMOD=0x04;
TMOD=0x02;
TH0=TL0=0x20;
TR0=1;
}
voiddrive(intL,intR)
{
if(L>0&&R>0)
{
CCAPM1=CCAPM3=0x00;
CCAPM2=CCAPM4=0x42;
CCAP2H=R;
CCAP4H=L;
CCON=0x40;
}
elseif(L>0&&R<0)
{
CCAPM2=CCAPM3=0x00;
CCAPM1=CCAPM4=0x42;
CCAP1H=-R;
CCAP4H=L;
CCON=0x40;
}
elseif(L<0&&R>0)
{
CCAPM1=CCAPM4=0x00;
CCAPM2=CCAPM3=0x42;
CCAP2H=R;
CCAP3H=-L;
CCON=0x40;
}
elseif(L<0&&R<0)
{
CCAPM2=CCAPM4=0x00;
CCAPM1=CCAPM3=0x42;
CCAP1H=-R;
CCAP4H=-L;
CCON=0x40;
}
}
voidmain()
{
PWM_INT();
CCAPM1=CCAPM2=CCAPM3=CCAPM4=1;
CCON=0x00;
drive(80,80);
delay(2000);
drive(250,-250);
delay(3000);
drive(-100,100);
delay(4000);
drive(-160,-160);
delay(2000);
STOP();
while
(1);
}
AText7D1闪烁
#include
voiddelay(unsignedintx)
{
unsignedcharj;
while(x--)
{
for(j=0;j<100;j++)
{;}
}
}
sbitD1=P1^0;
sbitC1=P1^4;
sbitC2=P1^5;
sbitC3=P1^6;
sbitC4=P1^7;
voidSTOP()
{
CCAPM1=CCAPM2=CCAPM3=CCAPM4=0;
CCON=0x00;
}
voiddrive(intL,intR)
{
C1=C2=C3=C4=1;
CCON=0X00;
CCAPM1=CCAPM3=0x00;
CCAPM2=CCAPM4=0x42;
CCAP2H=R;
CCAP4H=L;
CCON=0x40;
}
voidss()
{
D1=0;
delay(1000);
D1=1;
delay(1000);
}
voidPWM_INT()
{
CMOD=0x04;
TMOD=0x02;
TH0=TL0=0x20;
TR0=1;
}
voidvoice()interrupt0
{
drive(200,200);
delay(2000);
STOP();
}
voidmain()
{
IT0=EA=EX0=1;
PWM_INT();
while
(1)
{
ss();
}
}
AText7按键
#include
voiddelay(unsignedintx)
{
unsignedcharj;
while(x--)
{
for(j=0;j<100;j++)
{;}
}
}
inti;
i=0;
sbitD1=P1^0;
sbitC1=P1^4;
sbitC2=P1^5;
sbitC3=P1^6;
sbitC4=P1^7;
sbitK1=P2^7;
voidss()
{
D1=0;
delay(1000);
D1=1;
delay(1000);
}
voidgo(intL,intR)
{
CCAPM1=CCAPM3=0x00;
CCAPM2=CCAPM4=0x42;
CCAP2H=R;
CCAP4H=L;
CCON=0x40;
}
voidleft(intL,intR)
{
CCAPM1=CCAPM4=0x00;
CCAPM2=CCAPM3=0x42;
CCAP2H=R;
CCAP3H=-L;
CCON=0x40;
}
voidright(intL,intR)
{
CCAPM2=CCAPM3=0x00;
CCAPM1=CCAPM4=0x42;
CCAP1H=-R;
CCAP4H=L;
CCON=0x40;
}
voidback(intL,intR)
{
CCAPM2=CCAPM4=0x00;
CCAPM1=CCAPM3=0x42;
CCAP1H=-R;
CCAP3H=-L;
CCON=0x40;
}
voidPWM_INT()
{
CMOD=0x04;
TMOD=0x02;
TH0=TL0=0x20;
TR0=1;
}
voidk()interrupt2
{
delay(100);
if(!
K1)
{
i=i++;
}
if(i==1)
{
go(200,200);
}
elseif(i==2)
{
left(-200,200);
}
elseif(i==3)
{
right(200,-200);
}
elseif(i==4)
{
back(-200,-200);
i=0;
}
}
voidmain()
{
IT1=EA=EX1=1;
PWM_INT();
CCAPM1=CCAPM2=CCAPM3=CCAPM4=1;
CCON=0x00;
while
(1)
{
ss();
}
}
Atext7两按键
#include
#defineucharunsignedchar
#defineuintunsignedint
uchari,b,j;
sbitS1=P1^6;
sbitS2=P1^7;
sbitS3=P1^5;
sbitS4=P1^4;
sbitk1=P2^4;
sbitk2=P2^5;
voidpwm_int()
{
CMOD=0X04;
TMOD=0X02;
TH0=0X20;
TL0=0X20;
TR0=1;
}
voiddelay(uintx)
{
uintj;
while(x--)
{
for(j=0;j<125;j++)
{;}
}
}
voidcar(intx,inty)
{
intm,n;
if(x>0&&y>0)
{
m=x;
n=y;
CCAPM1=0X00;
CCAPM3=0X00;
CCAPM2=0X42;
CCAP2H=m;
CCAPM4=0X42;
CCAP4H=n;
CCON=0X40;
}
elseif(x>0&&y<0)
{
m=x;
n=-y;
CCAPM2=0X00;
CCAPM3=0X00;
CCAPM1=0X42;
CCAP1H=m;
CCAPM4=0X42;
CCAP4H=n;
CCON=0X40;
}
elseif(x<0&&y>0)
{
m=-x;
n=y;
CCAPM1=0X00;
CCAPM4=0X00;
CCAPM2=0X42;
CCAP2H=m;
CCAPM3=0X42;
CCAP3H=n;
CCON=0X40;
}
elseif(x<0&&y<0)
{
m=-x;
n=-y;
CCAPM2=0X00;
CCAPM4=0X00;
CCAPM1=0X42;
CCAP1H=m;
CCAPM3=0X42;
CCAP3H=n;
CCON=0X40;
}
}
voidvoice()interrupt2
{
delay(100);
b=P2&0x0f0;
switch(b)
{
case0xe0:
{i++;
if(i>4)
{i=0;}
}break;
case0x0d0:
{j++;
if(j>3)
{j=0;}
}break;
default:
{break;}
}
}
voidmain()
{
pwm_int();
i=0;
j=0;
EA=1;
EX1=1;
IT1=1;
while
(1)
{if(i==1&&j==0)
{car(50,50);}
elseif(i==1&&j==1)
{car(200,200);}
elseif(i==1&&j==2)
{car(100,100);}
elseif(i==1&&j==3)
{car(60,60);}
elseif(i==2&&j==0)
{car(-50,-50);}
elseif(i==2&&j==1)
{car(-200,-200);}
elseif(i==2&&j==2)
{car(-100,-100);}
elseif(i==2&&j==3)
{car(-60,-60);}
elseif(i==3&&j==0)
{car(50,-50);}
elseif(i==3&&j==1)
{car(200,-200);}
elseif(i==3&&j==2)
{car(100,-100);}
elseif(i==3&&j==3)
{car(60,-60);}
elseif(i==4&&j==0)
{car(-50,50);}
elseif(i==4&&j==1)
{car(-200,200);}
elseif(i==4&&j==2)
{car(-100,100);}
elseif(i==4&&j==3)
{car(-60,60);
i=0,j=0;}
}
}
AText7拍手5种状态
#include
voiddelay(unsignedintx)
{
unsignedcharj;
while(x--)
{
for(j=0;j<100;j++)
{;}
}
}
inti;
i=0;
sbitD1=P1^0;
sbitC1=P1^4;
sbitC2=P1^5;
sbitC3=P1^6;
sbitC4=P1^7;
voidss()
{
D1=0;
delay(1000);
D1=1;
delay(1000);
}
voidgo(intL,intR)
{
CCAPM1=CCAPM3=0x00;
CCAPM2=CCAPM4=0x42;
CCAP2H=R;
CCAP4H=L;
CCON=0x40;
}
voidleft(intL,intR)
{
CCAPM1=CCAPM4=0x00;
CCAPM2=CCAPM3=0x42;
CCAP2H=R;
CCAP3H=-L;
CCON=0x40;
}
voidright(intL,intR)
{
CCAPM2=CCAPM3=0x00;
CCAPM1=CCAPM4=0x42;
CCAP1H=-R;
CCAP4H=L;
CCON=0x40;
}
voidback(intL,intR)
{
CCAPM2=CCAPM4=0x00;
CCAPM1=CCAPM3=0x42;
CCAP1H=-R;
CCAP3H=-L;
CCON=0x40;
}
voidstop()
{
CCAPM1=CCAPM2=CCAPM3=CCAPM4=0;
CCON=0x00;
}
voidPWM_INT()
{
CMOD=0x04;
TMOD=0x02;
TH0=TL0=0x20;
TR0=1;
}
voidvoice()interrupt0
{
i=i++;
if(i==1)
{
go(200,200);
}
elseif(i==2)
{
left(-200,200);
}
elseif(i==3)
{
right(200,-200);
}
elseif(i==4)
{
back(-200,-200);
}
elseif(i==5)
{
stop();
i=0;
}
}
voidmain()
{
IT0=EA=EX0=1;
PWM_INT();
while
(1)
{
ss();
}
}
AText8两中断正逆
#include
voiddelay(unsignedintx)
{
unsignedcharj;
while(x--)
{
for(j=0;j<100;j++)
{;}
}
}
bitflag=0;
sbitR=P1^4;
sbitRZ=P1^5;
sbitL=P1^6;
sbitLZ=P1^7;
unsignedchara,b;
voidvoice()interrupt0
{
R=RZ=L=LZ=1;
delay(2000);
}
voidtime()interrupt1
{
TH0=0x3c;
TL0=0xb0;
a++;
if(a==20)
{
a=0;
b++;
if(b==5)
{
b=0;
flag=!
flag;
}
}
}
voidZD()
{
TMOD=0x01;
TH0=0x3c;
TL0=0xb0;
EA=1;
ET0=1;
TR0=1;
}
voidmain()
{
ZD();
IT0=EA=EX0=1;
while
(1)
{
if(flag==0)
{
RZ=L=1;
delay(500);
R=LZ=0;
}
else
{
R=LZ=1;
delay(500);
RZ=L=0;
}
}
}
AText8秒表
#include
#defineucharunsignedchar
ucharcodetab[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};
uchartime1=0;
uchartime59=0;
voiddelay(unsignedintx)
{
ucharj;
while(x--)
{
for(j=0;j<100;j++)
{;}
}
}
uchara=0,b;
sbitled0=P1^0;
sbitled1=P1^1;
voidZD()
{
TMOD=0x01;
TH0=0x3c;
TL0=0xb0;
EA=1;
ET0=1;
TR0=1;
}
voidtime()interrupt1
{
TH0=0x3c;
TL0=0xb0;
time1++;
if(time1==20)
{
time1=0;
time59++;
if(time59==60)
time59=0;
}
}
voidmain()
{
ZD();
while
(1)
{
a=time59%10;
P0=tab[a];
led0=1;
led1=0;
delay(10);
b=time59/10;
P0=tab[b];
led0=0;
led1=1;
delay(10);
}
}
AText8时钟
#include
#defineucharunsignedchar
ucharcodetab[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};
uchartime1=0;
uchartime60=0,a;
uchartime24=0,b;
voiddelay(unsignedintx)
{
ucharj;
while(x--)
{
for(j=0;j<100;j++)
{;}
}
}
sbitled0=P1^0;
sbitled1=P1^1;
sbitled2=P1^2;
sbitled3=P1^3;
voidZD()
{
TMOD=0x01;
TH0=0x3c;
TL0=0xb0;
EA=1;
ET0=1;
TR0=1;
}
voidtime()interrupt1
{
TH0=0x3c;
TL0=0xb0;
time1++;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 语音 小车 程序 集合
![提示](https://static.bdocx.com/images/bang_tan.gif)