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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? mc9s12dg128.txt

?? 第一屆大學(xué)生飛思卡爾智能車(chē)程序源碼
?? TXT
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):

小車(chē)控制程序清單 


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

/* 

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

* 

*

* 

* 

* 

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

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

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

#pragma LINK_INFO DERIVATIVE "mc9s12dg128b" 

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

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

#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 */ 

/* 

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

* 主程序 

* 

* 程序描述: 完成智能小車(chē)系統(tǒng)的初始化,通過(guò)按鍵可選擇工作模式,有I/O測(cè)試,PWM 輸出測(cè)試 

* 傳感器測(cè)試,以及小車(chē)正常工作模式 

* 

* 硬件連接:PORTB 接傳感器 

* PWM 輸出口 (1)接舵機(jī) (2)接電機(jī)驅(qū)動(dòng)芯片MC33886 

* 

* 說(shuō)明: 無(wú) 

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

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; 

} 

} 

/* 

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

* 小車(chē)尋跡行駛函數(shù) 

* 

* 程序描述: 通過(guò)傳感器采集數(shù)據(jù),并對(duì)其進(jìn)行處理,通過(guò)PID算法得出小車(chē)穩(wěn)定行駛所需的參數(shù),進(jìn)而調(diào)用PWM輸出函數(shù) 

* 控制舵機(jī)與電機(jī)的工作 

* 

* 注意: 這個(gè)函數(shù)調(diào)用了 SignalProcess(unsigned char),BrakeCar(),PWMout(Direction, Velocity) 

* 

* 說(shuō)明: 無(wú) 

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

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 ); 

/* 穩(wěn)定性系數(shù)的計(jì)算 */ 

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); 

} 

/* 

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

* 系統(tǒng)初始化函數(shù) 

* 

* 程序描述: 初始化了系統(tǒng)時(shí)鐘,F(xiàn)LASH 和 EEPRO的工作頻率,PWM輸出口,定時(shí)器,以及PID算法中的有關(guān)參數(shù) 

* 

* 注意: 這個(gè)函數(shù)調(diào)用了 Init_PWMout()nit_INT_Timer()nit_PID()   

* 

* 說(shuō)明: 無(wú) 

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

void Init(void) 

{ 

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

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

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

CLKSEL=0x80; /* 選定所相環(huán)時(shí)鐘 */ 

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; /* 引用全局變量,系統(tǒng)時(shí)鐘 */ 

void CarMain(void); 

/* 

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

* PWM初始化函數(shù) 

* 

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

void Init_PWMout(void) 

{ 

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

PWMPOL = 0x22; 

PWMCTL = 0x50; 

PWMCLK = 0x02; 

PWMSCLA = 4; 

} 

/* 

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

* PWM輸出函數(shù) 

* 程序描述:輸入?yún)?shù)為方向,速度 

* 方向:-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; /* 設(shè)置舵機(jī)角度 */ 

if(Velocity>24000) Velocity=24000; 

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

PWMDTY45 = Velocity; /* 設(shè)置電機(jī)速度 */ 

} 

