欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
單片機遙感控制系統程序
[打印本頁]
作者:
夢不虛存
時間:
2019-5-30 03:27
標題:
單片機遙感控制系統程序
通過遙感對數據的采集送到單片機
單片機源程序如下:
/*坐標系:以接口一邊為前。
前:X:0.04 Y:0.02 左前: X:0.04 Y:0.00 右前: X:0.04 Y:0.04
后:X:0.00 Y:0.02 左后: X:0.00 Y:0.00 右后: X:0.00 Y:0.04
左:X:0.02 Y:0.00
右:X:0.02 Y:0.04
*/
/***********************主函數模塊****************************/
#include "api_t.h"
#include "stc12.h"
#include "intrins.h"
#include "htc12_ad.h"
#include "lcd.h"
#define uchar unsigned char
extern uchar RX_BUF[TX_PLOAD_WIDTH];
extern uchar TX_BUF[TX_PLOAD_WIDTH];
float value0=0,value1=0;
uchar Disp[]=" Pechin Science ";
uchar renddata[4]={0};
uchar i,bb=0;
int deal_rand_data[3];
int deal_rand_data2[3];
sbit k1=P1^2;
void function_handle(int b)//函數處理
{
if(b==1)
deal_rand_data2[1]=255-(deal_rand_data[2]*0.0512-0.5);//y 的ad返回值轉化成0~255的pwm值
if(b==2)
deal_rand_data2[2]=deal_rand_data[2]*0.0513-0.5;//x 的ad返回值轉化成0~255的pwm值
}
void dealdata() //處理數據
{
float a0,a1;
a0=value0*1000;
a1=value1*1000;
deal_rand_data[1]=(int)a0/1000%10*1000+(int)a0/100%10*100+(int)a0/10%10*10+(int)a0%10; // y
function_handle(1); //函數處理y得到0~255的pwm值
deal_rand_data[2]=(int)a1/1000%10*1000+(int)a1/100%10*100+(int)a1/10%10*10+(int)a1%10;
function_handle(2); //函數處理x得到0~255的pwm值
}
void direction_data_dealing() //遙感模塊,控制各方向
{
if(deal_rand_data[1]>=2490 && deal_rand_data[1]<=2520 && deal_rand_data[2]>=2520 && deal_rand_data[2]<=2550)//靜止 y x
{
renddata[1]=deal_rand_data2[1];
renddata[2]=deal_rand_data2[2];
renddata[3]='j';
renddata[4]=1;
}
if(deal_rand_data[1]>=2500 && deal_rand_data[1]<=2510 && deal_rand_data[2]>=0000 && deal_rand_data[2]<=2519
|| deal_rand_data[1]>=2500 && deal_rand_data[1]<=4200 && deal_rand_data[2]>=0000 && deal_rand_data[2]<=2519
|| deal_rand_data[1]>=0000 && deal_rand_data[1]<=2520 && deal_rand_data[2]>=0000 && deal_rand_data[2]<=2519)//前進 y x
{
renddata[1]=deal_rand_data2[1];
renddata[2]=deal_rand_data2[2];
renddata[3]='q';
renddata[4]=2;
}
if(deal_rand_data[1]>=2530 && deal_rand_data[1]<=5000 && deal_rand_data[2]>=2520 && deal_rand_data[2]<=2550)//左轉 y x
{
renddata[1]=deal_rand_data2[1];
renddata[2]=deal_rand_data2[2];
renddata[3]='z';
renddata[4]=3;
}
if(deal_rand_data[1]>=0000 && deal_rand_data[1]<=2480 && deal_rand_data[2]>=2520 && deal_rand_data[2]<=2550)//右轉 y x
{
renddata[1]=deal_rand_data2[1];
renddata[2]=deal_rand_data2[2];
renddata[3]='y';
renddata[4]=4;
}
if(deal_rand_data[1]>=2490 && deal_rand_data[1]<=2520 && deal_rand_data[2]>=2550 && deal_rand_data[2]<=5000
|| deal_rand_data[1]>=2530 && deal_rand_data[1]<=5000 && deal_rand_data[2]>=2550 && deal_rand_data[2]<=5000
|| deal_rand_data[1]>=0000 && deal_rand_data[1]<=2480 && deal_rand_data[2]>=2600 && deal_rand_data[2]<=5000)//后退 y x
{
renddata[1]=deal_rand_data2[1];
renddata[2]=deal_rand_data2[2];
renddata[3]='h';
renddata[4]=5;
}
}
void keydoing()
{
TX_BUF[4]=1;
}
void keypros()
{
if(k1==1) //檢測按鍵K1是否按下
{
delay(1000); //消除抖動 一般大約10ms
if(k1==1) //再次判斷按鍵是否按下
{
bb=1;
}
while(k1); //檢測按鍵是否松開
}
}
void main()
{
ADC_Init();
init_io(); //函數初始化
k1=0;
while(1)
{
value0=ADC_AV(0xe0);
value1=ADC_AV(0xe1); //ad模塊電壓提取
dealdata();
direction_data_dealing(); //遙感函數處理
TX_BUF[0]=renddata[1];
TX_BUF[1]=renddata[2]; // y
TX_BUF[2]=renddata[4];
TX_BUF[3]=renddata[3]; // x
TX_Mode(TX_BUF); //以wifi模塊發送出數據
Check_ACK(1);
delay_ms(250);
}
}
復制代碼
所有資料51hei提供下載:
遙控.rar
(54.65 KB, 下載次數: 13)
2019-5-30 03:26 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
admin
時間:
2019-5-30 06:00
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
作者:
小橙子6969
時間:
2020-6-25 15:32
為啥我的軟件打不來的程序
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1