单片机C语音小车程序集合2.docx

上传人:b****5 文档编号:6991307 上传时间:2023-01-15 格式:DOCX 页数:68 大小:22.54KB
下载 相关 举报
单片机C语音小车程序集合2.docx_第1页
第1页 / 共68页
单片机C语音小车程序集合2.docx_第2页
第2页 / 共68页
单片机C语音小车程序集合2.docx_第3页
第3页 / 共68页
单片机C语音小车程序集合2.docx_第4页
第4页 / 共68页
单片机C语音小车程序集合2.docx_第5页
第5页 / 共68页
点击查看更多>>
下载资源
资源描述

单片机C语音小车程序集合2.docx

《单片机C语音小车程序集合2.docx》由会员分享,可在线阅读,更多相关《单片机C语音小车程序集合2.docx(68页珍藏版)》请在冰豆网上搜索。

单片机C语音小车程序集合2.docx

单片机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++;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1