久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
飛思卡爾智能汽車競賽mpc56045源程序分享
[打印本頁]
作者:
mxlandfamily199
時間:
2017-10-24 08:53
標題:
飛思卡爾智能汽車競賽mpc56045源程序分享
本文是小車的源程序代碼,其中包括許多諸如邊沿搜索、但雙線變換等算法。
mpc56045月9日改 02小車快速穩(wěn)定
單片機源程序如下:
/********************************************************
【平 臺】龍丘MPC多功能開發(fā)板
【編 寫】龍丘
【Designed】by Chiu Sir
【E-mail 】chiusir@yahoo.cn
【軟件版本】V1.0
------------------------------------------------
【dev.env.】Code Warrior 2.9
【Target 】MPC5604B/P
【內(nèi)部晶振】 khz
【外部晶振】8MHz
【總線頻率】64MHz
************************
更改:未給Image取值 0x00
*************************
** ---PC3 場中斷 EIRQ[6] 中斷處理函數(shù) External_IRQ_0()
** --PE12 場中斷 EIRQ[11] 中斷處理函數(shù) External_IRQ_1()
** ---A7 攝像頭數(shù)據(jù)口 */
//電機PA5,PA6,PA10,PA11
//舵機PA9
//攝像頭行中斷PC3,場中斷E12,數(shù)據(jù)A7
//串口TX0:PB2 RX0:PB3
//編碼器測速PA1,PA2,PA3,PA4
//紅外引腳PE4,PE10
#include "includes.h"
void ALL_init();
void delay_ms1(int ms);
//------------------采集數(shù)組-------------------------//
uint8 Image[60][70]={0};
//-----------------加權(quán)處理數(shù)組----------------------//
uint8 Standard[MAXLINE]={
1 , 1 , 1 ,1 ,1 ,1 , 1 ,1 ,1 ,1 ,
2 , 2 , 2 ,2 ,3 ,3 , 3 ,3 ,4 ,4 ,
4 , 4 , 5 ,5 ,5 ,5 , 4 ,4 ,4 ,4 ,
3 , 3 , 3 ,3 ,3 ,3 , 3 ,3 ,3 ,3 ,
2 , 2 , 2 ,2 ,2 ,2 , 2 ,1 ,1 ,1 ,
1 , 1 , 1 ,1 ,1 ,1 , 1 ,1 ,0 ,0 ,
//0 , 1 , 1 ,1 ,1 ,1 , 1 ,1 ,1 ,1 ,
//2 , 2 , 3 ,3 ,3 ,3 , 4 ,4 ,4 ,4 ,
//4 , 4 , 5 ,5 ,5 ,6 , 6 ,6 ,6 ,5 ,
//4 , 4 , 4 ,3 ,3 ,3 , 3 ,2 ,2 ,2 ,
//1 , 1 , 1 ,1 ,1 ,1 , 1 ,1 ,1 ,1 ,
// 1 , 1 , 1 ,1 ,1 ,1 , 1 ,0 ,0 ,0 ,
// 1 , 1 , 1 ,1 ,1 ,1 , 1 ,1 ,1 ,1 ,
// 2 , 2 , 2 ,2 ,3 ,3 , 3 ,3 ,4 ,4 ,
// 4 , 4 , 5 ,5 ,5 ,5 , 4 ,4 ,4 ,4 ,
// 3 , 3 , 3 ,3 ,3 ,2 , 2 ,2 ,2 ,2 ,
// 1 , 1 , 1 ,1 ,1 ,1 , 1 ,1 ,1 ,1 ,
// 1 , 1 , 1 ,1 ,1 ,1 , 1 ,0 ,0 ,0 , };
};
//-----------------行中線處理數(shù)組------------------------//
uint16 left_d[MAXCOLUM+1],right_d[MAXCOLUM+1],center_one[MAXCOLUM+1];
uint16 left_d2[MAXCOLUM+1],right_d2[MAXCOLUM+1],center_one2[MAXCOLUM+1];
//-----------------舵機PD處理變量-----------------------//
uint16 duoji=ANGLE_M;
int center_ave=0;
uint16 dis_num=0;
float dismid=0, dismid_d01=0,dismid_d02=0,dismid_error01=0,dismid_error02=0,dismid_error03=0;
int center_all=0;
//----------------電機PD,編碼器測速處理變量-------------//
uint32_t tmp1,tmp2,tmp3,tmp4, pwm_tmp_R=0,pwm_tmp_L=0;
uint32_t now_speed_L,now_speed_R;
float Rd_error=0,Rdd_error=0,Rerror=0,Rspeed_ept=0,Rpre_error=0,Rpre_pre_error=0,Ld_error=0,Ldd_error=0,Lerror=0,Lspeed_ept=0,Lpre_error=0,Lpre_pre_error=0,Setept1=90,Setept2=90;
//----------------撥碼按鍵變量-------------------------//
int ck;
uint8 Boma; //撥碼14,13顯示圖像 撥碼12顯示舵機 按鍵值 撥碼11顯示左中右數(shù)組值
int8 key2=30,key1=10;
uint8 deal_hang_flag=0;
int clki,clkj;
void main (void)
{
ALL_init();
LCD_init();
GPIO_init(PORT_A,12,1,0,0,1);
GPIO_init(PORT_A,13,1,0,0,1);
GPIO_init(PORT_A,14,1,0,0,1);
/*---------按鍵 撥碼引腳初始化-------*/
GPIO_init(PORT_E,0,0,1,1,1);
GPIO_init(PORT_E,1,0,1,1,1);
GPIO_init(PORT_E,2,0,1,1,1);
GPIO_init(PORT_E,3,0,1,1,1);
//給預(yù)中間值賦值
for( ck=0;ck<MAXCOLUM;ck++)
{
center_one[ck]=34;
center_one2[ck]=34;
}
for(ck=0;ck<=MAXLINE;ck++)
{
left_d[ck]=7;
right_d[ck]=MAXCOLUM-9;
left_d2[ck]=7;
right_d2[ck]=MAXCOLUM-9;
//給每一行的第一個數(shù)和最后一個數(shù)賦值,第一個為0 最后一個為最大列數(shù)
}
/* Boma=(((GPIO_get(PORT_E,0)&0x01)|(GPIO_get(PORT_E,1)&0x01)<<1)|((GPIO_get(PORT_E,2)&0x01)<<2)|((GPIO_get(PORT_E,3)&0x01)<<3))&0xff;
if(Boma==0) //安全期望
{
Setept1=90;
Setept2=70;
}
else if(Boma==1) //中速期望
{
Setept1=90;
Setept2=80;
}
else if(Boma==2) //沖擊速度
{
Setept1=90;
Setept2=90;
}*/
while(1)
{
//GPIO_set(PORT_A, 13, 1);
Boma=(((GPIO_get(PORT_E,0)&0x01)|(GPIO_get(PORT_E,1)&0x01)<<1)|((GPIO_get(PORT_E,2)&0x01)<<2)|((GPIO_get(PORT_E,3)&0x01)<<3))&0xff;
Lcd();
if(deal_hang_flag==1)
{
Show();
deal_hang_flag=0;
}
Deal_First_Center();
CalculateSoverAngle();
CalculateSpeed();
//GPIO_set(PORT_A, 13, 0);
//GPIO_set(PORT_A, 14, 1);
}
}
//-----------------------初始化設(shè)置總函數(shù)-------------------------//
void ALL_init()
{
//----------系統(tǒng)時鐘、中斷初始化部分-------------
initModesAndClock(); // MPC56xxP/B/S: Initialize mode entries, set sysclk = 64MHz
disableWatchdog(); // Disable watchdog
GPIO_init(PORT_A,9,1,0,0,0);
GPIO_init(PORT_C,3, 0,0,0,0); //行中斷C3
GPIO_init(PORT_E,12,0,0,0,0); //場中斷E7
GPIO_init(PORT_A,7, 0,0,0,0); //初始化輸入管腳A7數(shù)據(jù)位
//----------初始化電機舵機-------------*/
Emios_0_Init(16); // 將PLL系統(tǒng)時鐘/16送到EMIOS0模塊 64/16=4MHz
Emios_0_initMcb(23, 400,1); //電機周期100us
Emois_0_initOPWM(5, 400, 400,BUS_A); //占空比1/4
Emois_0_initOPWM(6, 400, 400,BUS_A);
Emois_0_initOPWM(10, 400, 400,BUS_A);
Emois_0_initOPWM(11, 400, 400,BUS_A);
Emios_0_initMcb(8, 20000,8); //舵機周期20ms
Emois_0_initOPWM(9, 18516,20000,BUS_C); //舵機中值18520,左偏最大值18355,右偏最大值 18670
//----------- 電機測速 反饋初始化 ---------
vfnInit_Emios_0_MC_1(); // ALLOW pec 模數(shù)輸入模式的行當(dāng)?shù)睦?
vfnInit_Emios_0_MC_2();
vfnInit_Emios_0_MC_3();
vfnInit_Emios_0_MC_4();
PIT_init(0,5000,1); //定時器0初始化 Initialize PIT1 for 1KHz IRQ, priority 2
//ADC_init(ANS0); //ANS0通道初始化,ANS0,ANS1,ANS2可用
initINTC(); // Initialize INTC for software vector mode
EIRQ_init(6,2,3); //使能外部中斷6 PC3 行中斷
EIRQ_init(11,2,3); //使能外部中斷11 PE12 場中斷
// UART_init(UART0,9600,1);
//--------------------允許中斷------------------//
EnableIrq(); //使能中斷打開
}
復(fù)制代碼
所有資料51hei提供下載(完整源碼):
第十屆飛思卡爾智能汽車競賽省賽程序.rar
(271.72 KB, 下載次數(shù): 19)
2017-10-24 08:52 上傳
點擊文件名下載附件
100
下載積分: 黑幣 -5
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
看av在线
|
成人在线免费电影
|
91av视频在线播放
|
盗摄精品av一区二区三区
|
成人国产精品久久
|
91久色
|
av网址在线
|
久色视频在线
|
久久成人免费视频
|
国产91一区二区三区
|
国产激情视频网站
|
日韩中文字幕在线观看
|
久久久国产一区二区三区
|
亚洲国产一区在线
|
午夜精品网站
|
av免费观看网站
|
午夜男人的天堂
|
91免费版在线观看
|
国产精品五区
|
91国产精品
|
国产午夜精品久久久
|
国产免费一级一级
|
国产成人精品一区二区三区网站观看
|
99av成人精品国语自产拍
|
久久久久久亚洲
|
国产特级毛片aaaaaa喷潮
|
国产欧美精品
|
欧美激情视频一区二区三区免费
|
av高清
|
殴美成人在线视频
|
国产精品免费在线
|
国产中文视频
|
91啪影院
|
综合二区
|
欧美成人激情视频
|
视频一二三区
|
欧美综合在线视频
|
亚洲伊人久久综合
|
日韩在线观看中文字幕
|
日韩播放
|
欧美在线一区二区三区
|