灭火小车 单片机.docx
- 文档编号:15448429
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:12
- 大小:16.84KB
灭火小车 单片机.docx
《灭火小车 单片机.docx》由会员分享,可在线阅读,更多相关《灭火小车 单片机.docx(12页珍藏版)》请在冰点文库上搜索。
灭火小车单片机
#include
#include
#include"intrins.h"
#defineFOSC18432000L
#defineBAUD9600
sfrADC_CONTR=0xBC;//ADCcontrolregister
sfrADC_RES=0xBD;//ADChigh8-bitresultregister
sfrADC_LOW2=0xBE;//ADClow2-bitresultregister
sfrP1ASF=0x9D;//P1secondaryfunctioncontrolregister
#defineADC_POWER0x80//ADCpowercontrolbit
#defineADC_FLAG0x10//ADCcompleteflag
#defineADC_START0x08//ADCstartcontrolbit
#defineADC_SPEEDLL0x00//540clocks
#defineADC_SPEEDL0x20//360clocks
#defineADC_SPEEDH0x40//180clocks
#defineADC_SPEEDHH0x60//90clocks
#defineuintunsignedint
#defineucharunsignedchar
#defineT200
voidInitADC();
voiddelay(uinttime);
voidspeed(intsp1,intsp2);
voidmiehuo();
voidhuijia1();
voidhuijia2();
voidhuijia3();
voidhuijia4();
ucharGetADCResult(ucharch);
sbita1=P0^0;
sbita2=P0^1;
sbitb1=P0^2;
sbitb2=P0^3;
sbitp20=P2^0;//左
sbitp21=P2^1;//左前
sbitp22=P2^2;//前
sbitp23=P2^3;//右前
sbitp24=P2^4;//右
sbitp25=P2^5;//前底部
sbitp33=P3^3;//前底部2
sbitp26=P2^6;//后底部
sbitopen=P2^7;//声控
sbitfm=P0^4;//蜂鸣器
sbitfs=P0^5;//风扇
sbithuo=P3^2;//中间火焰D
intsp1,sp2;
uinttt,num=0,flag=0;
uinta=255,b=255,c=255,d=255,e=255;
voidInitADC()
{
P1ASF=0xff;
ADC_RES=0;
ADC_CONTR=ADC_POWER|ADC_SPEEDLL;
delay
(1);
}
ucharGetADCResult(ucharch)
{
ADC_CONTR=ADC_POWER|ADC_SPEEDLL|ch|ADC_START;
delay
(2);
while(!
(ADC_CONTR&ADC_FLAG));
ADC_CONTR&=~ADC_FLAG;
returnADC_RES;
}
voiddelay(uinttime)
{
ucharj;
for(;time--;)
for(j=0;j<124;j++);
}
voidinit()
{
sp1=0;sp2=0;
TMOD=0x01;
TH0=(65536-200)/256;
TL0=(65536-200)%256;
EA=1;
ET0=1;
tt=0;
}
voidspeed(intsp1,intsp2)//sp1,2-电机速度(0_200)
{
TR0=1;
while(tt {if(sp1==0){a1=1;a2=1;} elseif(sp1>0){if(sp1>=tt){a1=1;a2=0;}else{a1=1;a2=1;}} else{if(abs(sp1)>=tt){a1=0;a2=1;}else{a1=1;a2=1;}} if(sp2==0){b1=1;b2=1;} elseif(sp2>0){if(sp2>=tt){b1=1;b2=0;}else{b1=1;b2=1;}} else{if(abs(sp2)>=tt){b1=0;b2=1;}else{b1=1;b2=1;}} } tt=0;TR0=0; } voidrun_left() {uinti;//提速 if(p22==0&&p24==1)for(i=0;i<6;i++)speed(190,-145); else {if(p20==0&&p21==0)speed(200,90);// if(p20==1&&p21==1)speed(65,200);//35,185 if(p20==0&&p21==1)for(;p21==1&&p25==1&&p33==1;)speed(0,190);//与摩擦力有关 if(p20==1&&p21==0)speed(150,150); } } voidrun_left2()//4号回家用 {uinti; if(p22==0&&p24==1)for(i=0;i<8;i++)speed(190,-140); else {if(p20==0&&p21==0)speed(185,20); if(p20==1&&p21==1)speed(20,180); if(p20==0&&p21==1)for(;p22==1&&p21==1;)speed(-10,185); if(p20==1&&p21==0)speed(60,60); } } voidrun_right() {uinti; if(p22==0&&p20==1)for(i=0;i<5;i++)speed(-120,190); else {if(p23==0&&p24==0)speed(55,190); if(p23==1&&p24==1)speed(190,20); if(p23==1&&p24==0)for(;p23==1&&p25==1&&p33==1;)speed(190,-5); if(p23==0&&p24==1)speed(100,100); } } voidrun_right2()//2号回家用 {uinti; if(p22==0&&p20==1)for(i=0;i<5;i++)speed(-90,190); else {if(p23==0&&p24==0)speed(30,170); if(p23==1&&p24==1)speed(170,30); if(p23==1&&p24==0)for(;p23==1&&p22==1;)speed(180,0); if(p23==0&&p24==1)speed(70,70); } } voidmiehuo() { uinti; fm=0; if(a>e)for(i=0;i<6;i++)speed(200,60); elsefor(i=0;i<6;i++)speed(170,140); fm=1; while (1) { if(p25==1&&p33==1) {a=GetADCResult(0);c=GetADCResult (2);e=GetADCResult(4); if(a<=c&&c elseif(c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 灭火小车 单片机 灭火 小车
![提示](https://static.bingdoc.com/images/bang_tan.gif)