亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mc9s12dg128.txt

?? 第一屆大學生飛思卡爾智能車程序源碼
?? TXT
?? 第 1 頁 / 共 2 頁
字號:

小車控制程序清單 


**********************************************************************************/ 

/* 

************************************************************************************ main.c 

* 

*

* 

* 

* 

**********************************************************************************/ 

#include <hidef.h> /* common defines and macros */ 

#include <mc9s12dg128.h> /* derivative information */ 

#pragma LINK_INFO DERIVATIVE "mc9s12dg128b" 

#define HIGHSPEED 11500 /* 速度參量,此處未使用測速模塊 */ 

#define LOWSPEED0 12500 /* 0-24000 數值越大,速度越慢 */ 

#define LOWSPEED1 12000 /* used in CarMain() */ 

#define STABMAX 50 

#define StopCar() PORTK |= 0x80 /* stop the motor */ 

#define StartCar() PORTK |= 0x04 /* start the motor */ 

#define BrakeCar() PORTK &= 0xfb /* slow the speed of the SmartCar */ 

unsigned int SYSCLOCK=0; /* update in INT_Timer0() */ 

/* 

*********************************************************************************** 

* FUNCTION PROTOTYPES 

**********************************************************************************/ 

/* write in "SmartCar.c" */ 

void Init_INT_RTI(void); /* initiate Real Time Interrupt */ 

void Init_INT_Timer(void); /* INT_Timer0 initiate */ 

void Init_PWMout(void); /* initiate PWM output */ 

void PWMout(int, int); /* output PWM */ 

/* write in "PID.c" */ 

void Init_PID(void); /* initiate PID parameter */ 

int CalculateP(void); /* calculate parameter P */ 

float CalculatePID(void); /* calculate PID */ 

int SignalProcess(unsigned char); /* Process the signal from the sensors */ 

/* write in "Test.c" */ 

void IOtest(void); /* Test I/O */ 

void PWMtest(void); /* Test PWM output */ 

int SignalTest(void); /* Test the sensors */ 

/* write in local file */ 

void Init(void); /* initiate parameter */ 

void ProtectMoto(void); /* the function protecting the Motor */ 

void CarMain(void); /* SmartCar main function */ 

/* 

*********************************************************************************** 

* 主程序 

* 

* 程序描述: 完成智能小車系統的初始化,通過按鍵可選擇工作模式,有I/O測試,PWM 輸出測試 

* 傳感器測試,以及小車正常工作模式 

* 

* 硬件連接:PORTB 接傳感器 

* PWM 輸出口 (1)接舵機 (2)接電機驅動芯片MC33886 

* 

* 說明: 無 

**********************************************************************************/ 

void main(void) 

{ 

Init(); 

DDRB = 0x00; 

switch(PORTB) 

{ 

case 0x80: 

IOtest(); 

break; 

case 0x40: 

PWMtest(); 

break; 

case 0x20: 

SignalTest(); 

break; 

default: 

DDRA = 0x00; 

DDRB = 0xff; 

DDRK = 0xff; 

PORTB = 0xff; 

CarMain(); 

EnableInterrupts; 

for(;;); 

break; 

} 

} 

/* 

*********************************************************************************** 

* 小車尋跡行駛函數 

* 

* 程序描述: 通過傳感器采集數據,并對其進行處理,通過PID算法得出小車穩定行駛所需的參數,進而調用PWM輸出函數 

* 控制舵機與電機的工作 

* 

* 注意: 這個函數調用了 SignalProcess(unsigned char),BrakeCar(),PWMout(Direction, Velocity) 

* 

* 說明: 無 

**********************************************************************************/ 

void CarMain(void) 

