基于飞思卡尔图像采集Word文档下载推荐.docx

上传人:b****2 文档编号:13926932 上传时间:2022-10-15 格式:DOCX 页数:13 大小:16.43KB
下载 相关 举报
基于飞思卡尔图像采集Word文档下载推荐.docx_第1页
第1页 / 共13页
基于飞思卡尔图像采集Word文档下载推荐.docx_第2页
第2页 / 共13页
基于飞思卡尔图像采集Word文档下载推荐.docx_第3页
第3页 / 共13页
基于飞思卡尔图像采集Word文档下载推荐.docx_第4页
第4页 / 共13页
基于飞思卡尔图像采集Word文档下载推荐.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

基于飞思卡尔图像采集Word文档下载推荐.docx

《基于飞思卡尔图像采集Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于飞思卡尔图像采集Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。

基于飞思卡尔图像采集Word文档下载推荐.docx

charrow;

charline;

charinterval=7;

charoeflag=0;

chary_up[r_max+2];

chartemp_up[r_max+2];

#definelatch20

#definelatch_neg-20

charw_flg[r_max+2];

intdif;

//-------------//

//SCIvariables//

charsci_d;

//PWMvariables//

#definemid_P20

intctl;

第VI页

第十一章总结

interr[r_max+2];

unsignedcharm_speed;

intstr;

intturn;

unsignedcharpulse[6];

unsignedcharspeed;

unsignedcharturn_S;

unsignedcharstr_S;

//generalvariables//

charx,y,z;

//-----------------//

DeclarationofFunctions

//overallinitiation

voidini_orall(void){

DDRS_DDRS2=0;

DDRS_DDRS7=1;

TIOS_IOS0=0;

TIOS_IOS1=0;

TCTL4=0b00001101;

TSCR1_TEN=1;

ICPAR_PA1EN=1;

DDRH=0xff;

}

//initiatebusclock

voidini_PLL(void){

REFDV=3;

SYNR=7;

while(0==CRGFLG_LOCK);

CLKSEL=0x80;

VII

第页

/****SCI****/

//initiateSCI

voidini_SCI(void){

SCI0BD=208;

SCI0CR1=0x00;

SCI0CR2=0x0C;

//SCIreceive

voidre_sci(void){

while(SCI0SR1_RDRF!

=1);

sci_d=SCI0DRL;

//SCItransmit

voidtx_sci(chartx_d){

while(SCI0SR1_TC!

while(SCI0SR1_TDRE!

SCI0DRL=tx_d;

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

/****PWM****/

//PWM&

33886initialization

voidini_PWM(void){

PTS_PTS7=0;

PWME=0x00;

PWMCTL_CON01=1;

PWMPRCLK=0x33;

PWMSCLA=100;

PWMSCLB=1;

PWMCLK=0b00011100;

PWMPOL=0xff;

PWMCAE=0x00;

PWMPER0=0x4e;

第VIII页

PWMPER1=0x20;

PWMDTY0=0x18;

PWMDTY1=0x38;

PWME_PWME1=1;

PWMDTY2=120;

PWMPER2=200;

PWME_PWME2=1;

//Settheangleofsteer

voidpwm_set(intdutycycle)

{

inthigh8;

high8=dutycycle&

0xFF00;

PWMDTY0=high8>

>

8;

PWMDTY1=dutycycle&

0x00FF;

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

/****SPEED****/

//InitiatetheAveragespeed

voidspeed_init(void){

DDRM_DDRM0=0;

DDRM_DDRM1=0;

DDRM_DDRM2=0;

DDRM_DDRM3=0;

DDRM_DDRM4=0;

DDRM_DDRM5=0;

DDRJ_DDRJ6=0;

DDRJ_DDRJ7=0;

if(1==PTIM_PTIM0){

m_speed=120+

2*(PTIM_PTIM1*10+PTIM_PTIM2*5+PTIM_PTIM3*2+PTIM_PTIM4*2+PTIM

_PTIM5+PTIJ_PTIJ6+PTIJ_PTIJ7);

}else{

m_speed=120-

IX

}

PWMDTY2=m_speed;

str_S=m_speed/2-10;

//Getthecurrentspeed

voidget_speed(){

chark;

for(k=0;

k<

5;

k++){

pulse[k]=pulse[k+1];

pulse[5]=PACN1;

speed=pulse[5]-pulse[0];

//Setthecurrentspeed

voidset_speed(unsignedchara){

if(speed<

a){

PWMDTY2=200;

if(speed>

PWMDTY2=0;

/****CONTROL****/

voidvhcl_pid(void){

get_speed();

if(err[8]>

0){

ctl=6250+42*err[8];

ctl=6250+38*err[8];

//------------------------

dif=err[2]+err[10]-2*err[6];

if((dif>

-7)&

&

(dif<

7)&

(err[6]>

-15)&

(err[6]<

15)){

str++;

第X页

turn=0;

PTH=0xff;

turn++;

if(turn>

20){

str=0;

PTH=0x00;

set_speed(29);

set_speed(str_S);

//-----------------------------

if(ctl<

5200)ctl=5200;

if(ctl>

7400)ctl=7400;

pwm_set(ctl);

if(1==odd_even)oeflag=1;

if(0==odd_even)oeflag=0;

/****CCD****/

//InitiateA/Dregisters

voidini_AD(void)

ATD0CTL2=0xC0;

ATD0CTL3=0x08;

ATD0CTL4=0x81;

ATD0CTL5=0xA0;

ATD0DIEN=0x00;

XI

//ScantheCCDimage

voidccd_sc(void){

r_chg=0;

while(r_chg<

26-interval){

if(1==hs){

clr_hs=1;

r_chg++;

line=0;

for(row=1;

row<

=r_max;

){

if(r_chg>

=interval){

ini_AD();

for(line=0;

line<

l_max;

line++){

while(!

ATD0STAT1_CCF0);

ccd[line]=video;

line=6;

row++;

w_flg[row-1]=0;

ATD0CTL2=0x00;

if((r_chg<

interval-2)&

(line<

l_max-3)){

ccd_d[row-1][line]=ccd[line];

dif=ccd[line]-ccd[line+3];

if(0==w_flg[row-1]){

if(dif>

latch){

temp_up[row-1]=line+3;

w_flg[row-1]=1;

第XII页

if(dif<

latch_ne

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1