亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
基于STC12C5A60S2的電磁循跡小車源碼
[打印本頁]
作者:
舒服只給死人
時間:
2018-6-16 17:57
標題:
基于STC12C5A60S2的電磁循跡小車源碼
采用STC12C5A60S2采集AD信號小車循跡
單片機源程序如下:
#include <STC12C5A60S2.H>
#include "intrins.h"
#include "Common.h" //通用宏定義
#include "delay.h" //通用延時程序
#include "PWM_TIME.h" //模擬PWM
#include "ADC.H"
#define k1 0.1
#define k2 0.1
void AD_send();
fp32 AD_chuli(uchar *s1, uchar *s2);
fp32 Engine_PWM = Engine_Left;
uchar a1 = 100, a2 = 100;
int error;
uchar flag;
uchar flag1 = 0;
uchar flag2;
extern INT32 kk;
void Init0_Init()
{
IT0 = 1; //set INT0 int type (1:Falling 0:Low level)
EX0 = 1; //enable INT0 interrupt
EA = 1; //open global interrupt switch
}
void main(void)
{
InitADC();
InitUart();
Init_PWM_TIME();
Init0_Init();
while(1)
{
if(flag == 1)
{
a1 = 0, a2 = 0;
Engine_PWM = Engine_Mid;
error = -150;
}
Engine_PWM = AD_chuli(&a1, &a2);
//AD_send();
change_Motor(a1,a2);
change_Engine(Engine_PWM);
}
}
void AD_send()
{
ShowResult(1); //show ChabneP10
ShowResult(2); //P11
ShowResult(3); //P12
//ShowResult(4);
//ShowResult(7);
//ShowResult(6);
Delay(30);
}
fp32 AD_chuli(uchar *s1, uchar *s2)
{
fp32 temp;
error = GetADCResult(2) - GetADCResult(1);
if(flag != 1)
{
if(GetADCResult(1) > GetADCResult(2))
{
Engine_PWM = k2 * error + Engine_Mid;
*s1 = 100, *s2 = 100;
flag2 = 1;
if(error < -60)
{
//Engine_PWM = k2 * error + Engine_Mid;
flag1 = 1;
temp = Engine_PWM;
*s1 = 100, *s2 = 100;
}
}
else if(GetADCResult(2) > GetADCResult(1))
{
Engine_PWM = k2 * error + Engine_Mid;
*s1 = 100, *s2 = 100;
flag2 = 2;
if(error > 60)
{
//Engine_PWM = k2 * error + Engine_Mid;
flag1 = 2;
temp = Engine_PWM;
*s1 = 100, *s2 = 100;
}
}
}
if(GetADCResult(2) == 0 && GetADCResult(1) == 0 && GetADCResult(3) == 0)
{
if(flag != 1)
{
if(flag2 != 2)
{
if(flag1 == 1)
{
Engine_PWM = temp;*s1 = 100, *s2 = 100;
}
else
{
Engine_PWM = Engine_Left;
}
}
else if(flag2 != 1)
{
if(flag1 == 2)
{
Engine_PWM = temp;*s1 = 100, *s2 = 100;
}
else
{
Engine_PWM = Engine_Right;
}
}
}
}
if(Engine_PWM <= Engine_Left)
{
Engine_PWM = Engine_Left;
}
else if(Engine_PWM >= Engine_Right)
{
Engine_PWM = Engine_Right;
}
return Engine_PWM;
}
void Int0_Routine(void) interrupt 0
{
if(kk >= 100000)
{
flag = 1;
}
else
{
flag = 2;
}
}
/* 中斷服務程序的編號
void Int0_Routine(void) interrupt 0; 外部中斷0(INT0)
void Timer0_Rountine(void) interrupt 1; 定時器0中斷
void Int1_Routine(void) interrupt 2; 外部中斷1(INT1)
void Timer1_Rountine(void) interrupt 3; 定時器1中斷
void UART_Routine(void) interrupt 4; 串口1(UART1)中斷
void ADC_Routine(void) interrupt 5; A/D轉換中斷
void LVD_Routine(void) interrupt 6; 低壓檢測(LVD)中斷
void PCA_Routine(void) interrupt 7; PCA中斷
void UART2_Routine(void) interrupt 8; 串口2中斷
void SPI_Routine(void) interrupt 9 SPI中斷
*/
復制代碼
所有資料51hei提供下載:
小車控制.zip
(119.94 KB, 下載次數: 96)
2018-6-16 17:56 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
ty2030766
時間:
2019-4-3 23:31
嘿嘿 學習學習
作者:
qiu523
時間:
2019-4-13 14:12
借鑒一下
作者:
帥同學
時間:
2021-3-18 23:38
問下樓主電磁傳感器使用的是什么傳感器呢?有沒有芯片的中文資料呀?
作者:
canyi
時間:
2022-8-17 11:43
求分享電路圖
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1