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

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

?? freescale智能車大賽源程序.c

?? 有關飛思卡爾智能車源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:

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

* 初始化PID參數 

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

void Init_PID() 

{ 

CarState.E0 = 0; 

CarState.E1 = 0; 

CarState.E2 = 0; 

CarState.E3 = 0; 

CarState.Integral = 0; 

} 

/* 

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

* 信號處理函數 

* 

* 程序描述: 對傳感器采集過來的數據進行處理,得到一些基本的計算參數 

* 

* 說明: 無 

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

int SignalProcess( unsigned int signal ) 

{ 

const int BitValue[8] = {43,26,12,6,-6,-12,-26,-43}; //MAX:28 

int i,CurrPoint=0,LastPoint=0,BitNum=0; 

unsigned char SignalBit[8]; 

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

{ 

SignalBit[i] = signal & 0x0001; 

BitNum += SignalBit[i]; 

signal >>= 1; 

} 

switch(BitNum) 

{ 

case 1: 

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

if(SignalBit[i] != 0) 

CurrPoint += BitValue[i]; 

CarState.E0 = CurrPoint; 

break; 

case 2: 

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

if(SignalBit[i] != 0) 

CurrPoint += BitValue[i]; 

CurrPoint >>= 1; 

CarState.E0 = CurrPoint; 

break; 

default: 

CarState.E0 = CarState.E1; 

break; 

} 

return CalculateP()*100; 

} 

/* 

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

* 

* PID計算函數 

* 

* 程序描述: 計算P參數 

* 

* 說明: 無 

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

int CalculateP(void) 

{ 

CarState.E1 = CarState.E0; 

return((int)CarState.E0); 

} 

/* 

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

* PID計算函數 

* 

* 程序描述: 對傳感器采集過來的數據進行處理,得到一些基本的計算參數 

* 

* 說明: 無 

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

float CalculatePID(void) 

{ 

float P, I = 0, D; 

/* parameter const */ 

float Kp = 1.0, Ki = -0.0002, Kd = -0.0002; 

/* P parameter */ 

P = CarState.E0 * Kp; 

/* I parameter */ 

if(P+I<2) 

{ 

CarState.Integral += Ki * CarState.E0; 

I = CarState.Integral; 

} 

/* D parameter */ 

D = Kd * ( CarState.E0 + 3*CarState.E1 - 3*CarState.E2 - CarState.E3 )/6.0; 

CarState.E3 = CarState.E2; 

CarState.E2 = CarState.E1; 

CarState.E1 = CarState.E0; 

return (P+I+D); 

} 
/* 

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

* Test.c 

* Description: This file includes I/ O function for test, the PWM outputs function for test, function 

* testing sensors. 

* (c) Copyright 2006,Zhao Cheng 

* All Rights Reserved 

* 

* By : Zhao Cheng 

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

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

#include <hidef.h> 

#include <mc9s12dg128.h> 

#define HIGHSPEED 8000 

#define LOWSPEED 11000 /* 速度變量,0-24000 數值越大,速度越慢 */ 

void PWMout(int, int); 

/* 24000-20000 */ 

void IOtest(void) 

{ 

static unsigned char i=0,j=0x01,k; 

DDRB = DDRA = 0xFF; 

PORTB = 0xf0; 

for(;;) 

{ 

k=(~j)&0x7f; 

PORTA = PORTB = k; 

while (TCNT != 0x0000); 

while (TCNT == 0x0000) 

{ 

if(i>9) 

{ 

j=j<<1; 

i=0; 

} 

i++; 

} 

if(j>=0x80) 

j=0x01; 

} 

} 

void PWMtest(void) 

{ 

int counter=-4500; 

DDRB = 0xff; 

PORTB = 0xff; 

TSCR1 = 0x80; /* enable timer TCNT */ 

TSCR2 = 0x00; /* TCNT prescaler setup */ 

for(;;) 

{ 

while (TCNT != 0x0000); 

while (TCNT == 0x0000); 

counter=counter+30; 

if(counter >= 3000) 

{ 

counter = 0; 

PWMout(4500, LOWSPEED); 

} 

if(counter == 1500) 

{ 

PWMout(-4500, LOWSPEED); 

} 

PORTB = (char)(counter/100); 

} 

} 

