久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
小車循跡的單片機(jī)程序 希望對大家有用
[打印本頁]
作者:
qingjun
時(shí)間:
2018-3-6 21:18
標(biāo)題:
小車循跡的單片機(jī)程序 希望對大家有用
希望對大家有用
單片機(jī)源程序如下:
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
#define da P0
sbit P10=P1^0; //控制左電機(jī)前進(jìn)
sbit P11=P1^1; //控制左電機(jī)后退
sbit P12=P1^2; //控制右電機(jī)前進(jìn)
sbit P13=P1^3; //控制右電機(jī)后退
sbit zuobian=P1^4; //左邊傳感器
sbit youbian=P1^5; //右邊傳感器
sbit zhongjian=P1^6; //中間傳感器
sbit RING=P2^7;
//sbit cesuzuo=P3^2;
//sbit cesuyou=P3^3;
sbit rs=P2^0;
sbit rw=P2^1;
sbit en=P2^2;
sbit buzz=P2^4;
sbit shire=P3^2;//人體釋熱傳感器
void delay(unsigned int z);
void LCDinit();
void lcdwritecom(uchar com);
void lcdwritedat(uchar dat);
void display(uint rate);
void display1(uint rate1);
uint count=0,count1=0;
uint t=0;
uint P110=0,P111=0,P112=0,P113=0;
uchar aa=0;
uchar bb=0;
uchar time=0;
uchar bai0=0,shi0=0,ge0=0;
uint sudu=0,temp=0,temp1=0;
void qianjin()//小車前進(jìn)
{
P10=0;
P11=1;
P12=0;
P13=1;
delay(25);
P10=0;
P11=0;
P12=0;
P13=0;
delay(25);
}
void youguai() //小車右拐
{
uchar i;
for(i=0;i<20;i++)
{
P10=0;
P11=1;
P12=0;
P13=0;
delay(17);
P10=0;
P11=0;
P12=0;
P13=0;
delay(33);
}
}
void zuoguai() //小車左拐
{
uchar i;
for(i=0;i<21;i++)
{
P10=0;
P11=0;
P12=0;
P13=1;
delay(17);
P10=0;
P11=0;
P12=0;
P13=0;
delay(33);
}
}
void move()
{
if(zuobian==0&&zhongjian==0&&youbian==1) //右邊檢測到黑線
youguai();
if(zuobian==1&&zhongjian==0&&youbian==0) // 左邊檢測到黑線
zuoguai();
if(zuobian==0&&zhongjian==1&&youbian==0)
qianjin();
if(zuobian==0&&zhongjian==1&&youbian==1)
youguai();
if(zuobian==1&&zhongjian==1&&youbian==0)
zuoguai();
if(zuobian==0&&zhongjian==0&&youbian==0)
qianjin();
if(zuobian==1&&zhongjian==1&&youbian==1)
qianjin();
if(zuobian==1&&zhongjian==0&&youbian==1)
qianjin();
}
void init_time0()
{
EA=1;
EX0=1;
IT0=1;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
EX1=1;
ET0=1;
IT1=1;
TR0=1;
}
void main(void)
{
LCDinit();
init_time0();
while(1)
{
move();
if(time == 1)
{
time =0;
t++;
display(t);
move();
temp=bb*1.4;
temp1=temp+temp1;
move();
display1(temp1);
bb=0;
}
}
}
void lcdwritecom(uchar com)
{
rs=0;
rw=0;
da=com;
delay(10);
en=1;
delay(10);
en=0;
}
void lcdwritedat(uchar dat)
{
rs=1;
rw=0;
da=dat;
delay(10);
en=1;
delay(10);
en=0;
}
void LCDinit()
{
lcdwritecom(0x38);
lcdwritecom(0x0c);
lcdwritecom(0x06);
lcdwritecom(0x01);
lcdwritecom(0x80);
lcdwritedat('T');
lcdwritedat(':');
lcdwritedat('0');
lcdwritedat('0');
lcdwritedat('0');
lcdwritedat('s');
lcdwritecom(0x80+0x40);
lcdwritedat('S');
lcdwritedat(':');
lcdwritedat('0');
lcdwritedat('0');
lcdwritedat('0');
lcdwritedat('0');
lcdwritedat('c');
lcdwritedat('m');
}
void display(uint rate)
{
uchar bai,shi,ge;
EA=0;
ge=rate%10;
if(ge != 0)
{
lcdwritecom(0x80+4);
lcdwritedat('0'+ge);
}
if(ge == 0 && rate%100/10 != 0)
{
shi=rate%100/10;
lcdwritecom(0x80+3);
lcdwritedat('0'+shi);
lcdwritedat('0');
}
if(ge == 0 && rate/100 != 0)
{
bai=rate/100;
lcdwritecom(0x80+2);
lcdwritedat('0'+bai);
lcdwritedat('0');
lcdwritedat('0');
}
EA=1;
}
void alarm()//蜂鳴器報(bào)警
{
uchar i;
buzz=0;
for(i=0;i<30;i++)
{
if(zuobian==0&&zhongjian==0&&youbian==1) //右邊檢測到黑線
youguai();
if(zuobian==1&&zhongjian==0&&youbian==0) // 左邊檢測到黑線
zuoguai();
if(zuobian==0&&zhongjian==1&&youbian==0)
qianjin();
if(zuobian==0&&zhongjian==1&&youbian==1)
youguai();
if(zuobian==1&&zhongjian==1&&youbian==0)
zuoguai();
if(zuobian==0&&zhongjian==0&&youbian==0)
qianjin();
if(zuobian==1&&zhongjian==1&&youbian==1)
qianjin();
if(zuobian==1&&zhongjian==0&&youbian==1)
qianjin();
}
buzz=1;
}
void display1(uint rate1)
{
uchar qian, bai,shi,ge;
EA=0;
qian=rate1/1000;
bai=rate1/100%10;
shi=rate1/10%10;
ge=rate1%10;
lcdwritecom(0x80+0x40+2);
lcdwritedat('0'+qian);
lcdwritedat('0'+bai);
lcdwritedat('0'+shi);
lcdwritedat('0'+ge);
EA=1;
}
void delay(unsigned int z)
{
unsigned char a,b;
for(a=z;a>0;a--)
for(b=200;b>0;b--);
}
/*void alarm1() interrupt 4
{
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
alarm();
}*/
void time0() interrupt 1
{
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
aa++;
if(aa==20)
{
aa=0;
time=1;
}
}
void service_int0() interrupt 0
{
alarm();
}
void service_int1() interrupt 2
{
bb++;
}
復(fù)制代碼
所有資料51hei提供下載:
xiaoche.rar
(36.81 KB, 下載次數(shù): 5)
2018-3-6 21:16 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
韩国主播午夜大尺度福利
|
亚洲色图综合
|
国产午夜在线
|
福利网址
|
亚洲一区二区三区在线
|
国产三级
|
国产精品一区二区无线
|
久久国产精品视频
|
久久久久久久久久影视
|
国产男女猛烈无遮掩视频免费网站
|
91av在线免费播放
|
中文字幕1区
|
久久精品亚洲精品
|
成人字幕网zmw
|
国产午夜久久久
|
在线国产一区
|
在线国产一区二区
|
亚洲精品亚洲人成人网
|
亚洲va欧美va天堂v国产综合
|
成人伊人
|
性欧美精品一区二区三区在线播放
|
国产 欧美 日韩 一区
|
在线看亚洲
|
久久精品国产99国产精品
|
国产国产精品久久久久
|
91pron在线
|
91精品国产麻豆
|
在线国产视频观看
|
精品久久一区二区三区
|
欧美激情99
|
欧美亚洲视频在线观看
|
三级视频国产
|
日韩视频一区二区在线
|
久久久久久久av
|
日韩免费福利视频
|
欧美亚洲高清
|
一区二区三区在线看
|
狠狠av
|
国产午夜精品久久久久免费视高清
|
欧美日韩免费视频
|
成人欧美一区二区三区色青冈
|