欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
單片機+超聲波控制舵機轉動源程序
[打印本頁]
作者:
wW123xz
時間:
2020-3-12 17:52
標題:
單片機+超聲波控制舵機轉動源程序
單片機源程序如下:
#include<reg52.h>
#include<stdio.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit Trig=P3^4; //控制端
sbit Echo=P3^5; //接收端
sbit led=P1^3;
sbit servorControl =P1^3; //舵機的控制引腳
uchar flag=0;
uchar control=5;
uchar servorTime=0;
unsigned char T0RH=0;
unsigned char T0RL=0;
void time_init()
{
EA=1;
TMOD=0x11;
TH0 = 0;
TL0 = 0;
}
///////////////////////////////////////
void delay(uchar time){ //延遲函數
uchar i;
for(;time>0;time--){
for(i=0;i<255;i++);
}
}
//初始化定時器
void Delay_us(unsigned char t)
{
while(--t);
} //大約延時t*2+5us 超聲波模塊用
//////////////////////////////////////
void timer0()interrupt 1
{
TH0 = 0;
TL0 = 0;
}
//中斷程序 初始化賦值 重新計數 超聲波模塊用 計算時間
void main()
{
unsigned int time,distance;
EA=1;
ET0=1;
ET1=1;
TMOD=0x11;
TH1=0xff;
TL1=0x9c;
servorTime=0;
Trig=0;
Echo=0;
time_init();
while(1)
{
Trig=1;
Delay_us(5);
Trig=0;
while(Echo==0);
TR0=1;
while(Echo);
TR0=0;
time=TH0*256+TL0;
distance=(int)(time*0.017); //計算路程 單位為cm
TH0=0;
TL0=0;
if(distance<30) //如果距離小于30cm 蜂鳴器響
{
control=15; //使舵機向正擺動
servorTime=0;
TR1=1;
delay(200);
delay(200);
TR1=0;
}
else
{
control=5; //使舵機向右擺動
servorTime=0;
TR1=1;
delay(200);
delay(200);
TR1=0;
delay(200);
delay(200);
}
}
}
void T1_int(void) interrupt 3{ //產生舵機所需要的脈沖
TH1=0xff;
TL1= 0x9c;
servorTime++;
if(servorTime<=control)
servorControl=1;
else
servorControl=0;
if(servorTime>=200)
servorTime=0;
}
復制代碼
所有資料51hei提供下載:
舵機轉向與超聲波.zip
(29.16 KB, 下載次數: 14)
2020-3-12 17:51 上傳
點擊文件名下載附件
整個壓縮包
下載積分: 黑幣 -5
作者:
admin
時間:
2020-3-12 22:18
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
作者:
于麗華
時間:
2020-4-1 15:40
admin 發表于 2020-3-12 22:18
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
沒有編輯按鈕啊
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1