/* 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參數(shù) 

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

void Init_PID() 

{ 

CarState.E0 = 0; 

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品久久一二三区| 亚洲成国产人片在线观看| 国产亚洲一区二区在线观看| 欧美成人伊人久久综合网| 884aa四虎影成人精品一区| 欧美日韩久久久一区| 在线日韩av片| 欧美吞精做爰啪啪高潮| 欧美男人的天堂一二区| 666欧美在线视频| 91精品久久久久久久91蜜桃| 欧美精品少妇一区二区三区| 欧美日本一区二区在线观看| 911国产精品| 日韩欧美综合在线| 久久免费看少妇高潮| 国产欧美精品一区二区三区四区| 中文字幕av一区二区三区高 | 国产农村妇女精品| 亚洲欧洲日产国码二区| 一区二区三区在线视频免费| 亚洲成人激情av| 美女性感视频久久| 国产成人综合视频| 在线观看亚洲一区| 91精品蜜臀在线一区尤物| 久久免费偷拍视频| 亚洲欧美色图小说| 蜜臂av日日欢夜夜爽一区| 国产精品99久久久久久久女警| 波多野结衣的一区二区三区| 在线看日本不卡| 欧美成人一区二区三区在线观看| 国产精品美女一区二区| 亚洲福利视频一区二区| 精品一区二区免费看| 成人app软件下载大全免费| 色久综合一二码| 日韩三级精品电影久久久| 国产日韩综合av| 亚洲一线二线三线久久久| 久久se精品一区二区| aaa亚洲精品| 日韩欧美一级片| 亚洲欧美另类久久久精品| 老司机精品视频一区二区三区| 成人免费黄色在线| 91精品国产综合久久久久久漫画 | 久久久99久久| 一区二区在线电影| 久久精品国产秦先生| 色综合久久久久综合体| 日韩欧美久久一区| 亚洲免费资源在线播放| 极品美女销魂一区二区三区免费| 色播五月激情综合网| 久久综合久久鬼色| 亚洲午夜免费福利视频| 成人免费毛片a| 欧美xxx久久| 午夜婷婷国产麻豆精品| 成人午夜视频网站| 日韩免费在线观看| 亚洲综合免费观看高清完整版在线 | 欧美激情一区二区三区蜜桃视频| 偷拍亚洲欧洲综合| 91免费看`日韩一区二区| 日韩精品资源二区在线| 亚洲成人av中文| 成人精品在线视频观看| 精品国产免费人成电影在线观看四季| 亚洲综合免费观看高清完整版在线 | 最新国产精品久久精品| 国产一区二区三区在线观看免费| 欧美亚洲国产怡红院影院| 中文字幕成人av| 国产乱色国产精品免费视频| 欧美一卡2卡3卡4卡| 亚洲国产日日夜夜| 91浏览器打开| 国产精品乱码一区二区三区软件 | 国产一区二区三区在线观看免费视频 | 在线观看91av| 亚洲第一狼人社区| 日本高清不卡在线观看| 亚洲色图欧洲色图婷婷| 不卡一区在线观看| 国产精品人人做人人爽人人添| 国产一区二区三区在线观看免费| 日韩欧美中文字幕精品| 日日骚欧美日韩| 欧美日韩国产另类一区| 亚洲永久精品大片| 欧美专区日韩专区| 一区二区三区鲁丝不卡| 91视频在线看| 亚洲一区二区偷拍精品| 欧美专区日韩专区| 亚洲国产毛片aaaaa无费看| 在线视频综合导航| 亚洲一区二区三区精品在线| 欧洲人成人精品| 夜夜嗨av一区二区三区| 欧美在线看片a免费观看| 亚洲成人一区在线| 911精品产国品一二三产区| 日韩中文字幕91| 91精品欧美久久久久久动漫| 蜜臀av性久久久久蜜臀aⅴ流畅 | 一区二区三区欧美| 欧美日本韩国一区| 美女视频一区在线观看| 日韩视频免费直播| 国产一区在线观看视频| 久久久精品tv| bt欧美亚洲午夜电影天堂| 亚洲视频 欧洲视频| 欧美亚洲国产怡红院影院| 日本麻豆一区二区三区视频| 欧美成人欧美edvon| 高清不卡在线观看av| 国产精品高清亚洲| 欧美性色综合网| 久久精品国产澳门| 国产欧美精品区一区二区三区| av一区二区久久| 性做久久久久久免费观看欧美| 日韩一区二区电影| 国产成人免费高清| 一区二区三区欧美视频| 日韩欧美成人一区| 成人黄色一级视频| 亚洲一级在线观看| 日韩精品一区二区三区视频播放 | 色欲综合视频天天天| 亚洲a一区二区| 久久久精品tv| 91极品美女在线| 久久99精品国产麻豆婷婷洗澡| 国产拍揄自揄精品视频麻豆| 在线观看免费亚洲| 国内精品在线播放| 亚洲免费av在线| 欧美成人伊人久久综合网| av资源站一区| 蜜臀久久99精品久久久久久9 | 亚洲日本成人在线观看| 91精品黄色片免费大全| 成人av动漫网站| 日本午夜一本久久久综合| 亚洲国产成人午夜在线一区| 欧美日韩国产成人在线免费| 国产999精品久久久久久绿帽| 亚洲国产精品一区二区尤物区| 久久久久久久久岛国免费| 欧美在线免费视屏| 国产91丝袜在线18| 日韩福利视频导航| 亚洲女同ⅹxx女同tv| 欧美成人精品福利| 欧美曰成人黄网| 国产成人精品免费在线| 日韩二区在线观看| 亚洲精品国产精品乱码不99| 久久在线观看免费| 欧美一区二区视频在线观看2020| 成人精品一区二区三区四区| 免费一级欧美片在线观看| 亚洲精品高清视频在线观看| 久久精品一二三| 日韩一区二区在线播放| 在线免费观看一区| jizz一区二区| 国产一区二区剧情av在线| 五月婷婷另类国产| 亚洲自拍偷拍欧美| 亚洲图片激情小说| 国产午夜亚洲精品羞羞网站| 欧美一区二区三区公司| 91成人免费在线视频| 99国产精品国产精品毛片| 国产黄色精品视频| 久久9热精品视频| 亚洲成精国产精品女| 亚洲精品国产a久久久久久 | 丝袜美腿亚洲色图| 亚洲日本一区二区| 中文字幕一区二区三区av| 久久蜜桃一区二区| 久久在线观看免费| 日韩欧美中文字幕精品| 欧美乱妇20p| 欧美卡1卡2卡| 欧美绝品在线观看成人午夜影视| 91福利资源站| 在线亚洲免费视频| 日本福利一区二区| 91福利视频久久久久| 在线观看亚洲精品| 欧美日韩一区二区在线观看视频|