{ 

static int Direction=0, Velocity; 

static unsigned char signal; 

static unsigned int BrakeTime = 0, BrakeControl = 0; 

static unsigned int Stability=0, Stab[STABMAX], PStab=0, StabAver; 

int i; 

signal = PORTA; 

PORTB = ~signal; 

Direction = SignalProcess( signal ); 

/* 穩定性系數的計算 */ 

Stability -= Stab[PStab]; 

Stab[PStab] = (unsigned int)Direction/100; 

Stability += Stab[PStab]; 

PStab++; 

if(PStab >= STABMAX) PStab=0; 

StabAver = 0; 

for(i=0;i<STABMAX;i++) 

{ 

if(Stability > Stab[i]) 

StabAver += Stability - Stab[i]; 

else 

StabAver += Stab[i] - Stability; 

} 

if( BrakeTime != 0) 

{ 

BrakeTime--; 

BrakeCar(); 

} 

else 

{ 

StartCar(); 

if(BrakeControl>0) 

BrakeControl--; 

if(Direction < -4000 || Direction > 4000 ) 

{ 

Velocity = LOWSPEED0; 

if(BrakeControl == 0 && StabAver/STABMAX<22) 

{ 

BrakeTime = 20; 

BrakeControl = 120; 

} 

} 

else 

{ 

if(Direction < -2500 || Direction > 2500 ) 

Velocity = LOWSPEED1; 

else 

Velocity = HIGHSPEED; 

} 

} 

PWMout(Direction, Velocity); 

} 

/* 

*********************************************************************************** 

* 系統初始化函數 

* 

* 程序描述: 初始化了系統時鐘,FLASH 和 EEPRO的工作頻率,PWM輸出口,定時器,以及PID算法中的有關參數 

* 

* 注意: 這個函數調用了 Init_PWMout()nit_INT_Timer()nit_PID()   

* 

* 說明: 無 

**********************************************************************************/ 

void Init(void) 

{ 

REFDV=0x01; /* initiate PLL clock */ 

SYNR =0x02; /* system clock 24M */ 

while (!(CRGFLG & 0x08)){} /* wait untill steady */ 

CLKSEL=0x80; /* 選定所相環時鐘 */ 

FCLKDIV=0x49; /* 使FLASH 和 EEPROM */ 

/* 的擦除操作工作頻率在200HZ左右 */ 

ECLKDIV=0x49; 

Init_PWMout(); /* 01:50Hz 45:1kHz */ 

Init_INT_Timer(); /* initiate ETC(Enhanced Capture Clock) */ 

Init_PID(); /* initiate PID caculating process */ 

DDRK |= 0x80; /* Start Car -- stop car */ 

PORTK &= 0x7F; 

} 

/* 

*********************************************************************************** 

* SmartCar.c 

* 

* (c) Copyright 2006,Zhao Cheng 

* All Rights Reserved 

* 

* By : Zhao Cheng 

* Data : 2006_5_6 

* Note : Don't change this file if possible. 

**********************************************************************************/ 

#include <hidef.h> 

#include <mc9s12dg128.h> 

extern SYSCLOCK; /* 引用全局變量,系統時鐘 */ 

void CarMain(void); 

/* 

*********************************************************************************** 

* PWM初始化函數 

* 

**********************************************************************************/ 

void Init_PWMout(void) 

{ 

PWME = 0x22; /*01:50Hz 45:1kHz */ 

PWMPOL = 0x22; 

PWMCTL = 0x50; 

PWMCLK = 0x02; 

PWMSCLA = 4; 

} 

/* 

*********************************************************************************** 

* PWM輸出函數 

* 程序描述:輸入參數為方向,速度 

* 方向:-45~45 

* 速度:0~24000 

**********************************************************************************/ 

void PWMout(int Direction, int Velocity) 

{ 

Direction = Direction/3 + 4500; 

if(Direction<3000) Direction=3000; 

if(Direction>6000) Direction=6000; 

PWMPER01 = 60000; /* Center 1500ms*3 */ 

PWMDTY01 = Direction+93; /* 設置舵機角度 */ 

if(Velocity>24000) Velocity=24000; 

PWMPER45 = 24000; /* 1kHz ( <10kHz ) */ 

PWMDTY45 = Velocity; /* 設置電機速度 */ 

} 

/* initiate Real Time Interrupt 1.0 */ 

void Init_INT_RTI(void) 

{ 

RTICTL = 0x74; 

CRGINT |=0x80; 

} 

/* Real Time Interrupt 1.0 */ 

interrupt void INT_RTI(void) 

{ 

CRGFLG |= 0x80; /* clear the interrrupt flag */ 

} 

/* INT_Timer0 initiate 1.0 */ 

void Init_INT_Timer(void) 

{ 

TSCR2 =0x07; /* 128Hz at 16M bus clok */ 

/* 128Hz * 2/3 at 24m bus clock */ 

/* in fact it is a little more than it. */ 

TIOS |=0x01; /* I/O select */ 

TIE |=0x01; /* Interrupt Enable */ 

TSCR1|=0x80; /* TSCR1_TEN=1 //Timer Enable */ 

} 