void SignalTest(void) 

{ 

unsigned char signal; 

int Direction, Velocity; 

Direction = 0; 

Velocity = LOWSPEED; 

DDRA = 0x00; 

DDRB = 0xff; 

signal = PORTA; 

PORTB = ~signal; 

switch(signal) 

{ 

case 0x08: /* 0001 1000 */ 

case 0x10: 

Direction = 800; 

Velocity = HIGHSPEED; 

break; 

case 0x04: /* 0010 0100 */ 

case 0x20: 

Direction = 1500; 

Velocity = HIGHSPEED; 

break; 

case 0x02: /* 0100 0010 */ 

case 0x40: 

Direction = 2800; 

Velocity = HIGHSPEED; 

break; 

case 0x01: /* 1000 0001 */ 

case 0x80: 

Direction = 4000; 

Velocity = LOWSPEED; 

break; 

case 0x3c: /* 0011 1100 over start line */ 

case 0xff: /* 1111 1111 over crossing line */ 

case 0x00: /* 0000 0000 go straight not need changed state */ 

default: 

break; 

} 

if(signal > 0x0f) 

Direction = -Direction; 

PWMout(Direction, LOWSPEED); 

} 

/* 

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

* LCD1620.c 

* ICC-AVR application builder : 2006-1-8 21:43:48 

* Target : M8 

* Crystal: 4.0000Mhz 

* 

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

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

#define CMD_CLEAR 0x01 

#define CMD_RESET 0x02 

#include <iom8v.h> 

#include <macros.h> 

#define LCD_DATA 0xff 

#define LCD_EN 0x01 //PORTC 0 

#define LCD_RS 0x02 //PORTC 1 

#define LCD_RW 0x04 //PORTC 2 

#define LCD_DATAPORT PORTB 

#define LCD_ENPORT PORTA 

#define LCD_RSPORT PORTA 

#define LCD_RWPORT PORTA 

void lcd_init(void); 

void lcd_write_cmd(unsigned cmd,unsigned data); 

void lcd_setxy(unsigned char x,unsigned char y); 

void lcd_write_string(unsigned char X,unsigned char Y,unsigned char *str); 

void delay_nus(unsigned int n); 

void delay_nms(unsigned int n); 

void lcd_init(void) 

{ 

DDRB |= LCD_DATA; 

DDRA |= LCD_EN | LCD_RS | LCD_RW; 

LCD_RWPORT&=~LCD_RW; 

LCD_DATAPORT=0x30; //控制字規則:5:8bit,4:16x2,3:5x7 

LCD_ENPORT|=LCD_EN; 

delay_nus(1); 

LCD_ENPORT&=~LCD_EN; 

delay_nus(40); 

lcd_write_cmd(0,0x38); //8bit test 

lcd_write_cmd(0,0x0c); //顯示開 

lcd_write_cmd(0,0x01); //顯示清屏 

lcd_write_cmd(0,0x06); //顯示光標移動設置 

} 

void lcd_write_cmd(unsigned cmd,unsigned data) 

{ 

if(cmd==0) 

LCD_RSPORT&=~LCD_RS; 

else 

LCD_RSPORT|=LCD_RS; 

LCD_DATAPORT&=0x00; 

LCD_DATAPORT=data; 

LCD_ENPORT|=LCD_EN; 

delay_nus(10); 

LCD_ENPORT&=~LCD_EN; 

delay_nus(10); 

} 

void lcd_setxy(unsigned char x,unsigned char y) 

{ 

unsigned char addr; 

if(y==0) 

addr=x+0x80; 

else 

addr=x+0xc0; 

lcd_write_cmd(0,addr); 

} 

void lcd_write_string(unsigned char X,unsigned char Y,unsigned char *str) 

{ 

lcd_setxy(X,Y); 

while(*str) 

{ 

lcd_write_cmd(1,*str); 

str++; 

} 

} 

void delay_1us(void) //1us延時函數 

{ 

asm("nop"); 

} 

void delay_nus(unsigned int n) //N us延時函數 

{ 

unsigned int i=0; 

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

delay_1us(); 

} 

void delay_1ms(void) //1ms延時函數 

{ 

unsigned int i; 

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

} 

void delay_nms(unsigned int n) //N ms延時函數 

{ 

unsigned int i=0; 

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

delay_1ms(); 

} 

//call this routine to initialize all peripherals 

void main(void) 

{ 

lcd_init(); 

while(1) 

{ 

lcd_write_cmd(0,0x01); //清屏 

delay_nms(2); 

lcd_write_string(0,0,"happy new year"); 

delay_nms(100); 

lcd_write_string(0,1,"LCD successful!"); 

delay_nms(100); 

} 

} 

/******************************* 程序結束 *********************************/ 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91久久精品一区二区二区| 久久精品国产亚洲aⅴ| 国产精品资源在线观看| 在线观看日韩一区| 久久久欧美精品sm网站| 亚洲一线二线三线久久久| 蜜桃视频在线观看一区二区| 91麻豆国产自产在线观看| 日韩一级成人av| 香蕉成人啪国产精品视频综合网| 欧美亚洲丝袜传媒另类| 成人美女在线观看| 国产成人av福利| 欧美亚洲动漫另类| 成人在线综合网| 久久精品99国产精品日本| 亚洲精选视频在线| 欧美激情一区二区三区| 日韩免费电影一区| 在线观看91av| 欧洲人成人精品| heyzo一本久久综合| 国产精品主播直播| 极品少妇xxxx精品少妇偷拍| 日韩中文字幕一区二区三区| 亚洲人快播电影网| 国产精品色哟哟| 久久精品在这里| 亚洲精品在线观看网站| 日韩亚洲国产中文字幕欧美| 欧美日韩日日摸| 日本精品裸体写真集在线观看| av在线不卡免费看| 波多野结衣在线aⅴ中文字幕不卡| 国产乱人伦偷精品视频不卡| 国内精品嫩模私拍在线| 久久99国内精品| 精品一区二区三区在线播放视频 | 国产精品的网站| 国产午夜精品一区二区| 欧美成人a∨高清免费观看| 777亚洲妇女| 日韩一级高清毛片| 欧美精品一区男女天堂| 日韩欧美资源站| 精品99999| 国产无人区一区二区三区| 国产农村妇女毛片精品久久麻豆| 久久久精品日韩欧美| 国产视频一区二区在线| 中文字幕乱码一区二区免费| 国产精品久久久久aaaa| 亚洲视频在线观看一区| 亚洲综合免费观看高清完整版| 亚洲精品视频在线看| 亚洲一区二区三区在线播放| 亚洲国产成人av好男人在线观看| 亚洲成av人影院在线观看网| 丝袜诱惑亚洲看片| 六月丁香婷婷久久| 成人激情综合网站| 色天天综合久久久久综合片| 欧美性做爰猛烈叫床潮| 丰满白嫩尤物一区二区| 自拍视频在线观看一区二区| 亚洲图片有声小说| 毛片不卡一区二区| 国产精品亚洲第一区在线暖暖韩国 | 日韩精品一区二区三区四区视频 | 欧美性猛交xxxxxx富婆| 欧美日韩国产免费| 久久这里只精品最新地址| 中文字幕日韩一区| 青青草原综合久久大伊人精品优势| 国产精品亚洲综合一区在线观看| 91一区一区三区| 日韩一区二区三区视频| 国产精品欧美一区喷水| 亚洲成av人影院| 国产v综合v亚洲欧| 欧美日韩精品电影| 日本一区二区三级电影在线观看| 亚洲永久免费视频| 国内成人免费视频| 91国模大尺度私拍在线视频| 欧美精品一区视频| 亚洲高清免费在线| 国产成人免费xxxxxxxx| 欧美蜜桃一区二区三区| 国产精品久久久久四虎| 免费观看成人av| 91天堂素人约啪| 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲精品国产高清久久伦理二区| 秋霞午夜av一区二区三区| 91丝袜国产在线播放| 欧美一区二区三区在线看| 亚洲欧洲av在线| 国产精品中文字幕日韩精品| 欧美日韩一区在线| 国产精品成人一区二区艾草| 久久电影网电视剧免费观看| 在线观看视频91| 中文字幕在线不卡国产视频| 看片网站欧美日韩| 欧美日韩久久一区| 亚洲激情在线激情| av在线一区二区三区| 久久人人超碰精品| 日韩精品久久理论片| 91激情五月电影| 亚洲欧洲在线观看av| 国产成人日日夜夜| 日韩欧美一级特黄在线播放| 亚洲一区成人在线| 91日韩在线专区| 国产精品久久久久久久久久久免费看 | 欧美国产精品中文字幕| 免费在线成人网| 欧美日韩一区三区四区| 亚洲啪啪综合av一区二区三区| 岛国一区二区三区| 久久综合五月天婷婷伊人| 美日韩一级片在线观看| 91精品久久久久久久久99蜜臂| 亚洲综合激情另类小说区| 色婷婷综合中文久久一本| 中文字幕一区二区三区蜜月 | 欧美丰满美乳xxx高潮www| 亚洲国产成人91porn| 在线国产亚洲欧美| 亚洲综合久久久久| 欧美亚一区二区| 亚洲成av人影院| 欧美剧情片在线观看| 亚洲一二三四在线观看| 欧美自拍偷拍一区| 婷婷久久综合九色国产成人| 欧美精品黑人性xxxx| 日韩精品一二三区| 日韩一卡二卡三卡国产欧美| 久久精品99国产精品日本| 精品久久一区二区三区| 麻豆成人免费电影| 久久亚洲精品小早川怜子| 国产在线精品一区二区夜色| 国产日韩欧美精品电影三级在线| 国产精品正在播放| 国产精品久久久久久亚洲毛片| 成人免费三级在线| 亚洲色图欧美在线| 欧美亚洲国产一卡| 日本特黄久久久高潮| 日韩亚洲国产中文字幕欧美| 国产精品一区二区久久不卡| 国产精品卡一卡二| 色狠狠一区二区| 日韩精品一级中文字幕精品视频免费观看 | 色综合天天综合网国产成人综合天| 亚洲精品视频一区二区| 欧美日韩电影一区| 国产一区在线看| 中文字幕在线不卡视频| 欧美久久免费观看| 国产美女视频91| 一区二区在线观看免费| 日韩三级中文字幕| 成人免费va视频| 丝袜亚洲另类丝袜在线| 国产日韩精品一区二区三区| 91麻豆精东视频| 26uuu精品一区二区在线观看| 午夜国产不卡在线观看视频| 日韩欧美久久一区| 91在线免费看| 另类小说一区二区三区| 1区2区3区精品视频| 欧美一级艳片视频免费观看| 国产91精品免费| 亚洲午夜在线电影| 久久久久久亚洲综合影院红桃| 色老头久久综合| 国产一区二区三区综合| 亚洲精品乱码久久久久久| 精品国产在天天线2019| 色哟哟亚洲精品| 国产精选一区二区三区| 亚洲一区二区三区免费视频| 久久精品水蜜桃av综合天堂| 欧美亚洲综合一区| 国产高清久久久久| 日本成人在线网站| 亚洲黄色在线视频| 久久精品日韩一区二区三区| 欧美精品免费视频| 色综合天天天天做夜夜夜夜做| 国产一区二区日韩精品| 日韩av高清在线观看| 亚洲男人的天堂在线aⅴ视频| 久久这里只精品最新地址|