/* INT_Timer0 1.0 */ 

interrupt void INT_Timer0(void) 

{ 

SYSCLOCK++; 

CarMain(); 

TC0 = TCNT + 1874; /* 1875-1 :100Hz */ 

/* F = Fosc / (TC*128) */ 

TFLG1 |=0x01; /* clear interrupt flag */ 

} 

/* not finished EEPROM */ 

void EEPROM(void) 

{ 

ECLKDIV = 0x4F; 

while(!(ECLKDIV&0x80)) /* wheather */ 

{} 

while(!(ESTAT&0x80)) /* wheather the command buffer is empty */ 

{} 

while(!(EPROT&0x80)) /* wheather the eeprom is enabled to */ 

{} 

ECMD = 0x41; 

ESTAT |= 0x80; 

while(!(ESTAT&0x80)) /* wheather the command buffer is empty */ 

{} 

} 


/* 

*********************************************************************************** 

* PID.c 

* Description: This file includes some basic calculation function of PID 

* (c) Copyright 2006,Zhao Cheng 

* All Rights Reserved 

* 

* By : Zhao Cheng 

* Data : 2006_5_6 

* Note : Don't change this file if possible. 

**********************************************************************************/ 

#include <mc9s12dg128.h> /* derivative information */ 

/* 

*********************************************************************************** 

* 宏定義 

**********************************************************************************/ 

#define STABMAX 50 

#define SENSORNUM 8 

#define SAMPLETIMES 5 

/* 

*********************************************************************************** 

* FUNCTION PROTOTYPES 

**********************************************************************************/ 

int CalculateP(void); 

float CalculatePID(void); 

/********************************** PID控制程序 ********************************/ 

struct CARSTATE 

{ 

int E0; 

int E1; 

int E2; 

int E3; 

float Integral; 

}CarState; 

/* 

*********************************************************************************** 

* 初始化PID參數 

**********************************************************************************/ 

void Init_PID() 

{ 

CarState.E0 = 0; 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩激情在线| 黄色日韩网站视频| 欧美亚洲国产一区二区三区| 亚洲精品国产精华液| 色狠狠色噜噜噜综合网| 亚洲靠逼com| 欧美日韩一区二区不卡| 日本不卡视频在线| 久久久久久99精品| 不卡视频在线观看| 一区二区成人在线观看| 7799精品视频| 国产高清在线精品| 一区二区三区久久| 91精品国产91综合久久蜜臀| 国产在线视视频有精品| 综合网在线视频| 91精品中文字幕一区二区三区| 蜜桃久久精品一区二区| 亚洲国产精品高清| 欧美日韩一区 二区 三区 久久精品| 免费在线观看不卡| 亚洲国产精品精华液ab| 欧美日韩国产高清一区二区| 激情文学综合丁香| 亚洲精品日产精品乱码不卡| 91精品国产综合久久精品app | 欧美一区日韩一区| 91蜜桃婷婷狠狠久久综合9色| 一区二区三区高清不卡| 精品久久久久久综合日本欧美| 成人精品小蝌蚪| 日韩精品一级二级 | 男人的天堂亚洲一区| 国产亚洲精品超碰| 欧美男人的天堂一二区| 成人激情电影免费在线观看| 三级一区在线视频先锋| 欧美国产亚洲另类动漫| 欧美一级理论性理论a| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 欧美性受xxxx黑人xyx性爽| 精品在线你懂的| 亚洲高清免费观看| 中文字幕制服丝袜成人av| 欧美一区二区三区视频在线| 91社区在线播放| 国产成人8x视频一区二区| 日本美女一区二区三区| 亚洲美女视频一区| 国产日本欧美一区二区| 日韩美女视频在线| 欧美综合在线视频| 不卡的av在线播放| 国产精品自拍av| 久草热8精品视频在线观看| 一区二区三区欧美激情| 国产精品网站一区| 亚洲精品在线观| 91麻豆精品国产91久久久久久久久| 99久久精品免费| 成人精品在线视频观看| 韩国理伦片一区二区三区在线播放| 一区二区久久久| 中文字幕一区av| 国产精品久久夜| 国产精品欧美一区二区三区| 久久九九99视频| 26uuu亚洲婷婷狠狠天堂| 日韩午夜激情视频| 欧美一区二区高清| 91精品国产高清一区二区三区| 欧美日韩一区二区三区视频| 精品国产a毛片| 精品理论电影在线| 精品国产3级a| 国产欧美日韩麻豆91| 久久久亚洲欧洲日产国码αv| 日韩欧美激情一区| ww久久中文字幕| 国产亚洲va综合人人澡精品| 久久精品水蜜桃av综合天堂| 久久久久久久久97黄色工厂| 久久人人97超碰com| 久久先锋影音av鲁色资源网| 欧美精品一区二区不卡| 欧美精品一区二区三区很污很色的 | 久久久高清一区二区三区| 久久综合色之久久综合| 久久只精品国产| 国产精品区一区二区三区| 亚洲三级视频在线观看| 亚洲黄色av一区| 婷婷夜色潮精品综合在线| 日韩高清一区在线| 精久久久久久久久久久| 高清shemale亚洲人妖| 99视频精品全部免费在线| 在线观看亚洲专区| 欧美一级片在线| 久久精品亚洲精品国产欧美| 中文字幕一区二区三区色视频| 一区二区三区在线视频观看58| 亚洲一区二区三区四区五区中文 | 亚洲国产精品影院| 蜜桃视频一区二区三区在线观看| 国产一区二区三区在线观看免费 | 亚洲欧洲综合另类在线| 五月天激情小说综合| 九九国产精品视频| 99综合电影在线视频| 在线电影国产精品| 精品处破学生在线二十三| 亚洲视频一区二区在线观看| 日韩精品久久理论片| 成人少妇影院yyyy| 欧美日韩激情一区| 中文字幕成人在线观看| 天天综合天天做天天综合| 国产激情一区二区三区四区| 在线观看日韩国产| 久久亚洲私人国产精品va媚药| 亚洲图片另类小说| 久久精品999| 色av一区二区| 久久久久久一二三区| 亚洲综合激情网| 国产99久久久国产精品免费看| 26uuu国产一区二区三区| 亚洲精品国产一区二区精华液| 精品一区二区三区久久久| 色偷偷久久人人79超碰人人澡| 欧美成人国产一区二区| 亚洲一区二区av在线| 成人av片在线观看| 欧美精品一区二区高清在线观看| 亚洲午夜精品一区二区三区他趣| 国产91在线看| 精品国内二区三区| 天天操天天综合网| 日本国产一区二区| 国产精品色哟哟| 韩国女主播成人在线观看| 欧美日韩亚洲丝袜制服| 又紧又大又爽精品一区二区| 国产精品一区免费视频| 欧美电影免费观看高清完整版在线 | 蜜桃av一区二区在线观看| 在线观看国产91| 日韩伦理av电影| 丁香六月综合激情| 久久人人超碰精品| 激情五月婷婷综合网| 日韩一区二区电影在线| 午夜精品一区二区三区三上悠亚| 91麻豆免费观看| 国产精品初高中害羞小美女文 | 成人天堂资源www在线| 精品电影一区二区三区| 久久99精品一区二区三区 | 欧美视频完全免费看| 亚洲你懂的在线视频| 99精品一区二区| 国产精品乱人伦| 成+人+亚洲+综合天堂| 亚洲国产精品ⅴa在线观看| 国产精品888| 欧美激情自拍偷拍| 成人免费视频网站在线观看| 欧美国产日本韩| 99精品1区2区| 亚洲综合色视频| 欧美日韩国产中文| 免费成人在线视频观看| 欧美变态tickle挠乳网站| 久久se这里有精品| 国产亚洲综合在线| 成人av资源下载| 中文字幕av资源一区| thepron国产精品| 亚洲综合一二三区| 国产精品久久久久久久蜜臀 | 91蝌蚪porny| 一区二区在线观看视频| 精品视频全国免费看| 日本不卡1234视频| 国产欧美在线观看一区| 96av麻豆蜜桃一区二区| 亚洲男人的天堂在线观看| 欧美色综合久久| 看片的网站亚洲| 中文字幕一区二区不卡| 欧美日韩精品电影| 国产自产高清不卡| 亚洲日本在线天堂| 欧美妇女性影城| 国产·精品毛片| 亚洲午夜激情网页| 久久亚区不卡日本| 91黄色免费网站|